function InvokeSvcLookup(ddlName,URLstr1)
{
    //this functn. is used to show only Locations serviced by the selected Agent..
    if(document.getElementById(ddlName).value=="-1")
    {
        alert('Please select an Agent !.');        
    }
    else
    {
        window.open(URLstr1 + '&ctrl4=' + document.getElementById(ddlName).value , 'POP' , 'scrollbars=yes,toolbar=0,location=0,statusbar=0,left = 0,top = 0');
    }
    return false;
}

function InvokeVoyageLookupAC(ctrlLoc,ddlType,portType,URLstr1)
{
    //Note: this functn. is exclusively used in the form: frmCntrArrvlConfrm..
    //this functn. is used to show only Locations serviced by the selected Agent..
   
    //alert('Port: ' + document.getElementById(portType).value)
    
    if(document.getElementById(ctrlLoc).value=="")
    {
        alert('No Service Location is currently selected !.');        
        return false;
    }
    
    if(document.getElementById(ddlType).value!="Vessel")
    {
        alert('Voyage selection is only valid for Type: Vessel !.');
        return false;        
    }
    
    if(document.getElementById(portType).value!="Dry Port")
    {
       
        alert('Voyage selection is only valid for <Dry Ports> !.');
        return false;        
    }   
    window.open(URLstr1 + '&ctrl4=' + document.getElementById(ctrlLoc).value , 'POP' , 'scrollbars=yes,toolbar=0,location=0,statusbar=0,left = 0,top = 0');
    return false;
}

function InvokeVoyageLookup(ctrlLoc,ddlType,URLstr1)
{
    //this functn. is used to show only Locations serviced by the selected Agent..
   
    if(document.getElementById(ctrlLoc).value=="")
    {
        alert('No Service Location is currently selected !.');        
        return false;
    }
    
    if(document.getElementById(ddlType).value!="Vessel")
    {
        alert('Voyage selection is only valid for Type: Vessel !.');
        return false;        
    }
        
    window.open(URLstr1 + '&ctrl4=' + document.getElementById(ctrlLoc).value , 'POP' , 'scrollbars=yes,toolbar=0,location=0,statusbar=0,left = 0,top = 0');
    return false;
}
function InvokeVoyageLookupSC(ctrlLoc,portType,URLstr1)
{
    //Note: this functn. is exclusively used in the form: frmCntrStuffConfirm..
    //this functn. is used to show only selected Service Location ..
   
    if(document.getElementById(ctrlLoc).value=="")
    {
        alert('No Service Location Selected !.');        
        return false;
    }
       
    if((document.getElementById(portType).value).toUpperCase()!="SEA PORT")
    {
    alert(document.getElementById(portType).value)
        alert('Voyage selection is only valid for <Sea Ports> !.');
        return false;        
    }   
    window.open(URLstr1 + '&ctrl4=' + document.getElementById(ctrlLoc).value , 'POP' , 'scrollbars=yes,toolbar=0,location=0,statusbar=0,left = 0,top = 0');
    return false;
}
function ValidateComboSelection(source)
{
    //checks whether a control contains valid user selection and return status ..
    var dropdown =   document.getElementById(source);
    if (dropdown.value== 0)
    {        
        return false;
    } 
    else 
    {
        return true;
    }
 }
 
function CheckMaxLength(control, maxlength, name)
{
        // this funct. can be used to validate textboxes with Multi-Line attribute set to True..
	    //alert(document.getElementById(control).value.length);
	    if (control!=null)
	    {	    	    
	        var len = parseInt(maxlength);
	        
	        if (len>0)
            {
        
	        if (document.getElementById(control).value.length >= len)
	        {
                //alert("Field: "+ document.getElementById(control).name +" Cannot Exceed Maxlength!")
                window.event.keyCode=0;
                alert("Field: ["+ name +"] exceeded it's maximum length!");                                
           	    document.getElementById(control).focus();
           	    //return false;
	        }
	        }
	    }
}

function IsGreaterThanZero(source,msg)
{
    var ctrl =   document.getElementById(source);
    if (parseInt(ctrl.value)>0)
    {
        return true;
    } 
    else 
    {
        alert(msg);
        return false;
    }
 }

function ChkIfGreaterThanZero(source, args)
{
    alert('xxx');    
    var ctrl =   document.getElementById(source.controltovalidate);
    if (parseInt(ctrl.value)>0)
    {
        args.IsValid = true;
    } 
    else 
    {
        args.IsValid = false;
    }
 }

function clientvalidate(source, args)
{
    var dropdown =   document.getElementById(source.controltovalidate);
    if (dropdown.value== -1)
    {
        args.IsValid = false;
    } 
    else 
    {
        args.IsValid = true;
    }
 }


function valspace(element)
	{
	var vartextbox=element.id;
	if (window.event.keyCode==32)
	{
		if (document.getElementById(vartextbox).value.length==0)
		(
		window.event.keyCode=0
		)
	}
	if (window.event.keyCode>96 && window.event.keyCode<123)
	{
	window.event.keyCode=window.event.keyCode-32
	} 
	
	}

function valspace1(element)
	{
		var vartextbox=element.id;
		if (window.event.keyCode==32)
			{
				if (document.getElementById(vartextbox).value.length==0)
				(
				window.event.keyCode=0
				)
			}
		if (window.event.keyCode>96 && window.event.keyCode<123)
		{
		window.event.keyCode=window.event.keyCode-32
		} 
		if ((window.event.keyCode<65 && window.event.keyCode>90))
		{
		
		event.keyCode=0;
		}
		if ((window.event.keyCode<97 && window.event.keyCode>122))
		{
		
		event.keyCode=0;
		}
	if (window.event.keyCode==39)
		{
			
		event.keyCode=0;
		}
	if (window.event.keyCode==64)
		{
			
		event.keyCode=0;
		}
		if (window.event.keyCode==124)
			{
				
			event.keyCode=0;
			}
	if ((window.event.keyCode==95)||(window.event.keyCode==96)||(window.event.keyCode==126)||(window.event.keyCode==92)||(window.event.keyCode==47)||(window.event.keyCode==45))
		{
		
		event.keyCode=0;
		}
	if ((window.event.keyCode==63)||(window.event.keyCode==60)||(window.event.keyCode==62))
		{
			
		event.keyCode=0;
		}
	
		//new
		if ((window.event.keyCode==126)||(window.event.keyCode==33)||(window.event.keyCode==64))
		{
			event.keyCode=0;
		}
	
		if ((window.event.keyCode==35)||(window.event.keyCode==36)||(window.event.keyCode==37))
		{
			event.keyCode=0;
		}
	
		if ((window.event.keyCode==94)||(window.event.keyCode==38)||(window.event.keyCode==42))
		{
			event.keyCode=0;
		}
	
			if ((window.event.keyCode==40)||(window.event.keyCode==41)||(window.event.keyCode==95))
			{
				event.keyCode=0;
			}
			
			if ((window.event.keyCode==32)||(window.event.keyCode==96)||(window.event.keyCode==92))
			{
				event.keyCode=0;
			}
			
			if ((window.event.keyCode==35)||(window.event.keyCode==45)||(window.event.keyCode==61))
			{
				event.keyCode=0;
			}
			
			if ((window.event.keyCode==44)||(window.event.keyCode==45)||(window.event.keyCode==47))
			{
				event.keyCode=0;
			}
			
			if ((window.event.keyCode==39)||(window.event.keyCode==59)||(window.event.keyCode==93))
			{
				event.keyCode=0;
			}
			
			if ((window.event.keyCode==91)||(window.event.keyCode==36)||(window.event.keyCode==37))
			{
				event.keyCode=0;
			}
			if ((window.event.keyCode==125)||(window.event.keyCode==123)||(window.event.keyCode==39))
			{
				event.keyCode=0;
			}
			if ((window.event.keyCode==34)||(window.event.keyCode==91)||(window.event.keyCode==93))
			{
				event.keyCode=0;
			}
			if ((window.event.keyCode==58)||(window.event.keyCode==60)||(window.event.keyCode==62))
			{
				event.keyCode=0;
			}
			if ((window.event.keyCode==47)||(window.event.keyCode==63)||(window.event.keyCode==37))
			{
				event.keyCode=0;
			}
		}



function validate_me(element)
{
					var str=element.value;
					var id=element.id
					var len=str.length;
					var count=0;
					

					for(i=0;i<len;++i)
						{
							
							if (str.charAt(i)==".")
							{
							  count=1;
							  	var str1=str.split('.')
								var dotbefore=str1[0]								
							}
							
							if(count==1 && window.event.keyCode==46 )
								{
									 count=0;
									 window.event.keyCode=0;
								}
							else if(count==1 && window.event.keyCode!=46)
								{
								var str1=str.split('.')
								var dotafter=str1[1];
								var dotbefore=str1[0]
								var len=dotafter.length;
								if (len>3)
									{
								        window.event.keyCode=0;
									}
								}
						}
						
						
						
		if((window.event.keyCode>=48 && window.event.keyCode<=57) || window.event.keyCode==46)
		{}
		else
		{
		window.event.keyCode=0;
		}
	

}
function changetomonnumber(mn)
{
	var intmn;
	mn=mn.toUpperCase();
	
	 switch(mn)
	 {
		
		case "JAN":
		intmn="01";
		break;
		
		case "FEB":
		intmn="02";
		break;
		
		case "MAR":
		intmn="03";
		break;
		
		case "APR":
		intmn="04";
		break;
		
		case "MAY":
		intmn="05";
		break;
		
		case "JUN":
		intmn="06";
		break;	
		
		case "JUL":
		intmn="07";
		break;	
		
		case "AUG":
		intmn="08";
		break;
		
		case "SEP":
		intmn="09";
		break;
		
		case "OCT":
		intmn="10";
		break;
		
		case "NOV":
		intmn="11";
		break;
		
		case "DEC":
		intmn="12";
		break;
		
		
	 }
	
	
	
	return intmn
}


function validate_meold(element)
	{
	
	//new diju
					var str=element.value;
					var id=element.id
					var len=str.length;
					var count=0;

					for(i=0;i<len;++i)
						{
							
							if (str.charAt(i)==".")
							{
							  count=1;
							  	var str1=str.split('.')
								var dotbefore=str1[0]								
							}
							
							if(count==1 && window.event.keyCode==46 )
								{
									 window.event.keyCode=0;
								}
							else if(count==1 && window.event.keyCode!=46)
								{
								var str1=str.split('.')
								var dotafter=str1[1];
								var dotbefore=str1[0]
								var len=dotafter.length;
								if (len>2)								
									{
								window.event.keyCode=0;
									}
								}
						}
	
	//new
	if ((window.event.keyCode>=65 && window.event.keyCode<=90))
	{
	
	event.keyCode=0;
	}
if ((window.event.keyCode>=97 && window.event.keyCode<=122))
	{
	
	event.keyCode=0;
	}
if (window.event.keyCode==39)
	{
	
	
	event.keyCode=0;
	}
if (window.event.keyCode==64)
	{
	
	
	event.keyCode=0;
	}
if (window.event.keyCode==124)
	{
	
	
	event.keyCode=0;
	}
if ((window.event.keyCode==95)||(window.event.keyCode==96)||(window.event.keyCode==126)||(window.event.keyCode==92)||(window.event.keyCode==47)||(window.event.keyCode==45))
	{
	
	event.keyCode=0;
	}
if ((window.event.keyCode==63)||(window.event.keyCode==60)||(window.event.keyCode==62))
	{
	
	
	event.keyCode=0;
	}
	
	//new
	if ((window.event.keyCode==126)||(window.event.keyCode==33)||(window.event.keyCode==64))
	{
		event.keyCode=0;
	}
	
	if ((window.event.keyCode==35)||(window.event.keyCode==36)||(window.event.keyCode==37))
	{
		event.keyCode=0;
	}
	
	if ((window.event.keyCode==94)||(window.event.keyCode==38)||(window.event.keyCode==42))
	{
		event.keyCode=0;
	}
	
	if ((window.event.keyCode==40)||(window.event.keyCode==41)||(window.event.keyCode==95))
	{
		event.keyCode=0;
	}
	
	if ((window.event.keyCode==32)||(window.event.keyCode==96)||(window.event.keyCode==92))
	{
		event.keyCode=0;
	}
	
	if ((window.event.keyCode==35)||(window.event.keyCode==45)||(window.event.keyCode==61))
	{
		event.keyCode=0;
	}
	
	if ((window.event.keyCode==44)||(window.event.keyCode==45)||(window.event.keyCode==47))
	{
		event.keyCode=0;
	}
	
	if ((window.event.keyCode==39)||(window.event.keyCode==59)||(window.event.keyCode==93))
	{
		event.keyCode=0;
	}
	
	if ((window.event.keyCode==91)||(window.event.keyCode==36)||(window.event.keyCode==37))
	{
		event.keyCode=0;
	}
	if ((window.event.keyCode==125)||(window.event.keyCode==123)||(window.event.keyCode==39))
	{
		event.keyCode=0;
	}
	if ((window.event.keyCode==34)||(window.event.keyCode==91)||(window.event.keyCode==93))
	{
		event.keyCode=0;
	}
	if ((window.event.keyCode==58)||(window.event.keyCode==60)||(window.event.keyCode==62))
	{
		event.keyCode=0;
	}
	if ((window.event.keyCode==47)||(window.event.keyCode==63)||(window.event.keyCode==37))
	{
		event.keyCode=0;
	}
	}
	function checknull()
	{
	p_item = arguments[0];
	p_top  = arguments[1];
	p_left = arguments[2];
	p_right = arguments[3];

	    if (p_item!=null)
	    {
	    
	    var var1=p_item.id
	    if (document.getElementById(var1).value.length==0)
	        {
              //  alert("This"+document.getElementById(var1).name+" Cannot Be Null!")
               alert(" Cannot Be Null!")
                window.event.keyCode=0
            	    document.getElementById(var1).focus()
	        }
	    }
	    
	    if (p_top!=null)
	    {
	   
	    var var2=p_top.id 
	    if (document.getElementById(var2).value.length==0)
	        {
               // alert("This"+document.getElementById(var2).name+" Cannot Be Null!")
                 alert(" Cannot Be Null!")
                window.event.keyCode=0
            	    document.getElementById(var2).focus()
	        }
	    }
	    
        if (p_left!=null)
        {
        var var3 =p_left.id
        if (document.getElementById(var3).value.length==0)
	        {
             //   alert("This"+document.getElementById(var3).name+"Cannot Be Null!")
               alert(" Cannot Be Null!")
                window.event.keyCode=0
            	    document.getElementById(var3).focus()
	        }
        }
        
        if (p_right!=null)
        {
        var var4 =p_right.id
        if (document.getElementById(var4).value.length==0)
	        {
             //   alert("This"+document.getElementById(var4).name+"Cannot Be Null!")
               alert(" Cannot Be Null!")
                window.event.keyCode=0
            	    document.getElementById(var4).focus()
	        }
        }
    
	}

	//selecting multiple checkbox
	    function ChangeCheckBoxState(id, checkState)
        {
            var cb = document.getElementById(id);
            if (cb != null)
               cb.checked = checkState;
        }
        
        function ChangeAllCheckBoxStates(checkState)
        {
            if (CheckBoxIDs != null)
            {
                for (var i = 0; i < CheckBoxIDs.length; i++)
                ChangeCheckBoxState(CheckBoxIDs[i], checkState);
            }
        }
        
       function ChangeHeaderAsNeeded()
        {
            if (CheckBoxIDs != null)
            {
                for (var i = 1; i < CheckBoxIDs.length; i++)
                {
                    var cb = document.getElementById(CheckBoxIDs[i]);
                    if (cb!= null)
                    {
                        if (!cb.checked)
                        {
                            ChangeCheckBoxState(CheckBoxIDs[0], false);
                            return;
                        }
                    }
                }
                ChangeCheckBoxState(CheckBoxIDs[1], true);
            }
        }

     
  function fcamount(element1,element2,element3)
  {
  if (element1.value!='' && element2.value!='')
     {
    var var1=element1.value; 
    var var2=element2.value; 
    var var3 
    var3=eval(var1)*eval(var2)
    element3.value=var3
    }
    
  }
  //THIS FUNCTION FOR GET FOCUS TO CONTROL IN GRID
  function windowKeycode()
  {
 p_item = arguments[0];
 var var1=p_item.id
  if (window.event.keyCode!=9)
     window.event.keyCode=0
     
    if (p_item!=null)
    {
    document.getElementById(var1).focus()
    }
  }
  //THIS FUNCTION  FOR ROOLOVERNOTE SECOND GRID POPULATION
  function test()
  {
  p_item = arguments[0];
  p_item1=arguments[1];
    var var1=p_item.id
    p_item1.value=p_item.value
  }
  // THIS FUNCTION FOR CHKING TOTAL BOOK QTY
  function chk_bookQty()
  
  {
  p_item = arguments[0];
   p_item1=arguments[1];
   var1=p_item1.id
   if (eval(p_item.value)<eval(p_item1.value))
   {
        alert("Book Qty Not More than" + eval(p_item.value))
        document.getElementById(var1).focus()
   }
  }
  
   function test1()
  {

  p_item = arguments[0];
  p_item1=arguments[1];
        p_item1.value=p_item.value
        p_item.style.display = "none"
  }
  //Function For disabling date button/textbox
  function disablingDates()
  {

      p_item = arguments[0];
    
      p_item1=arguments[1];
       p_item2=arguments[2];
   
       var src = window.event != window.undefined ? window.event.srcElement : evt.target;
       if (src.checked==true)
            {
             document.getElementById(p_item1).disabled=false
           document.getElementById(p_item2).disabled=false}
        else if(src.checked==false)
      
        {document.getElementById(p_item1).disabled=true
           document.getElementById(p_item2).disabled=true}
         
    
    }
    
   function OnChange()
  {

      p_item = arguments[0];
      p_item1=arguments[1];
      p_item2=arguments[2];
  
      var myindex  = p_item.selectedIndex
        {
          if (p_item.options[myindex].innerText.toUpperCase()== "PFCL" )
                {
                   p_item1.disabled=false
                   p_item2.disabled=false
                   
                }
           else
                {
              
                  p_item1.disabled=true
                  p_item2.disabled=true
               
                }
         }
           
  }
  
  function OnChange1()
  {

      p_item = arguments[0];
      p_item1=arguments[1];
 
  
      var myindex  = p_item.selectedIndex
        {
          if (p_item.options[myindex].innerText.toUpperCase()== "C" )
                {
                   p_item1.disabled=false
     
                   
                }
           else
                {
                  p_item1.disabled=true
              
                }
         }
           
  }
 
  
function OnTreeClick(evt)
  {
  
       var src = window.event != window.undefined ? window.event.srcElement : evt.target;
       
       var isChkBoxClick = (src.tagName.toLowerCase() == "input" && src.type == "checkbox");
     
      if(isChkBoxClick)
       {
           var parentTable = GetParentByTagName("table", src);
           var nxtSibling = parentTable.nextSibling;
           if(nxtSibling && nxtSibling.nodeType == 1)//check if nxt sibling is not null & is an element node
           {
               if(nxtSibling.tagName.toLowerCase() == "div") //if node has children
               {
                   //check or uncheck children at all levels
                  
                   CheckUncheckChildren(parentTable.nextSibling, src.checked);
               }
           }
           //check or uncheck parents at all levels
           CheckUncheckParents(src, src.checked);
       }
  }


function CheckUncheckChildren(childContainer, check)
  {
     var childChkBoxes = childContainer.getElementsByTagName("input");
     var childChkBoxCount = childChkBoxes.length;
     for( i = 0;i<childChkBoxCount; ++i)      
     {
       childChkBoxes[i].checked = check;
     }
  }
  
  function CheckUncheckParents(srcChild, check)
  {
      var parentDiv = GetParentByTagName("div", srcChild);
      var parentNodeTable = parentDiv.previousSibling;
     
      if(parentNodeTable)
       {
           var checkUncheckSwitch;
          
           if(check) //checkbox checked
           {
               var isAllSiblingsChecked = AreAllSiblingsChecked(srcChild);
               if(isAllSiblingsChecked)
                   checkUncheckSwitch = true;
               else   
                   return; //do not need to check parent if any(one or more) child not checked
           }
           else //checkbox unchecked
           {
               checkUncheckSwitch = false;
           }
           
           var inpElemsInParentTable = parentNodeTable.getElementsByTagName("input");
           if(inpElemsInParentTable.length > 0)
           {
               var parentNodeChkBox = inpElemsInParentTable[0];
               parentNodeChkBox.checked = checkUncheckSwitch;
               //do the same recursively
               CheckUncheckParents(parentNodeChkBox, checkUncheckSwitch);
           }

          
       }
  }
  
  
  function AreAllSiblingsChecked(chkBox)
  {
    var parentDiv = GetParentByTagName("div", chkBox);
    var childCount = parentDiv.childNodes.length;
    for( i = 0;i<childCount; ++i)   
     {
       if(parentDiv.childNodes[i].nodeType == 1) //check if the child node is an element node
       {
           if(parentDiv.childNodes[i].tagName.toLowerCase() == "table")
           {
              var prevChkBox = parentDiv.childNodes[i].getElementsByTagName("input")[0];
             //if any of sibling nodes are not checked, return false
             if(!prevChkBox.checked)
             {
               return false;
             }
           }
       }
    }
    return true;
  }

  function GetParentByTagName(parentTagName, childElementObj)
  {
     var parent = childElementObj.parentNode;
     while(parent.tagName.toLowerCase() != parentTagName.toLowerCase())
     {
        parent = parent.parentNode;
     }
   return parent;   
  }

  function expandAll(treeViewId)
    {
      
        var treeView = document.getElementById(treeViewId);
         var treeLinks = treeView.getElementsByTagName("a");
         var j = true;
         for(i=0;i<treeLinks.length;i++)
         {
              if(treeLinks[i].firstChild.tagName == "IMG")
              {
                var node = treeLinks[i];
                var level = parseInt(treeLinks[i].id.substr(treeLinks[i].id.length - 1),10);
                var childContainer = document.getElementById(treeLinks[i].id + "Nodes");
               
               if(j)
                {
                    if(childContainer.style.display == "none")
                    TreeView_ToggleNode(eval(treeViewId +"_Data"),level,node,'r',childContainer);
                     alert("eeee")
                    j = false;
                }
                else
                {
                    if(childContainer.style.display == "none")
                    TreeView_ToggleNode(eval(treeViewId +"_Data"),level,node,'l',childContainer);
                }
              }
          }
   }   
   
     
function OnChekClick()
{
       var src = window.event != window.undefined ? window.event.srcElement : evt.target;
       var isChkBoxClick = (src.tagName.toLowerCase() == "input" && src.type == "checkbox");
      p_item =arguments[0]
   //document.getElementById(p_item.value).value=''
        alert(p_item.value)
    if(isChkBoxClick)
       {
       var parentTable = GetParentByTagName("table", src);
       var childChkBoxes = parentTable.getElementsByTagName("input");
       var childChklabel = parentTable.getElementsByTagName("label");
       var childChkBoxCount = childChkBoxes.length;
       
             for( i = 0;i<childChkBoxCount; ++i)      
             {
             if (childChkBoxes[i].checked==true)
                {
                        if (document.getElementById(p_item.value).value=='')
                        {
                        document.getElementById(p_item.value).value=childChklabel[i].innerText;
                        }
                        else 
                        { 
                        alert("Select " + p_item.value)
                        document.getElementById(p_item.value).value = document.getElementById(p_item.value).value +","+ childChklabel[i].innerText
                        }
                }
             }
      }
}



function setValue()
{

var src = window.event != window.undefined ? window.event.srcElement : evt.target;
p_item = arguments[0];
p_item1 = arguments[1];

var parentTable = document.getElementById('grdAddress');
var childChkBoxes = parentTable.getElementsByTagName("input");
var childChkBoxCount = childChkBoxes.length;

    for( i = 0;i<childChkBoxCount; ++i)      
    {
   
    if (childChkBoxes[i].checked==true)
        {
        childChkBoxes[i].checked=false
        }
    }
if (src.id=="txt_to" )

    {
    p_item.value=src.id
    }
if (src.id=="txt_cc")
    {
    p_item.value=src.id
    }
if (src.id=="txt_bcc")
    {
    p_item.value=src.id
    }
}





 

function isNumberKey(evt) 
 

  {

     var charCode = (evt.which) ? evt.which : event.keyCode
     if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 46)
        return false;

     return true;
  }

