// IE6's reluctance to follow the WC3 browser spec forces us to run this function to add .over
// classes to li's since it doesn't natively support :hover on anything other than anchor tags

startList = function() {

	if (document.all && document.getElementById) {

		navRoot = document.getElementById('services-widget').getElementsByTagName("ul");

        for (i=0; i<navRoot.length; i++) {
		    for (j=0; j<navRoot[i].childNodes.length; j++) {
			    node = navRoot[i].childNodes[j];
			    if (node.nodeName=="LI") {
				    node.onmouseover=function() {
					    this.className+=" over";
				    }
				    node.onmouseout=function() {
					    this.className=this.className.replace(" over", "");
				    }
			    }
		    }
		 }

	}

}

//window.onload=startList;


 // Get Origin States
function getOriginStates(country)
{
    if (country != "") 
    {
        if ((country == 230) || (country == 37))    // US & Canada
        {
            FCUtility.GetStates(country, OnOriginStatesRequestComplete); 
        }
        else
        {
            document.frames.form1.ddlOriginState.options.length = 0;
            document.frames.form1.ddlOriginState.disabled = true;            
        }     
    }
    else
    {        
        document.frames.form1.ddlOriginState.options.length = 0;                
        document.frames.form1.ddlOriginState.disabled = false;                
    }                
}   
           
 // Get Origin Ports
function getOriginPorts(country)
{
    if (country != "") 
    {
        FCUtility.GetPorts(country, OnOriginPortsRequestComplete);   
    }
    else
    {        
        document.frames.form1.ddOriginPort.options.length = 0;
        document.frames.form1.ddOriginPort.disabled = false;
    }                
}


 // Get Destination States
function getDestStates(country)
{
    if (country != "") 
    {
        if ((country == 230) || (country == 37))    // US & Canada
        {
            FCUtility.GetStates(country, OnDestStatesRequestComplete); 
        }
        else
        {            
            document.frames.form1.ddlDestState.options.length = 0;
            document.frames.form1.ddlDestState.disabled = true;
        }     
    }
    else
    {        
        document.frames.form1.ddlDestState.options.length = 0;                
        document.frames.form1.ddlDestState.disabled = false;                
    }                
}       

// Get Destination Ports
function getDestPorts(country)
{	        
    if (country != "") 
    {
        FCUtility.GetPorts(country, OnDestPortsRequestComplete);   
    }
    else
    {        
        document.frames.form1.ddlDestPort.options.length = 0;
        document.frames.form1.ddlDestPort.disabled = false;
    }                
}

function OnOriginStatesRequestComplete(result)
{
    bindDDL(result, document.frames.form1.ddlOriginState, "STATE_LIST_ID", "STATE_CODE_NAME_DS", 1)
}

function OnDestStatesRequestComplete(result)
{
    bindDDL(result, document.frames.form1.ddlDestState, "STATE_LIST_ID", "STATE_CODE_NAME_DS", 2)
}

function OnOriginPortsRequestComplete(result)
{
    bindDDL(result, document.frames.form1.ddOriginPort, "PORT_LOCATION_ID", "PORT_LOCATION_DS", 3)
}

function OnDestPortsRequestComplete(result)
{
    bindDDL(result, document.frames.form1.ddlDestPort, "PORT_LOCATION_ID", "PORT_LOCATION_DS", 4)
}

function bindDDL(result, ddl, ddVal, ddText, flagVal)
{
    var xmlResp = new ActiveXObject("MSXML2.DomDocument");         
    xmlResp.loadXML(result);		
    if (xmlResp.documentElement != null)
    {
        if (xmlResp.documentElement.selectNodes("//Item")!= null)
        {
	        var xmlNodes = xmlResp.documentElement.selectNodes("//Item");
	        ddl.innerHTML = "";
	        optionObj = document.createElement("OPTION");
	        optionObj.value = "0";
	        optionObj.text  = "";
	        ddl.options.add(optionObj);				        
	        
	        if (xmlNodes.length == 0)
	            ddl.disabled = true;
	        else
	            ddl.disabled = false;
			
	        for (var i=0;i<xmlNodes.length;i++)
	        {
		        optionObj = document.createElement("OPTION");
		        optionObj.value = xmlNodes.item(i).getAttribute(ddVal);
		        optionObj.text  = xmlNodes.item(i).getAttribute(ddText);
			    
		        if ((flagVal == 1) && (document.frames.form1.hdnOriginState.value != ""))
		        {
		            if (optionObj.value == document.frames.form1.hdnOriginState.value)
		                optionObj.selected = true;
		        }    
			    
		        if ((flagVal == 2) && (document.frames.form1.hdnDestState.value != ""))
		        {
		            if (optionObj.value == document.frames.form1.hdnDestState.value)
		                optionObj.selected = true;
		        }  
		        
		        if ((flagVal == 3) && (document.frames.form1.hdnOriginPort.value != ""))
		        {
		            if (optionObj.value == document.frames.form1.hdnOriginPort.value)
		                optionObj.selected = true;
		        } 
		        
		        if ((flagVal == 4) && (document.frames.form1.hdnDestPort.value != ""))
		        {
		            if (optionObj.value == document.frames.form1.hdnDestPort.value)
		                optionObj.selected = true;
		        } 
		        ddl.options.add(optionObj);	  
	        }	
	        
        }
        else
        {
        //	alert(xmlResp.xml);
        }
    }  
}	
	
function setOriginCity(src, arg)
{
    src._element.value = arg.get_value();
    /*
    var temp = arg.get_value();
    var x = temp.split("|");     
    document.frames.form1.hdnOriginCityId.value = x[0];
    src._element.value = x[1];
    */
}

function setDestCity(src, arg)
{
    src._element.value = arg.get_value();
}

function Validate_Number(obj)
{
    var regex=/^[0-9]+$/; 
    var responseVal = false;
    var code;
    if (!e) var e = window.event;
    if (e.keyCode) code = e.keyCode;
    else if (e.which) code = e.which;
    var character = String.fromCharCode(code);
    if(regex.test(character)){
        responseVal = true;
    }else {
         responseVal = false;
    }
    return responseVal;
}