var xmlHttp;
var DropDownList;
var XML_Filter;
var serverPath = window.location.protocol +'//'+ window.location.hostname +'/';
//var baseUrl = serverPath +"tmbh/"+ "webloader.aspx?";//For localhost
//var baseUrl = serverPath +"webloader.aspx?";//For BHI-Dbase-002:84
var baseUrl = "webloader.aspx?";
var progressbar = "";

function GetXmlHttpObject(){
	var x=null;
	try
	{
		// Firefox, Opera 8.0+, Safari
		x = new XMLHttpRequest();
	}
	catch (e)
	{
		try
		{
			// Internet Explorer
			x = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			x = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return x;
}
function GetInnerText (node)
{
	 return (node.textContent || node.innerText || node.text) ;
}
function ClearItems(ddlout){
	var ddl = document.getElementById(ddlout);
	for(var x = ddl.options.length-1;x > 0;x--){
		ddl.options[x] = null;
	}
	//ddl.options[0] = new Option( "-- Select "+filter+" --", 0,  false, false);
}

function DropDownChanged(code, ddloutname, xmlcode, submember, progbar){
	xmlHttp = GetXmlHttpObject();
	if (xmlHttp == null){
		alert ("Your browser does not support AJAX!");
		return;
	}
	DropDownList = document.getElementById(ddloutname);
	if(xmlcode == "1")
		XML_Filter = "State";
	else if(xmlcode == "2")
		XML_Filter = "City";
	else if(xmlcode == "3")
		XML_Filter = "District";
	progressbar = progbar;
	ClearItems(ddloutname);
	var ddlSubMember = submember.split(",");
	for(var x = 0; x < ddlSubMember.length; x++){
		ClearItems(ddlSubMember[x]);
	}
	if(code == 0)
		return;
	var url = baseUrl + "load="+ xmlcode +"&id=" + code;
	xmlHttp.onreadystatechange=LoadChanges;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}
function LoadChanges() { 
	var progress = document.getElementById(progressbar);
	if (xmlHttp.readyState == 4){
		var fieldNodes;
		var textNodes;
		var valueNodes;
		//fieldNodes = xmlHttp.responseXML.documentElement;
		//Comment if buggy
		if(window.ActiveXObject){
			fieldNodes = xmlHttp.responseXML.documentElement;
			textNodes = fieldNodes.getElementsByTagName(XML_Filter +"/Name");
			valueNodes = fieldNodes.getElementsByTagName(XML_Filter +"/Value");
		}
		else{
			var parser = new DOMParser();
			var doc = parser.parseFromString(xmlHttp.responseText,"text/xml");
			fieldNodes = doc.documentElement;
			textNodes = fieldNodes.getElementsByTagName("Name");
			valueNodes = fieldNodes.getElementsByTagName("Value");
		}
		//End of comment
		for (var x = 1; x <= textNodes.length; x++)
		{
			var text = GetInnerText(textNodes[x-1]);
   			var value = GetInnerText(valueNodes[x-1]);
			DropDownList.options[DropDownList.length] = new Option( text, value,  false, false);
		}
		if(progress != null)
			progress.style.visibility = "hidden";
	}
	else{
		if(progress != null)
			progress.style.visibility = "visible";
	}
}

function LoadCity(val){
	if(val == 0)
		return;
	var CityXmlHttp = GetXmlHttpObject();
	var CityDDL = document.getElementById("Leftbar1_Search1_cmbCity");
	for(var x = CityDDL.options.length-1;x > 0;x--){
		CityDDL.options[x] = null;
	}
	var url = baseUrl + "load=2&id="+ val +"&mode=1";
	CityXmlHttp.onreadystatechange = function(){
		if (CityXmlHttp.readyState == 4){
			var fieldNodes;
			var textNodes;
			var valueNodes;
			//fieldNodes = xmlHttp.responseXML.documentElement;
			//Comment if buggy
			if(window.ActiveXObject){
				fieldNodes = CityXmlHttp.responseXML.documentElement;
				textNodes = fieldNodes.getElementsByTagName("City/Name");
				valueNodes = fieldNodes.getElementsByTagName("City/Value");
			}
			else{
				var parser = new DOMParser();
				var doc = parser.parseFromString(CityXmlHttp.responseText,"text/xml");
				fieldNodes = doc.documentElement;
				textNodes = fieldNodes.getElementsByTagName("Name");
				valueNodes = fieldNodes.getElementsByTagName("Value");
			}
			//End of comment
			for (var x = 1; x <= textNodes.length; x++)
			{
				var text = GetInnerText(textNodes[x-1]);
   				var value = GetInnerText(valueNodes[x-1]);
				CityDDL.options[CityDDL.length] = new Option( text, value,  false, false);
			}
		}
	};
	CityXmlHttp.open("GET",url,true);
	CityXmlHttp.send(null);
}

function SearchHotel(country, state, city, district){
	var ddlCountry = document.getElementById(country);
	var ddlState = document.getElementById(state);
	var ddlCity = document.getElementById(city);
	var ddlDistrict = document.getElementById(district);
	var winLoc = "";
	if(ddlCountry.value > 0 && ddlState.value <= 0 && ddlCity.value <= 0 && ddlDistrict.value <= 0 )
		winLoc += "hotellist.aspx?cn=" + ddlCountry.value;
	else{
		winLoc += "hotellist.aspx?cn=" + ddlCountry.value
		if(ddlState.value > 0)
			winLoc += "&st=" + ddlState.value;
		if(ddlCity.value > 0)
			winLoc += "&ct=" + ddlCity.value;
		if(ddlDistrict.value > 0)
			winLoc += "&dt=" + ddlDistrict.value;
	}
	window.location = winLoc;
}
