﻿// JScript File

var FDistload;
var ToDistObj;
var lblobj;
//Gets called when country combo box selection changes
function getports(porttype,fillport) 
//function StateListOnChange(StateID,CityID,RequestUrl) 
{

	/*FDistload = document.getElementById(loader);
	FDistload.style.display="block";*/
	ToDistObj =document.getElementById(fillport);
    var pvalue=document.getElementById(porttype).value;
    // URL to get states for a given country
	var requestUrl = "ajaxPages/ports.aspx?time="+ getCurTime() +"&cid=" + pvalue ;
	
	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;
				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('ports');
			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('contentid')[0]);
   				if (textvalue != "")
   				{				
					optionItem = new Option(GetInnerText(cityNodes[count].getElementsByTagName('contenttitle')[0]),textvalue,  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 = " ";    
    document.getElementById(lbl).innerText = toobj;	
    document.getElementById(lbl).textContent = toobj;
    
}

function GetInnerText(node)
{
//alert(node.textContent || node.innerText || node.text)
 if(node==null)
 {
 return "";
 }
 else
 {
 return (node.textContent || node.innerText || node.text) ;
 }
} 

function getCurTime()
{
    var d = new Date();
    var curr_hour = d.getHours();
    var curr_min = d.getMinutes();
    var curr_sec = d.getSeconds();
    var curr_msec = d.getMilliseconds();
    return curr_hour + "_" + curr_min + "_" + curr_sec + "_" + curr_msec;
}
