﻿// JScript File

var FDistload;
var ToDistObj;
var lblobj;
//Gets called when country combo box selection changes
function FromDistanceListOnChange(ToDistance,FromDistance,lbl) 
//function StateListOnChange(StateID,CityID,RequestUrl) 
{

	/*FDistload = document.getElementById(loader);
	FDistload.style.display="block";*/
	
	ToDistObj =document.getElementById(ToDistance);
	lblobj =document.getElementById(lbl);
    var fvalue=document.getElementById(FromDistance).value;
    
	// URL to get states for a given country
	var requestUrl = "ajaxPages/distanceFromCity.aspx?fromcity=" + fvalue ;
	
	CreateXmlHttp();
	
	
	// If browser supports XMLHTTPRequest object
	if(XmlHttp)
	{
		//Setting the event handler for the response
		XmlHttp.onreadystatechange = FDistHandleResponse;
				
		XmlHttp.open("GET", requestUrl,  true);
		
		//Sends the request to server
		XmlHttp.send(null);		
	}
	return true;
}


//Called when response comes back from server
function FDistHandleResponse()
{
	   var moz = (typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined');
        var ie = ( typeof window.ActiveXObject != 'undefined');
       
	// To make sure receiving response data from server is completed
	if(XmlHttp.readyState == 4)
	{
		
		// To make sure valid response is received from the server, 200 means response received is OK
		if(XmlHttp.status == 200)
		{			
			 if (document.implementation.createDocument)
			{			
				
				ClearAndSetToCityListItems(XmlHttp.responseXML.documentElement);
			} 
			else if (moz)
			{			
				ClearAndSetToCityListItems(XmlHttp.responseXML.documentElement);
			} 
			else if (ie)
			{ 
				var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
				xmlDoc.async = false;
				alert(XmlHttp.responseText);
				xmlDoc.loadXML(XmlHttp.responseText);
				ClearAndSetToCityListItems(xmlDoc);
			}
		   else
		   {
			   alert('browser does not support this script.');
		   }
			
		}
		else
		{
			alert("There was a problem retrieving data from the server." );
		}
	}
}

//Clears the contents of state combo box and adds the states of currently selected country
function ClearAndSetToCityListItems(stateNode)
{
		//Clears the state combo box contents.
	
		for (var count = ToDistObj.options.length-1; count >-1; count--)
		{
		
		    ToDistObj.options[count] = null;
		    
		}
		
				
		ToDistObj.options.length = optionItem;
		
		if (stateNode!=null)
		{
		
			var cityNodes = stateNode.getElementsByTagName('distance');
			var textValue; 
			var optionItem;
			
			//Add new cities list to the state combo box.
			for (var count = 0; count < cityNodes.length; count++)
			{
   				//textValue = GetInnerText(stateNodes[count]);   
   				textvalue = GetInnerText(cityNodes[count].getElementsByTagName('tocity')[0]);
   				
   				if (textvalue != "")
   				{				
					optionItem = new Option( textvalue, GetInnerText(cityNodes[count].getElementsByTagName('distance')[0]),  false, false);
					ToDistObj.options[ToDistObj.length] = optionItem;
				}
			}
		
		}
		//ToDistObj.options[ToDistObj.length] = optionItem;
		lblobj.innerText = " ";	
        lblobj.textContent = " ";
}
function ToCityListOnChange(ToDistance,lbl)
{
    var toobj = document.getElementById(ToDistance).value
    if (toobj == "0.00" || toobj == "0")
        toobj = " ";    
        toobj= toobj.replace(/.00/,"")
    document.getElementById(lbl).innerText = toobj;	
    document.getElementById(lbl).textContent = toobj;
    
}