function do_ajax_request(request, destination){
  var http_request;
  
  if(typeof window.ActiveXObject != 'undefined'){
    http_request = new ActiveXObject("Microsoft.XMLHTTP");
  }
  else{
    http_request = new XMLHttpRequest();
  }
  
  http_request.open("GET", request, true);
  http_request.onreadystatechange= function () 
   	{
      process_ajax_request(http_request, destination) 
   	};
  http_request.send(null);
}

function process_ajax_request(http_request, destination) {
  if (http_request.readyState == 4){
		if (( http_request.status >= 200 && http_request.status < 300 ) || http_request.status == 304){
				if (typeof destination == 'string') {
					document.getElementById(destination).innerHTML = http_request.responseText;
				}
				if (typeof destination == 'function') {
					destination(http_request.responseText);
				}
		} else {
	  	alert("Chyba pri nacitani stanky " + http_request.status +" : "+ http_request.statusText);
		}
	}
}  

function set_select_box_values(select_box_name, options_data){
	var first_removed_option = 0;

	if (document.getElementById(select_box_name)){
		var select_box = document.getElementById(select_box_name);
		//Stanovime kolik prvnich polozek nabidky zustane zachovano (vetsinou prvni prvek - "nothing")
		first_removed_option = 1;

		//Odstranime vsechny option zvoleneho select boxu
		while (select_box.length > first_removed_option){
	    select_box.remove(select_box.length - 1);
	  }
	
		//Pokud jsou predana data, muzeme vlozit nove option
		if (options_data != ''){
	  	//Ze stringu - options_data vytvorime pole hodnot
	  	select_box.disabled = false;
			select_box.style.background = "";

			var options_array = options_data.split("|&|");
	  
			if (options_array.length > 0){
				for (i = 0; i < options_array.length; i++){
					var option_data = options_array[i].split("|||");
					var new_option = document.createElement('option');
					new_option.value = option_data[0];
					new_option.text = option_data[1];
				
					//Vlozeni noveho prvku option
					var old_option = select_box.options[i+1];  
					try {
						select_box.add(new_option, old_option); // standard - nefunguje v IE
					}
					catch(ex) {
						select_box.selectedIndex = select_box.length;
						select_box.add(new_option, select_box.selectedIndex); // pouze IE
					}
				}
			}
		} else {
			select_box.disabled = true;
			// TATO HODNOTA JE BRANA ZE STYLU = #CECECE
			select_box.style.background = "#cecece";
		}
	}
}

function set_vyrobci(response_data){
	set_select_box_values('zvoleny_vyrobce',response_data);
	
	if (vyrobce_value != ''){
		if (document.getElementById('zvoleny_vyrobce')){
			obj = document.getElementById('zvoleny_vyrobce');
			for (var i=0; i<obj.options.length;i++){
				if (obj.options[i].value == vyrobce_value){
					obj.options[i].selected = true;
				}
			}
		}
	}

}

function get_vyrobci(requester){
	do_ajax_request('cenova-poptavka/?step=3&ajax=getcodelist&kraj='+requester.value, set_vyrobci);
	oblast_value = '';
}

function get_vyrobci_onload(kraj_value){
	do_ajax_request('cenova-poptavka/?step=3&ajax=getcodelist&kraj='+kraj_value, set_vyrobci);
}
