//This is the session timeout value
var SessionTime = 20;
var timer = SessionTime * 60 * 1000;

/*****************************************************************************
* <summary>
*		Array to store the error messages
* </summary>
* <remarks>
* </remarks>
* <history>
* 	[Sivaraj_Sundaram]	11/6/2004	Created
* </history>
******************************************************************************/
//Start - MOD - WCAG0003
//Start - MOD - Work ID # 04139921		
//var errorMessageCount = 86;
var errorMessageCount = 99;
//End - MOD - Work ID # 04139921		
//End - MOD - WCAG0003
var errorMessageArray = new Array(errorMessageCount);
for(var i=0; i < errorMessageCount ; i++)
{
      errorMessageArray[i] = new Array(2);
}
errorMessageArray[0][0] = "MinMaxCharsSection"  
errorMessageArray[0][1] = "Please enter {1} to {2} characters in the \"{3}\" field {4}"
//Start - MOD - WCAG002
errorMessageArray[1][0] = "MinMaxChars"
errorMessageArray[1][1] = "Please enter {1} to {2} characters in the {3} field"
//End - MOD - WCAG002
errorMessageArray[2][0] = "Required" 
errorMessageArray[2][1] = "Please enter a value for the \"{1}\" field"
errorMessageArray[3][0] = "MinMaxDigits"
errorMessageArray[3][1] = "Please enter {1} to {2} digits in the &quot;{3}&quot; field"
errorMessageArray[4][0] = "MinDigits"
errorMessageArray[4][1] = "Please enter {1} digits in the &quot;{2}&quot; field"
errorMessageArray[5][0] = "MinMaxDigitsSection"
errorMessageArray[5][1] = "Please enter {1} to {2} digits in the &quot;{3}&quot; field {4}"
errorMessageArray[6][0] = "CheckBox"
errorMessageArray[6][1] = "Please check any of the values for the &quot;{1}&quot; field"
errorMessageArray[7][0] = "E-mail Address"
//Start - MOD - WCAG0003
errorMessageArray[7][1] = "Please enter 5 to 66 characters in the &quot;E-mail Address&quot; field"
//End - MOD - WCAG0003
errorMessageArray[8][0] = "DropDown"
errorMessageArray[8][1] = "Please select one of the &quot;{1}&quot; options"
errorMessageArray[9][0] = "DropDownSection"
errorMessageArray[9][1] = "Please select one of the &quot;{1}&quot; options in {2}"
errorMessageArray[10][0] = "AlphaNumeric"
errorMessageArray[10][1] = "Please enter only alpha or numeric characters in the &quot;{1}&quot; field"
errorMessageArray[11][0] = "Range"
//Start - MOD - WCAG0003
errorMessageArray[11][1] = "Please enter a valid value between {1} and {2} in the &quot;{3}&quot; field"
//End - MOD - WCAG0003
errorMessageArray[12][0] = "ReqdPhoneNumber"
errorMessageArray[12][1] = "Please enter {1} in 999-999-9999 (99999) format"
errorMessageArray[13][0] = "ReqdSSN"
errorMessageArray[13][1] = "Please enter {1} in 999-99-9999 format"
errorMessageArray[14][0] = "Requiredsp"
errorMessageArray[14][1] = "Ingrese su {1} en el campo &quot;{2}&quot;"
errorMessageArray[15][0] = "MinMaxCharssp" 
errorMessageArray[15][1] = "Incorpore por favor {1} a {2} caracteres en el &quot;{3}&quot;"
errorMessageArray[16][0] = "MaxCharssp"
errorMessageArray[16][1] = "Ingrese como m&#225;ximo {1} caracteres en el campo &quot;{2}&quot;"
errorMessageArray[17][0] = "OnlyDigitssp"
errorMessageArray[17][1] = "Ingrese s&#243;lo n&#250;meros en el campo &quot;{1}&quot;"
errorMessageArray[18][0] = "Rangesp"
errorMessageArray[18][1] = "Ingrese como {1} caracteres en el campo &quot;{2}&quot;"
errorMessageArray[19][0] = "Dropdownsp"
errorMessageArray[19][1] = "La primera opci&#243;n de &quot;{1}&quot; no es una selecci&#243;n v&#225;lida.  Por favor, escoja una de las otras opciones"
errorMessageArray[20][0] = "Emailsp"
errorMessageArray[20][1] = "Incorpore por favor un correo electr&#243;nico v&#225;lido."
errorMessageArray[21][0] = "SCEAccountNumber"
errorMessageArray[21][1] = "Please enter 2 or 3 as first digit of 10 digit Account Number field"
errorMessageArray[22][0] = "OfficeFootage"
errorMessageArray[22][1] = "Please enter a value for the &quot;{1}&quot; field. If you don't know, Please enter Zero."
errorMessageArray[23][0] = "MinDigits"
errorMessageArray[23][1] = "Please enter {1} digits in the &quot;{2}&quot; field"
//Start - MOD - WCAG002
errorMessageArray[24][0] = "OneFieldRequired"
errorMessageArray[24][1] = "Please enter at least one of the following to receive course confirmation: {1} or {2}."
//End - MOD - WCAG002
errorMessageArray[25][0] = "MaxChars"
errorMessageArray[25][1] = "Please Enter a {1} digit number in &quot;{2}&quot; field"
errorMessageArray[26][0] = "OnlyDigits"
errorMessageArray[26][1] = "Please enter only numeric characters in {1} field"
errorMessageArray[27][0] = "MinimumRange"
errorMessageArray[27][1] = "Please Enter a number greater than {1} in &quot;{2}&quot; field"
errorMessageArray[28][0] = "RequiredRadio"
errorMessageArray[28][1] = "Please select one of the option for &quot;{1}&quot;"
errorMessageArray[29][0] = "RangeDevice"
errorMessageArray[29][1] = "Please select {1} if you have a cycling device on your air conditioner"
//Start - MOD - WCAG002
errorMessageArray[30][0] = "SpecialCharMessage"
errorMessageArray[30][1] = "Invalid entry in {1} field"
//End - MOD - WCAG002
errorMessageArray[31][0] = "MinMaxDigitssp"
errorMessageArray[31][1] = "Incorpore por favor {1} a {2} d&#237;gitos en campo del &quot;{3}&quot;"      
//Start - MOD - WCAG002
errorMessageArray[32][0] = "ReqdFax"
errorMessageArray[32][1] = "Please enter {1} in 999-999-9999 format"
//End - MOD - WCAG002
errorMessageArray[33][0] = "ReqdStreetName"
errorMessageArray[33][1] = "Please enter the Street Name;"
errorMessageArray[34][0] = "ReqdZip"
errorMessageArray[34][1] = "Please enter 5 digits in Zip code field"
errorMessageArray[35][0] = "ReqdPhoneNumberNoExt"
errorMessageArray[35][1] = "Please enter &quot;{1}&quot; in 999-999-9999 format"
errorMessageArray[36][0] = "BothSections"
errorMessageArray[36][1] = "Please use only one section of the Customer Information. Either your name and service account number OR primary phone and address. Please correct the fields below and try again"
errorMessageArray[37][0] = "ReqdCustNum"
errorMessageArray[37][1] = "Please enter &quot;{1}&quot; in 9-999-9999 format"
errorMessageArray[38][0] = "ReqdCustAcctNum"
errorMessageArray[38][1] = "Please enter &quot;{1}&quot; in 99-999-9999 format"
errorMessageArray[39][0] = "ReqdSANum"
errorMessageArray[39][1] = "Please enter &quot;{1}&quot; in 999-9999-99 format"
errorMessageArray[40][0] = "ReqdCustBillEntry"
errorMessageArray[40][1] = "Please enter the &quot;{1}&quot; as it appears on your SCE bill"
errorMessageArray[41][0] = "CallTimeCompare"
errorMessageArray[41][1] = "The call between times start and end time may not be the same"
errorMessageArray[42][0] = "ReqDiscOption"
errorMessageArray[42][1] = "Please select a {1} Option"
errorMessageArray[43][0] = "ReqACLoc"
errorMessageArray[43][1] = "Please provide the location of your {1}"
errorMessageArray[44][0] = "ReqPhoneNum"
errorMessageArray[44][1] = "Please provide your preferred contact phone number and time"
errorMessageArray[45][0] = "RegPhone"
errorMessageArray[45][1] = "Please provide your {1} in 999-999-9999 format"
errorMessageArray[46][0] = "ReqACDiscNum"
errorMessageArray[46][1] = "The number of {1} devices must be 1 through 9"
errorMessageArray[47][0] = "ReqACNum"
errorMessageArray[47][1] = "The number of {1} units must be 1 through 9"
errorMessageArray[48][0] = "ReqdPhone"
errorMessageArray[48][1] = "Please provide your preferred contact phone number and time"
errorMessageArray[49][0] = "ReqdVerification"
errorMessageArray[49][1] = "Please Verify Customer Information provided before clicking the &quot;Submit&quot; button"
errorMessageArray[50][0] = "ACDiscACCompare"
errorMessageArray[50][1] = "The number of devices requested cannot be greater than the number of AC Units"
errorMessageArray[51][0] = "ReqCustomerName"
errorMessageArray[51][1] = "Please enter the &quot;{1}&quot; as it appears on your SCE bill"
//BEG ADD WR#71090 BY SRIVALLI - 04/06/2006
errorMessageArray[52][0] = "ReqCustPresence"
errorMessageArray[52][1] = "Please select a customer presence required or not option"
//END ADD WR#71090 BY SRIVALLI - 04/06/2006
//Added for MHP Project
errorMessageArray[53][0] = "TotUsageRqd"
errorMessageArray[53][1] = "Please enter the total usage for the tenant"
errorMessageArray[54][0] = "TotUsageReg"
errorMessageArray[54][1] = "Please enter a positive number for Total Usage for the tenant upto an accuracy of two decimal places."
errorMessageArray[55][0] = "RefundRebateTypRqd"
errorMessageArray[55][1] = "Please enter Total Refund Rebate Type"
errorMessageArray[56][0] = "RfndAmtRqd"
errorMessageArray[56][1] = "Please enter Refund amount"
errorMessageArray[57][0] = "RfndAmtReg"
errorMessageArray[57][1] = "Please enter a  for Refund amount"
errorMessageArray[58][0] = "TotElgblKWhRqd"
errorMessageArray[58][1] = "Please enter Total eligible KWh"
errorMessageArray[59][0] = "TotElgbKWhReg"
errorMessageArray[59][1] = "Please enter a positive number Total eligible KWh upto an accuracy of two decimal places"

errorMessageArray[60][0] = "ReqdCustomerName"
errorMessageArray[60][1] = "Please enter the account name"

errorMessageArray[61][0] = "ReqdStreetAddress"
errorMessageArray[61][1] = "Please enter the street address"

errorMessageArray[62][0] = "ReqdCity"
errorMessageArray[62][1] = "Please enter the city name"

errorMessageArray[63][0] = "ReqdState"
errorMessageArray[63][1] = "Please enter the state"

errorMessageArray[64][0] = "ReqdZip"
errorMessageArray[64][1] = "Please enter the zip"

errorMessageArray[65][0] = "ReqdMeterStartDT"
errorMessageArray[65][1] = "Please enter the meter start date for the current record"

errorMessageArray[66][0] = "ReqdMeterEndDT"
errorMessageArray[66][1] = "Please enter the meter end date for the current record"

errorMessageArray[67][0] = "ReqdMeterStartRD"
errorMessageArray[67][1] = "Please enter the meter start read value for the current record"

errorMessageArray[68][0] = "ReqdMeterEndRD"
errorMessageArray[68][1] = "Please enter the meter end read value for the current record"

errorMessageArray[69][0] = "ReqdTotUsage"
errorMessageArray[69][1] = "Please enter the total usage value for the current record"

errorMessageArray[70][0] = "ReqdTenant"
errorMessageArray[70][1] = "Error Occured while retrieving details"

errorMessageArray[71][0] = "RegCustomerName"
errorMessageArray[71][1] = "Please enter a valid customer name"

errorMessageArray[72][0] = "RegStreetAddress"
errorMessageArray[72][1] = "Please enter a valid street address"

errorMessageArray[73][0] = "RegCity"
errorMessageArray[73][1] = "Please enter a valid city name"

errorMessageArray[74][0] = "RegState"
errorMessageArray[74][1] = "Please enter a valid state name"

errorMessageArray[75][0] = "RegZip"
errorMessageArray[75][1] = "Please enter a proper zip code"

errorMessageArray[76][0] = "RegZpsfx"
errorMessageArray[76][1] = "Please enter a proper zip suffix code"

errorMessageArray[77][0] = "ReqdTenantAddr"
errorMessageArray[77][1] = "Please enter address for the current tenant"

errorMessageArray[78][0] = "ReqdTenantName"
errorMessageArray[78][1] = "Please enter name for the current tenant"

errorMessageArray[79][0] = "ReqdBSLNAlloc"
errorMessageArray[79][1] = "Please enter the baseline allocation number for the current tenant"

errorMessageArray[80][0] = "RegTenantAddr"
errorMessageArray[80][1] = "Please enter valid tenant address"

errorMessageArray[81][0] = "RegTenantName"
//BEGIN WR# OS0003697. Modified by Ram Koganti on 13 Oct 2006.
errorMessageArray[81][1] = "TENANT NAME CONTAINS INVALID SYMBOLS. AVAILABLE SYMBOLS ARE # . @ , - _ ~"
//END WR# OS0003697. Modified by Ram Koganti on 13 Oct 2006.

errorMessageArray[82][0] = "RegBSLNAlloc"
errorMessageArray[82][1] = "Please enter valid baseline allocation number between 1 and 5"

errorMessageArray[83][0] = "RegCustAcctNum"
errorMessageArray[83][1] = "Please enter customer account number in 2-XX-XXX-XXXX format"
errorMessageArray[84][0] = "RegServAcctNum"
errorMessageArray[84][1] = "Please enter service account number in 3-XX-XXX-XXXX format"
errorMessageArray[85][0] = "ReqdBillRate"
errorMessageArray[85][1] = "Please select a billing rate"

//Begin Prj 67188A 15Mar2007
errorMessageArray[86][0] = "ReqExEmail"
errorMessageArray[86][1] = "E-mail address entered has an invalid format - Please re-enter."
//End Prj 67188A 15Mar2007

//Start - MOD - Work ID # 04139921		
errorMessageArray[87][0] = "10DigitNumber"
errorMessageArray[87][1] = "&quot;{1}&quot; must be a 10 digit number"
errorMessageArray[88][0] = "NoSelection" 
errorMessageArray[88][1] = "Please Select a &quot;{1}&quot;"
errorMessageArray[89][0] = "EmailBlank" 
errorMessageArray[89][1] = "Please enter &quot;{1}&quot; ({2} to {3} characters)"
errorMessageArray[90][0] = "Invalid" 
errorMessageArray[90][1] = "&quot;{1}&quot; Invalid "
errorMessageArray[91][0] = "FieldRange" 
errorMessageArray[91][1] = "&quot;{1}&quot; must be between {2} and {3}"
errorMessageArray[92][0] = "SelectOneOption" 
errorMessageArray[92][1] = "Please select one of the &quot;{1}&quot; options"
errorMessageArray[93][0] = "Blank"
errorMessageArray[93][1] = "Please enter &quot;{1}&quot;"
//End - MOD - Work ID # 04139921

//End of changes for MHP
//Start - MOD - WCAG0003
errorMessageArray[94][0] = "DateFormat"
errorMessageArray[94][1] = "Please enter &quot;{1}&quot; in the format (mm/dd/yyyy)"
errorMessageArray[95][0] = "ReqdPhoneNumberFormat"
errorMessageArray[95][1] = "Please enter {1}. 10 digits only."
errorMessageArray[96][0] = "ReqdPhoneNumberExtFormat"
errorMessageArray[96][1] = "Please enter {1}. Upto 5 digits only."
errorMessageArray[97][0] = "ReqdFaxFormat"
errorMessageArray[97][1] = "Please enter {1}. 10 digits only."
errorMessageArray[98][0] = "ReqdSSNFormat"
errorMessageArray[98][1] = "Please enter {1}. 9 digits only."
//End - MOD - WCAG0003


/*****************************************************************************
* <summary>
*		Function Name	: Validator
*		Purpose			: Loops through the Validator control collection and
*						  changes the color of the Label Text if there is no
*						  valid entry in the corresponding control
* </summary>
* <returns>
* </returns>
* <remarks>
* </remarks>
* <history>
* 	[Sivaraj_Sundaram]	10/11/2004	Created
* </history>
******************************************************************************/
function Validator()
{	
	//Variable for mapping the Error Label and
	//Display Label of controls
	var genLabelControl;
	
	//Variable for mapping the control
	var genControl;
	
	//Variable for storing the control name
	var controlName;
	
	//Variable for the tab index of control
	var ctrlTabIndex = -1;
	
	//Function to reset the error label and all display labels
	ClearErrorLabels();
	
	//Loop through all the validator controls in the page
	for(var i = 0; i < Page_Validators.length; i++ )
	{
		//Explicitly validate the validator control
		ValidatorValidate(Page_Validators[i]);
		//Check whether the validator has any validation errors
		//to be displayed
		if(!Page_Validators[i].isvalid)
		{
			controlName = 
				Page_Validators[i].controltovalidate;
			
			//If the control is a radio button list then get the 
			//child nodes of the control for getting the tab index
			if(controlName.substring(0,3)=="rdb" || 
				controlName.substring(0,3)=="RDB")
			{
				genControl = document.getElementById(controlName);
				genControl = 
						genControl.childNodes.item(0);
			}
			else
			{		
				genControl = document.getElementById(controlName);
			}
			
			//Set the Tab Index Flag to the lowest
            //Tab Index of the control
            if (ctrlTabIndex < 0)
            	ctrlTabIndex = genControl.tabIndex;
            
			//Check whether the control id ends with "_"
			//If it ends with "_" remove the last two underscores
			//and use the rest of the string for getting the label
			//control Else use the string directly for getting 
			//the label control
			genLabelControl=GetLabelControl(controlName);
			
			//Check whether the control tab index is less than 
			//the tab index corresponding to the tab index of the 
			//control whose error message has been set in the 
			//error label before
			if(genLabelControl != null)
			{
				genLabelControl.className = "redtext"
            }
                
			if(genControl.tabIndex <= ctrlTabIndex)
			{
				
				document.all.lblError.innerHTML = GetErrorMessage(Page_Validators[i].errormessage);
				
				document.all.lblError.className = "redtext";
				document.all.divErrorMessage.style.visibility = "visible";
				document.all.divErrorMessage.style.display = "block";
				genControl.focus();
				ctrlTabIndex = genControl.tabIndex;
			}
		}
	}
	
	//If there are no error labels set from validator controls
	//then check for invalid entries in the text box controls
	if(document.all.lblError.innerHTML == "")
	{
		window.event.returnValue=true;
	}
	else
		window.event.returnValue=false;
		
		
}

/*****************************************************************************
* <summary>
*		Function Name	: ClearErrorLabels
*		Purpose			: Resets the color of the Label text to the default 
*						  color
* </summary>
* <returns>
* </returns>
* <remarks>
* </remarks>
* <history>
* 	[Sivaraj_Sundaram]	10/11/2004	Created
* </history>
******************************************************************************/
function ClearErrorLabels()
{	
	var control;
	var genLabelControlName;
	//Loop thorough all the controls in the page
	for(i=0;i<document.forms["frmMain"].length;i++)
	{
		if(document.forms["frmMain"].elements[i].id.substring(0,3)=="chk" ||
		   document.forms["frmMain"].elements[i].id.substring(0,3)=="rdb" )
		{
			genLabelControlName = document.forms["frmMain"].elements[i].id;
			genLabelControlName = genLabelControlName.slice(0, 
				genLabelControlName.lastIndexOf("_"));
			control = document.getElementById("lbl" + 
				genLabelControlName);
		}
		else if(document.forms["frmMain"].elements[i].id.lastIndexOf("_") 
			== document.forms["frmMain"].elements[i].id.length - 1)
		{
			genLabelControlName = 
				document.forms["frmMain"].elements[i].id.slice(0, 
				document.forms["frmMain"].elements[i].id.length - 1);
			genLabelControlName = genLabelControlName.substr(0,
				genLabelControlName.lastIndexOf("_"));
			control = 
				document.getElementById("lbl" + genLabelControlName);
		}
		else
		{
			control = document.getElementById("lbl" + 
				document.forms["frmMain"].elements[i].id);
		}
		
		//Reset the display labels of all controls
		if(control != null )
		{
			control.className = "labeltext";
		}
	}
	//Reset the error display
	document.all.divErrorMessage.style.visibility = "hidden";
	document.all.divErrorMessage.style.display = "none";
	document.all.lblError.innerHTML = "";
	/* Start - MOD – WCAG0002 */
	document.all.lblError.style.visibility = "hidden";
	document.all.lblError.style.display = "none";
	if(document.all.aError != null)
	{
		document.all.aError.style.visibility = "hidden";
		document.all.aError.style.display = "none";
	}
	/* End - MOD – WCAG0002 */
}

/*****************************************************************************
* <summary>
*		Function Name	: GetErrorMessage
*		Purpose			: Loops through the error message array and get the 
*						  corresponding error message
* </summary>
* <param name="validatorErrorString"></param>
* <returns>
* </returns>
* <remarks>
* </remarks>
* <history>
* 	[Sivaraj_Sundaram]	10/11/2004	Created
* </history>
******************************************************************************/
function GetErrorMessage(validatorErrorString)
{
      var i = 0;
      var j = 1;
      var errorMsg = "";
      var errorString = validatorErrorString.split('~');
      
      for (i = 0; i < errorMessageCount; i++)
      {
            if(errorMessageArray[i][0].toLowerCase() == errorString[0].toLowerCase())
            {
				if(errorString.length > 1)
				{
					
				  errorMsg = errorMessageArray[i][1];
				  //Replace the parameterized error message with the respective
				  //error string
                  for(j = 1; j<= errorString.length - 1; j++)
                  {
                        errorMsg = errorMsg.replace("{" + j + "}",errorString[j]);
                    
                  }
				}
                else
                {
					errorMsg = errorMessageArray[i][1];
					
                }
            }
      }
      return errorMsg;
}

/*****************************************************************************
* <summary>
*		Function Name	: GetLabelControl
*		Purpose			: Gets the associated label id from the Control Name
* </summary>
* <param name="controlName"></param>
* <returns>
* </returns>
* <remarks>
* </remarks>
* <history>
* 	[Sivaraj_Sundaram]	11/6/2004	Created
* </history>
******************************************************************************/
function GetLabelControl(controlName)
{
     //Check whether the control id ends with "_"
	//If it ends with "_" remove the last two underscores
	//and use the rest of the string for getting the label
	//control Else use the string directly for getting 
	//the label control
	var control;
	if(controlName.lastIndexOf("_")
		== controlName.length - 1)
	{
		controlName = 
			controlName.slice(0, 
			controlName.length - 1);
		controlName = 
			controlName.substr(0,
			controlName.lastIndexOf("_"));
		control = 
			document.getElementById("lbl" + 
			controlName);
	}
	else
	{
		control = 
			document.getElementById("lbl" + 
			controlName);
	}	
	
	return control;
}

/*****************************************************************************
* <summary>
*		Function Name	: SetInitialFocus
*		Purpose			: Sets the focus on the first user editable field 
* </summary>
* <param name="doc"></param>
* <returns>
* </returns>
* <remarks>
*		Buttons are ignored from the List
* </remarks>
* <history>
* 	[Sivaraj_Sundaram]	11/6/2004	Created
* </history>
******************************************************************************/
function SetInitialFocus(doc)
{
	if(doc==undefined)
	{
		doc=document;
	}
    if(doc.activeElement!=undefined && doc.activeElement != null)
    {
	     if(doc.activeElement.nodeName!="BODY")return;
    }
    var e=doc.body.all;
    for(var i=0; i < e.length; i++)
    {           
	  if(e[i].tabIndex == -1)continue;
      if(e[i].initialFocus == "false")continue;
      if(e[i].nodeName=="INPUT" || e[i].nodeName == "SELECT" || e[i].nodeName == "TEXTAREA")
      {
	      if(e[i].type.toLowerCase()=="hidden")continue;
          if(e[i].disabled==true)continue;
          if(e[i].readOnly==true)continue;
          if(e[i].style.visibility.toLowerCase()=="hidden")continue;
          if(e[i].style.display.toLowerCase()=="none")continue;
          //if node is the search input box, then do not focus
          /* Start - MOD – WCAG0003 - Undo the commented code */
          /* Start - MOD – WCAG0002 */
          if(e[i].form.id != doc.forms["frmMain"].id) continue;
          /* End - MOD – WCAG0002 */
          /* End - MOD – WCAG0003 */
          try
          {		
	          e[i].focus();
          }
          catch(Exception)
          {                      
          }
 		break;
	  }
	}
}

function TestTimer()
{
	if(timer > 0)
	{
		timer -= 1;
		setTimeout("TestTimer();",timer);
	}
	else
	{
		location.href = "CommonErrorPage.aspx";
	}
}
