var xmlhttp

function PopulateCountry()
{
	
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	  {
	  alert ("Your browser does not support XMLHTTP!");
	  return;
	  }
	var url="/inc/get_region_type.php";
	url=url+"?get=country";
	url=url+"&sid="+Math.random();
	xmlhttp.onreadystatechange=stateChanged_country;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

function LoadRegions(country_iso)
{
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	  {
	  alert ("Your browser does not support XMLHTTP!");
	  return;
	  }
	var url="/inc/get_region_type.php";
	url=url+"?get=region4country";
	url=url+"&country_iso="+country_iso;
	url=url+"&sid="+Math.random();
	xmlhttp.onreadystatechange=stateChanged_load_regions;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

function LoadType(country_iso,region_code) //On change Call
{
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	  {
	  alert ("Your browser does not support XMLHTTP!");
	  return;
	  }
	if(region_code == null)
	{
		region_code='';
	}
	var url="/inc/get_region_type.php";
	url=url+"?get=type4country_region";
	url=url+"&country_iso="+country_iso;
	url=url+"&region_code="+region_code;
	url=url+"&sid="+Math.random();
	xmlhttp.onreadystatechange=stateChanged_load_type;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

function LoadRegionsHistory(country_iso)
{
	
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	  {
	  alert ("Your browser does not support XMLHTTP!");
	  return;
	  }
	var url="/inc/get_region_type.php";
	url=url+"?get=region4country";
	url=url+"&country_iso="+country_iso;
	url=url+"&sid="+Math.random();
	xmlhttp.onreadystatechange=stateChanged;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

function PopulateType()
{
	
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	  {
	  alert ("Your browser does not support XMLHTTP!");
	  return;
	  }
	var url="/inc/get_region_type.php";
	url=url+"?get=type";
	url=url+"&sid="+Math.random();
	xmlhttp.onreadystatechange=stateChanged_Type;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

function PopulateDates()
{
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	  {
	  alert ("Your browser does not support XMLHTTP!");
	  return;
	  }
	var url="/inc/get_dates.php";
	url=url+"?sid="+Math.random();
	xmlhttp.onreadystatechange=stateChanged_dates;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

function stateChanged_country()
{
	if (xmlhttp.readyState==4)
	{
		//removeAllOptions(document.getElementById("region"));
		addOption(document.getElementById('country'),'All Countries','');
		
		var country_selected='';
		var ajax_response = xmlhttp.responseText;
		var ajax_response_arr = ajax_response.split('~~');
		for(curr in ajax_response_arr)
		{
			var country_id_name = ajax_response_arr[curr].split('::'); //value::text
			var country_value = country_id_name[0];
			var found = country_id_name[0].search('--'); //This id found in session
			if(found != -1)
			{
				country_id_name[0] = country_id_name[0].replace('--','');
				country_selected =  country_id_name[0];
			}
			addOption(document.getElementById('country'),country_id_name[1],country_id_name[0]);
			
		}
		//if(found != -1)
			setSelectedIndex(document.getElementById('country'),country_selected); // Select option
		var cur_country = document.getElementById('country');
		LoadRegionsHistory(cur_country.value); //Load regions of selected country. This fuction will load rigions and STOP there, wont call onther functions
		//PopulateType();
		//alert (ajax_response);
		//window.location.reload();
	}
}

function stateChanged()
{
	if (xmlhttp.readyState==4)
	{
		removeAllOptions(document.getElementById("com_destination"));
		addOption(document.getElementById('com_destination'),'All Regions','');
		
		var region_selected='';
		var ajax_response = xmlhttp.responseText;
		var ajax_response_arr = ajax_response.split('~~');
		for(curr in ajax_response_arr)
		{
			var region_id_name = ajax_response_arr[curr].split('::'); //value::text
			var region_value = region_id_name[0];
			var found = region_id_name[0].search('--'); //This id found in session
			if(found != -1)
			{
				region_id_name[0] = region_id_name[0].replace('--','');
				region_selected =  region_id_name[0];
			}
			addOption(document.getElementById('com_destination'),region_id_name[1],region_id_name[0]);
			
		}
		//if(found != -1)
			setSelectedIndex(document.getElementById('com_destination'),region_selected); // Select option 
		PopulateType();
		//alert (ajax_response);
		//window.location.reload();
	}
}

function stateChanged_load_regions()
{
	if (xmlhttp.readyState==4)
	{
		removeAllOptions(document.getElementById("com_destination"));
		addOption(document.getElementById('com_destination'),'All Regions','');
		
		var region_selected='';
		var ajax_response = xmlhttp.responseText;
		var ajax_response_arr = ajax_response.split('~~');
		for(curr in ajax_response_arr)
		{
			var region_id_name = ajax_response_arr[curr].split('::'); //value::text
			var region_value = region_id_name[0];
			var found = region_id_name[0].search('--'); //This id found in session
			if(found != -1)
			{
				region_id_name[0] = region_id_name[0].replace('--','');
				region_selected =  region_id_name[0];
			}
			addOption(document.getElementById('com_destination'),region_id_name[1],region_id_name[0]);
			
		}
		//if(found != -1)
			setSelectedIndex(document.getElementById('com_destination'),region_selected); // Select option 
		//PopulateType();
		//alert (ajax_response);
		//window.location.reload();
	}
}

function stateChanged_load_type() // On change call
{
	if (xmlhttp.readyState==4)
	{
		removeAllOptions(document.getElementById("com_product_typ"));
		addOption(document.getElementById('com_product_typ'),'Any','');
		
		var region_selected='';
		var ajax_response = xmlhttp.responseText;
		var ajax_response_arr = ajax_response.split('~~');
		for(curr in ajax_response_arr)
		{
			var region_id_name = ajax_response_arr[curr].split('::'); //value::text
			var region_value = region_id_name[0];
			var found = region_id_name[0].search('--'); //This id found in session
			if(found != -1)
			{
				region_id_name[0] = region_id_name[0].replace('--','');
				region_selected =  region_id_name[0];
			}
			addOption(document.getElementById('com_product_typ'),region_id_name[1],region_id_name[0]);
			
		}
		//if(found != -1)
			setSelectedIndex(document.getElementById('com_product_typ'),region_selected); // Select option 
		//PopulateDates();
		//alert (ajax_response);
		//window.location.reload();
	}
}

function stateChanged_Type()
{
	if (xmlhttp.readyState==4)
	{
		//removeAllOptions(document.getElementById("com_product_typ"));
		addOption(document.getElementById('com_product_typ'),'Any','');
		
		var region_selected='';
		var ajax_response = xmlhttp.responseText;
		var ajax_response_arr = ajax_response.split('~~');
		for(curr in ajax_response_arr)
		{
			var region_id_name = ajax_response_arr[curr].split('::'); //value::text
			var region_value = region_id_name[0];
			var found = region_id_name[0].search('--'); //This id found in session
			if(found != -1)
			{
				region_id_name[0] = region_id_name[0].replace('--','');
				region_selected =  region_id_name[0];
			}
			addOption(document.getElementById('com_product_typ'),region_id_name[1],region_id_name[0]);
			
		}
		//if(found != -1)
			setSelectedIndex(document.getElementById('com_product_typ'),region_selected); // Select option 
		PopulateDates();
		//alert (ajax_response);
		//window.location.reload();
	}
}

function stateChanged_dates()
{
	if (xmlhttp.readyState==4)
	{
		
		var ajax_response = xmlhttp.responseText;
		var ajax_response_arr = ajax_response.split('~~');
		
		document.Form1.arrival.value = ajax_response_arr[0];
		document.getElementById('departure').value = ajax_response_arr[1];
		document.getElementById('datevar').value = ajax_response_arr[2];
	}
}

function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
  {
  // code for IE7+, Firefox, Chrome, Opera, Safari
  return new XMLHttpRequest();
  }
if (window.ActiveXObject)
  {
  // code for IE6, IE5
  return new ActiveXObject("Microsoft.XMLHTTP");
  }
return null;
}
function addOption(selectbox,text,value )
{
	var optn = document.createElement("OPTION");
	optn.text = text;
	optn.value = value;
	selectbox.options.add(optn);
}
function removeAllOptions(selectbox)
{
	var i;
	for(i=selectbox.options.length-1;i>=0;i--)
	{
		selectbox.remove(i);
	}
}
function setSelectedIndex(s, v)
{
    for ( var i = 0; i < s.options.length; i++ ) {
        if ( s.options[i].value == v ) {
            s.options[i].selected = true;
            return;
        }
    }
}
