/*#################################################################################
         Make percautionary measures to avoid page expired error! Used in every page.
###################################################################################*/
var varTimeOutPrecautionValue; 
var varWhatAfterProjectSelect;
var strBrowser = navigator.userAgent;
var WindowObjectReference;
var help;
var Edit = false;
/*#################################################################################
         By default, if a page loads up, this function is called.
###################################################################################*/
function fnOnUnload()
{
   if (help != null) 
		help.close();
}

/*#################################################################################
         By default, if a page loads up, this function is called.
###################################################################################*/
function fnOnFocus()
{}

/*#################################################################################
         By default, if a page gets out of focus, this function is called.
###################################################################################*/
function fnOnBlur()
{}

/*#################################################################################
         By default, if enter key is pressed, call the default function 
###################################################################################*/
function formSubmitted()
{
	if (createObj("hdnFnToCall").value != "" )
		eval(createObj("hdnFnToCall").value + '()');
	else
		alert("IMPORTANT!! \n\nThis page doesn't have a default button [function] selection. \nPlease include a default button [function] on this ASPX page!");
}

var aryFields = new Array();
function fnCheckRequiredFields()
{
   if (aryFields.length > 0)
   {
	   for (i=0; i < aryFields.length; i++)
	   {
	      switch (aryFields[i][1])
	      {
	         case "C": //Check Box
		         if (!createObj(aryFields[i][0]).checked)
		         {
		            alert('Please complete all required fields.');
		            createObj(aryFields[i][0]).focus();
		            return(false);
		         }
	         break;
	         
	         case "D": //Drop down
		         if (createObj(aryFields[i][0]).selectedIndex == 0)
		         {
		            alert('Please complete all required fields.');
		            createObj(aryFields[i][0]).focus();
		            return(false);
		         }
	         break;
	         
	         case "T": //Text Box
		         if (createObj(aryFields[i][0]).value == '')
		         {
		            alert('Please complete all required fields.');
		            createObj(aryFields[i][0]).focus();
		            return(false);
		         }
	         break;
	         
	         case "O": //Option Button
	         break;
	      }
	   }
   }
   
   return (true);
}
/*#################################################################################
	 Number of Minutes the Server would remember the browser after rendering the page to it.
###################################################################################*/
function fn_setSessionTimeOutValue()
{	varTimeOutPrecautionValue = 29 * 60 - 40;
	//Always set this atleast 100 seconds less than the server timeout value set in IIS
}

/*#################################################################################
         Enable or Disable an existing object on a page
###################################################################################*/
function fn_disable(objControlName, bool_disable)
{
   var strName = new String();
   if (createObj(objControlName))
   {	strName = createObj(objControlName).toString();
		if (strName.substring(0, 7) == '[object')
		{
			if (bool_disable)
				createObj(objControlName).style.display = "none";
			else
				createObj(objControlName).style.display = "";
		}
	}
}
/*#################################################################################
        Make an existing object on a page Visible or Invisible 
###################################################################################*/
function fn_visible(objControlName, bool_visible)
{
	if (bool_visible)
		objControlName.className = '';
	else
		objControlName.className = 'hidden';
}
/*#################################################################################
         Button to go Home Page
###################################################################################*/
function goHomePage()
{
   if (isSessionTimeOut("goHomePage()") == false) 	
		fnNavigate("usrHome.aspx");	
}

function goGTSHomePage()
{
   if (isSessionTimeOut("goGTSHomePage()") == false) 	
		fnNavigate("gtsUsrHome.aspx");	
}
		
/*#################################################################################
         Button to go Project Home Page
###################################################################################*/
function goPrjHomePage()
{
   if (isSessionTimeOut("goPrjHomePage()") == false) 	
		fnNavigate("prjHome.aspx");
}

/*#################################################################################
         Button to go Project Summary page
###################################################################################*/
function goPrjSummaryPage(x)
{
   if (isSessionTimeOut("goPrjSummaryPage(" + x + ")") == false) 	
		fnNavigate(x);
}

/*#################################################################################
         Button to go Project Folder List
###################################################################################*/
function goPrjFolders()
{
   if (isSessionTimeOut("goPrjFolders()") == false) 	
		fnNavigate("prjFolders.aspx");
}
/*#################################################################################
         Button to go Project Select Page
###################################################################################*/
function showAssetInstructions()
{
   if (strBrowser.indexOf('Firefox') != -1)
      WindowObjectReference = window.open("admGTSAssetInstructions.aspx", null, "height=300,width=800,top=200,left=150,menubar=no,location=no,resizable=yes,scrollbars=yes,status=no");
	else
   	window.open('admGTSAssetInstructions.aspx', null, 'height=300; width=800; top=200; left=150; menubar=no; scrollbars=no; status=no; titlebar=no; toolbar=no');		
}

function goPrjSelPage()
{
   if (isSessionTimeOut("goPrjSelPage()") == false) 	
	{
      if (strBrowser.indexOf('Firefox') != -1)
         WindowObjectReference = window.open("admSelProject.aspx", null, "height=650,width=650,top=200,left=300,menubar=no,location=no,resizable=yes,scrollbars=yes,status=no");
		else
   		window.open('admSelProject.aspx', null, 'height=650; width=650; top=200; left=300; menubar=no; scrollbars=no; status=no; titlebar=no; toolbar=no');		
	}
}		
		
function fnShowCallReport(Pid)
{
   if (strBrowser.indexOf('Firefox') != -1)
      WindowObjectReference = window.open("addEditCallReport.aspx?ProjectId=" + Pid + "&PId=" + Pid, null, "height=250,width=400,top=200,left=150,menubar=no,location=no,resizable=yes,scrollbars=yes,status=no");
	else
   	window.open('addEditCallReport.aspx?ProjectId=' + Pid + "&PId=" + Pid, null, 'height=250; width=400; top=200; left=150; menubar=no; scrollbars=no; status=no; titlebar=no; toolbar=no');		
}

function goShpConfirmDeletePage()
{
   if (isSessionTimeOut("goShpConfirmDeletePage()") == false) 	
	{
      if (strBrowser.indexOf('Firefox') != -1)
         WindowObjectReference = window.open("shpConfirmDelete.aspx", null, "height=650,width=650,top=200,left=300,menubar=no,location=no,resizable=yes,scrollbars=yes,status=no");
		else
   		window.open('shpConfirmDelete.aspx', null, 'height=650; width=650; top=200; left=300; menubar=no; scrollbars=no; status=no; titlebar=no; toolbar=no');
	}
}				
/*#################################################################################
         Check the counter initialized to have reached the Session Timout value. This is a recrussive function to run the clock - client side.
###################################################################################*/
function fn_check_session_timeout()
{ 
   var strName = new String();
   strName = createObj('hdnClientConnected').toString();

   varTimeOutPrecautionValue = varTimeOutPrecautionValue - 1
   if ((varTimeOutPrecautionValue < 1)  && (strName.substring(0, 7) == '[object'))
		createObj('hdnClientConnected').value = 0
   setTimeout("fn_check_session_timeout()",1000) 
 }

/*#################################################################################
         Close the popup window once the session is set from relogin.
###################################################################################*/
function fnPost_n_Close()
{	
   window.opener.createObj('hdnClientConnected').value = "1"
	window.opener.fn_setSessionTimeOutValue();
	if (createObj('hdnWhtToDoNext').value != '')
		eval('opener.' + createObj('hdnWhtToDoNext').value)
	self.close();
}
function fnRedirect_n_Close()
{
   window.opener.createObj('hdnClientConnected').value = "1"
	window.opener.fn_setSessionTimeOutValue();
	if (createObj('hdnWhtToDoNext').value != '')
		eval('opener.fnNavigate(\'' + createObj('hdnWhtToDoNext').value + '\');');
	self.close();
}

/*#################################################################################
         This is a function to navigate (usually from Menu Selection)
###################################################################################*/
function fnNavigate(url)
{
   if (isSessionTimeOut("fnNavigate('" + url + "')") == false)
		window.location.href = url;
		DisableAllFields(true);
}

function fnFrameNavigate(url)
{
   if (isSessionTimeOut("fnFrameNavigate('" + url + "')") == false)
   	top.window.frames['maskFrame'].location.href = url;
}

function fnNavigateUD(url) //With out disabled
{
   if (isSessionTimeOut("fnNavigateUD('" + url + "')") == false)
      window.open(url, null);
}

/*#################################################################################
         This is a function to set ProjectID
###################################################################################*/
function setProjectID(ProjID)
{
	createObj('HeaderControl_hdnProjId').value = ProjID;
	document.forms[0].submit();	
   DisableAllFields(true);
}

/*#################################################################################
		This goes into the .js file, in case there is no function on the page
###################################################################################*/
//function fnPageClick(inBtnID,inURL)
//{
//}


/*#################################################################################
         This is the function called in every page before submission.
###################################################################################*/
function isSessionTimeOut(hdnWhtToDoNext)
{ 
   if (hdnWhtToDoNext == null)
		hdnWhtToDoNext = ''
	if (hdnWhtToDoNext.indexOf(')') < 0)
	   hdnWhtToDoNext = hdnWhtToDoNext + '()';
	if (createObj('hdnClientConnected').value == 1)
	{
		return(false)
   }
	else
	{ 
      if (strBrowser.indexOf('Firefox') != -1)
         WindowObjectReference = window.open("usrReLogin.aspx?sid=" + createObj('HeaderControl_hdnSessionID').value + "&nxt=" + hdnWhtToDoNext.replace(/\&/g, '%26'),'chkSession', "height=200,width=300,top=100,left=300,menubar=no,location=no,resizable=no,scrollbars=no,status=no");
		else
   		window.open('usrReLogin.aspx?sid='+ createObj('HeaderControl_hdnSessionID').value + '&nxt=' + hdnWhtToDoNext.replace(/\&/g, '%26'),'chkSession', 'height=200;width=330;top=100;left=300;menubar=no;scrollbars=no;status=no;titlebar=no;toolbar=no')
//		  createObj('hdnWhtToDoNext').value = hdnWhtToDoNext;
//        if (createObj('hdnWhtToDoNext').value != '')
//           eval(createObj('hdnWhtToDoNext').value)
		return(true)
	}
}

function fnCheckSessionAndGo(hdnWhtToDoNext)
{ 
   if (hdnWhtToDoNext == null)
		hdnWhtToDoNext = ''
	if (createObj('hdnClientConnected').value == 1)
	{
		fnNavigate(hdnWhtToDoNext);
   }
	else
	{ 
      if (strBrowser.indexOf('Firefox') != -1)
         WindowObjectReference = window.open("usrReLogin.aspx?href=1&sid=" + createObj('HeaderControl_hdnSessionID').value + "&nxt=" + hdnWhtToDoNext.replace(/\&/g, '%26'),'chkSession', "height=200,width=300,top=100,left=300,menubar=no,location=no,resizable=no,scrollbars=no,status=no");
		else
   		window.open('usrReLogin.aspx?href=1&sid='+ createObj('HeaderControl_hdnSessionID').value + '&nxt=' + hdnWhtToDoNext.replace(/\&/g, '%26'),'chkSession', 'height=200;width=330;top=100;left=300;menubar=no;scrollbars=no;status=no;titlebar=no;toolbar=no')
	}
}
/*#################################################################################
         SET THE FCUS TO THE FIRST NON-HIDDEN OBJECT ON THE PAGE  - (Called in Every page)
###################################################################################*/
function FocusFirst()
{
	for (var i = 0; i < document.forms[0].elements.length; i++)
	{   var thisElement = document.forms[0].elements[i]
		if ((thisElement.type != 'hidden') & 
				(thisElement.disabled != true) & 
				(thisElement.type != 'submit') & 
				(thisElement.type != 'button') &
				(thisElement.className != 'hidden'))
		{
			if (thisElement.type == 'text') {thisElement.select(); }
				try
					{thisElement.focus(); break; }
				catch(er) 
					{alert(er);}				
		}     
	}
}

/*#################################################################################
				Populate the Date field from three text boxes
#################################################################################*/
   function fnClearDate(strSrc)
   {
      createObj(strSrc + '_month').value = "";
      createObj(strSrc + '_day').value = "";
      createObj(strSrc + '_year').value = "";
      createObj(strSrc).value = "";
   }
	function UpdateDate(strSrc, strMonth, strDay, strYear)
	{
		createObj(strSrc).value = createObj(strMonth).value + '/' + createObj(strDay).value + '/' + createObj(strYear).value;
		if(createObj(strSrc).value == "//")
			createObj(strSrc).value = "";
	}
	function fnVerifyYear(id)
	{
	   var strYear = createObj(id).value;
	   if (strYear != '' && (strYear <= 1900 || strYear >= 2200))
      {
         alert('You have entered an invalid year. You must correct it before you continue.');
         createObj(id).focus();
         return false;
      }
      else
         return true;
	}
	function ChkDate(strSrc, strMonth, strDay, strYear)
	{
	   if (fnVerifyYear(strYear))
	   {
	      if (createObj(strYear).value.length == 4 || createObj(strYear).value.length == 0)
   		   UpdateDate(strSrc, strMonth, strDay, strYear);
         else
         {
            alert('You have entered an invalid year. You must correct it before you continue.');
            createObj(strSrc + '_year').focus();
            return false;
         }
      }
      else 
         return false;
		//createObj(strSrc).value = createObj(strMonth).value + '/' + createObj(strDay).value + '/' + createObj(strYear).value;
		//Validate the date
      // Regular expression used to check if date is in correct format
      //var pattern = new RegExp([0-3][0-9]-0|1[0-9]-19|20[0-9]{2});

      if (!fnNumbersOnly(createObj(strMonth)))
      {
         createObj(strSrc + '_month').focus();
         return false;
      }
      if (!fnNumbersOnly(createObj(strDay)))
      {
         createObj(strSrc + '_day').focus();
         return false;
      }
      if (!fnNumbersOnly(createObj(strYear)))
      {
         createObj(strSrc + '_year').focus();
         return false;
      }
      // This instruction will create a date object
      source_date = new Date(createObj(strYear).value,createObj(strMonth).value-1, createObj(strDay).value);
      if(createObj(strMonth).value-1 != source_date.getMonth() || createObj(strDay).value != source_date.getDate() || createObj(strYear).value != source_date.getFullYear())
      {
         alert('Invalid Date!');
         createObj(strSrc + '_day').value = '';
         createObj(strSrc + '_month').value = '';
         createObj(strSrc + '_year').value = '';
         createObj(strSrc + '_month').focus();
         return false;
      }
	}

	function fnSetDate(strSrc, strDate) //strDate in mm/dd/yyyy format
	{
      createObj(strSrc).value = strDate;
      var dDate = strDate.split('/');
      createObj(strSrc + '_month').value = dDate[0];
      createObj(strSrc + '_day').value = dDate[1];
      createObj(strSrc + '_year').value = dDate[2];
	}

/*#################################################################################
							Calendar function to populate the date using a popup window
####################################################################################*/
	function popUpCalander(strSrc, strMonth, strDay, strYear)
	{
      if (!fnNumbersOnly(createObj(strMonth)))
      {
         createObj(strSrc + '_month').focus();
         return false;
      }
      if (!fnNumbersOnly(createObj(strDay)))
      {
         createObj(strSrc + '_day').focus();
         return false;
      }
      if (!fnNumbersOnly(createObj(strYear)))
      {
         createObj(strSrc + '_year').focus();
         return false;
      }
	   var strDate = createObj(strMonth).value + '/' + createObj(strDay).value + '/' + createObj(strYear).value;
		window.open("utilCalendar.aspx?Src=" + strSrc + "&Date=" + strDate + "&M=" + strMonth + "&D=" + strDay + "&Y=" + strYear,null,'height=145; width=1000; top=500; left=200; menubar=no; scrollbars=no; status=no; titlebar=no; toolbar=no');
	}

/*#################################################################################
	Function called once a company is being selected from the popup window
####################################################################################*/
	function afterCompanySelection()
	{	
		if (isSessionTimeOut("afterCompanySelection()") == false)
			eval(varWhatAfterProjectSelect);
	}

/*#################################################################################
      Function called once a project is being selected from the popup window
####################################################################################*/
	function afterProjectSelection()
	{	
		if (isSessionTimeOut("afterProjectSelection()") == false)
			eval(varWhatAfterProjectSelect);
	}

/*#################################################################################
							Function called from shpAddrInfo.aspx
####################################################################################*/
	function selectProject(x)
	{
		if (isSessionTimeOut("selectProject('" + x + "')") == false)
			window.open('admSelProject.aspx', null, 'height=650; width=650; top=200; left=300; menubar=no; scrollbars=no; status=no; titlebar=no; toolbar=no');
	}

   function goPackingList(x)
   {
		if (isSessionTimeOut("goPackingList('" + x + "')") == false)
		{
		   if (x.indexOf('ToFlag=1') != -1)
		   {
            if (strBrowser.indexOf('Firefox') != -1)
               WindowObjectReference = window.open("admRptFltrPref.aspx?ms=213&Sub=51&SR=1&SRpt=71&cf=365" + x, null, "menubar=no,location=no,resizable=yes,scrollbars=yes,status=no");
		      else
   		      window.open('admRptFltrPref.aspx?ms=213&Sub=51&SR=1&SRpt=71&cf=365' + x, null, 'height=650; width=800; top=100; left=200; menubar=no; status=no; titlebar=no; toolbar=no');
		   }
		   else
		   {
            if (strBrowser.indexOf('Firefox') != -1)
               WindowObjectReference = window.open("admRptFltrPref.aspx?ms=213&Sub=51&SR=1&SRpt=125&cf=365" + x, null, "menubar=no,location=no,resizable=yes,scrollbars=yes,status=no");
		      else
   		      window.open('admRptFltrPref.aspx?ms=213&Sub=51&SR=1&SRpt=125&cf=365' + x, null, 'height=650; width=800; top=100; left=200; menubar=no; status=no; titlebar=no; toolbar=no');
		   }
		}
   }		

   function goBillOfLading(x)
   {
		if (isSessionTimeOut("goBillOfLading('" + x + "')") == false)
		{
         if (strBrowser.indexOf('Firefox') != -1)
            WindowObjectReference = window.open("prjBillOfLading.aspx?Hide=1" + x, null, "menubar=no,location=no,resizable=yes,scrollbars=yes,status=no");
		   else
   		   window.open('prjBillOfLading.aspx?Hide=1' + x, null, 'height=650; width=800; top=100; left=200; menubar=no; scrollbars=yes; status=no; titlebar=no; toolbar=no');
		}
   }		

   function goPackingListLabels(x)
   {
		if (isSessionTimeOut("goPackingListLabels('" + x + "')") == false)
		{
         if (strBrowser.indexOf('Firefox') != -1)
            WindowObjectReference = window.open("shpLabels.aspx?ms=520" + x, null, "menubar=no,location=no,resizable=yes,scrollbars=yes,status=no");
		   else
		      window.open('shpLabels.aspx?ms=520' + x, 'newwindow', config='height=650, width=800, toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=no, directories=no, status=no');
		}
   }		

/*#################################################################################
							Function called from the menu to navigate to places which needs projectid in session
####################################################################################*/
	function goWithProjNoPop(x)
	{
		if (isSessionTimeOut("goWithProjNoPop('" + x + "')") == false)
		{	
		   varWhatAfterProjectSelect = "fnNavigate('" + x + "')";
			window.open('admSelProject.aspx', null, 'height=650; width=650; top=200; left=100; menubar=no; scrollbars=no; status=no; titlebar=no; toolbar=no');
		}
	}

	function goWithProj(x)
	{
		if (isSessionTimeOut("goWithProj('" + x + "')") == false)
		{	varWhatAfterProjectSelect = "fnNavigate('" + x + "')";
			if (checkHasProject() == true) {
				eval(varWhatAfterProjectSelect)
      		DisableAllFields(true); }
		}
	}

	function goWithGTSComp(x)
	{
		if (isSessionTimeOut("goWithGTSComp('" + x + "')") == false)
		{	varWhatAfterProjectSelect = "fnNavigate('" + x + "')";
			if (checkHasGTSCompany() == true) {
				eval(varWhatAfterProjectSelect)
      		DisableAllFields(true); }
		}
	}

/*#################################################################################
							Function called from the menu to navigate to places which needs projectid in session
####################################################################################*/
	function goWithNewProj(x)
	{
		if (isSessionTimeOut("goWithNewProj('" + x + "')") == false)
		{	createObj("HeaderControl_hdnProjId").value = "";
			varWhatAfterProjectSelect = "fnNavigate('" + x + "')";
			if (getNewProject() == true) {
				eval(varWhatAfterProjectSelect)
      		DisableAllFields(true); }
		}
	}

	function goWithNewGTSCompany(x)
	{
		if (isSessionTimeOut("goWithNewGTSCompany('" + x + "')") == false)
		{	createObj("HeaderControl_hdnGTSCompId").value = "";
			varWhatAfterProjectSelect = "fnNavigate('" + x + "')";
			if (getNewGTSCompany() == true) {
				eval(varWhatAfterProjectSelect)
      		DisableAllFields(true); }
		}
	}

/*#################################################################################
					This function determines if there is a projectid in the session. If not, it pops up the window to select one.
####################################################################################*/
	function checkHasProject()
	{	if (createObj("HeaderControl_hdnProjId").value > 0)
			return(true);		
		else
			{	if (confirm("You have not yet selected a project. Click OK to select a project now.") == 1)
					window.open('admSelProject.aspx', null, 'height=650; width=650; top=200; left=100; menubar=no; scrollbars=no; status=no; titlebar=no; toolbar=no');
				return(false);				
			}		
	}

	function checkHasGTSCompany()
	{
		if (createObj("HeaderControl_hdnGTSCompId").value > 0)
			return(true);
		else
			window.open('gtsSelCompany.aspx', null, 'height=650; width=650; top=200; left=100; menubar=no; scrollbars=no; status=no; titlebar=no; toolbar=no');
	}


/*#################################################################################
					This function determines if there is a projectid in the session. If not, it pops up the window to select one.
####################################################################################*/
	function getNewProject()
	{	if (isSessionTimeOut("getNewProject()") == false)
		{		if (createObj("HeaderControl_hdnProjId").value > 0)
					return(true);		
				else
					{	window.open('admSelProject.aspx', null, 'height=650; width=650; top=200; left=100; menubar=no; scrollbars=no; status=no; titlebar=no; toolbar=no');	
						return(false);	}
		}
	}

	function getNewGTSCompany()
	{	if (isSessionTimeOut("getNewGTSCompany()") == false)
		{		if (createObj("HeaderControl_hdnGTSCompId").value > 0)
					return(true);		
				else
					{	window.open('gtsSelCompany.aspx', null, 'height=650; width=650; top=200; left=100; menubar=no; scrollbars=no; status=no; titlebar=no; toolbar=no');	
						return(false);	}
		}
	}


/*#################################################################################
							Abstract functions to be overwritten in pages using these
####################################################################################*/

	function Clear()
		{	}

	function Search()
		{	
         var strName = new String();
         strName = createObj('hdnClk_Action').toString();

		   if (isSessionTimeOut("include_click()") == false) 
			{	
			   if (strName.substring(0, 7) == '[object')
				createObj('hdnClk_Action').value = 'SEARCH';
			}
			document.forms[0].submit(); 					
         DisableAllFields(true);
		}

	function add_instance_click()
      { CheckSessionAndSubmit("ADDINSTANCE","add_instance_click") }
	function Annotate_click()
      { CheckSessionAndSubmit("ANNOTATE","Annotate_click") }
	function add_project_click()
      { CheckSessionAndSubmit("ADDPROJECT","add_project_click") }
	function add_click()
		{CheckSessionAndSubmit("ADD","add_click") }
	function addanother_click()
		{CheckSessionAndSubmit("ADDANOTHER","addanother_click") }
	function addcase_click()
		{CheckSessionAndSubmit("ADDCASE","addcase_click") }
	function addlob_click()
		{CheckSessionAndSubmit("ADDLOB","addlob_click") }
	function advanceshipping_click()
		{fnAlertDateMsg(); CheckSessionAndSubmit("ADVANCESHIPPING","advanceshipping_click"); }
	function anotherfilter_click()
		 {CheckSessionAndSubmit("CHOOSE","anotherfilter_click") }	
	function anothertype_click()
		{	CheckSessionAndSubmit("ANOTHERTYPE","anothertype_click")		}
	function anothergroup_click()
		{	CheckSessionAndSubmit("ANOTHERGROUP","anothergroup_click")		}
	function attributes_click()
		{	CheckSessionAndSubmit("ATTRIBUTES","attributes_click")		}
	function asset_view_click()
      { CheckSessionAndSubmit("ASSETS","asset_view_click") }
	function attrib_view_click()
		{	CheckSessionAndSubmit("ATTRIBVIEW","attrib_view_click")		}
	function back_click()
		{	CheckSessionAndSubmit("BACK","back_click")		}
	function budget_click()
		{	CheckSessionAndSubmit("BUDGET","budget_click")		}
	function cancel_click()
		{	CheckSessionAndSubmit("CANCEL","cancel_click")		}
	function cases_click()
		{	CheckSessionAndSubmit("CASES","cases_click")		}
	function clear_click()
		{	CheckSessionAndSubmit("CLEAR","clear_click")		}
  	function close_click()
		{	CheckSessionAndSubmit("CLOSE","close_click")		}
	function companies_click()
		{	CheckSessionAndSubmit("COMPANIES","companies_click")		}
	function confirm_click()
		{	
			if (confirm("Selecting OK will confirm your order. Do you wish to continue?") == 1)
   		   CheckSessionAndSubmit("CONFIRM","confirm_click");
		}
	function companylist_click()
		{	CheckSessionAndSubmit("SAVE","companies_click")		}
	function consolidate_click()
		{	CheckSessionAndSubmit("CONSOLIDATE","consolidate_click")		}
	function create_click()
		{	CheckSessionAndSubmit("CREATE","create_click")		}
	function delete_click()
      {	CheckSessionAndSubmit("DELETE","delete_click")		}
	function deleteFolder_click()
      {	CheckSessionAndSubmit("DELETEFOLDER","deleteFolder_click")		}
	function deleteAssetUnit_click()
      {	CheckSessionAndSubmit("DELETEUNIT","deleteAssetUnit_click")		}
	function deleteAsset_click()
		{	if (isSessionTimeOut("deleteAsset_click()") == false) 
			{
            var strName = new String();
            strName = createObj('hdnClk_Action').toString();

			   if (strName.substring(0, 7) == '[object')
				   createObj('hdnClk_Action').value = 'DELETE';
			   if (confirm("This action would delete the asset from the Inventory. This asset change will be effective from this date forward. Any Projects currently using this asset will not be affected. Would you like to proceed?"))
			   {
				   document.forms[0].submit(); 	
               DisableAllFields(true);
			   }
			}
		}
	function delete_instance_click()
      { CheckSessionAndSubmit("DELETEINSTANCE","delete_instance_click") }
	function default_click()
		{	CheckSessionAndSubmit("DEFAULT","default_click")		}
	function dir_view_click()
		{	CheckSessionAndSubmit("DIRECTORY","dir_view_click")		}
	function directshipping_click()
		{fnAlertDateMsg(); CheckSessionAndSubmit("DIRECTSHIPPING","directshipping_click"); }
	function disable_click()
		{	CheckSessionAndSubmit("DISABLE","disable_click")	}
	function discuss_click()
		{CheckSessionAndSubmit("DISCUSS","discuss_click")		}
	function done_click()
		{	CheckSessionAndSubmit("DONE","done_click")		}
	function exit_click()
		{	CheckSessionAndSubmit("EXIT","exit_click")		}
	function edit_click()
		{	CheckSessionAndSubmit("EDIT","edit_click")		}
	function facility_click()
		{CheckSessionAndSubmit("FACILITY","facility_click")		}
	function copy_facility_address_click()
		{CheckSessionAndSubmit("COPYFACILITYADDRESS","copy_facility_address_click")		}
	function full_view_click()
		{	CheckSessionAndSubmit("FULLVIEW","full_view_click")		}
	function gencontractorinfo_click()
		{CheckSessionAndSubmit("GENCONTRACTORINFO","gencontractorinfo_click")		}
	function groups_click()
		{	CheckSessionAndSubmit("GROUPS","groups_click")		}
	function help_click(pageid)
		{	if (isSessionTimeOut("help_click('" + pageid + "')") == false) 
				help = window.open('http://calan.calancom.net/CliffTestHelp/Website/index.html?' + pageid, 'help','height=600; width=800; top=150; left=150; menubar=yes; scrollbars=yes; status=yes; titlebar=yes; toolbar=yes; resizable=yes' );
		}
	function removeAsset_click()
		{	
		   var aryAsset = new Array();
		   aryAsset = createObj('hdnAssetListSelected').value.split(',');
		   for (i=0; i<aryAsset.length; i++)
		   {
		      if (aryAsset[i] != '')
   			   help = window.open('astCountInPrj.aspx?Remove=1&HideHdr=1&assetId=' + aryAsset[i], 'Include'+aryAsset[i],'height=500; width=700; top=100; left=100; menubar=yes; scrollbars=yes; status=yes; titlebar=yes; toolbar=yes' );
		   }
		}
	function include_click()
		{	
         /* var aryAsset = new Array();
		   aryAsset = createObj('hdnAssetListSelected').value.split(',');
		   for (i=0; i<aryAsset.length; i++)
		   {
		      if (aryAsset[i] != '')
   			   help = window.open('astCountInPrj.aspx?HideHdr=1&assetId=' + aryAsset[i], 'Include'+aryAsset[i],'height=500; width=700; top=100; left=100; menubar=yes; scrollbars=yes; status=yes; titlebar=yes; toolbar=yes' );
		   } */

		   if (isSessionTimeOut("include_click()") == false) 
			{
            var strName = new String();
            strName = createObj('hdnClk_Action').toString();

			   if (strName.substring(0, 7) == '[object')
				   createObj('hdnClk_Action').value = 'ADD';

				varWhatAfterProjectSelect = "document.forms[0].submit()";
				if (checkHasProject() == true)
					eval(varWhatAfterProjectSelect);			 
			}
		}
	function information_click()
      { CheckSessionAndSubmit("INFORMATION","information_click") }
	function instances_click()
      { CheckSessionAndSubmit("INSTANCES","instances_click") }
	function Labels_click()
      { CheckSessionAndSubmit("LABELS","instances_click") }
	function Lading_click()
      { CheckSessionAndSubmit("LADING","instances_click") }
	function loadlist_click()
		{	CheckSessionAndSubmit("LOADLIST","loadlist_click")		}
	function logout_click()
	{
   	if (confirm("If you have not yet Confirmed your Order, you should do so prior to exiting.  An Order must be Confirmed to be processed. The Order will be saved in an Open status and can be edited/completed at a later time.\n\nAre you sure you wish to Log Out?") == 1)
		   CheckSessionAndSubmit("LOGOUT","logout_click")		
	}
	function fnLogOut()
	{
   	if (confirm("Are you sure you wish to Log Out now?") == 1)
		   window.location.href = 'usrLogin.aspx';
	}
	function getlatestfolders_click()
		{CheckSessionAndSubmit("GETLATESTFOLDERS","getlatestfolders_click") }
	function includeremove_click()      
		{if (isSessionTimeOut("subfolder_click")) 
		   return false; 
		else 
		   fnNavigate('astList.aspx'); 	
		   
		   DisableAllFields(true);}
	function markcomplete_click()
		{	CheckSessionAndSubmit("MARKCOMPLETE","markcomplete_click")		}
	function make_new_click()
		{	
	   	if (confirm("Selecting to use this feature will send an automated task to your support team requesting that they contact you. Do you wish to send a request?") == 1)
   			CheckSessionAndSubmit("MAKENEW","make_new_click")		}
	function marshallyard_click()
		{fnAlertDateMsg(); CheckSessionAndSubmit("MARSHALLYARD","marshallyard_click"); }
	function next_click()
		{	CheckSessionAndSubmit("NEXT","next_click")		}
	function no_click()
		{	CheckSessionAndSubmit("NO","no_click")		}
	function open_click()
		{	CheckSessionAndSubmit("OPEN","open_click")		}
	function packinglist_click()
		{	goWithProj('prjEditPackingList.aspx?WITHPROJECT=1');		}
	function permissions_click()
		{	CheckSessionAndSubmit("PERMISSIONS","permissions_click")		}
	function parent_click()
		{	CheckSessionAndSubmit("PARENT","parent_click")		}
	function print_click()
		{	if (isSessionTimeOut(print_click) == false) 
   		   pdfprint_click();		}
	function pdfprint_click()
	{
      if (strBrowser.indexOf('Firefox') != -1)
         WindowObjectReference = window.open("utilCreatePdf.aspx?Pg=" + createObj('HeaderControl_hdnPDFUrl').value, null, "height=600,width=800,top=200,left=300,menubar=no,location=no,resizable=yes,scrollbars=yes,status=no");
		else
			window.open('utilCreatePdf.aspx?Pg=' + createObj('HeaderControl_hdnPDFUrl').value , null, 'resizable=1;menubar=0;titlebar=0;toolbar=0');		
	}
//	function removeAsset_click()
//		{	CheckSessionAndSubmit("REMOVE","removeAsset_click")	}
	function remove_click()
		{	CheckSessionAndSubmit("REMOVE","remove_click")	}
	function Includeuser_click()
		{	CheckSessionAndSubmit("INCLUDEUSER","includeuser_click")	}	
	function Selectusergroup_click()
		{	CheckSessionAndSubmit("SELECTUSERGROUP","selectusergroup_click")	}	
	function save_click()
		{	CheckSessionAndSubmit("SAVE","save_click")		}
	function saveexit_click()
		{	CheckSessionAndSubmit("SAVEEXIT","saveexit_click")		}
	function savennew_click()
	{
	     CheckSessionAndSubmit("SAVENNEW","savenrel_click")		
	}
	function savenrel_click()
		{	
		   if (confirm("Please confirm you wish to release this order."))
		   {
		     CheckSessionAndSubmit("SAVENREL","savenrel_click")		
   		}
   	}
	function savenotes_click()
		{
		   if (confirm("Are you sure you wish to copy all Notes from the TO Packing List. Any Notes entered prior will be overwritten."))
		   {
   		   CheckSessionAndSubmit("SAVENOTES","savenotes_click")
   		}
		}
	function selectfiles_click()
		{	CheckSessionAndSubmit("SELECTFILES","selectfiles_click")		}
	function send_click()
		{	CheckSessionAndSubmit("SEND","send_click")		}
	function search_click()
		{	CheckSessionAndSubmit("SEARCH","search_click")		}
	function services_click()
		{	CheckSessionAndSubmit("SERVICES","services_click")		}
	function showmgmtinfo_click()
		{CheckSessionAndSubmit("SHOWMGMTINFO","showmgmtinfo_click")		}
	function shipping_click()
		{CheckSessionAndSubmit("SHIPPING","shipping_click") }
	function slideview_click()
		{CheckSessionAndSubmit("SLIDE","slide_click")		}
	function summary_click()
		{CheckSessionAndSubmit("SUMMARY","summary_click")		}
	function UnCase_click()
		{CheckSessionAndSubmit("UNCASE","UnCase_click")		}
	function UnCaseChild_click()
		{CheckSessionAndSubmit("UNCASECHILD","UnCaseChild_click")		}
	function AddToCase_click()
		{CheckSessionAndSubmit("ADDTOCASE","AddToCase_click")		}
	function MarkFiles_click()
		{CheckSessionAndSubmit("MARKFILES","MarkFiles_click")		}
	function NonInvItem_click()
		{CheckSessionAndSubmit("NONINVITEM","NonInvItem_click")		}
	function subfolder_click()
		{	}
	function task_click()
		{CheckSessionAndSubmit("TASK","task_click")		}
   function timeline_click()
      {  
         if(isSessionTimeOut('timeline_click'))
            fnViewAllTimeLine();
      }   
	function tn_view_click()
		{	CheckSessionAndSubmit("TNVIEW","tn_view_click")		}
	function upload_click()
		{CheckSessionAndSubmit("UPLOAD","upload_click")		}
	function update_click()
		{CheckSessionAndSubmit("UPDATE","update_click")		}
	function users_click()
		{	CheckSessionAndSubmit("USERS","users_click")		}
	function yes_click()
		{	CheckSessionAndSubmit("YES","yes_click")		}
	function produce_click()
		{
		   if (confirm("This file has not yet been approved! Do you wish to Approve and Produce this file now?"))
		   {
		      CheckSessionAndSubmit("PRODUCE","produce_click");
            var strName = new String();
            strName = createObj('hdnClk_Action').toString();

		      if (strName.substring(0, 7) == '[object')
				   createObj('hdnClk_Action').value = 'PRODUCE';
			}
		}
	function approve_click()
		{
		   CheckSessionAndSubmit("APPROVE","approve_click");
         var strName = new String();
         strName = createObj('hdnClk_Action').toString();

		   if (strName.substring(0, 7) == '[object')
				createObj('hdnClk_Action').value = 'APPROVE';
		}
	function revise_click()
		{
		   CheckSessionAndSubmit("REVISE","revise_click");
         var strName = new String();
         strName = createObj('hdnClk_Action').toString();

		   if (strName.substring(0, 7) == '[object')
				createObj('hdnClk_Action').value = 'REVISE';
		}
	function reject_click()
		{	CheckSessionAndSubmit("REJECT","reject_click");
         var strName = new String();
         strName = createObj('hdnClk_Action').toString();

			if (strName.substring(0, 7) == '[object')
				createObj('hdnClk_Action').value = 'REJECT';		
		}
	function canceled_click()
		{
		   CheckSessionAndSubmit("CANCELED","canceled_click");
         var strName = new String();
         strName = createObj('hdnClk_Action').toString();

		   if (strName.substring(0, 7) == '[object')
				createObj('hdnClk_Action').value = 'CANCELED';
		}
	function history_click()
		{
		   CheckSessionAndSubmit("HISTORY","history_click");
         var strName = new String();
         strName = createObj('hdnClk_Action').toString();

		   if (strName.substring(0, 7) == '[object')
				createObj('hdnClk_Action').value = 'HISTORY';
		}
	
	function popTeam()
	{
      if (isSessionTimeOut("popTeam()") == false)
      {
         if (strBrowser.indexOf('Firefox') != -1)
            WindowObjectReference = window.open("admTeamInfo.aspx", null, "height=500,width=370,top=40,left=600,menubar=no,location=no,resizable=yes,scrollbars=yes,status=no");
         else
            window.open('admTeamInfo.aspx', 'team', 'height=500; width=370; top=40; left=600; menubar=no; scrollbars=yes; status=no; titlebar=no; toolbar=no');
   		//window.open('admTeamInfo.aspx',null, 'height=500; width=370; top=40; left=600; menubar=no; status=no; titlebar=no; toolbar=no');	
      }
	}

   function popGTSUserManual()
   {
      if (isSessionTimeOut("popGTSUserManual()") == false)
      {
         if (strBrowser.indexOf('Firefox') != -1)
            WindowObjectReference = window.open("admGTSUserReference.aspx", null, "height=600,width=800,top=40,left=40,menubar=no,location=no,resizable=yes,scrollbars=yes,status=no");
         else
            window.open('admGTSUserReference.aspx', 'team', 'height=600; width=800; top=40; left=40; menubar=no; scrollbars=yes; status=no; titlebar=no; toolbar=no');
			//window.open('admGTSUserReference.aspx',null, 'height=600, width=800, top=40, left=40, menubar=yes; status=no; titlebar=yes; toolbar=no, scrollbars=yes, resizable=yes');
		}
   }
   
   function popUserManual()
   {
      if (isSessionTimeOut("popUserManual()") == false)
      {
         if (strBrowser.indexOf('Firefox') != -1)
            WindowObjectReference = window.open("admUserReference.aspx", null, "height=600,width=800,top=40,left=40,menubar=no,location=no,resizable=yes,scrollbars=yes,status=no");
         else
            window.open('admUserReference.aspx', 'team', 'height=600; width=800; top=40; left=40; menubar=no; scrollbars=yes; status=no; titlebar=no; toolbar=no');
			//window.open('admUserReference.aspx',null, 'height=600, width=800, top=40, left=40, menubar=no; status=no; titlebar=no; toolbar=no, scrollbars=yes, resizable=yes');
		}
   }
   
   function popSiteManual(path)
   {
      if (isSessionTimeOut("popUserManual('" + path + "')") == false)
			window.open('http://calan.calancom.com/files/' + path,null, 'height=600, width=800, top=40, left=40, menubar=no; status=no; titlebar=no; toolbar=no, scrollbars=yes, resizable=yes');
   }
   
   function popSSKitFile(path)
   {
      if (isSessionTimeOut("popSSKitFile('" + path + "')") == false)
			window.open('http://calan.calancom.com/files/' + path, null, 'height=600, width=800, top=40, left=40, menubar=no; status=no; titlebar=no; toolbar=no, scrollbars=yes, resizable=yes');
   }

	function CheckSessionAndSubmit(varWhereToGo, varFn)
	{	
		if (isSessionTimeOut(varFn) == false) 
		{
		   document.getElementById('hdnClk_Action').value = varWhereToGo;
		   if (varWhereToGo == 'CANCEL' || fnCheckRequiredFields())
		   {
			   EnableAllFields();
			   document.forms[0].submit();
            DisableAllFields(true);
		   }
//         var strName = new String();
//         strName = createObj('hdnClk_Action').toString();

//			if (strName.substring(0, 7) == '[object')
//					createObj('hdnClk_Action').value = varWhereToGo;
//			EnableAllFields();
//			document.forms[0].submit(); 
//       DisableAllFields(true);
		}		
	}

	function CheckSessionAndSubmitNoDis(varWhereToGo, varFn)
	{	
		if (isSessionTimeOut(varFn) == false) 
		{
		   document.getElementById('hdnClk_Action').value = varWhereToGo;
		   if (varWhereToGo == 'CANCEL' || fnCheckRequiredFields())
		   {
			   EnableAllFields();
			   document.forms[0].submit();
		   }
		}		
	}

	function evalulateCount(x)
	{if (isNaN(x) == true)		return("1");
		else if (x < 1)		return("1");
		else 		return(x);
	}

/*#################################################################################
                             Function to Enable all fields on a page
###################################################################################*/
	function EnableAllFields()
	{	var numberForms = document.forms[0].length;
		var formIndex;
		for (formIndex = 0; formIndex < numberForms; formIndex++)
		{	Disable(document.forms[0][formIndex])  }
	}

	function DisableAllFields(varBool)
	{	var numberForms = document.forms[0].length;
		var formIndex;
		if (numberForms < 128)
		{
		   for (formIndex = 0; formIndex < numberForms; formIndex++)
		   {	Disable(document.forms[0][formIndex], varBool)  }
		}
	}

/*#################################################################################
                             Disable fields on a page
###################################################################################*/
	function Disable(item, vardisable)
	{ 
         var strName = new String();
         strName = createObj(item).toString();

		   if ((strName.substring(0, 7) == '[object') || (createObj(item).type == 'select-one'))
				{	createObj(item).disabled = vardisable }
			else
				{	
				   for (j=0; j < createObj(item).length ; j++)
						{	createObj(item)[j].disabled = vardisable	}
				}
	}
	
/*#################################################################################
                             Disable the date control fields on the page
###################################################################################*/

	function disableDateFlds(dateControlName, disable)	
	{
		dateControlName = dateControlName.replace('cmb','txt');
		createObj(dateControlName + "_month").disabled = disable; 
		createObj(dateControlName + "_day").disabled = disable;
		createObj(dateControlName + "_year").disabled = disable;
		if (disable)
			{createObj(dateControlName + "_month").value = '';
			createObj(dateControlName + "_day").value = '';
			createObj(dateControlName + "_year").value = '';
			createObj(dateControlName).value = ''}
	}

/*#################################################################################
                             Common function called by the navigation bar in all pages.
###################################################################################*/
function fnPageClick()
{
	switch (createObj('hdnBtnID').value){
		case ("Add"):
		{	add_click();
			break;		}
		case ("annotate"):
		{	Annotate_click();
			break;		}
		case ("AddAnother"):
		{	addanother_click();
			break;		}

		case ("AddInstance"):
		{	add_instance_click();
			break;		}

		case ("AddProject"):
		{	add_project_click();
			break;		}

		case ("AdvanceShipping"):
		{	advanceshipping_click();
			break;		}
		case ("AdvancedFilter"):
		{
			advancedfilter_click();
			break;
		}
		case("AnotherType"):
		{	anothertype_click();
			break;
		}
		case("AnotherGroup"):
		{	anothergroup_click();
			break;
		}
		case("AnotherFilter"):
		{	anotherfilter_click();
			break;
		}
		case("AddCase"):
		{ addcase_click();
			break;
		}
		case("AddLOB"):
		{	addlob_click();
			break;
		}
	   case("Assets"):
	   case("EditAsset"):
	   { asset_view_click();
	      break; }
		case("Attributes"):
		{
			attributes_click();
			break;
		}
		case("Another"):
		{ next_click();
			break;
		}
		case ("AttribView"):
		{	attrib_view_click();
			break;		}
		case("BatchPrint"):
		{ BatchPrint_click();
			break;
		}
		case("Back"):
		{ back_click();
			break;
		}
		case("Budget"):
		{	budget_click();
			break;
		}
		case("Cancel"):
		{ cancel_click();
			break;
		}
		case("Cases"):
		{
			cases_click();
			break;
		}
		case("Clear"):
		{ clear_click();
			break;
		}
		case ("Close"):
		{	close_click();
			break;		}
	   case ("Canceled"):
		{	canceled_click();
			break;		}
		case("Companies"):
		{	companies_click();
			break;
		}
		case ("Confirm"):
		{  confirm_click();
		   break;
		}
		case ("Copy"):
		{	copy_click();
			break;		}
		case ("CompanyList"):
		{	companylist_click();
			break;
		}
		case("Consolidate"):
		{ consolidate_click();
			break;
		}
		case("Create"):
		{ create_click();
			break;
		}
		case ("createCSV"):
		{
			createCSV_click();
			break;
		}
		case ("Default"):
		   default_click();
		   break;
		case ("DeleteAsset"):
		   deleteAsset_click();
		   break;
		case ("DeleteFolder"):
		   deleteFolder_click();
		   break;
		case ("Delete"):
		{ delete_click();
			break;		}
		case ("DeleteUnit"):
		{	deleteAssetUnit_click();
			break;		}
		case ("Directory"):
		{	dir_view_click();
			break;		}
		case ("DirectShipping"):
		{	directshipping_click();
			break;		}
		case("Disable"):
		{ disable_click();
			break;
		}
		case("Discuss"):
		{ discuss_click();
			break;
		}
		case("Done"):
		{ done_click();
			break;
		}
		case ("Edit"):
		{	edit_click();
			break;		}
		case ("Exit"):
		{	exit_click();
			break;		}
		case ("EditAsset"):
		{	edit_asset_click();
			break;		}
		case("Facility"):
		{	facility_click();
			break;
		}
		case("CopyFacility"):
		{	copy_facility_address_click();
			break;
		}
		case ("Filter"):
		{	filter_click();
			break;
		}
		case ("Full"):
		{	full_view_click();
			break;		}
		case ("FullView"):
		{	full_view_click();
			break;		}
		case("GenContractorInfo"):
		{	gencontractorinfo_click();
			break;
		}
		case("Groups"):
		{	groups_click();
			break;
		}
		case("getlatestfolders"):
		{	getlatestfolders_click();
			break;
		}
	   case ("History"):
		{	history_click();
			break;		}
		case ("IncludeRemove"):
		{ includeremove_click();
			break;
		}
		case ("Include"):
		{	include_click();
			break;		}
		case("Information"):
		{	information_click();
			break;
		}
		case ("Instances"):
		{	instances_click();
			break;		}
		case ("Labels"):
		{	Labels_click();
			break;		}
		case ("Lading"):
		{	Lading_click();
			break;		}
		case ("LoadList"):
		{	loadlist_click();
			break;		}
		case ("MakeNew"):
		{	make_new_click();
			break;		}
		case ("MarkFiles"):
		{	MarkFiles_click();
			break;		}
		case ("MarkComplete"):
		{	markcomplete_click();
			break;		}
		case ("MarshallYard"):
		{	marshallyard_click();
			break;		}
		case ("MultiplePrint"):
		{	multiprint_click();
			break;		}
		case("Next"):
		{ next_click();
			break;
		}
		case ("Open"):
		{	open_click();
			break;		}
		case ("PackingList"):
		{	packinglist_click();
			break;		}
		case ("Parent"):
		{	parent_click();
			break;		}
		case ("Permissions"):
		{	permissions_click();
			break;		}
		case ("Post"):
		{	post_click();
			break;		}
		case ("Print1"):
		{	print1_click();
			break;		}
		case ("Print2"):
		{	print2_click();
			break;		}
		case("ProjectRun"):
		{	projectrun_click();
			break;	}
		case ("PrjFileRun"):
		{	prjfilerun_click();
			break;		}
		case("ProjectWithHeadRun"):
		{	run_withhead_click();
			break;		}
		case("PrjProjectRun"):
		{	prjprojectrun_click();
			break;	}
		case("PrjTaskRun"):
		{	prjtaskrun_click();
			break;	}
		case ("PDFPrint"):
		{	pdfprint_click();
			break;		}
		case ("Print"):
		{	print_click();
			break;		}
		case("ProjectRun"):
		{	projectrun_click();
			break;	}
		case ("RemoveAsset"):
		{	removeAsset_click();
			break;	
		}
		case ("Remove"):
		{	remove_click();
			break;	
		}
		case ("Run"):
		{	run_click();
			break;
		}
		case ("ReRun"):
		{	fnReturn_click();
			break;
		}
		case ("Includeuser"):
		{   Includeuser_click();
			break;
		}
		case("Save"):
		{	save_click();
			break;
		}
		case("SaveExit"):
		{  saveexit_click();
			break;
		}
		case("SaveNotes"):
		{  savenotes_click();
			break;
		}
		case("Savennew"):
		{  savennew_click();
		   break;
		}
		case("Savenrel"):
		{  savenrel_click();
		   break;
		}
		case("SelectFiles"):
		{	selectfiles_click();
			break;
		}
		case("Send"):
		{	send_click();
			break;
		}
		case("Search"):
		{ search_click();
			break;
		}
		case ("Services"):
		{	services_click();
			break;		}
		case("ShowMgmtInfo"):
		{	showmgmtinfo_click();
			break;   
		}
		case ("Shipping"):
		{	shipping_click();
			break;		}
		case("Slide"):
		{	slideview_click();
			break;
		}
		case("Subfolder"):
		{	subfolder_click();
			break;
		}
		case("Task"):
		{	task_click();
			break;
		}
		case("TaskRun"):
		{	taskrun_click();
			break;
		}
		case("TimeLine"):
		{	timeline_click();
			break;
		}
		case("Upload"):
		{	upload_click();
			break;
		}
		case("Update"):
		{	update_click();
			break;
		}
		case("Users"):
		   users_click();
		   break;
		case("ViewAssets"):
		{	tn_view_click();
			break;
		}
		case("Approve"):
		{	approve_click();
			break;
		}
		case("Reject"):
		{	reject_click();
			break;
		}
		case("Revise"):
		{	revise_click();
			break;
		}
		case("Produce"):
		{	produce_click();
			break;
		}
		case("ProjHome"):
		{	goPrjHomePage();
			break;
		}
		case("NonInvItem"):
		{	NonInvItem_click();
			break;
		}
		case("AddToCase"):
		{	AddToCase_click();
			break;
		}
		case("Summary"):
		{	summary_click();
			break;
		}
		case("UnCase"):
		{	UnCase_click();
			break;
		}
		case("UnCaseChild"):
		{	UnCaseChild_click();
			break;
		}
		case("WorkOrder"):
		{	fnEditWorkOrder();
			break;
		}
	}
}


/*#################################################################################
                             Generic Navigation - HOME TASK MESSAGE etc.
###################################################################################*/
function goHome()
{	
   if (isSessionTimeOut("goHome()") == false) {return(false)}
		fnNavigate('usrHome.aspx'); 
}
function goTask()
{	
   if (isSessionTimeOut("goTask()") == false) {return(false)}
		fnNavigate(''); 
}
function goMsg()
{	
   if (isSessionTimeOut("goMsg()") == false) {return(false)}
		fnNavigate(''); 
}

/*######################################################################################
                            Redirecting when Cancel button is clicked
##########################################################################################*/
function goCancel()
{ 
   if (isSessionTimeOut("goCancel()") == false) {return(false)}
		fnNavigate('usrHome.aspx'); 
}


/*#################################################################################
                             Function used for date or similar items for jumping to next field
###################################################################################*/
function JumpToNextField(cntrlFrm,cntrlTo,maxLength,maxValue)
{	
   var strName = new String();
   strName = createObj(cntrlFrm).toString();

	if (strName.substring(0, 7) != '[object')
	{
	   if (createObj(cntrlFrm).value > maxValue)
	   {
	      alert('Invalid value');
	      createObj(cntrlFrm).value='';
	      createObj(cntrlFrm).focus();
	   }
	   else
	   {
		   if ((createObj(cntrlFrm).value.length == maxLength) && Edit)
		   {	createObj(cntrlTo).select();
			   createObj(cntrlTo).focus(); }  
	   }
	}
	else
	{
	   if (createObj(cntrlFrm).value > maxValue)
	   {
	      alert('Invalid value');
	      createObj(cntrlFrm).value='';
	      createObj(cntrlFrm).focus();
	   }
	   else
	   {
		   if ((createObj(cntrlFrm).value.length == maxLength) && Edit)
		   {	createObj(cntrlTo).select();
			   createObj(cntrlTo).focus(); }  
      }
	}
	Edit = false
}

function JumpToNextFieldTimeLine(cntrlFrm,cntrlTo,maxLength)
{	
	if (eval(cntrlFrm.length == maxLength) && Edit)
	{	eval('document.forms[0].' + cntrlTo.ID).select()
		eval('document.forms[0].' + cntrlTo.ID).focus() }  
		Edit = false
}

/*#################################################################################
                             UTILITY TO CREATE OBJECT FROM A STRING
                             This can be later modified to work for all browsers.
###################################################################################*/
function checkElementExists(str)
{
   if (document.getElementById(str) != null)
      return true;
   else
      return false;
}

function createObj(str)
{	
   var strName = new String();
   strName = str.toString();

   if (strName.substring(0, 7) != '[object') 
      return (eval('document.forms[0].' + str));
   else 
      return str;
}

function ifExists(obj)
{
   if (obj == null || obj == undefined)
      return false;
   return true;
}


/*#################################################################################
                             To check if any checkbox is checked (within array of checkboxes)
                             This returns how many check boxes were checked
###################################################################################*/
function HowManyChecked(strObj)
{	obj = createObj(strObj);

   var strName = new String();
   strName = obj.toString();

   if (strName.substring(0, 7) != '[object') 
	{
	   if (obj.checked )
   		return(1);
	}

	var selectedCount = 0
	for (i=0;i<obj.length;i++)
	{
		if (obj[i].checked)
			selectedCount = selectedCount + 1;
	}

	return(selectedCount);
}


/*#################################################################################
                             Function to select the item in a combobox or listbox
###################################################################################*/
function SelectDropDownItem(cmbName, selVal)
{	objCmb = createObj(cmbName);
	for (i=0; i<objCmb.length; i++)
		{	if (objCmb[i].value == selVal)
				{	objCmb[i].selected = true;
					break}			
		}
}

/*#################################################################################
                             This adds a selected item in combo_main list box to combo_to listbox.
                             If the item already exists in the destination, then its not added.
###################################################################################*/
function AddSelected(combo_main, combo_to)
{	upperlimit = createObj(combo_main).length
	moved = 0;
	for (i = 0; i < upperlimit; i++)		
	{ if (createObj(combo_main)[i].selected)
		{	if ((isExistingText(combo_to,createObj(combo_main)[i].text)==false) && (isExistingVal(combo_to,createObj(combo_main)[i].value)==false))
				addNewMenuItem(combo_to, createObj(combo_main)[i].text, createObj(combo_main)[i].value)
			moved = 1;
		}			
	}
	if (moved == 1)
		{createObj(combo_to).selectedIndex = createObj(combo_to).length - 1;
		 createObj(combo_to).focus();
		 }
}

function deselectItems(x)
{	
   obj = createObj(x);
	for (i=0;i<obj.length;i++)
		obj[i].selected = false;
}

function selectItems(x)
{
   obj = createObj(x);
	for (i=0;i<obj.length;i++)
		obj[i].selected = true;	
}

/*#################################################################################
                             To remove selected items in the list box
###################################################################################*/
function RemoveSelected(combo_to)
{	ulimit = createObj(combo_to).length
	for (i = ulimit - 1; i > -1 ; i--)		
	{if (createObj(combo_to)[i].selected)
		{	createObj(combo_to).remove(i);		}			
	}
}
	
/*#################################################################################
                             Fills the destination list box (combo_to) with the values from combo_main 
###################################################################################*/
function AddAll(combo_main, combo_to)
{	for (i = 0; i <  createObj(combo_main).length ; i++)		
	{if ((isExistingText(combo_to,createObj(combo_main)[i].text)==false) && (isExistingVal(combo_to,createObj(combo_main)[i].value)==false) )
		addNewMenuItem(combo_to, createObj(combo_main)[i].text, createObj(combo_main)[i].value)
	}
}	

/*#################################################################################
                             Adds --- Select One --- to the list box
###################################################################################*/
function AddSelOne(combo_to)
{	addNewMenuItem(combo_to, "--- Select One ---", "")
}	

/*#################################################################################
                             Removes all items in the list box passed in
###################################################################################*/
function RemoveAll(combo_to)
{	createObj(combo_to).length = 0 ;	}	

/*#################################################################################
                             Moves the selected item in the list box by the value specified.
###################################################################################*/
function ShiftItem(combo, pos_neg_int_val)
{	var pos;
	if (pos_neg_int_val < 0)
		pos = 0;
	else
		pos = createObj(combo).length-1;
	if (createObj(combo).length > 0)
	{ if (createObj(combo).selectedIndex!=pos)
		{	var tmpTxt, tmpVal;
			tmpTxt = createObj(combo)[createObj(combo).selectedIndex].text;
			tmpVal = createObj(combo)[createObj(combo).selectedIndex].value;
			createObj(combo)[createObj(combo).selectedIndex].text = createObj(combo)[createObj(combo).selectedIndex+pos_neg_int_val].text;
			createObj(combo)[createObj(combo).selectedIndex].value= createObj(combo)[createObj(combo).selectedIndex+pos_neg_int_val].value;
			createObj(combo)[createObj(combo).selectedIndex+pos_neg_int_val].text = tmpTxt;
			createObj(combo)[createObj(combo).selectedIndex+pos_neg_int_val].value = tmpVal;
			createObj(combo).selectedIndex = createObj(combo).selectedIndex + pos_neg_int_val;
		}
	}
}

/*#################################################################################
                             Checks for existing value in the listbox.
###################################################################################*/
function isExistingVal(cmbSrc, newOptVal)
{  ulimit = createObj(cmbSrc).length
	for (k = 0; k <  createObj(cmbSrc).length ; k++)		
		{if (newOptVal == createObj(cmbSrc)[k].value)
				{return(true)}
		}
		
	return(false)
}

/*#################################################################################
                             Checks for existing text in the listbox.
###################################################################################*/
function isExistingText(cmbSrc, newOptTxt)
{  ulimit = createObj(cmbSrc).length
	for (k = 0; k <  createObj(cmbSrc).length ; k++)		
		{if (newOptTxt == createObj(cmbSrc)[k].text)
				{return(true)}
		}
		
	return(false)
}

function MoveOption(objSourceElement, objTargetElement)    
{
   var aryTempSourceOptions = new Array();
   var x = 0;
   //looping through source element to find selected options        
   for (var i = 0; i < objSourceElement.length; i++) 
   {
      if (objSourceElement.options[i].selected) 
      {
         //need to move this option to target element 
         var intTargetLen = objTargetElement.length++;                
         objTargetElement.options[intTargetLen].text = objSourceElement.options[i].text;                
         objTargetElement.options[intTargetLen].value = objSourceElement.options[i].value;            
      }            
      else 
      {
         //storing options that stay to recreate select element                
         var objTempValues = new Object();                
         objTempValues.text = objSourceElement.options[i].text;                
         objTempValues.value = objSourceElement.options[i].value;                
         aryTempSourceOptions[x] = objTempValues;                
         x++;           
      }       
   }        
   //resetting length of source        
   objSourceElement.length = aryTempSourceOptions.length;        
   //looping through temp array to recreate source select element        
   for (var i = 0; i < aryTempSourceOptions.length; i++) 
   {            
      objSourceElement.options[i].text = aryTempSourceOptions[i].text;            
      objSourceElement.options[i].value = aryTempSourceOptions[i].value;            
      objSourceElement.options[i].selected = false;        
   }    
}
/*#################################################################################
                             Creates a new option for the listbox (passed in).
###################################################################################*/
function addNewMenuItem(cmbSrc, newText, newVal)
{	var newOpt = document.createElement("OPTION");
	newOpt.text= newText;
	newOpt.value= newVal;
   if (navigator.appName == 'Microsoft Internet Explorer')
      createObj(cmbSrc).add(newOpt);
   else
   	createObj(cmbSrc).appendChild(newOpt);
}

/*#################################################################################
                             Populates the objects passed in with the listbox's values and texts
###################################################################################*/
function postSelectedItems(cmbName, objName, objValue)
{	ulimit = createObj(cmbName).length
	for (i = 0; i < ulimit ; i++)		
	{  	createObj(objName).value = createObj(objName).value + '~' + createObj(cmbName)[i].text;
		createObj(objValue).value = createObj(objValue).value + '~' + createObj(cmbName)[i].value;	}
	createObj(objName).value = createObj(objName).value.substring(1, createObj(objName).value.length);
	createObj(objValue).value = createObj(objValue).value.substring(1, createObj(objValue).value.length);
}

/*#################################################################################
                             Function to change the CSS Style from page
###################################################################################*/
function fnChangeClassAttrib(ClassName, newValue, styleId)
{	var CSSRules
	if (document.all) {
		CSSRules = 'rules'
	}
	else if (document.getElementById) {
		CSSRules = 'cssRules'
	}
	if (styleId == null)
		styleId = 1;
	for (var i = 0; i < document.styleSheets[styleId][CSSRules].length; i++) {
		if ((document.styleSheets[styleId][CSSRules][i].selectorText == '.' + ClassName) || (document.styleSheets[styleId][CSSRules][i].selectorText == '*.' + ClassName)) 
			{document.styleSheets[styleId][CSSRules][i].style["height"] = newValue;			
			}
	}	
}
function fnChangeClassAttribWd(ClassName, newValue, styleId)
{	var CSSRules
	if (document.all) {
		CSSRules = 'rules'
	}
	else if (document.getElementById) {
		CSSRules = 'cssRules'
	}
	if (styleId == null)
		styleId = 1;
	for (var i = 0; i < document.styleSheets[styleId][CSSRules].length; i++) 
	   {
		if (document.styleSheets[styleId][CSSRules][i].selectorText == '.' + ClassName || document.styleSheets[styleId][CSSRules][i].selectorText == '*.' + ClassName) {
			{document.styleSheets[styleId][CSSRules][i].style["width"] = newValue;		}
		}
	}	
}

/*#################################################################################
                             FullView Asset in the report
###################################################################################*/
function fnFullViewAsset(fullPath)
	{	
		fullViewWindow = window.open(fullPath,"","fullscreen=no," +
									"toolbar=yes,status=yes,menubar=yes,scrollbars=yes," +
									"resizable=yes,directories=no,location=no");
//	   window.open('astFullVw.aspx?Buttons=false&Id=' + id, null, 'top=200; left=300; menubar=no; scrollbars=yes; status=no; titlebar=no; toolbar=no');
	}

/*#################################################################################
                             Show shipment notes for shippment reports
###################################################################################*/
function showNote(id)
{
   if (isSessionTimeOut("showNote(" + id + ")") == false)
	{
      if (strBrowser.indexOf('Firefox') != -1)
         WindowObjectReference = window.open("shpNotes.aspx?id="+id, null, "height=400,width=300,top=200,left=300,menubar=no,location=no,resizable=no,scrollbars=no,status=no");
	   else
   	   window.open('shpNotes.aspx?id=' + id, null, 'height=400; width=300; top=200; left=300; menubar=no; scrollbars=no; status=no; titlebar=no; toolbar=no');
	}
}

function showDeliveryConf(id)
{
   if (isSessionTimeOut("showDeliveryConf(" + id + ")") == false)
	{
      if (strBrowser.indexOf('Firefox') != -1)
         WindowObjectReference = window.open("shpDeliveryConf.aspx?id="+id, null, "height=400,width=300,top=200,left=300,menubar=no,location=no,resizable=no,scrollbars=no,status=no");
	   else
   	   window.open('shpDeliveryConf.aspx?id=' + id, null, 'height=400; width=300; top=200; left=300; menubar=no; scrollbars=no; status=no; titlebar=no; toolbar=no');
	}
}

function showProNote(id)
{
   if (isSessionTimeOut("showProNote(" + id + ")") == false)
	{
      if (strBrowser.indexOf('Firefox') != -1)
         WindowObjectReference = window.open("shpProNotes.aspx?id="+id, null, "height=400,width=300,top=200,left=300,menubar=no,location=no,resizable=no,scrollbars=no,status=no");
	   else
   	   window.open('shpProNotes.aspx?id=' + id, null, 'height=400; width=300; top=200; left=300; menubar=no; scrollbars=no; status=no; titlebar=no; toolbar=no');
	}
}
/*#################################################################################
                             Function to return a pixel value for a given percentage value for the client screen
###################################################################################*/
function fnGetPerToPx(percentageValue)
{
	return((document.body.clientHeight * percentageValue / 100) + 'px')
}

function fnGetPerToPxWd(percentageValue)
{
	return((document.body.clientWidth * percentageValue / 100) + 'px')
}

function onDateEntered(x)
{	 }


/*#################################################################################
                             Functions on usrHome and prjHome pages
###################################################################################*/
function fnCreateTask()
{
	fnNavigate('tskCreateTask.aspx?ms=203');
}

function fnCreateProject()
{
	fnNavigate('PrjAddEditPrj.aspx?ms=56&n=1');
}

function fnViewAllTimeLine()
{
	window.open('admRptFltrPref.aspx?ms=213&Sub=9&SR=1&SRpt=44&showftr=1&cf=65&WITHPROJECT=1&SR=1&HIDEHDR=1',null, 'height=600, width=800, top=40, left=40, toolbar=yes, scrollbars=yes, resizable=yes');
}

function fnViewAllTasks()
{
	window.open('admRptFltrPref.aspx?ms=224&Sub=28&SRpt=41&showftr=1&cf=65&WITHPROJECT=1&SR=1&HIDEHDR=1',null, 'height=600, width=800, top=40, left=40, toolbar=yes, scrollbars=yes, resizable=yes');
}

function fnUpdateTimeLine()
{
	fnNavigate('prjAddEditTimeline.aspx?ms=132&cf=156');
	DisableAllFields(true);
}

function fnViewPriPol()
{
   window.open("usrPriPol.aspx", "PriPol", +
			"height=600; width=800; top=100; left=100; menubar=no; status=no; titlebar=no; toolbar=no, scrollbars=yes, resizable=yes");
}

function fnVendorPhone(x)
{
	var newWin = 'prjVendorContact.aspx?id='+ x;
   window.open(newWin,'chkSession', 'height=400; width=400; top=100; left=300; menubar=no; scrollbars=yes; status=no; titlebar=no; toolbar=no')
}

function fnCarrierPhone(x)
{
	var newWin = 'prjVendorContact.aspx?id='+ x;
   window.open(newWin,'chkSession', 'height=400; width=400; top=100; left=300; menubar=no; scrollbars=yes; status=no; titlebar=no; toolbar=no')
}

function fnFacilityChanged(id)
{
   if (createObj('cmbFacility').selectedIndex > 0)
   {
      Disable(createObj('chkDirectShipping'), false);
      upperlimit = arrFacility.length; 
      for (i = 0; i < upperlimit; i++) 
      { 
         if (arrFacility[i][0] == createObj('cmbFacility')[createObj('cmbFacility').selectedIndex].value) 
         {
            createObj('txtFacility').value = arrFacility[i][1].toString();
            createObj('txtCity').value = arrFacility[i][2].toString();
            createObj('txtState').value = arrFacility[i][3].toString();
            createObj('txtZip').value = arrFacility[i][5].toString();
            
            for (j = 0; j < createObj('cmbCountry').length; j++)
            {
               if (createObj('cmbCountry')[j].value == arrFacility[i][4])
               {
                  createObj('cmbCountry').selectedIndex = j;
                  break;
               }
            }
         }
      } 
   }
   else
      Disable(createObj('chkDirectShipping'), true);
}
/*#################################################################################
         Code to mark tasks as complete
###################################################################################*/
function Toggle(e)
{
   if (e.checked) {
	   document.forms[0].chkCheckAll.checked = AllChecked();
   }
   else {
	   document.forms[0].chkCheckAll.checked = false;
   }
}

function ToggleAll(e)
{
   if (e.checked) {
	   CheckAll();
   }
   else {
	   ClearAll();
   }
}

function Check(e)
{
   document.forms[0].chkCheckAll.checked
   e.checked = true;
}

function Clear(e)
{
   e.checked = false;
}

function CheckAll()
{
   var ml = document.forms[0];
   var len = ml.elements.length;
   for (var i = 0; i < len; i++) {
	   var e = ml.elements[i];
	   if (e.name == "chkTask") {
         Check(e);
	   }
   }
   ml.chkCheckAll.checked = true;
}

function ClearAll()
{
   var ml = document.forms[0];
   var len = ml.elements.length;
   for (var i = 0; i < len; i++) {
	   var e = ml.elements[i];
	   if (e.name == "chkTask") {
         Clear(e);
	   }
   }
   ml.chkCheckAll.checked = false;
}

function AllChecked()
{
   ml = document.forms[0];
   len = ml.elements.length;
   for(var i = 0 ; i < len ; i++) {
	   if (ml.elements[i].name == "chkTask" && !ml.elements[i].checked) {
         return false;
	   }
   }
   return true;
}

function fnCompleteTask()
{
   if (!isSessionTimeOut(null))
   {
      var ml = document.forms[0];
      var len = ml.elements.length;
      for (var i = 0; i < len; i++) {
	      var e = ml.elements[i];
	      if (e.name == "chkTask") {
	         if (e.checked) {
	            if (ml.hdnEntryList.value.length > 0)
   	            ml.hdnEntryList.value = ml.hdnEntryList.value + ', ' + e.value;
   	         else
   	            ml.hdnEntryList.value = e.value;
	         }
	      }
      }
      
      if (ml.hdnEntryList.value.length > 0) {
         createObj('hdnClk_Action').value = 'MARKCOMPLETE';
         document.forms[0].submit(); 
         DisableAllFields(true);
      }
      else
         alert('Please check the tasks that you want to mark complete');
   }
}

/*#################################################################################
         Go2Show functions from company summary page
###################################################################################*/
function fnGTSInfo_click()
{
   CheckSessionAndSubmit("GOTOSHOWINFO","fnGTSInfo_click");
}

function fnGTSAssetOrder_click()
{
   CheckSessionAndSubmit("GOTOSHOWASSETTYPE","fnGTSAssetOrder_click");
}

function fnGTSEmergency_click()
{
   CheckSessionAndSubmit("GOTOSHOWEMER","fnGTSEmergency_click");
}

function fnGTSApprovalAuth_click()
{
   CheckSessionAndSubmit("GOTOSHOWAPPR","fnGTSApprovalAuth_click");
}

function fnGTSNotification_click()
{
   CheckSessionAndSubmit("GOTOSHOWNTFY","fnGTSNotification_click");
}

function fnGTSMultiAccess_click()
{
   CheckSessionAndSubmit("GOTOSHOWMLTL","fnGTSMultiAccess_click");
}

function fnGTSSBilling_click()
{
   CheckSessionAndSubmit("BILLING","fnGTSSBilling_click");
}

function fnGTSSBillingInstr_click()
{
   CheckSessionAndSubmit("BILLINGINSTR","fnGTSSBillingInstr_click");
}

function fnGTSSSContacts_click()
{
   CheckSessionAndSubmit("GOTOSHOWSSC","fnGTSMultiAccess_click");
}


/*#################################################################################
         Metric functions from company summary page
###################################################################################*/
function fnFolderTask_click()
{
   CheckSessionAndSubmit("FOLDERTASK","fnFolderTask_click");
}

function fnIndustry_click()
{
   CheckSessionAndSubmit("METINDUSTRY","fnIndustry_click");
}

function fnJobTitle_click()
{
   CheckSessionAndSubmit("METJOBTITLE","fnJobTitle_click");
}

function fnLeadTypes_click()
{
   CheckSessionAndSubmit("METLEADTYPE","fnLeadTypes_click");
}

function fnMetDefaults_click()
{
   CheckSessionAndSubmit("METDEFAULTS","fnMetDefaults_click");
}

function fnUserGroupCriteria_click()
{
   CheckSessionAndSubmit("USERGROUPCRITERIA","fnUserGroupCriteria_click");
}

/*#################################################################################
         User Summary clicks
###################################################################################*/
function fnEditPassword()
{
   CheckSessionAndSubmit("EDITPASSWORD","fnEditPassword");
}

function fnEditUserInfo()
{
   CheckSessionAndSubmit("EDITUSERINFO","fnEditUserInfo");
}

function fnEditAddress()
{
   CheckSessionAndSubmit("EDITADDRESS","fnEditAddress");
}

function fnEditShipAddr()
{
   CheckSessionAndSubmit("EDITSHIPPING","fnEditShipAddr");
}

function fnEditPrimCont()
{
   CheckSessionAndSubmit("EDITPRIMCONTACT","fnEditPrimCont");
}

function fnEditGroup()
{
   CheckSessionAndSubmit("EDITGROUPS","fnEditGroup");
}

function fnEditCriteria()
{
   CheckSessionAndSubmit("EDITCRITERIA","fnEditCriteria");
}

/*#################################################################################
         Company Summary clicks
###################################################################################*/
function fnEditContact()
{
   CheckSessionAndSubmit("EDITCONTACT","fnEditContact");
}

function fnEditInvoice()
{
   CheckSessionAndSubmit("INVOICE","fnEditInvoice");
}

function fnEditFreight()
{
   CheckSessionAndSubmit("FREIGHT","fnEditFreight");
}

function fnEditCompany()
{
   CheckSessionAndSubmit("EDITCOMPANY","fnEditCompany");
}

function fnEditBlueBar()
{
   CheckSessionAndSubmit("BLUEBAR","fnEditBlueBar");
}

function fnEditAssetFilter()
{
   CheckSessionAndSubmit("ASSETFILTER","fnEditAssetFilter");
}

function fnEditAssemblyFilter()
{
   CheckSessionAndSubmit("ASSEMBLYFILTER","fnEditAssemblyFilter");
}

function fnEditVendorInfo()
{
   CheckSessionAndSubmit("VENDORINFO","fnEditVendorInfo");
}

function fnEditVendorType()
{
   CheckSessionAndSubmit("VENDORTYPE","fnEditVendorType");
}

function fnEditFolders()
{
   CheckSessionAndSubmit("FOLDERS","fnEditFolders");
}

function fnEditWorkOrder()
{
   CheckSessionAndSubmit("WORKORDER","fnEditWorkOrder");
}


/*#################################################################################
         Code to hide the status bar messages
###################################################################################*/
function hidestatus(){
   window.status='calan communications'
   return true
}

if (document.layers)
   document.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT)

document.onmouseover=hidestatus
document.onmouseout=hidestatus
document.onClick=hidestatus


function lpad(stringIn, len, chrRep)
{
   var stringOut = '';
   var i = 0;
   for (i = 0; i < len - stringIn.length; i++) 
   {
      stringOut = stringOut+chrRep; 
   }
   stringOut = stringOut+stringIn;
   return stringOut;
}

function waitPreloadPage() 
{ //DOM
   if (document.getElementById)
      document.getElementById('prepage').style.visibility='hidden';
   else
   {
      if (document.layers) //NS4
         document.prepage.visibility = 'hidden';
      else //IE4
         document.all.prepage.style.visibility = 'hidden';
   }
}

function waitWhileloadPage() 
{ //DOM
   if (document.getElementById)
   {
      document.getElementById('prepage').style.visibility='';
      document.getElementById('prepage2').style.visibility='hidden';
   }
   else
   {
      if (document.layers) //NS4
      {
         document.prepage.visibility = '';
         document.prepage2.visibility = 'hidden';
      }
      else //IE4
      {
         document.all.prepage.style.visibility = '';
         document.all.prepage2.style.visibility = 'hidden';
      }
   }
}

function chkProjectName(objName)
{
	// only allow 0-9 be entered, plus any comma or period
	var checkOK = "#";
	var checkStr = objName;
	var allValid = true;
	var allNum = "";

	for (i=0; i<checkStr.value.length; i++)
	{
		ch = checkStr.value.charAt(i);
		for (j=0; j<checkOK.length; j++)
		{
			if (ch == checkOK.charAt(j))
			{
   			allValid = false;
				break;
			}
		}
	}
	
	if (!allValid)
	{	
		alertsay = "Please exclude the following characters from your Project Name \""
		alertsay = alertsay + checkOK + "\""
		alert(alertsay);
		objName.focus();
		return (false);
	}
	
	return true;
}

 function chkAlphaNumeric(objName, len)
 {
	var checkStr = objName;
	for (i=0; i<checkStr.value.length; i++)
	{
		ch = checkStr.value.charAt(i);
		if ((ch != ' ') && (ch != '_') && (ch != '-') && !((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') || (ch >= '0' && ch <= '9')))
      {
         alert("A file name can only contain these characters a-z, A-Z, 0-9, _ , -");
         break;
      }
   }
 }

 function chkFileName(objName)
 {
	var checkStr = objName;
	for (i=0; i<checkStr.value.length; i++)
	{
		ch = checkStr.value.charAt(i);
		if ((ch != ' ') && (ch != "\\") && (ch != ':') && (ch != '.') && (ch != '_') && (ch != '-') && !((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') || (ch >= '0' && ch <= '9')))
      {
         alert("Your file name had an invalid charachter: '" + ch + "'.\n\nA file name can only contain these characters a-z, A-Z, 0-9, _ , -");
         createObj(objName).focus();
   		return (false);
         break;
      }
   }
   return (true);
 }

 function chkTangFileName(objName)
 {
	var checkStr = createObj(objName);
	for (i=0; i<checkStr.value.length; i++)
	{
		ch = checkStr.value.charAt(i);
		if ((ch != ' ') && (ch != '\\') && (ch != ':') && (ch != '.') && (ch != '_') && (ch != '-') && !((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') || (ch >= '0' && ch <= '9')))
      {
         alert("Your file name had an invalid charachter: '" + ch + "'.\n\nA file name can only contain these characters a-z, A-Z, 0-9, _ , -");
         createObj(objName).focus();
   		return (false);
         break;
      }
   }
   return (true);
 }

function chkNumeric(objName)
{
	// only allow 0-9 be entered, plus any comma or period
	var checkOK = "-0123456789.";
	var checkStr = objName;
	var allValid = true;
	var allNum = "";
	var decimalExists = false;
	var decimalDigits = 0;
	var decimalValid = true;

	for (i=0; i<checkStr.value.length; i++)
	{
		ch = checkStr.value.charAt(i);
		for (j=0; j<checkOK.length; j++)
			if (ch == checkOK.charAt(j))
				break;
				
		if (j == checkOK.length)
		{
			allValid = false;
			break;
		}
		
		if (ch != "," || ch != "-")
		{
			if (decimalExists)
				decimalDigits = decimalDigits + 1;
			else if (ch == ".")
				decimalExists = true;
			
			if (decimalDigits > 2)
			{
				decimalValid = false;
				break;
			}
			else
				allNum += ch;
		}	
	}
	
	if (!allValid)
	{	
		alertsay = "Please enter only these values \""
		alertsay = alertsay + checkOK + "\""
		alert(alertsay);
		return (false);
	}
	
	if (!decimalValid)
	{	
		alertsay = "Please enter only two digits after the decimal"
		alert(alertsay);
		return (false);
	}
}

function chkNumericNoSpace(objName)
{
	// only allow 0-9 be entered, plus any comma or period
	var checkOK = "-0123456789.";
	var checkStr = objName;
	var allValid = true;
	var allNum = "";
	var decimalExists = false;
	var decimalDigits = 0;
	var decimalValid = true;

	for (i=0; i<checkStr.value.length; i++)
	{
		ch = checkStr.value.charAt(i);
		for (j=0; j<checkOK.length; j++)
			if (ch == checkOK.charAt(j))
				break;
				
		if (j == checkOK.length)
		{
			allValid = false;
			break;
		}
		
		if (ch != ",")
		{
			if (decimalExists)
				decimalDigits = decimalDigits + 1;
			else if (ch == ".")
				decimalExists = true;
			
			if (decimalDigits > 2)
			{
				decimalValid = false;
				break;
			}
			else
				allNum += ch;
		}	
	}
	
	if (!allValid)
	{	
		alertsay = "Please enter only these values \""
		alertsay = alertsay + checkOK + "\""
		alert(alertsay);
		return (false);
	}
	
	if (!decimalValid)
	{	
		alertsay = "Please enter only two digits after the decimal"
		alert(alertsay);
		return (false);
	}
}

function fnSlideView(ms, AssetId, fldrId)
{
	fnNavigate("admViewFiles.aspx?msNAV=" + ms + "&AssetID=" + AssetId + "&FldrId=" + fldrId );
//   window.location.href = 'admViewFiles.aspx?ms=' + ms +'&AssetID=' + AssetId + '&FldrId=' + fldrId;
}

//G2S payment screen scripts
function fnChangeCardType(id)
{
   cleartbl();
   switch (createObj(id).value)
   {
      case '1':
         tbl1.className = '';
      break;
      
      case '2':
         tbl2.className = '';
      break;
      
      case '3':
         tbl3.className = '';
      break;
      
      case '4':
         tbl4.className = '';
      break;
      
      case '5':
         tbl5.className = '';
      break;
      
      case '6':
         tbl6.className = '';
      break;
      
      case '99':
         tbl99.className = '';
      break;
   }
}

function cleartbl()
{
   tbl1.className = 'hidden';
   tbl2.className = 'hidden';
   tbl3.className = 'hidden';
   tbl4.className = 'hidden';
   tbl5.className = 'hidden';
   tbl6.className = 'hidden';
   tbl99.className = 'hidden';
}

function fnChangePaymentType(id)
{
   switch (createObj(id).value)
   {
      case '1': //Credit Card
         if (createObj('cmbCardType').selectedIndex == 0 || 
               createObj('txtCardNumber').value == '' ||
               createObj('txtCardCode').value == '' ||
               createObj('cmbMonth').selectedIndex == 0 || 
               createObj('cmbYear').selectedIndex == 0 || 
               createObj('txtName').value == '')
            alert('You must select a Payment Method and enter your information before you can continue.');
         else
         {
            if (!fnCheckText('txtAddress', 'Street Address'))
               return false;
            if (!fnCheckText('txtCity', 'City'))
               return false;
            if (!fnCheckText('txtState', 'State / Province'))
               return false;
            if (!fnCheckText('txtZip', 'Postal / Zip Code'))
               return false;
            if (!fnCheckDD('cmbCountry', 'Country'))
               return false;

            alert('You have selected to use your Credit Card to pay for your order. Your card will be billed for all services incurred.');
            CheckSessionAndSubmit("NEXT","next_click");
         }
      break;
      
      case '2': //Send an Invoice
         CheckSessionAndSubmit("NEXT","next_click");
      break;
      
      case '3': //Business Unit
         if (createObj('txtBU').value == '')
         {
            alert('You must enter your information before you can continue.');
            createObj('txtBU').focus();
         }
         else
            CheckSessionAndSubmit("NEXT","next_click");
      break;
      
      case '4': //
         if (createObj('txtOC').value == '')
         {
            alert('You must enter your information before you can continue.');
            createObj('txtOC').focus();
         }
         else
            CheckSessionAndSubmit("NEXT","next_click");
      break;
      
      case '5': //Purchase Order
         if (createObj('txtPO').value == '')
         {
            alert('You must enter your information before you can continue.');
            createObj('txtPO').focus();
         }
         else
         {
            if (createObj('hdnFieldWidth').value == '0' || (createObj('hdnFieldWidth').value != '0' && createObj('txtPO').value.length == createObj('hdnFieldWidth').value))
               CheckSessionAndSubmit("NEXT","next_click");
            else
               alert('Purchase Order must be ' + createObj('hdnFieldWidth').value + ' characters long.');
         }
      break;
      
      
      case '6': //Default Credit Card
         CheckSessionAndSubmit("NEXT","next_click");
      break;

      case '99': //PaymentMethod Criteria
         if (createObj('cmbPaymentCriteria').selectedIndex == 0)
         {
            alert('You must select a Payment Method before you continue.');
            createObj('cmbPaymentCriteria').focus();
         }
         else
            CheckSessionAndSubmit("NEXT","next_click");
      break;
      
      default:
            alert('You must select a Payment Method before you continue.');
   }
}

function fnDeleteHistory()
{
   javascript: window.history.forward(1);
}

//fnDeleteHistory();

function fnReturn_click()
{
   window.history.back(1);
}

/*#################################################################################
         Shipping page scripts (shpAddrInfo.aspx)
###################################################################################*/
function compareDates (value1, value2) 
{
   var startDate = new Date(value1).getTime();
   var endDate = new Date(value2).getTime();
   return (endDate-startDate)/86400000;
}

function fnToSave(strGOTO, strFunction)
{
//   if (!fnCheckText('txtWBS', 'WBS'))
//      return false;
   if (createObj('dtPickUpDate_hdnDt').value == '' && createObj('cmbPickUpTime').selectedIndex != 0)
   {
      alert("In order to set a 'Pick Up Time' you must enter a 'Pick Up Date'");
      createObj('dtPickUpDate_hdnDt_month').focus();
      return;
   }
   if (createObj('dtDeliveryDate_hdnDt').value == '' && createObj('cmbDeliveryTime').selectedIndex != 0)
   {
      alert("In order to set a 'Delivery Time' you must enter a 'Delivery Date'");
      createObj('dtDeliveryDate_hdnDt_month').focus();
      return;
   }

   if (createObj('txtDeliveryAddr').value != '')
   {
      if (createObj('dtDeliveryDate_hdnDt').value != "")
      {
         if (createObj('dtPickUpDate_hdnDt').value != '')
         {
            var numDays = compareDates(createObj('dtPickUpDate_hdnDt').value, createObj('dtDeliveryDate_hdnDt').value);
            if (numDays >= 0)
            {
               if (createObj('cmbFreightBillGoToPerson').selectedIndex != 0)
                  CheckSessionAndSubmit(strGOTO, strFunction);
               else
               {
                  alert('Please select a Freight-Bills-Go-To Person.');
                  createObj('cmbFreightBillGoToPerson').focus();
               }
            }
            else
               alert('Pickup date cannot be later than the Delivery date.');
         }
         else
         {
            if (createObj('cmbFreightBillGoToPerson').selectedIndex != 0)
               CheckSessionAndSubmit(strGOTO, strFunction);
            else
            {
               alert('Please select a Freight-Bills-Go-To Person.');
               createObj('cmbFreightBillGoToPerson').focus();
            }
         }
      }
      else
      {
         alert('Please enter a Delivery Date.');
         createObj('dtDeliveryDate_hdnDt_month').focus();
      }
   }
   else
   {
      alert('Please enter a Delivery Address.');
      createObj('txtDeliveryAddr').focus();
   }
}

function fnFromSave(strGOTO, strFunction)
{
//   if (!fnCheckText('txtWBS', 'WBS'))
//      return false;
   if (createObj('dtPickUpDate_hdnDt').value == '' && createObj('cmbPickUpTime').selectedIndex != 0)
   {
      alert("In order to set a 'Pick Up Time' you must enter a 'Pick Up Date'");
      createObj('dtPickUpDate_hdnDt_month').focus();
      return;
   }
   if (createObj('dtDeliveryDate_hdnDt').value == '' && createObj('cmbDeliveryTime').selectedIndex != 0)
   {
      alert("In order to set a 'Delivery Time' you must enter a 'Delivery Date'");
      createObj('dtDeliveryDate_hdnDt_month').focus();
      return;
   }
   if (createObj('txtEHPichUpAddr').value != '')
   {
      if (createObj('dtPickUpDate_hdnDt').value != "")
      {
         if (createObj('dtDeliveryDate_hdnDt').value != '')
         {
            var numDays = compareDates(createObj('dtPickUpDate_hdnDt').value, createObj('dtDeliveryDate_hdnDt').value);
            if (numDays >= 0)
            {
               if (createObj('cmbFreightBillGoToPerson').selectedIndex != 0)
                  CheckSessionAndSubmit(strGOTO, strFunction);
               else
               {
                  alert('Please select a Freight-Bills-Go-To Person.');
                  createObj('cmbFreightBillGoToPerson').focus();
               }
            }
            else
               alert('Pickup date cannot be later than the Delivery date.');
         }
         else
         {
            if (createObj('cmbFreightBillGoToPerson').selectedIndex != 0)
               CheckSessionAndSubmit(strGOTO, strFunction);
            else
            {
               alert('Please select a Freight-Bills-Go-To Person.');
               createObj('cmbFreightBillGoToPerson').focus();
            }
         }
      }
      else
      {
         alert('Please enter a Pickup Date.');
         createObj('dtPickUpDate_hdnDt_month').focus();
      }
   }
   else
   {
      alert('Please enter a Pickup Address.');
      createObj('txtEHPichUpAddr').focus();
   }
}

function fnAlertDateMsg()
{
   if (createObj('dtDeliveryDate_hdnDt').value != "" || true)
      alert('Note:\nChanges made will effect all Shipments assigned to this address unless you have previously edited that Shipment\'s address information.\n\nChanges made to Date and Time will not impact previously created Shipments.');
}

function fnAddEditAddress(ms) //'Edit Address button'
{
   alert('YOU MUST SELECT SAVE IN ORDER TO SAVE ANY CHANGES.\n\nYou can now edit the Default Address or enter a New Address.\n\nAny edits to the existing Default Address or New Addresses created are unique to this shipment.');
   createObj('hdnModifyAddress').value = 1;
   if (ms == 37)
   {
      createObj('txtEHPichUpAddr').readOnly = false;
      createObj('cmbEHPickUpAddr').selectedIndex = 0;
   }
   else
   {
      createObj('txtDeliveryAddr').readOnly = false;
      createObj('cmbDeliveryAddr').selectedIndex = 0;
   }
}

function fnGetAddressId(Id)
{
   var addType = 0;
   upperlimit = arrAddressType.length;
   for (i = 0; i < upperlimit; i++) 
   {
      if (arrAddressType[i][0] == Id)
      {
         addType = arrAddressType[i][1];
         break;
      }
   }
   return addType;
}

function fnCheckForAddress(addType)
{
   var addId = 0;
   upperlimit = arrAddressType.length;
   for (i = 0; i < upperlimit; i++) 
   {
      if (arrAddressType[i][1] == addType)
      {
         addId = i + 1;
         break;
      }
   }
   return addId;
}

function fnCheckForTransAddress(addType)
{
   var addId = 0;
   upperlimit = arrTranAddressType.length;
   for (i = 0; i < upperlimit; i++) 
   {
      if (arrTranAddressType[i][1] == addType)
      {
         addId = i + 1;
         break;
      }
   }
   return addId;
}

function fnGTSClicked()
{
   createObj('hdnModifyAddress').value = 0;
   var addRow = fnCheckForTransAddress(7);

   if (addRow != 0)
   {
      createObj('chkDeliveryDate').checked = false;
      createObj('cmbDeliveryTime').selectedIndex = 0;
      fnClearDate('dtDeliveryDate_hdnDt');

      createObj('txtDeliveryAddr').value = arrTranAddressType[addRow - 1][2].replace(/~/g,' \n');
      createObj('cmbDeliveryAddr').selectedIndex = addRow;
      createObj('txtDeliveryAddr').readOnly = true;

      if (arrTranAddressType[addRow - 1][4] != "") //Date
      	fnSetDate('dtDeliveryDate_hdnDt', arrTranAddressType[addRow - 1][4]);

      if (arrTranAddressType[addRow - 1][5] != "") //Time
      {
         for (i = 0; i < createObj('cmbDeliveryTime').length; i++)
         {
            if (createObj('cmbDeliveryTime')[i].value == arrTranAddressType[addRow - 1][5])
            {
               createObj('cmbDeliveryTime').selectedIndex = i;
               break;
            }
         }
      }

      if (arrTranAddressType[addRow - 1][3] == "True")
         createObj('chkDeliveryDate').checked = true;
   }
}

function fnTransAdvancedClicked()
{
   createObj('hdnModifyAddress').value = 0;
   var addRow = fnCheckForTransAddress(4);

   if (addRow == 0)
   	CheckSessionAndSubmit("TADVANCE","fnAdvancedClicked");
   else
   {
      createObj('chkDeliveryDate').checked = false;
      createObj('cmbDeliveryTime').selectedIndex = 0;
      fnClearDate('dtDeliveryDate_hdnDt');

      createObj('txtDeliveryAddr').value = arrTranAddressType[addRow - 1][2].replace(/~/g,' \n');
      createObj('cmbDeliveryAddr').selectedIndex = addRow;
      createObj('txtDeliveryAddr').readOnly = true;

      if (arrTranAddressType[addRow - 1][4] != "") //Date
      	fnSetDate('dtDeliveryDate_hdnDt', arrTranAddressType[addRow - 1][4]);

      if (arrTranAddressType[addRow - 1][5] != "") //Time
      {
         for (i = 0; i < createObj('cmbDeliveryTime').length; i++)
         {
            if (createObj('cmbDeliveryTime')[i].value == arrTranAddressType[addRow - 1][5])
            {
               createObj('cmbDeliveryTime').selectedIndex = i;
               break;
            }
         }
      }

      if (arrTranAddressType[addRow - 1][3] == "True")
         createObj('chkDeliveryDate').checked = true;
   }
}

function fnTransMarshallingClicked()
{
   createObj('hdnModifyAddress').value = 0;
   var addRow = fnCheckForTransAddress(5);

   if (addRow == 0)
   	CheckSessionAndSubmit("TMARSHAL","fnTransMarshallingClicked");
   else
   {
      createObj('chkDeliveryDate').checked = false;
      createObj('cmbDeliveryTime').selectedIndex = 0;
      fnClearDate('dtDeliveryDate_hdnDt');

      createObj('txtDeliveryAddr').value = arrTranAddressType[addRow - 1][2].replace(/~/g,' \n');
      createObj('cmbDeliveryAddr').selectedIndex = addRow;
      createObj('txtDeliveryAddr').readOnly = true;

      if (arrTranAddressType[addRow - 1][4] != "") //Date
      	fnSetDate('dtDeliveryDate_hdnDt', arrTranAddressType[addRow - 1][4]);

      if (arrTranAddressType[addRow - 1][5] != "") //Time
      {
         for (i = 0; i < createObj('cmbDeliveryTime').length; i++)
         {
            if (createObj('cmbDeliveryTime')[i].value == arrTranAddressType[addRow - 1][5])
            {
               createObj('cmbDeliveryTime').selectedIndex = i;
               break;
            }
         }
      }

      if (arrTranAddressType[addRow - 1][3] == "True")
         createObj('chkDeliveryDate').checked = true;
   }
}

function fnTransDirectClicked()
{
   createObj('hdnModifyAddress').value = 0;
   var addRow = fnCheckForTransAddress(6);

   if (addRow == 0)
   	CheckSessionAndSubmit("TDIRECT","fnDirectClicked");
   else
   {
      createObj('chkDeliveryDate').checked = false;
      createObj('cmbDeliveryTime').selectedIndex = 0;
      fnClearDate('dtDeliveryDate_hdnDt');

      createObj('txtDeliveryAddr').value = arrTranAddressType[addRow - 1][2].replace(/~/g,' \n');
      createObj('cmbDeliveryAddr').selectedIndex = addRow;
      createObj('txtDeliveryAddr').readOnly = true;

      if (arrTranAddressType[addRow - 1][4] != "") //Date
      	fnSetDate('dtDeliveryDate_hdnDt', arrTranAddressType[addRow - 1][4]);

      if (arrTranAddressType[addRow - 1][5] != "") //Time
      {
         for (i = 0; i < createObj('cmbDeliveryTime').length; i++)
         {
            if (createObj('cmbDeliveryTime')[i].value == arrTranAddressType[addRow - 1][5])
            {
               createObj('cmbDeliveryTime').selectedIndex = i;
               break;
            }
         }
      }

      if (arrTranAddressType[addRow - 1][3] == "True")
         createObj('chkDeliveryDate').checked = true;
   }
}

function fnMarshallingClicked()
{
   createObj('hdnModifyAddress').value = 0;
   var addRow = fnCheckForTransAddress(5);

   if (addRow == 0)
		CheckSessionAndSubmit("MARSHAL","fnMarshallingClicked");
   else
   {
      createObj('chkDeliveryDate').checked = false;
      createObj('cmbDeliveryTime').selectedIndex = 0;
      fnClearDate('dtDeliveryDate_hdnDt');

      createObj('txtDeliveryAddr').value = arrTranAddressType[addRow - 1][2].replace(/~/g,' \n');
      createObj('cmbDeliveryAddr').selectedIndex = addRow;
      createObj('txtDeliveryAddr').readOnly = true;

      if (arrTranAddressType[addRow - 1][4] != "") //Date
      	fnSetDate('dtDeliveryDate_hdnDt', arrTranAddressType[addRow - 1][4]);

      if (arrTranAddressType[addRow - 1][5] != "") //Time
      {
         for (i = 0; i < createObj('cmbDeliveryTime').length; i++)
         {
            if (createObj('cmbDeliveryTime')[i].value == arrTranAddressType[addRow - 1][5])
            {
               createObj('cmbDeliveryTime').selectedIndex = i;
               break;
            }
         }
      }

      if (arrTranAddressType[addRow - 1][3] == "True")
         createObj('chkDeliveryDate').checked = true;
   }
}

function fnAdvancedClicked(ms)
{
   createObj('hdnModifyAddress').value = 0;
   var addRow = fnCheckForAddress(4);
   if (addRow == 0)
   	CheckSessionAndSubmit("ADVANCE","fnAdvancedClicked");
   else
   {
   	if (ms == 37)
   	{
         createObj('chkDeliveryDate').checked = false;
         createObj('cmbDeliveryTime').selectedIndex = 0;
      	fnClearDate('dtDeliveryDate_hdnDt');

      	createObj('txtDeliveryAddr').value = arrAddressType[addRow - 1][2].replace(/~/g,' \n');
      	createObj('cmbDeliveryAddr').selectedIndex = addRow;
      	createObj('txtDeliveryAddr').readOnly = true;

      	if (arrAddressType[addRow - 1][4] != "") //Date
      	   fnSetDate('dtDeliveryDate_hdnDt', arrAddressType[addRow - 1][4]);

      	if (arrAddressType[addRow - 1][5] != "") //Time
      	{
            for (i = 0; i < createObj('cmbDeliveryTime').length; i++)
            {
               if (createObj('cmbDeliveryTime')[i].value == arrAddressType[addRow - 1][5])
               {
                  createObj('cmbDeliveryTime').selectedIndex = i;
                  break;
               }
            }
      	}

      	if (arrAddressType[addRow - 1][3] == "True")
         	createObj('chkDeliveryDate').checked = true;
   	}
   	else
   	{
         createObj('chkPickUpDate').checked = false;
         createObj('cmbPickUpTime').selectedIndex = 0;
      	fnClearDate('dtPickUpDate_hdnDt');

      	createObj('txtEHPichUpAddr').value = arrAddressType[addRow - 1][2].replace(/~/g,' \n');
      	createObj('cmbEHPickUpAddr').selectedIndex = addRow;
   		createObj('txtEHPichUpAddr').readOnly = true;

      	if (arrAddressType[addRow - 1][4] != "") //Date
      	   fnSetDate('dtPickUpDate_hdnDt', arrAddressType[addRow - 1][4]);

      	if (arrAddressType[addRow - 1][5] != "") //Time
      	{
            for (i = 0; i < createObj('cmbPickUpTime').length; i++)
            {
               if (createObj('cmbPickUpTime')[i].value == arrAddressType[addRow - 1][5])
               {
                  createObj('cmbPickUpTime').selectedIndex = i;
                  break;
               }
            }
      	}
      	if (arrAddressType[addRow - 1][3] == "True")
         	createObj('chkPickUpDate').checked = true;
   	}
   }
}

function fnDirectClicked(ms)
{
   createObj('hdnModifyAddress').value = 0;
   var addRow = fnCheckForAddress(6);

   if (addRow == 0)
   	CheckSessionAndSubmit("DIRECT","fnDirectClicked");
   else
   {
   	if (ms == 37)
   	{
         createObj('chkDeliveryDate').checked = false;
         createObj('cmbDeliveryTime').selectedIndex = 0;
      	fnClearDate('dtDeliveryDate_hdnDt');

      	createObj('txtDeliveryAddr').value = arrAddressType[addRow - 1][2].replace(/~/g,' \n');
      	createObj('cmbDeliveryAddr').selectedIndex = addRow;
      	createObj('txtDeliveryAddr').readOnly = true;

      	if (arrAddressType[addRow - 1][4] != "") //Date
      	   fnSetDate('dtDeliveryDate_hdnDt', arrAddressType[addRow - 1][4]);

      	if (arrAddressType[addRow - 1][5] != "") //Time
      	{
            for (i = 0; i < createObj('cmbDeliveryTime').length; i++)
            {
               if (createObj('cmbDeliveryTime')[i].value == arrAddressType[addRow - 1][5])
               {
                  createObj('cmbDeliveryTime').selectedIndex = i;
                  break;
               }
            }
      	}

      	if (arrAddressType[addRow - 1][3] == "True")
         	createObj('chkDeliveryDate').checked = true;
   	}
   	else
   	{
         createObj('chkPickUpDate').checked = false;
         createObj('cmbPickUpTime').selectedIndex = 0;
      	fnClearDate('dtPickUpDate_hdnDt');

      	createObj('txtEHPichUpAddr').value = arrAddressType[addRow - 1][2].replace(/~/g,' \n');
      	createObj('cmbEHPickUpAddr').selectedIndex = addRow;
   		createObj('txtEHPichUpAddr').readOnly = true;

      	if (arrAddressType[addRow - 1][4] != "") //Date
      	   fnSetDate('dtPickUpDate_hdnDt', arrAddressType[addRow - 1][4]);

      	if (arrAddressType[addRow - 1][5] != "") //Time
      	{
            for (i = 0; i < createObj('cmbPickUpTime').length; i++)
            {
               if (createObj('cmbPickUpTime')[i].value == arrAddressType[addRow - 1][5])
               {
                  createObj('cmbPickUpTime').selectedIndex = i;
                  break;
               }
            }
      	}
      	if (arrAddressType[addRow - 1][3] == "True")
         	createObj('chkPickUpDate').checked = true;
   	}
   }
}

function fnMarshallingClicked(ms)
{
   createObj('hdnModifyAddress').value = 0;
   var addRow = fnCheckForAddress(5);

   if (addRow == 0)
		CheckSessionAndSubmit("MARSHAL","fnMarshallingClicked");
   else
   {
   	if (ms == 37)
   	{
         createObj('chkDeliveryDate').checked = false;
         createObj('cmbDeliveryTime').selectedIndex = 0;
      	fnClearDate('dtDeliveryDate_hdnDt');

      	createObj('txtDeliveryAddr').value = arrAddressType[addRow - 1][2].replace(/~/g,' \n');
      	createObj('cmbDeliveryAddr').selectedIndex = addRow;
      	createObj('txtDeliveryAddr').readOnly = true;

      	if (arrAddressType[addRow - 1][4] != "") //Date
      	   fnSetDate('dtDeliveryDate_hdnDt', arrAddressType[addRow - 1][4]);

      	if (arrAddressType[addRow - 1][5] != "") //Time
      	{
            for (i = 0; i < createObj('cmbDeliveryTime').length; i++)
            {
               if (createObj('cmbDeliveryTime')[i].value == arrAddressType[addRow - 1][5])
               {
                  createObj('cmbDeliveryTime').selectedIndex = i;
                  break;
               }
            }
      	}

      	if (arrAddressType[addRow - 1][3] == "True")
         	createObj('chkDeliveryDate').checked = true;
   	}
   	else
   	{
         createObj('chkPickUpDate').checked = false;
         createObj('cmbPickUpTime').selectedIndex = 0;
      	fnClearDate('dtPickUpDate_hdnDt');

      	createObj('txtEHPichUpAddr').value = arrAddressType[addRow - 1][2].replace(/~/g,' \n');
      	createObj('cmbEHPickUpAddr').selectedIndex = addRow;
   		createObj('txtEHPichUpAddr').readOnly = true;

      	if (arrAddressType[addRow - 1][4] != "") //Date
      	   fnSetDate('dtPickUpDate_hdnDt', arrAddressType[addRow - 1][4]);

      	if (arrAddressType[addRow - 1][5] != "") //Time
      	{
            for (i = 0; i < createObj('cmbPickUpTime').length; i++)
            {
               if (createObj('cmbPickUpTime')[i].value == arrAddressType[addRow - 1][5])
               {
                  createObj('cmbPickUpTime').selectedIndex = i;
                  break;
               }
            }
      	}
      	if (arrAddressType[addRow - 1][3] == "True")
         	createObj('chkPickUpDate').checked = true;
   	}
   }
}
            
function fnAddAddresses()
{
   var newWin = 'shpSelCompForAddress.aspx';
   window.open(newWin,'chkSession', 'height=400; width=600; top=100; left=300; menubar=no; scrollbars=yes; status=no; titlebar=no; toolbar=no')
}

function fnChangeVendorTypeFF()
{
   if ((createObj('cmbVendorType').selectedIndex == createObj('cmbVendorType').length-1) || (createObj('cmbVendorType').selectedIndex == 0)) 
   {
      createObj('cmbVendorType').selectedIndex = 0; 
      createObj('cmbEHCarriers').length = 0; 
      carrierDD.add( option, null );
   } 
   else 
   { 
      createObj('hdnSelComp').text = createObj('cmbVendorType').value; 
      createObj('cmbEHCarriers').length = 0; 
      carrierDD.add( option, null );
      upperlimit = arrVendorType.length; 
      
      for (i = 0; i < upperlimit; i++) 
      { 
         if (arrVendorType[i][0] == createObj('cmbVendorType')[createObj('cmbVendorType').selectedIndex].value) 
            carrierDD.add(arrVendorType[i][1], null);
      } 
   }
}

function fnChangeVendorType() 
{ 
   createObj('txtCarrierAddr').value = '';
   createObj('cmbEHCarriers').length = 0; 
   if (strBrowser.indexOf('Firefox') != -1)
      fnChangeVendorTypeFF();
   else
      fnChangeVendorTypeIE();
} 

function fnChangeVendorTypeIE() 
{ 
   if ((createObj('cmbVendorType').selectedIndex == createObj('cmbVendorType').length-1) || (createObj('cmbVendorType').selectedIndex == 0)) 
   {
      createObj('cmbVendorType').selectedIndex = 0; 
      createObj('cmbEHCarriers').length = 0; 
      createObj('cmbEHCarriers').add(new Option("Select Carrier", "0"));
      createObj('cmbEHCarriers').add(new Option("___________________________", "0")); 
   } 
   else 
   { 
      createObj('hdnSelVendor').text = createObj('cmbVendorType').Value; 
      createObj('cmbEHCarriers').length = 0; 
      createObj('cmbEHCarriers').add(new Option("Select Carrier", "0")); 
      upperlimit = arrVendorType.length; 
      
      for (i = 0; i < upperlimit; i++) 
      { 
         if (arrVendorType[i][0] == createObj('cmbVendorType')[createObj('cmbVendorType').selectedIndex].value) 
            createObj('cmbEHCarriers').add(arrVendorType[i][1]); 
      } 
      
      createObj('cmbEHCarriers').add(new Option("___________________________", "0")); 
   }
   createObj('cmbEHCarriers').selectedIndex = 0; 
} 

function fnSchedule(obj)
{
   if (obj.checked == true)
   {
		if (createObj('dtPickUpDate_hdnDt_year').value != '' && createObj('dtPickUpDate_hdnDt_month').value != '' && createObj('dtPickUpDate_hdnDt_day').value != '')
		{
			if (createObj('dtDeliveryDate_hdnDt_year').value != '' && createObj('dtDeliveryDate_hdnDt_month').value != '' && createObj('dtDeliveryDate_hdnDt_day').value != '')
			{
			   if (createObj('cmbPickUpTime')[createObj('cmbPickUpTime').selectedIndex].value != '')
			   {
			      if (createObj('cmbDeliveryTime')[createObj('cmbDeliveryTime').selectedIndex].value == '')
			      {
			         obj.checked = false;
			         alert('Please select delivery time');
			         createObj('cmbDeliveryTime').focus();
			      }
			   }
			   else
			   {
			      obj.checked = false;
			      alert('Please select pickup time');
			      createObj('cmbPickUpTime').focus();
			   }
			}
			else
			{
			   obj.checked = false;
			   alert('Please select delivery date');
			   createObj('dtDeliveryDateDate_hdnDt_month').focus();
			}
		}
		else
		{
			obj.checked = false;
			alert('Please select pickup date');
			createObj('dtPickUpDate_hdnDt_month').focus();
		}
	}
}

function fnUnSchedule(obj)
{
	if (obj[obj.selectedIndex].value == '')
	{
      if (from == 1)
      {
         createObj('chkDeliverySchedule').checked = false;
      }
      else
      {
         createObj('chkPickUpSchedule').checked = false;
      }
	}
}

function fnShowHide(i)
{
   createObj('hdnNewTrucks').value = i;
	if (i == 0)
	{
      document.getElementById('tblReg').style.display=""; 
      document.getElementById('tblAddMore').style.display = "none"; 
	}
	else
	{
      document.getElementById('tblReg').style.display="none"; 
      document.getElementById('tblAddMore').style.display = ""; 
	}
}

function fnPickUpPhone()
{
	var newWin = 'shpPhone.aspx?type=1&id=' + createObj('cmbEHPickUpAddr')[createObj('cmbEHPickUpAddr').selectedIndex].value;
	if (createObj('cmbEHPickUpAddr').selectedIndex > 0)
      window.open(newWin,'chkSession', 'height=400; width=400; top=100; left=300; menubar=no; scrollbars=yes; status=no; titlebar=no; toolbar=no')
   else
   	alert('Please select a Pickup Address from the drop down for phone numbers');
}

function fnDeliveryPhone()
{
	var newWin = 'shpPhone.aspx?type=2&id='+ createObj('cmbDeliveryAddr')[createObj('cmbDeliveryAddr').selectedIndex].value;
	if (createObj('cmbDeliveryAddr').selectedIndex > 0)
      window.open(newWin,'chkSession', 'height=400; width=400; top=100; left=300; menubar=no; scrollbars=yes; status=no; titlebar=no; toolbar=no')
   else
   	alert('Please select a Delivery Address from the drop down for phone numbers');
}

function fnCarrierPhone()
{
	//var newWin = 'shpPhone.aspx?type=1&id='+ createObj('cmbEHCarriers')[createObj('cmbEHCarriers').selectedIndex].value;
	var newWin = 'prjVendorContact.aspx?id='+ createObj('cmbEHCarriers')[createObj('cmbEHCarriers').selectedIndex].value;
	if (createObj('cmbEHCarriers').selectedIndex > 0)
      window.open(newWin,'chkSession', 'height=400; width=400; top=100; left=300; menubar=no; scrollbars=yes; status=no; titlebar=no; toolbar=no')
   else
   	alert('Please select a carrier from the drop down for phone numbers');
}

function fnCarrierPhoneById(id, pId)
{
	var newWin = 'prjVendorContact.aspx?id='+ id + '&PId=' + pId;
   window.open(newWin,'chkSession', 'height=400; width=400; top=100; left=300; menubar=no; scrollbars=yes; status=no; titlebar=no; toolbar=no')
}

function Modify()
{	
	if (createObj('cmbSelectedItems').selectedIndex >= 0)
	{
		createObj('txtTempName').value = createObj('cmbSelectedItems')[createObj('cmbSelectedItems').selectedIndex].text;	
   	createObj('UpdateSelected').value = "Modify Pro#";
   	createObj('DeleteSelected').style.visibility = '';
		createObj('txtTempName').focus();
		createObj('txtTempName').select();
	}
}

function UndoModify()
{	
	createObj('txtTempName').value="";
	createObj('UpdateSelected').value = "Add Pro#";
   if (createObj('cmbSelectedItems').selectedIndex>=0)
      createObj('DeleteSelected').style.visibility = '';
   else
      createObj('DeleteSelected').style.visibility = 'hidden';
}

function updateList()
{
	if (createObj('UpdateSelected').value == "Add Pro#")
	{
	   if(createObj('txtTempName').value.length > 0)
	   {
	      newTrk = newTrk -1;
   	   addNewMenuItem('cmbSelectedItems', createObj('txtTempName').value, newTrk);
   	   if (createObj('txtNumTrucks').value < createObj('cmbSelectedItems').length)
      	   createObj('txtNumTrucks').value++;
	   }
	}
	else
	   createObj('cmbSelectedItems')[createObj('cmbSelectedItems').selectedIndex].text = createObj('txtTempName').value;

   	UndoModify();
}

function DeleteFromList(sele)
{
	RemoveSelected(sele);
   createObj('txtNumTrucks').value--;
   UndoModify();
}

function checkNumTrucks()
{
	if (createObj('txtNumTrucks').value < createObj('cmbSelectedItems').length)
	{
		alert('You have to remove the Pro#s inorder to reduce the number of trucks');
		createObj('txtNumTrucks').value = createObj('cmbSelectedItems').length
		createObj('txtNumTrucks').select();
	}
}

function fnChangePickup(ms)
{
   createObj('txtEHPichUpAddr').readOnly = false;
   var i = createObj('cmbEHPickUpAddr').selectedIndex;
   if (i > 0)
   {
      createObj('txtEHPichUpAddr').value = createObj('cmbPickUpAddress')[i].text.replace(/~/g,' \n');
      if (ms == 114)
      {
         var addType = fnGetAddressId(createObj('cmbEHPickUpAddr').value);
         if (addType == 4 || addType == 5 || addType == 6)
         	createObj('txtEHPichUpAddr').readOnly = true;
      }
   }
}

function fnChangeDelivery(ms)
{
   createObj('txtDeliveryAddr').readOnly = false;
   var i = createObj('cmbDeliveryAddr').selectedIndex;
   if (i > 0)
   {
      createObj('txtDeliveryAddr').value = createObj('cmbDeliveryAddress')[i].text.replace(/~/g,' \n');
      if (ms == 37)
      {
         var addType = fnGetAddressId(createObj('cmbDeliveryAddr').value);
         if (addType == 4 || addType == 5 || addType == 6)
         	createObj('txtDeliveryAddr').readOnly = true;
      }
   }
}

function fnChangeCarrier(boolResetAddress)
{
   if (boolResetAddress)
      createObj('txtCarrierAddr').value = '';
   if (createObj('cmbEHCarriers').selectedIndex > 0)
   {
      upperlimit = arrVendorAddr.length; 
      for (i = 0; i < upperlimit; i++) 
      { 
         if (arrVendorAddr[i][0] == createObj('cmbEHCarriers')[createObj('cmbEHCarriers').selectedIndex].value) 
            createObj('txtCarrierAddr').value = arrVendorAddr[i][1].toString().replace(/~/g,' \n');
      } 
      if (from == 1)
      {
         createObj('chkDeliverySchedule').disabled = false;
      }
      else
      {
         createObj('chkPickUpSchedule').disabled = false;
      }
   }
   else
   {
      if (from == 1)
      {
         createObj('chkDeliverySchedule').checked = false;
         createObj('chkDeliverySchedule').disabled = true;
      }
      else
      {
         createObj('chkPickUpSchedule').checked = false;
         createObj('chkPickUpSchedule').disabled = true;
      }
   }
}

function fnChangeFreightBillPerson(obj)
{
   if (createObj('cmbFreightBillGoToPerson').selectedIndex > 0)
      createObj('txtFrieghtBillAddr').value = createObj('cmbFreightBillAddress')[createObj('cmbFreightBillGoToPerson').selectedIndex].text.replace(/~/g,' \n');
}



/*#################################################################################
         Work Order (prjWorkOrder.aspx) page scripts
###################################################################################*/
function fnEditCat(catId)
{   
   createObj('hdnSelectedCat').value = catId;
   CheckSessionAndSubmit("CATUSERS","next_click");
}

function checkNumeric(objName)
{
   // only allow 0-9 be entered, plus any comma or period
   
   var checkOK = "-0123456789.";
   var checkStr = objName;
   var allValid = true;
   var allNum = "";
   var decimalExists = false;
   var decimalDigits = 0;
   var decimalValid = true;

   for (i=0; i<checkStr.value.length; i++)
   {
      ch = checkStr.value.charAt(i);
      for (j=0; j<checkOK.length; j++)
      {
         if (ch == checkOK.charAt(j))
            break;
      }
            
      if (j == checkOK.length)
      {
         allValid = false;
         break;
      }
      
      if (ch != ",")
      {
         if (decimalExists)
            decimalDigits = decimalDigits + 1;
         else if (ch == ".")
            decimalExists = true;
         
         if (decimalDigits > 2)
         {
            decimalValid = false;
            break;
         }
         else
            allNum += ch;
      }   
   }
   
   if (!allValid)
   {   
      alertsay = "Please enter only these values \""
      alertsay = alertsay + checkOK + "\""
      alert(alertsay);
      return (false);
   }
   
   if (!decimalValid)
   {   
      alertsay = "Please enter only two digits after the decimal"
      alert(alertsay);
      return (false);
   }
}

function checkMoney(objName)
{
   // only allow 0-9 be entered, plus any comma or period
   
   var checkOK = "-0123456789.,";
   var checkStr = objName;
   var allValid = true;
   var allNum = "";
   var decimalExists = false;
   var decimalDigits = 0;
   var decimalValid = true;

   for (i=0; i<checkStr.value.length; i++)
   {
      ch = checkStr.value.charAt(i);
      for (j=0; j<checkOK.length; j++)
      {
         if (ch == checkOK.charAt(j))
            break;
      }
            
      if (j == checkOK.length)
      {
         allValid = false;
         break;
      }
      
      if (ch != ",")
      {
         if (decimalExists)
            decimalDigits = decimalDigits + 1;
         else if (ch == ".")
            decimalExists = true;
         
         if (decimalDigits > 2)
         {
            decimalValid = false;
            break;
         }
         else
            allNum += ch;
      }   
   }
   
   if (!allValid)
   {   
      alertsay = "Please enter only these values \""
      alertsay = alertsay + checkOK + "\""
      alert(alertsay);
      return (false);
   }
   
   if (!decimalValid)
   {   
      alertsay = "Please enter only two digits after the decimal"
      alert(alertsay);
      return (false);
   }
}

function fnNumbersOnly(objName)
{
   // only allow 0-9 be entered, plus any comma or period
   var checkOK = "-0123456789";
   var checkStr = objName;
   var allValid = true;
   var allNum = "";
   var decimalExists = false;
   var decimalDigits = 0;
   var decimalValid = true;

   for (i=0; i<checkStr.value.length; i++)
   {
      ch = checkStr.value.charAt(i);
      for (j=0; j<checkOK.length; j++)
      {
         if (ch == checkOK.charAt(j))
            break;
      }
            
      if (j == checkOK.length)
      {
         allValid = false;
         break;
      }
      
      if (ch != ",")
      {
         if (decimalExists)
            decimalDigits = decimalDigits + 1;
         else if (ch == ".")
            decimalExists = true;
         
         if (decimalDigits > 2)
         {
            decimalValid = false;
            break;
         }
         else
            allNum += ch;
      }   
   }
   
   if (!allValid)
   {   
      alertsay = "You have entered an invalid character in a numeric field.\n"
      alertsay = alertsay + "Numeric fileds will accept only (1,2,3,4,5,6,7,8,9,0 ) as an entry."
      alert(alertsay);
      return (false);
   }
   return (true);
}

function fnCheckForSpecialChars(objName)
{
   // only allow 0-9 be entered, plus any comma or period
   var checkOK = "<!#%'\"*^>";
   var checkStr = objName;
   var allValid = true;

   for (i=0; i<checkStr.value.length; i++)
   {
      ch = checkStr.value.charAt(i);
      for (j=0; j<checkOK.length; j++)
      {
         if (ch == checkOK.charAt(j))
         {
            allValid = false;
            break;
         }
      }
   }
   
   if (!allValid)
   {   
      alertsay = "You have entered a special character in one or more of the data entry fields.\n" +
                 "Please check your entries and be sure you are not using a special character, such as  <, !, #, %, ', \", *, ^, >"
      alert(alertsay);
      return (false);
   }
   return (true);
}

/*#################################################################################
         Billing Breakdown by User (prjBdgBillingBreakdown.aspx) page scripts
###################################################################################*/
function fnCheckDuplicates(DrpDwnName, numDrpDwn)
{
   var duplicateFound = 0;
	for (i=1; i<numDrpDwn; i++)
	{
		for (j=1; j<numDrpDwn; j++)
		{
			if (i != j && createObj(DrpDwnName + i).selectedIndex != 0 && createObj(DrpDwnName + i).selectedIndex == createObj(DrpDwnName + j).selectedIndex)
			{
            duplicateFound = 1;
            createObj(DrpDwnName + j).focus();
            break;
         }
      }
      if (duplicateFound == 1)
         break;
	}
	return duplicateFound;
}

function CalculateTotals()
{
	var bdgtCostTotal = 0, val = 0;
	for (i=1; i<11; i++)
	{
		if (isNaN(parseFloat(createObj('txt' + i).value)))
		{
			bdgtCostTotal = bdgtCostTotal + 0;
			val = 0;
		}
		else
		{
			bdgtCostTotal = bdgtCostTotal + parseFloat(createObj('txt' + i).value);
			val = parseFloat(createObj('txt' + i).value);
		}

		createObj('txt' + i).value = val.toFixed(2).toString();
	}
	createObj('txtTotal').value = bdgtCostTotal.toFixed(2).toString();
	if (bdgtCostTotal == 100)
		createObj('txtTotal').className = 'inputNoBorder';
	else
		createObj('txtTotal').className = 'inputNoBorderRed';
}

/*#################################################################################
         View asset attributes
###################################################################################*/
function fnViewAttributes(id)
{
   if (isSessionTimeOut("fnViewAttributes(" + id + ")") == false)
	{
      if (strBrowser.indexOf('Firefox') != -1)
         WindowObjectReference = window.open("astModAttrib.aspx?ms=444&id="+id, null, "height=600,width=800,top=200,left=150,menubar=no,location=no,resizable=yes,scrollbars=yes,status=no");
	   else
   	   window.open('astModAttrib.aspx?ms=444&id='+id, null, 'height=600; width=800; top=200; left=150; menubar=no; scrollbars=no; status=no; titlebar=no; toolbar=no');
	}
}

/*#################################################################################
         Open ftpSite
###################################################################################*/
function fnOpenFTP(site, login, pass)
{
   if (isSessionTimeOut("fnOpenFTP(" + site + ")") == false)
	{
      if (strBrowser.indexOf('Firefox') != -1)
         WindowObjectReference = window.open("ftp://"+login+":"+pass+"@"+site);
	   else
   	   window.open('ftp://'+login+':'+pass+'@'+site);
	}
}

/*#################################################################################
         prjBlueBarQuestion.aspx
###################################################################################*/
function fnRadioSelected(id)
{
	if (createObj('hdnSelectedYN').value.indexOf(id) == -1)
		createObj('hdnSelectedYN').value = createObj('hdnSelectedYN').value + "," + id;
}

function fnCheckRequired()
{
	var aryQues = new Array();
	aryQues = createObj('hdnSmallList').value.split(',');
	for (i=0; i < aryQues.length - 1; i++)
	{
		if (createObj('txt' + aryQues[i]).value == '')
		{
		   alert('One or more required responses were not completed.');
		   return(false);
		}
	}
	aryQues = createObj('hdnLargeList').value.split(',');
	for (i=0; i < aryQues.length - 1; i++)
	{
		if (createObj('FTB' + aryQues[i]).value == '')
		{
		   alert('One or more required responses were not completed.');
		   return(false);
		}
	}
	aryQues = createObj('hdnYNList').value.split(',');
	for (i=0; i < aryQues.length - 1; i++)
	{
		if (createObj('hdnSelectedYN').value.indexOf(aryQues[i]) == -1)
		{
		   alert('One or more required responses were not completed.');
		   return(false);
		}
	}
	aryQues = createObj('hdnDDList').value.split(',');
	for (i=0; i < aryQues.length - 1; i++)
	{
		if (createObj('DDChoice'+aryQues[i]).selectedIndex == 0)
		{
		   alert('One or more required responses were not completed.');
		   return(false);
		}
	}
	return(true);
}

/*#################################################################################
         astAddEditCase.aspx
###################################################################################*/
function fnCheckCaseID()
{
   var ml = document.forms[0];
   var len = ml.elements.length;
   var varReturn = false;
   loopCaseId:
   for (var i = 0; i < len; i++) 
   {
	   var e = ml.elements[i];
	   if (e.name.substring(0, 7) == "txtCase") 
	   {
         if (!fnCheckTextBox(e, 'All Assets must have a Case#/ID in order to proceed.'))
         {
            varReturn = true;
            break loopCaseId;
         }
	   }
   }
   return (varReturn);
}

function fnCheckBarCode()
{
   var ml = document.forms[0];
   var len = ml.elements.length;
   var varReturn = false;
   loopBarCode:
   for (var i = 0; i < len; i++) 
   {
	   var e = ml.elements[i];
	   if (e.name.substring(0, 5) == "txtBC") 
	   {
         if (!fnCheckTextBox(e, 'All Assets must have a Bar Code in order to proceed.'))
         {
            varReturn = true;
            break loopBarCode;
         }
	   }
   }
   return (varReturn);
}

function fnCheckTextBox(id, msg)
{
   if (createObj(id).value == '')
   {
      alert(msg);
	   createObj(id).focus();
      return false;
   }
   else 
      return true;
}

/*#################################################################################
         shpFulfillmentOrder.aspx
###################################################################################*/
function fnCheckText(id, msg)
{
   if (createObj(id).value == '')
   {
      alert('Please enter ' + msg);
	   createObj(id).focus();
      return false;
   }
   else 
      return true;
}

function fnCheckDD(id, msg)
{
   if (createObj(id).selectedIndex == 0)
   {
	   createObj(id).focus();
      alert('Please select a ' + msg);
      return false;
   }
   else 
      return true;
}

function fnChangeFFPickup()
{
   var i = createObj('cmbPickUpAddr').selectedIndex;
   if (i > 0)
   {
      createObj('txtPickUpAddress').value = createObj('cmbPickUpAddress')[i].text.replace(/~/g,' \n');
   }
}

function fnChangeDelivery()
{
   var i = createObj('cmbDeliveryAddr').selectedIndex;
   if (i > 0)
   {
      createObj('txtDeliveryAddr').value = createObj('cmbDeliveryAddress')[i].text.replace(/~/g,' \n');
   }
}

function fnChangeRequestor(obj)
{
   var id = createObj(obj).value;
   createObj('hdnUserId').value = 0;
   var addRow = 0;
   upperlimit = arrRequestor.length;
   for (i = 0; i < upperlimit; i++) 
   {
      if (arrRequestor[i][0] == id)
      {
         addRow = i + 1;
         break;
      }
   }

   if (addRow == 0)
   {
      createObj('txtFirstName').value = '';
      createObj('txtLastName').value = '';
      createObj('txtRequestorPhone').value = '';
      createObj('txtRequestorEmail').value = '';
      createObj('txtStreetAddr').value = '';
      createObj('txtCity').value = '';
      createObj('txtState').value = '';
      createObj('txtZip').value = '';
      createObj('cmbCountry').selectedIndex = 0;
   }
   else
   {
      createObj('hdnUserId').value = arrRequestor[addRow - 1][0];
      createObj('txtFirstName').value = arrRequestor[addRow - 1][1];
      createObj('txtLastName').value = arrRequestor[addRow - 1][2];
      createObj('txtRequestorEmail').value = arrRequestor[addRow - 1][3];
      createObj('txtRequestorPhone').value = arrRequestor[addRow - 1][4];
      createObj('txtStreetAddr').value = arrRequestor[addRow - 1][5];
      createObj('txtCity').value = arrRequestor[addRow - 1][6];
      createObj('txtState').value = arrRequestor[addRow - 1][7];
      createObj('txtZip').value = arrRequestor[addRow - 1][8];
      createObj('cmbCountry').selectedIndex = 0;
      for (i = 0; i < createObj('cmbCountry').length; i++)
      {
         if (createObj('cmbCountry')[i].value == arrRequestor[addRow - 1][9])
         {
            createObj('cmbCountry').selectedIndex = i;
            break;
         }
      }
   }
}

function fnEditFulfillmentOrder(id)
{
	fnNavigate("shpFulfillmentOrder.aspx?id=" + id);
}

function fnOpenFlex(fldrId, userId)
{
   createObj('hdnSelectedSelectedFolder').value = fldrId;
   CheckSessionAndSubmit("ANNOTATE","Annotate_click");
}

function fnEditLogin(userId)
{
   createObj('hdnSelectedValue').value = userId;
   CheckSessionAndSubmit("EDITUSER","fnEditLogin");
}

function fnFileHistory(strPrjId, strAssetId)
{
   if (strBrowser.indexOf('Firefox') != -1)
      WindowObjectReference = window.open("admRptFltrPref.aspx?HideHdr=1&ms=213&Sub=91&SR=1&SRpt=130&HideMnu=1&ProjectId=" + strPrjId + "&AssetId=" + strAssetId, null, "menubar=no,location=no,resizable=yes,scrollbars=yes,status=no");
	else
		window.open('admRptFltrPref.aspx?HideHdr=1&ms=213&Sub=91&SR=1&SRpt=130&HideMnu=1&ProjectId=' + strPrjId + '&AssetId=' + strAssetId, null, 'height=650; width=800; top=100; left=200; menubar=no; status=no; titlebar=no; toolbar=no');
}

function goBudgetReport(userId)
{
   bdgtReportWindow = window.open("bdgReport.aspx?ms=422&HideHdr=1&EH=1&C=2&User=" + userId, "bdgtReportWindow", 'height=800; width=1000; top=40; left=40; menubar=no; scrollbars=yes; status=no; titlebar=no; toolbar=no');
}

function goVarianceReport(userId)
{
   bdgtReportWindow = window.open("bdgReport.aspx?ms=423&HideHdr=1&EH=1&C=2&User=" + userId, "bdgtReportWindow", 'height=800; width=1000; top=40; left=40; menubar=no; scrollbars=yes; status=no; titlebar=no; toolbar=no');
}

/*#################################################################################
         admBatchPrint.aspx
###################################################################################*/
function CheckA(e)
{
   e.checked = true;
}

function CheckB(hiddenElem, e)
{
   e.checked = true;
   if (e.name.substring(36,37) == "E" || e.name.substring(36,37) == "C" || e.name.substring(36,37) == "N")
      createObj(hiddenElem).value += ','+e.name.substring(26,36);
}

function ClearA(e)
{
   e.checked = false;
}

function ClearB(hiddenElem, e)
{
   e.checked = false;
   if (e.name.substring(36,37) == "E" || e.name.substring(36,37) == "C" || e.name.substring(36,37) == "N")
      createObj(hiddenElem).value = createObj(hiddenElem).value.replace(','+e.name.substring(26,36),'');
}

function fnClearFolderBoxes(hiddenElem, id, type)
{ //Give a folder name, this function will clear the assets for all the files.
   var ml = document.forms[0];
   var len = ml.elements.length;
   for (var i = 0; i < len; i++) 
   {
	   var e = ml.elements[i];
	   
	   if (e.name.substring(0, 12) == "FO"+id)
	   {
	      if (e.name.substring(36,37) == type)
            ClearB(hiddenElem, e); //Clears the asset's check box
         else if (e.name.substring(24,25) == type) //Parent File
            ClearA(e); //Clears the Parent asset check box
      }
   }
}

function fnClearFileBoxes(hiddenElem, id, type)
{ //Give a folder name, this function will clear the assets for all the files.
   var ml = document.forms[0];
   var len = ml.elements.length;
   for (var i = 0; i < len; i++) 
   {
	   var e = ml.elements[i];
	   
	   if (e.name.substring(12, 24) == "PA"+id && e.name.substring(36,37) == type)
         ClearB(hiddenElem, e); //Clears the asset's check box
   }
}

function fnFolderExpand(obj, id)
{
   //First clear all folder assets.
   fnClearFolderBoxes('hdnExpanded', id, 'E');
   if (obj.checked)
   {
      fnClearFolderBoxes('hdnContracted', id, 'C');
      createObj("FO"+id+'C').checked = false;
   }

   if (createObj(obj).checked)
   {
      var ml = document.forms[0];
      var len = ml.elements.length;
      for (var i = 0; i < len; i++) 
      {
	      var e = ml.elements[i];
   	   
	      if (e.name.substring(0, 12) == "FO"+id) 
	      {
	         if (e.name.substring(36,37) == "E") //Asset File
               CheckB('hdnExpanded', e);
            else if (e.name.substring(24,25) == "E") //Parent File
               CheckA(e);
	      }
      }
   }
}

function fnFolderContract(obj, id)
{
   //First clear all folder assets.
   fnClearFolderBoxes('hdnContracted', id, 'C');
   if (obj.checked)
   {
      fnClearFolderBoxes('hdnExpanded', id, 'E');
      createObj("FO"+id+'E').checked = false;
   }

   if (createObj(obj).checked)
   {
      var ml = document.forms[0];
      var len = ml.elements.length;
      for (var i = 0; i < len; i++) 
      {
	      var e = ml.elements[i];
   	   
	      if (e.name.substring(0, 12) == "FO"+id) 
	      {
	         if (e.name.substring(36,37) == "C") //Asset File
               CheckB('hdnContracted', e);
            else if (e.name.substring(24,25) == "C") //Parent File
               CheckA(e);
	      }
      }
   }
}

function fnFolderNotes(obj, id)
{
   //First clear all folder assets.
   fnClearFolderBoxes('hdnNotes', id, 'N');

   if (createObj(obj).checked)
   {
      var ml = document.forms[0];
      var len = ml.elements.length;
      for (var i = 0; i < len; i++) 
      {
	      var e = ml.elements[i];
   	   
	      if (e.name.substring(0, 12) == "FO"+id) 
	      {
	         if (e.name.substring(36,37) == "N") //Asset File
            {
               if (!createObj(e.name.replace("N", "C")).checked && !createObj(e.name.replace("N", "E")).checked)
               {
                  e.checked = false;
                  obj.checked = false;
                  alert('You must select Expanded or Contracted before you can print notes.');
                  ClearB('hdnNotes', e);
                  return -1;
               }
               else
                  CheckB('hdnNotes', e);
            }
            else if (e.name.substring(24,25) == "N") //Parent File
            {
               if (createObj(e.name.replace("N", "C")).checked || createObj(e.name.replace("N", "E")).checked)
                  CheckA(e);
            }
	      }
      }
   }
}

function fnFileExpand(obj, id)
{
   fnClearFileBoxes('hdnExpanded', id, 'E');
   if (obj.checked)
   {
      fnClearFileBoxes('hdnExpanded', id, 'C');
      var varName = obj.name.replace('E', 'C');
      createObj(varName).checked = false;
   }

   var ml = document.forms[0];
   var len = ml.elements.length;
   for (var i = 0; i < len; i++) {
	   var e = ml.elements[i];
	   
	   if (e.name.substring(12, 24) == "PA"+id && e.name.substring(36,37) == "E") {
         ClearB('hdnContracted', e);
	      if (createObj(obj).checked)
            CheckB('hdnExpanded', e);
         else
            ClearB('hdnExpanded', e);
	   }
   }
}

function fnFileContract(obj, id)
{
   fnClearFileBoxes('hdnExpanded', id, 'C');
   if (obj.checked)
   {
      fnClearFileBoxes('hdnExpanded', id, 'E');
      var varName = obj.name.replace('C', 'E');
      createObj(varName).checked = false;
   }

   var ml = document.forms[0];
   var len = ml.elements.length;
   for (var i = 0; i < len; i++) {
	   var e = ml.elements[i];
	   
	   if (e.name.substring(12, 24) == "PA"+id && e.name.substring(36,37) == "C") {
         ClearB('hdnExpanded', e);
	      if (createObj(obj).checked)
            CheckB('hdnContracted', e);
         else
            ClearB('hdnContracted', e);
	   }
   }
}

function fnFileNotes(obj, id)
{
   var ml = document.forms[0];
   var len = ml.elements.length;
   for (var i = 0; i < len; i++) {
	   var e = ml.elements[i];
	   
	   if (e.name.substring(12, 24) == "PA"+id && e.name.substring(36,37) == "N") {
	      if (createObj(obj).checked)
	      {
            if (e.name.substring(36,37) == "N")
            {
               if (!createObj(e.name.replace("N", "C")).checked && !createObj(e.name.replace("N", "E")).checked)
               {
                  alert('You must select Expanded or Contracted before you can print notes.');
                  obj.checked = false;
                  e.checked = false;
                  ClearB('hdnNotes', e);
                  return -1;
               }
               else
                  CheckB('hdnNotes', e);
            }
            else
               CheckB('hdnNotes', e);
         }
         else
            ClearB('hdnNotes', e);
	   }
   }
}



function fnAssetExpand(obj, id)
{
   createObj('hdnExpanded').value = createObj('hdnExpanded').value.replace(','+id,'');
   createObj('hdnContracted').value = createObj('hdnContracted').value.replace(','+id,'');
   if (createObj(obj).checked)
      createObj('hdnExpanded').value += ','+id;
}

function fnAssetContract(obj, id)
{
   createObj('hdnContracted').value = createObj('hdnContracted').value.replace(','+id,'');
   createObj('hdnExpanded').value = createObj('hdnExpanded').value.replace(','+id,'');
   if (createObj(obj).checked)
      createObj('hdnContracted').value += ','+id;
}

function fnAssetNotes(obj, id)
{
   createObj('hdnNotes').value = createObj('hdnContracted').value.replace(','+id,'');
   if (createObj(obj).checked)
      createObj('hdnNotes').value += ','+id;
}

/*#################################################################################
         program budget report
###################################################################################*/
function fngetPrjBdgSummary(x)
{
   if (strBrowser.indexOf('Firefox') != -1)
      WindowObjectReference = window.open("bdgReportNoHdr.aspx?ms=157&EH=1&C=2&V=6&ProjectId=" + x, null, "top=200,left=150,menubar=no,location=no,resizable=yes,scrollbars=yes,status=no");
	else
   	window.open('bdgReportNoHdr.aspx?ms=157&EH=1&C=2&V=6&ProjectId=' + x, 'rptBdg', 'resizable=1;menubar=0;titlebar=0;toolbar=0');
}

function fngetPrjVarSummary(x)
{
   if (strBrowser.indexOf('Firefox') != -1)
      WindowObjectReference = window.open("bdgReportNoHdr.aspx?ms=158&EH=1&C=2&V=6&ProjectId=" + x, null, "top=200,left=150,menubar=no,location=no,resizable=yes,scrollbars=yes,status=no");
	else
   	window.open('bdgReportNoHdr.aspx?ms=158&EH=1&C=2&V=6&ProjectId=' + x, 'rptBdg', 'resizable=1;menubar=0;titlebar=0;toolbar=0');
}

/*#################################################################################
         admCompBlueBarQuestion.aspx
###################################################################################*/
function fnAddEditOptions(questionId)
{
   createObj('hdnQuestionId').value = questionId;
   CheckSessionAndSubmit("ADD","fnAddEditOptions(" + questionId + ")");
}

function fnAlert(msg)
{
   alert(msg);
}

/*#################################################################################
         Utility - Shufflebox
###################################################################################*/
function fnAddSel(id)
{
   AddSelected('cmbAvailableList'+id, 'cmbSelectedList'+id);
}

function fnRemSel(id)
{
   RemoveSelected('cmbSelectedList'+id);
}

function fnAddAll(id)
{
   AddAll('cmbAvailableList'+id, 'cmbSelectedList'+id);
}

function fnRemAll(id)
{
   RemoveAll('cmbSelectedList'+id);
}

function postAllSelectedItems(objName, objValue)
{
	for (var i = 0; i < document.forms[0].elements.length; i++)
	{
	   var thisElement = document.forms[0].elements[i];
	   if (thisElement.type == 'select-multiple' && thisElement.id.substring(0, 15) == 'cmbSelectedList')
	   {
         ulimit = createObj(thisElement.id).length;
	      for (j = 0; j < ulimit ; j++)
	      {
	         createObj(objName).value = createObj(objName).value + '~' + createObj(createObj(thisElement.id))[j].text;
		      createObj(objValue).value = createObj(objValue).value + '~' + thisElement.id.substring(15) + '#' + createObj(createObj(thisElement.id))[j].value;
	      }
	   }
	}

	createObj(objName).value = createObj(objName).value.substring(1, createObj(objName).value.length);
	createObj(objValue).value = createObj(objValue).value.substring(1, createObj(objValue).value.length);
}

