
Event.observe(window, 'load', init, false);

function init(){
	Event.observe('com_imperiachoicetravel_country_component', 'change', com_imperiachoicetravel_country_component, false);
	Event.observe('com_imperiachoicetravel_zone_component', 'change', com_imperiachoicetravel_zone_component, false);	
}
//
var CurrentCountry;
//
// Ajax Dynamic (Country/Zone/City)
//
function com_imperiachoicetravel_country_component(){
	//
	// Countries
	//
	document.getElementById("comBugHotelTravel_search").disabled = true;
	document.getElementById("com_imperiachoicetravel_country_component").disabled = true;
	document.getElementById("com_imperiachoicetravel_zone_component").disabled = true;
	document.getElementById("com_imperiachoicetravel_city_component").disabled = true;
	var url = 'zones.php';
	if (CurrentCountry!=document.getElementById("com_imperiachoicetravel_country_component").value) {
		document.getElementById("pleasewait").style.display = "";
		// var pars = 'country_id='+document.getElementById("com_imperiachoicetravel_country_component").value;
		var pars = 'country_id='+ document.getElementById("com_imperiachoicetravel_country_component").value;
		//
		// Zones/Regions
		//
		var myAjax = new Ajax.Request(url, {method: 'get', parameters: pars, onComplete: getResponseCountry});
		//
		// Cities
		//	
		// var pars = 'country_id='+escape($F('com_imperiachoicetravel_country_component')) + '&state_id='+escape($F('com_imperiachoicetravel_zone_component'));
		var pars = 'country_id='+ document.getElementById("com_imperiachoicetravel_country_component").value + '&state_id='+ document.getElementById("com_imperiachoicetravel_zone_component").value;
	    var url = 'cities.php';
	    var myAjax = new Ajax.Request(url, {method: 'get', parameters: pars, onComplete: getResponseCountryForCities});
	}
}
//
// Ajax Dynamic (Country/Zone/City) - Lost Focus
//
function com_imperiachoicetravel_country_component_blur(){
	var url = 'zones.php';
	if (CurrentCountry!=document.getElementById("com_imperiachoicetravel_country_component").value) {
		document.getElementById("pleasewait").style.display = "";
		// var pars = 'country_id='+document.getElementById("com_imperiachoicetravel_country_component").value;
		var pars = 'country_id='+ document.getElementById("com_imperiachoicetravel_country_component").value;
		//
		// Zones/Regions
		//
		var myAjax = new Ajax.Request(url, {method: 'get', parameters: pars, onComplete: getResponseCountry});
		//
		// Cities
		//	
		// var pars = 'country_id='+escape($F('com_imperiachoicetravel_country_component')) + '&state_id='+escape($F('com_imperiachoicetravel_zone_component'));
		var pars = 'country_id='+ document.getElementById("com_imperiachoicetravel_country_component").value + '&state_id='+ document.getElementById("com_imperiachoicetravel_zone_component").value;
    	var url = 'cities.php';
    	var myAjax = new Ajax.Request(url, {method: 'get', parameters: pars, onComplete: getResponseCountryForCities});
	}
}
//
// Ajax Dynamic (Zone/City)
//
function com_imperiachoicetravel_zone_component(){
	//
	// Cities
	//
	document.getElementById("comBugHotelTravel_search").disabled = true;
	document.getElementById("com_imperiachoicetravel_country_component").disabled = true;
	document.getElementById("com_imperiachoicetravel_zone_component").disabled = true;
	document.getElementById("com_imperiachoicetravel_city_component").disabled = true;
	document.getElementById("pleasewaitzones").style.display = "";
	// var pars = 'country_id='+escape($F('com_imperiachoicetravel_country_component')) + '&state_id='+escape($F('com_imperiachoicetravel_zone_component'));
	var pars = 'country_id='+ document.getElementById("com_imperiachoicetravel_country_component").value + '&state_id='+ document.getElementById("com_imperiachoicetravel_zone_component").value;
	//	
    var url = 'cities.php';
    var myAjax = new Ajax.Request(url, {method: 'get', parameters: pars, onComplete: getResponseCountryForCities});
}

/* Country was selected from country function and we are going to populate the zones drop down box */

function getResponseCountry(oReq) {
	if (document.getElementById("com_imperiachoicetravel_zone_component_disable").value!=1) {
		var returnValue = (oReq.responseText);
		var NumState = document.getElementById("com_imperiachoicetravel_zone_component").length;
		while(NumState > 0) {
			NumState--;
			document.getElementById("com_imperiachoicetravel_zone_component").options[NumState] = null;
		}
		if (returnValue != 0 && returnValue != "null") {
			eval("var decoded_data = " + returnValue);
			for (r=0;r<decoded_data.length;r++) {
				document.getElementById("com_imperiachoicetravel_zone_component").options[r] = new Option(decoded_data[r][1], decoded_data[r][0]);
			}
		} else {
			document.getElementById("com_imperiachoicetravel_zone_component").options[0] = new Option("None", 0);
		}
	}
	document.getElementById("pleasewait").style.display = "none";
	document.getElementById("com_imperiachoicetravel_country_component").disabled = false;
	document.getElementById("com_imperiachoicetravel_zone_component").disabled = false;
	document.getElementById("com_imperiachoicetravel_city_component").disabled = false;
	document.getElementById("comBugHotelTravel_search").disabled = false;
}

function getResponseCountryForCities(oReq) {
	if (document.getElementById("com_imperiachoicetravel_city_component_disable").value!=1) {
		var returnValue = (oReq.responseText);
		var NumState = document.getElementById("com_imperiachoicetravel_city_component").length;
		while(NumState > 0) {
			NumState--;
			document.getElementById("com_imperiachoicetravel_city_component").options[NumState] = null;
		}
		if (returnValue != 0 && returnValue != "null") {
			eval("var decoded_data = " + returnValue);
			for (r=0;r<decoded_data.length;r++) {
				document.getElementById("com_imperiachoicetravel_city_component").options[r] = new Option(decoded_data[r][1], decoded_data[r][0]);
			}
		} else {
			document.getElementById("com_imperiachoicetravel_city_component").options[0] = new Option("None", 0);
		}
	}
	document.getElementById("pleasewait").style.display = "none";
	document.getElementById("pleasewaitzones").style.display = "none";
	document.getElementById("com_imperiachoicetravel_country_component").disabled = false;
	document.getElementById("com_imperiachoicetravel_zone_component").disabled = false;
	document.getElementById("com_imperiachoicetravel_city_component").disabled = false;
	document.getElementById("comBugHotelTravel_search").disabled = false;
}