//Holds the boolean value to show the alert message 
//when data modified and User 
//Navigating to another page with out saving
var IsDataChanged
IsDataChanged =false;

//Client and Server Date Formats
var CDateFormat = "MM/dd/yyyy";
var SDateFormat = "MM/dd/yyyy";

var isappaaIE = false;
var isappaaNav = false;
var TypesChanged = false
var isNav7 = false;
var isIE = false;
var isNav = false;

if (navigator.appName == "Netscape"){
	isNav = true;
	if(navigator.appVersion.indexOf("5.0") == 0){
		isNav7 = true		
	}
}
else
	isIE = true;


var popTop = (window.screen.availHeight - 500) / 2
var popLeft = (window.screen.availWidth - 700) / 2

var bars="titlebar=no,scrollbar=no,menubar=no,statusbar=no,location=no"; 
var Myoptions="width=700,height=500,toolbar=no,directories=no,screenX="+popLeft+",screenY="+popTop+",resizable=no,top="+popTop+",left="+popLeft 

function SetFocusToFirstField() 
{
	if(window.document.forms.length>0)
	{
		if(window.document.forms[0].elements.length>0)
		{
			for(i=0;i<window.document.forms[0].elements.length;i++)
			{
				//alert("The Type Name <"+window.document.forms[0].elements[i].type+">");
				if((window.document.forms[0].elements[i].type=="select-one")||(window.document.forms[0].elements[i].type=="checkbox")||(window.document.forms[0].elements[i].type=="text"))
				{
					window.document.forms[0].elements[i].focus();
					break;
				}
				else if(window.document.forms[0].elements[i].type=="button")
				{
					if(window.document.forms[0].elements[i].disabled==false)
					{
						window.document.forms[0].elements[i].focus();
						break;
					}
				}
			}
		}
	}
}

function NavigateToURL(url)
{
	
	if(IsDataChanged==true)
	{
		if(confirm("Do you wish to ignore the changes?"))
		{
			window.location.href=url;
		}
	}
	else
	{
		window.location.href=url;
	}
	
}
		/*var Array checkObjs = new Array();

		function UpdateChecks(checkObj){
			var forSingleOnly = false;
			if(arguments.length == 2)
				forSingleOnly = eval(arguments[1]);
			if(checkObj.checked)
				if(forSingleOnly && checkObjs.length == 1){
					eval(checkObjs[0]).checked = false;
					checkObjs[checkObjs.length] = checkObj;
				}
				else	
					checkObjs[checkObjs.length] = checkObj;
			else{
				Array copyCheckObjs = new Array();
				for(i=0;i<checkObjs.length;i++){
					if(checkObj !== eval(checkObjs[i]))
					   copyCheckObjs[copyCheckObjs.length] = eval(checkObjs[i]);  
				}
				checkObjs = copyCheckObjs;
			}
		}
		
		function TransferChecks(){
			var
		}*/



	/*
		The below functional block is for opening the popup window
		as many as required. then any users calling this function should
		call window the minimum parameters.	All the parameters to
		this function call should be comma separated strings only.
		should not use any other conventions to call this.
		
		the below describes the parameter list which supposed to be
		given in order to open the popup windows.
		
		ParameterNo.		description
		1			should be the popup screens relative path for the
					file from the web context that a open function of
					window should look.	The file type for opening the 
					popup window are '.htm','.html','aspx' only. if the 
					said file types are not matched then the function
					call will alert the user to user appropriate file type.
		2			this parameter is a call index. this parameter right 
					now not used. However this is pre-anticipated for
					the reason that a screen potentially can have multiple 
					popups, where in this parameter can be used to identify 
					and differentiate the calls from which this will be 
					orginated.
		3			This parameter will be used for opening the multi popups.
					The basic functionality implemented like this.
					a)	if the calling function have this value as false and no 
					window is opened then simply opens this window.
					b)	if the calling function have this value as false and a 
					window is opened then asks for the confirmation to close
					the existing child window. on this dialog if a user say
					yes then closed the existing window opens up the new window.
					c)	if the calling function have this value as true then
					simple opens up the new window.
					d)	if the below situation is raised because of opening
					the windows that having too many window and the present calling
					function have this parameter false different dialog box will be
					opened for confirmation if user say 'yes' on this then closes
					all the child windows then opens up the present calling window.
					
		4			window name is used for open of multi windows in case the 
					above parameter is set to true. this is the pre-requesit for
					opening multi windows.
		
		5			form name is used in the url in case the popup screen whats
					use this form in case required only the this form name is
					the present window form name. this name is must.
		
		The above five parameters are must. In case user is not giving these
		then the function call will alert the user to provide this data.
		
		The parameters after this will be appeded to url as a query string.
		These parameters are generally been used in the popup screen rendering
		so, this are the screen specific times. the preferable format for this
		should follow like key value pair.
		
		fkey_user='1' or product_id='ccjjdk'
		
		
		all the user defined parameter should also be comma separated values only 
		with the above format.
		
		note:
		if the value have the spaces then this may not function properly. let me
		know the requirement then this may be modified that time.
		
		
					
					
					
								
	
	
	*/

	var popUpWindow = new Array();
	function NavigateToPopUpURL(){
		var argumentSize = arguments.length;
		
		if(argumentSize < 5 ){
			alert("No suficiant data available for opening popup screen.");
			return;
		}
		var regExp = /(\.htm|\.html|\.aspx)/;
		var url;
		var callIndex;
		var hasMultiPopups;
		var windowName;
		var formName;
		if(regExp.test(arguments[0]))  
			url = arguments[0]+"?";
		else
			alert("No Property Navigation URL identified.");
		 
		callIndex = arguments[1];
		
		hasMultiPopups = arguments[2];
			
		windowName = arguments[3];
		
		formName = arguments[4];
		
		url+= "callIndex="+callIndex;
		
		url+= "&windowName="+windowName;
		
		url+= "&formName="+formName;
		
		for(i=5;i<argumentSize;i++){
			url += "&"+arguments[i];
		}
		
		
		var numberOfWindows = popUpWindow.length;
				
		if(popUpWindow[0] == null && hasMultiPopups == 'false'){
			
			popUpWindow[0] = window.open(url,windowName);
		}
		else if(popUpWindow[0] && popUpWindow.length == 1 && hasMultiPopups == 'false'){
			//alert(eval(popUpWindow[0]).closed)
			if(confirm("Would You like to close opened popup window.")){
			   popUpWindow[0].close();
			   popUpWindow[0] = null;
			   popUpWindow[0] = window.open(url,windowName);
			}
		}
		else if(popUpWindow[0] && popUpWindow.length > 1 && hasMultiPopups == 'false'){
			if(confirm("There are too many windows are opened. Are you willing to close all of them?")){
				for(i = 0;i< popUpWindow.length; i++){
					popUpWindow[i].close();
					popUpWindow[i] = null;
				}
			    popUpWindow[0] = window.open(url,windowName);
			}
		}
		else if(hasMultiPopups == 'true'){
			popUpWindow[popUpWindow.length] = window.open(url,windowName);
		}
	}
	
	function UpdatePopUpWindow(popWindow){
		 if(popUpWindow.length == 1){
			popUpWindow = null;
			popUpWindow[popUpWindow.length] = popWindow;
		 }
	}
	
	function NavigateToFilePopUpURL(){
		var argumentSize = arguments.length;
		var winSettings = 'menubar=no,toolbar=no,scrollbars=yes,resizable=yes,width=500,height=300,top=0,left=0';
		
		if(argumentSize < 5 ){
			alert("No suficiant data available for opening popup screen.");
			return;
		}
		var regExp = /(\.htm|\.html|\.aspx)/;
		var url;
		var callIndex;
		var hasMultiPopups;
		var windowName;
		var formName;
		if(regExp.test(arguments[0]))  
			url = arguments[0]+"?";
		else
			alert("No Property Navigation URL identified.");
		 
		callIndex = arguments[1];
		
		hasMultiPopups = arguments[2];
			
		windowName = arguments[3];
		
		formName = arguments[4];
		
		url+= "callIndex="+callIndex;
		
		url+= "&windowName="+windowName;
		
		url+= "&formName="+formName;
		
		for(i=5;i<argumentSize;i++){
			url += "&"+arguments[i];
		}
		
		
		var numberOfWindows = popUpWindow.length;
				
		if(popUpWindow[0] == null && hasMultiPopups == 'false'){
			
			popUpWindow[0] = window.open(url,windowName,winSettings);
		}
		else if(popUpWindow[0] && popUpWindow.length == 1 && hasMultiPopups == 'false'){
			//alert(eval(popUpWindow[0]).closed)
			if(confirm("Would You like to close opened popup window.")){
			   popUpWindow[0].close();
			   popUpWindow[0] = null;
			   popUpWindow[0] = window.open(url,windowName,winSettings);
			}
		}
		else if(popUpWindow[0] && popUpWindow.length > 1 && hasMultiPopups == 'false'){
			if(confirm("There are too many windows are opened. Are you willing to close all of them?")){
				for(i = 0;i< popUpWindow.length; i++){
					popUpWindow[i].close();
					popUpWindow[i] = null;
				}
			    popUpWindow[0] = window.open(url,windowName,winSettings);
			}
		}
		else if(hasMultiPopups == 'true'){
			popUpWindow[popUpWindow.length] = window.open(url,windowName,winSettings);
		}
	}
	
	
	/*
		The below function is for writting the popup data
		on to the parent window.
	
	*/
	
	function WritePopUPData(){
		
		var argumentSize = arguments.length;
		if(argumentSize == 0 )
			return;
		
		if(argumentSize < 3)
			alert("No suficiant Arguments.");
		var formName;
		
		if(top.window && top.window.opener)
			formName = "top.window.opener."+trim(arguments[0]);
		else
			formName = "document."+trim(arguments[0]);
			
		//alert(arguments[1]);
		//alert(formName);
		var topWindowForm = eval(formName);
		
		var childWindow = trim(arguments[1]);
		var submitParent = trim(arguments[2]);
		
		var field;
		var params;
		var parray;
		
		if(topWindowForm){
			for(i=3;i<argumentSize;i++){
				parray =  arguments[i].split("^");				
				for(j=0;j<parray.length;j++){
					params = parray[j].split("=")		
						
					if(params.length == 2){
						//alert(formName+"."+trim(params[0]));
						field = eval(formName+"."+trim(params[0]));
						if(field){							
							field.value = trim(params[1]);						
						}else{
							//This block is used for setting the data to layers in NS and Div tags in IE
							if(top.window.opener)
								field=eval("top.window.opener."+params[0]);
							else{								
								if(isNav7==true){
										top.window.document.getElementById(trim(params[0])).innerHTML = trim(params[1]);
										top.window.document.getElementById(trim(params[0])).style.visibility="hidden" 
										top.window.document.getElementById(trim(params[0])).style.visibility="visible" 
								}else{
									field=eval(params[0]);							
								}
							}							
							//if(field)
							//	field(trim(params[1]));
								
							if (field){
								if (isIE == true){	
									field.innerHTML = trim(params[1]);
								}
								else if (isNav == true){
									if(isNav7==true){
										top.window.document.getElementById(trim(params[0])).innerHTML = trim(params[1]);
										top.window.document.getElementById(trim(params[0])).style.visibility="hidden" 
										top.window.document.getElementById(trim(params[0])).style.visibility="visible" 
									}else{
										field.document.open();
										field.write(trim(params[1]));
										field.close(); 
									}
								}
							}	
						}
					}
				}				
			}
		}


		if(childWindow != null && trim(childWindow) != '' && submitParent=='false'){
			var thisWindow =eval(childWindow);
			thisWindow.close();
			
		}
		if(topWindowForm && submitParent=='true'){
			field = eval(formName+".TargetAction"); 
			if(field){
				var fval = trim(field.value);
				if( !fval || fval === '')
					field.value = "select";
			}
			var thisWindow =eval(childWindow);
			thisWindow.close();
			setTimeout(ClearPopUpWindows,1);
			topWindowForm.submit();
			
		}
			
		setTimeout(ClearPopUpWindows,1);
		
	}
	
	function ClearPopUpWindows(){
		var numberOfWindows = popUpWindow.length;
		var newPopUpWindows = new Array();
		var index = 0;
		for(i=0;i<numberOfWindows;i++){
			if(popUpWindow[i]){
				var obj = eval(popUpWindow[i]);
				//alert(obj.closed)
				if(obj.closed){
					popUpWindow[i] = null;
				}
				else{
					newPopUpWindows[index] = popUpWindow[i];
					index++;
				}
			}
		}
		popUpWindow = newPopUpWindows;
	}
	
	
	var notesWindow = false;
	
	var parentFieldObject;
	var checkObject;
	function OpenNotesWindow()
	{
		var argSize = arguments.length;
		
		if(argSize != 5) {alert("Can not open PopUp.");return;}
		var popupSize = popUpWindow.length;
		if(popupSize > 0 ){
			ClearPopUpWindows();
			return;
		}
		
		var checkBox = arguments[4];

		var pageTitle = trim(arguments[0]);
		var windowName = trim(arguments[1]);
		var formName = trim(arguments[2]);
		var parentFormRef = "window.document."+formName;
		var fieldName = trim(arguments[3]);
		var fieldRef = "window.document."+formName+"."+fieldName;
		//alert(parentFormRef);
		var parentObject = eval(parentFormRef);
		if(!parentObject){
			alert("Object not identified.");
			return;
		}
		
		var fieldObject = eval(fieldRef);
		if(!fieldObject){
			alert("Object not identified.");
			return;
		}
		
		var confirmMessage = "Shall you want to clear the '"+pageTitle+"' then \nclick 'Ok' else click 'Cancel'.\nThe 'Cancel' brings the old notes content with check enabled.";
		if(checkBox){
			if(!checkBox.checked){
				if(popUpWindow.length == 1){
					checkBox.checked = true;
					return;
					
				}
				
				if(confirm(confirmMessage)){
					fieldObject.value = '';
					return;
				}
				else{
					checkBox.checked = true;
				}
			}
			checkObject = checkBox; 
		}
		
		parentFieldObject = fieldObject;
		
		/*
			Note : for the internationalization the 
			below code will be modified and the 
			relative url string should 
			be obtained from the parent function
			call.
		
		*/
		var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
		//if(InternetExplorer)
		//{
			//document.write("<LINK rel='stylesheet' href='../styles/admin/styleie.css' type='text/css'>");
		//}
		//else
		//{
			//document.write("<LINK rel='stylesheet' href='../styles/admin/stylens.css' type='text/css'>");
		//}	
		newWindow=window.open("",windowName,"width=450,height=300");
		newWindow.document.open();
		newWindow.document.write("<HEAD><TITLE class='bodytext'>"+pageTitle+"</TITLE>");
		if(InternetExplorer)
		{
			newWindow.document.writeln("<link rel='stylesheet' href='../styles/admin/styleie.css' type='text/css'>");
		}
		else
		{
			newWindow.document.writeln("<link rel='stylesheet' href='../styles/admin/stylens.css' type='text/css'>");
		}
		newWindow.document.writeln("<style type='text/css'>");
		newWindow.document.writeln("</style></HEAD>");
		newWindow.document.write("<body onLoad='newWindow.document.myform.Text1.focus();' onUnLoad='top.window.opener.ClearPopUpWindows();'><FORM NAME='myform'><center>");
		newWindow.document.write("<table border='0' cellspacing =1 width='90%'><tr><td class=bgDarkColor>");
		newWindow.document.write("<table border='0' bgColor='#FDF5E6' width='100%'>");
		newWindow.document.write("<tr><td align='center' width='100%'><span class='bodytext'><b>"+pageTitle+"</b></span></td></tr>");
		newWindow.document.write("<tr><td align='center'><TEXTAREA class=s1 NAME='Text1' ROWS=10 COLS=42 ");
		newWindow.document.write(" >"+unescape(fieldObject.value)+"</textarea></td></tr>");		
		newWindow.document.write("<tr><td align='center'>");
		//newWindow.document.write("<a href=\"javascript:top.window.opener.WriteNotesToParent(window.document.myform.Text1.value);window.close();\">");
		newWindow.document.write("<input type='button' class='buttons' name='btnSave' value='Save'onclick=\"javascript:top.window.opener.WriteNotesToParent(window.document.myform.Text1.value);window.close();\" >");
		newWindow.document.write("&nbsp;&nbsp;&nbsp;");
		//newWindow.document.write("<a href=\"javascript:top.window.opener.WriteNotesToParent('close',window.document.myform.Text1.value);window.close();\">");
		newWindow.document.write("<input type='button' class='buttons' name='btnClose' value='Close'onclick=\"javascript:top.window.opener.WriteNotesToParent('close',window.document.myform.Text1.value);window.close();\" ></td></tr>");
		newWindow.document.write("</table>");
		newWindow.document.write("</tr></td></table>");
		newWindow.document.write("<script language=\"javascript\">");
		newWindow.document.write("document.myform.Text1.focus();");
		newWindow.document.write("</script>");
		newWindow.document.write("</FORM></center>");
		newWindow.document.write("</body></html>");
		popUpWindow[popUpWindow.length] = newWindow;
		//newWindow.document.close();
		newWindow = null;
	}
	
	function WriteNotesToParent(){
		if(arguments.length == 2 && popUpWindow.length == 1 && arguments[0] == 'close'){
			if(checkObject.checked && (trim(arguments[1]) == '' || !arguments[1]))
				checkObject.checked = false;
			parentFieldObject = null;
			popUpWindow[0] = null;	
		}
		else if(parentFieldObject && popUpWindow.length == 1){			
			parentFieldObject.value = arguments[0];
			parentFieldObject = null;
			popUpWindow[0] = null;			
		}
		ClearPopUpWindows();
	}

	
	/*
	   End of coding.
	
	
	*/

function IsValidEmailSyntax( sEmail ) 
{ 

   return ( sEmail.search( /\w+((-\w+)|(\.\w+)|(\_\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z]{2,5}/ ) != -1); 
} 

function validEmail(email)
{
	invalidChars="/:,;"

	if(email=="")
	{
		return(false);
	}
	for(i=0;i<invalidChars.length;i++)
	{
		badChar=invalidChars.charAt(i)
		if(email.indexOf(badChar,0)!=-1)
		{
			return(false);
		}
	}
	atPos=email.indexOf("@",1)
	if(atPos==-1)
	{
		return(false);
	}
	if (email.indexOf("@",atPos+1)!=-1)
	{
		return(false);
	}
	periodPos=email.indexOf(".",atPos)
	if(periodPos==-1)
	{
		return(false);
	}
	if(periodPos+3>email.length)
	{
		return(false);
	}
	if(email.charAt(email.length - 1)==".")
	{
		return(false);
	}

	return(true);
}


//THESE ARE THE FUNCTIONS FOR VALIDATING  THE DATE FIELDS
function chkdate(objName)
{
	var datefield = objName;
	if (validDate(objName) == false) 
	{
		datefield.select();
		//alert("That date is invalid.Enter in mm-dd-yyyy format  Please try again.");
		datefield.focus();
		return false;
	}
	else
	{
		return true;
	}
}


function checkTime(objName)
{
	var fval = objName.value;
	var x=new RegExp("^[0-9]+:[0-9]+$");	
	
	
	if (!(fval.search(x) != -1) )
		return false ;
	else
	{
			
			var temp = objName.value;
			var temp1 = temp.split(':');
			
			if (eval(temp1[0]) > 8 && eval(temp1[0]) < 12 )
			{				
				objName.value = objName.value + ' am';
			}
			else if (eval(temp1[0]) > 1 && eval(temp1[0]) < 8 )
			{				
				objName.value = objName.value + ' pm';
			}
			else if (eval(temp1[0]) == 12 || eval(temp1[0]) == 1)
			{
				objName.value = objName.value + ' pm';
			}
			
	}
	fval = objName.value;	
	
	x = new RegExp("^[0-9]+:[0-9]+ [aApP]+[mM]+$");												
	if(fval.search(x) != -1) 
		return false ;
	else
		return true;
}

function checkTimewithoutAMorPM(objName)
{
	var fval = objName.value;
	var x=new RegExp("^[0-9]+:[0-9]+$");
	if(fval.search(x) != -1) 
		return false ;
	else
		return true;
}

function checkDate(objName){
	if(!validDate(objName)){
		alert("Date should be in \"" + CDateFormat + "\" format and \nbetween \""+ SetCurrentDateFormat("01/01/1900",SDateFormat,CDateFormat) +"\" and \""+SetCurrentDateFormat("12/31/9999",SDateFormat,CDateFormat)+"\"")
		objName.focus();
		objName.select();
		return false;
	}
	return true;
}


function validDate(objName)
{
	var strDatestyle = "US"; //United States date style
	var strDate;
	var strDateArray;
	var strDay;
	var strMonth;
	var strYear;
	var intday;
	var intMonth;
	var intYear;
	var booFound = false;
	var datefield = objName;
	var strSeparatorArray = new Array(". ","-"," ","/",".");
	var intElementNr;
	var err = 0;
	var splitStr = ""
	var CDateArray;

	var strMonthArray = new Array(12);
	strMonthArray[0] = "Jan";
	strMonthArray[1] = "Feb";
	strMonthArray[2] = "Mar";
	strMonthArray[3] = "Apr";
	strMonthArray[4] = "May";
	strMonthArray[5] = "Jun";
	strMonthArray[6] = "Jul";
	strMonthArray[7] = "Aug";
	strMonthArray[8] = "Sep";
	strMonthArray[9] = "Oct";
	strMonthArray[10] = "Nov";
	strMonthArray[11] = "Dec";
	datefield.value = trim(datefield.value);
	strDate = datefield.value;
	//alert(strDate)
	var x=new RegExp("[^. 0-9/-]");
		
	if (strDate.length < 1){
			return true;
	}if(strDate.search(x)!=-1){
		return false;
	}
	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) 
	{
		if(CDateFormat.indexOf(strSeparatorArray[intElementNr]) != -1 && splitStr==""){
			splitStr = strSeparatorArray[intElementNr];
			CDateArray = CDateFormat.split(splitStr)
		}
	}
	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) 
	{
		if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) 
		{
			strDateArray = strDate.split(strSeparatorArray[intElementNr]);
			//alert(strDateArray)
			if (strDateArray.length != 3){
				err = 1;
				return false;
			}else{
				for (intEltNr = 0; intEltNr < CDateArray.length; intEltNr++){
					if(CDateArray[intEltNr].indexOf("y")!=-1){
						strYear = strDateArray[intEltNr];					
					}else if(CDateArray[intEltNr].indexOf("M")!=-1){
						strMonth = strDateArray[intEltNr];													
					}else if(CDateArray[intEltNr].indexOf("d")!=-1){
						strDay = strDateArray[intEltNr];
						if (strDateArray[intEltNr].length>2){							
							strDay = strDateArray[intEltNr].substring(0,2)
						}
					}
				}
				//alert("###############Date["+strDay+"]Month["+strMonth+"]Year["+strYear+"]")
					/*strDay = strDateArray[0];
					strMonth = strDateArray[1];
					strYear = strDateArray[2];*/
			}
			booFound = true;
		 }
	}
	if (booFound == false){
		if ((strDate.length>5)&&(strDate.length<9)&&(strDate.length!=7)){
			var tempInt = 0 ;
			//alert(CDateArray)
			for (intEltNr = 0; intEltNr < CDateArray.length; intEltNr++) 
			{
				if(CDateArray[intEltNr].indexOf("y")!=-1){
					if(strDate.length == 6){
						strYear =  strDate.substr(tempInt,2);			
						tempInt = tempInt + 2
					}else{
						strYear =  strDate.substr(tempInt,4);		
						tempInt = tempInt + 4
					}
				}else if(CDateArray[intEltNr].indexOf("M")!=-1){
					strMonth = strDate.substr(tempInt, 2);
					tempInt = tempInt + 2
				}else if(CDateArray[intEltNr].indexOf("d")!=-1){
					strDay = strDate.substr(tempInt, 2);
					tempInt = tempInt + 2
				}
			}
			//alert(">>>>>>>Date["+strDay+"]Month["+strMonth+"]Year["+strYear+"]")
		}else{
			return false;
		}
	}
	if (strYear.length == 2){
			strYear = '20' + strYear;
	}

	// US style
	/*	if (strDatestyle == "US")
		{
				strTemp = strDay;
				strDay = strMonth;
				strMonth = strTemp;
		}
	*/
	intday = parseInt(strDay, 10);
	if (isNaN(intday)){
		err = 2;
		return false;
	}
	intMonth = parseInt(strMonth, 10);
	if (isNaN(intMonth))
	{
		for (i = 0;i<12;i++)
		{
			if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()){
					intMonth = i+1;
					strMonth = strMonthArray[i];
					i = 12;
			}
		}if (isNaN(intMonth)){
				err = 3;
				return false;
		}
	}
	intYear = parseInt(strYear, 10);
	if (isNaN(intYear)){
		err = 4;
		return false;
	}
	
	if (intYear>9999 || intYear<1900){
	    //alert("err 6:");
		err = 5;
		return null;
	}
	
	if (intMonth>12 || intMonth<1) {
			err = 5;
			return false;
	}
	if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
			err = 6;
			//alert("This is not a valid calender date \n This month contains only 31 days.");
			return false;
	}
	if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)){
			err = 7;
			//alert("This is not a valid calender date \n This month contains only 30 days.");
			return false;
	}
	if (intMonth == 2){
		if (intday < 1){
				err = 8;
				return false;
		}
		if (LeapYear(intYear) == true){
			if (intday > 29){
				err = 9;
				//alert("This is not a valid calender date \n This month contains only 29 days.");
				return false;
			}
		}else{
			if (intday > 28){
				err = 10;
				//alert("This is not a valid calender date \n This month contains only 28 days.");
				return false;
			}
		}
	}
		
		
	var fdate =  new Array ("","","")//CDateArray.clone();
	if (strDatestyle == "US"){
		for (intElementNr = 0; intElementNr < CDateArray.length; intElementNr++) 
		{
			if (intElementNr < fdate.length){
				if(CDateArray[intElementNr].indexOf("y")!=-1){
					if (CDateArray[intElementNr].length>2)
						fdate[intElementNr] = strYear
					else
						fdate[intElementNr] = strYear.substring(2)
					
				}else if(CDateArray[intElementNr].indexOf("M")!=-1){
					if (CDateArray[intElementNr].length<2 || intMonth >= 10)
						fdate[intElementNr] = intMonth
					else
						fdate[intElementNr] = "0"+intMonth
											
				}else if(CDateArray[intElementNr].indexOf("d")!=-1){
					if (CDateArray[intElementNr].length<2 || intday >= 10)
						fdate[intElementNr] = intday
					else{
						fdate[intElementNr] = "0"+intday
					}

					if (CDateArray[intElementNr].length==3)
						fdate[intElementNr] = fdate[intElementNr] + ((CDateArray[intElementNr]).substring(2))
					else if (CDateArray.length==4)
						fdate[intElementNr] = fdate[intElementNr] + splitStr
				}
			}
		}
		datefield.value = fdate.join(splitStr)
	}else{
		datefield.value = intday + " " + strMonthArray[intMonth-1] + " " + strYear;
	}
	return true;
}

function checkPattern(theForm)
{
		
		theForm.pattern.value =trim(theForm.pattern.value);
        if (theForm.pattern.value == "")
        {
                alert("Please enter the value for search.");
                theForm.pattern.focus();
				return;
                //return (false);
        }

			theForm.submit();
		
}   

//In search when  hitting enter in the text field.
function checkPatternOnSubmit(frm)
{
	checkPattern(frm);
	return false;
}


//****************************/
//This code is for pop up calendar.
var Cal_PopUp_CalWindowObject;
var newWindow=null;
var Cal_PopUp_dateObject;

function getPopupCalculator(fieldObject)
{	
	var bars1="titlebar=no,scrollbar=no,menubar=no,statusbar=no,location=no";
	var Myoptions1="width=210,height=230,toolbar=no,directories=no,screenX="+event.screenX+",screenY="+event.screenY+",resizable=yes,top="+event.screenY+",left="+event.screenX+""



	CloseWindow();

	Cal_PopUp_dateObject=fieldObject;
	newWindow = window.open('CalendarPopUp.htm','Calendar', bars1+","+Myoptions1);
}

function CloseWindow(){
	if(newWindow != null)
	{
		if (navigator.appName.indexOf("Netscape")!=-1)
		{
			if(newWindow.window)
				newWindow.close();
		}else
			newWindow.close();

		newWindow = null
	}
}


   function Cal_clearCalWindow()
 {
 	  if(Cal_PopUp_CalWindowObject!=null)
	 {
	  		   Cal_PopUp_CalWindowObject.close();
	  }
 }

function Cal_PopUp_DoNothing()
{
	return;
}
/********************************/



function checkDateNew(objName)
{
	var strDatestyle = "US"; //United States date style
	var strDate;
	var strDateArray;
	var strDay;
	var strMonth;
	var strYear;
	var intday;
	var intMonth;
	var intYear;
	var booFound = false;
	var datefield = objName;
	var strSeparatorArray = new Array(". ","-"," ","/",".");
	var intElementNr;
	var err = 0;
	var splitStr = ""
	var CDateArray;

	var strMonthArray = new Array(12);
	strMonthArray[0] = "Jan";
	strMonthArray[1] = "Feb";
	strMonthArray[2] = "Mar";
	strMonthArray[3] = "Apr";
	strMonthArray[4] = "May";
	strMonthArray[5] = "Jun";
	strMonthArray[6] = "Jul";
	strMonthArray[7] = "Aug";
	strMonthArray[8] = "Sep";
	strMonthArray[9] = "Oct";
	strMonthArray[10] = "Nov";
	strMonthArray[11] = "Dec";
	strDate = datefield.value;
	
	var x=new RegExp("[^. 0-9/-]");
		
	if (strDate.length < 1){
			return true;
	}if(strDate.search(x)!=-1){
		return false;
	}
	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) 
	{
		if(CDateFormat.indexOf(strSeparatorArray[intElementNr]) != -1 && splitStr==""){
			splitStr = strSeparatorArray[intElementNr];
			CDateArray = CDateFormat.split(splitStr)
		}
	}
	intElementNr = 0
	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) 
	{
		if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) 
		{
			strDateArray = strDate.split(strSeparatorArray[intElementNr]);
			if (strDateArray.length < 3){
				err = 1;
				return false;
			}else{
				for (intEltNr = 0; intEltNr < CDateArray.length; intEltNr++){					
					if(CDateArray[intEltNr].indexOf("y")!=-1 && !eval(strYear)){
						strYear = strDateArray[intEltNr];					
					}else if(CDateArray[intEltNr].indexOf("M")!=-1 && !eval(strMonth)){
						strMonth = strDateArray[intEltNr];													
					}else if(CDateArray[intEltNr].indexOf("d")!=-1 && !eval(strDay)){
						strDay = strDateArray[intEltNr];
						if (strDay.length>2){							
							strDay = strDay.substring(0,2)
						}
					}
				}
				
					/*strDay = strDateArray[0];
					strMonth = strDateArray[1];
					strYear = strDateArray[2];*/
			}
			booFound = true;
		 }
	}
	
	if (booFound == false){
		if ((strDate.length>5)&&(strDate.length<9)&&(strDate.length!=7)){
			var tempInt = 0 ;
			
			for (intEltNr = 0; intEltNr < CDateArray.length; intEltNr++) 
			{
				if(CDateArray[intEltNr].indexOf("y")!=-1){
					if(strDate.length == 6){
						strYear =  strDate.substr(tempInt,2);			
						tempInt = tempInt + 2
					}else{
						strYear =  strDate.substr(tempInt,4);		
						tempInt = tempInt + 4
					}
				}else if(CDateArray[intEltNr].indexOf("M")!=-1){
					strMonth = strDate.substr(tempInt, 2);
					tempInt = tempInt + 2
				}else if(CDateArray[intEltNr].indexOf("d")!=-1){
					strDay = strDate.substr(tempInt, 2);
					tempInt = tempInt + 2
				}
			}			
		}else{
			return false;
		}
	}
	if (strYear.length == 2){
			strYear = '20' + strYear;
	}

	// US style
	/*	if (strDatestyle == "US")
		{
				strTemp = strDay;
				strDay = strMonth;
				strMonth = strTemp;
		}
	*/
	intday = parseInt(strDay, 10);
	if (isNaN(intday)){
		err = 2;
		return false;
	}
	intMonth = parseInt(strMonth, 10);
	if (isNaN(intMonth))
	{
		for (i = 0;i<12;i++)
		{
			if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()){
					intMonth = i+1;
					strMonth = strMonthArray[i];
					i = 12;
			}
		}if (isNaN(intMonth)){
				err = 3;
				return false;
		}
	}
	
	intYear = parseInt(strYear, 10);
	if (isNaN(intYear)){
		err = 4;
		//alert("error 4");
		return false;
	}
	if (intMonth>12 || intMonth<1) {
			err = 5;
			//alert("error 5");
			return false;
	}
	if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
			err = 6;
			//alert("This is not a valid calender date \n This month contains only 31 days.");
			return "Invalid";
	}
	if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)){
			err = 7;
			//alert("This is not a valid calender date \n This month contains only 30 days.");
			return "Invalid";
	}
	if (intMonth == 2){
		if (intday < 1){
				err = 8;
				//alert("error 8.");
				return false;
		}
		if (LeapYear(intYear) == true){
			if (intday > 29){
				err = 9;
				//alert("This is not a valid calender date \n This month contains only 29 days.");
				return "Invalid";
			}
		}else{
			if (intday > 28){
				err = 10;
				//alert("This is not a valid calender date \n This month contains only 28 days.");
				return "Invalid";
			}
		}
	}
		
		
	var fdate =  new Array ("","","")//CDateArray.clone();
	if (strDatestyle == "US"){
		for (intElementNr = 0; intElementNr < CDateArray.length; intElementNr++) 
		{
			if (intElementNr < fdate.length){
				if(CDateArray[intElementNr].indexOf("y")!=-1){
					if (CDateArray[intElementNr].length>2)
						fdate[intElementNr] = strYear
					else
						fdate[intElementNr] = strYear.substring(2)
					
				}else if(CDateArray[intElementNr].indexOf("M")!=-1){
					if (CDateArray[intElementNr].length<2 || intMonth >= 10)
						fdate[intElementNr] = intMonth
					else
						fdate[intElementNr] = "0"+intMonth
											
				}else if(CDateArray[intElementNr].indexOf("d")!=-1){
					if (CDateArray[intElementNr].length<2 || intday >= 10)
						fdate[intElementNr] = intday
					else{
						fdate[intElementNr] = "0"+intday
					}

					if (CDateArray[intElementNr].length==3)
						fdate[intElementNr] = fdate[intElementNr] + ((CDateArray[intElementNr]).substring(2))
					else if (CDateArray.length==4)
						fdate[intElementNr] = fdate[intElementNr] + splitStr
				}
			}
		}
		datefield.value = fdate.join(splitStr)
	}else{
		datefield.value = intday + " " + strMonthArray[intMonth-1] + " " + strYear;
	}
	return true;
}


function LeapYear(intYear)
{
	if (intYear % 100 == 0)
	{
			if (intYear % 400 == 0)
			{
					return true;
			}
	}
	else
	{
			if ((intYear % 4) == 0)
			{
					return true;
			}
	}
	return false;
}


function doDateCheck(from, to)
{
		if (Date.parse(from.value) <= Date.parse(to.value))
		{
				//alert("The dates are valid.");
				return true;
		}
		else
		{
				/*if (from.value == "" || to.value == "") 
						alert("Both dates must be entered.");
				else 
						alert("To date must occur after the from date.");*/
				return false;
		}
		
}


function isInteger(n)
	{
		
		var  num=n.value;
		num=trim(num);
		var pat=new RegExp("[^0123456789-]");
		var flag=num.search(pat);
		if (flag!=-1)
		{
			return false;
		}
		if ((num.indexOf('-',0)>0)||(num.indexOf('-',1)!=-1))
		{
			return false;
		}
		
		return true;
				
	}
//THIS FUNCTION IS TO CHECK WHETHER THE INPUT IS VALID FLOAT VALUE
	

	function isFloat(n)
	{
		var  num=n.value;
		num=trim(num);
		var pat=new RegExp("[^.0123456789-]");
		var flag=num.search(pat);
		if (flag!=-1)
		{
			return false;
		}
		if ((num.indexOf('-',0)>0)||(num.indexOf('-',1)!=-1))
		{
			return false;
		}
		var arr=num.split(".");
		if (arr.length>2)
		{
			return false;
		}
		return true;
		
	}

//THIS FUNCTION IS TO CHECK WHETHER THE INPUT IS VALID CURRENCY VALUE
	

	function isCurrency(n)
	{
		var  num=n.value;
		num=trim(num);
		var pat=new RegExp("[^.0123456789]");
		var flag=num.search(pat);
		if (flag!=-1)
		{
			return false;
		}
		if ((num.indexOf('-',0)>0)||(num.indexOf('-',1)!=-1))
		{
			return false;
		}
		var arr=num.split(".");
		if (arr.length>2)
		{
			return false;
		}
		if(num.indexOf('.',0)==0)
		{
			num="0"+num;
		}
		if(num.indexOf('.',0)>0)
		{
			num=num.substring(0,num.indexOf('.',0))+num.substring(num.indexOf('.',0),num.indexOf('.',0)+3);
		}
		n.value=num;
		return true;
		
	}
//THIS FUNCTION IS FOR CHECKING TEH VALUE OF A TEXTFIELD 
// WHETHER IT IS INT THE RANGE -90 TO +90


	function isInRange90(k)
	{
			range=k.value;
			if(isFloat(k))
			{
					if((parseFloat(range)>=-90)&&(parseFloat(range)<=90))
					{
						 
							return true;

					}
					else
					{
							k.select();
							k.focus();
							return false;
					}
			}
			//alert("the number is not valid number");
			k.select();
			k.focus();
			return false;
   }
//THIS FUNCTION IS FOR CHECKING TEH VALUE OF A TEXTFIELD 
// WHETHER IT IS INT THE RANGE -180 TO +180
   function isInRange180(k)
	{
			range=k.value;
			if(isFloat(k))
			{
					if((parseFloat(range)>=-180)&&(parseFloat(range)<=180 ))
					{
						 
							return true;
					}
					else
					{
							k.select();
							k.focus();
							return false;
					}
			}
			
			k.select();
			k.focus();
			return false;
   }

   function isInRange30(k)
	{
			range=k.value;
			if(isInteger(k))
			{
					if((parseInt(range)>=0)&&(parseInt(range)<=30))
					{
						 
							return true;

					}
					else
					{
							
							k.select();
							k.focus();
							return false;
					}
			}
			
			k.select();
			k.focus();
			return false;
   }
   function isInRange31(k)
	{
			range=k.value;
			if(isInteger(k))
			{
					if((parseInt(range)>=0)&&(parseInt(range)<=31))
					{
						 
							return true;

					}
					else
					{
							
							k.select();
							k.focus();
							return false;
					}
			}
			
			k.select();
			k.focus();
			return false;
   }

   function patMatch(str)
   {
		   var pat=new RegExp("[^-0123456789]","i");
		   return str.substring(0,str.search(pat)); 
   }
   
   //   THIS FUNCTION CHECKS WHETHER THE FIELD IS EMPTY OR NOT

   function isEmpty(theFieldValue)
   {
			var boolVal = (theFieldValue=="");
	   		if(theFieldValue=="")
			{
			 	return true;
			}
			else
			{
				return false;
			}
   }
	
   function noSpaces(l)
   {
			var strGiven
			strGiven=l;
			for(i=0;i<l.length;i++)
			{
				 if(strGiven.charAt(i)==" ") 
				{
					
					return false;		
				}
			}
			return true;
   }

   function noDots(l)
   {
			var strGiven
			strGiven=l;
			for(i=0;i<l.length;i++)
			{
				 if(strGiven.charAt(i)==".") 
				{
					
					return false;		
				}
			}
			return true;
   }
	//THIS FUNCTION TRIMS THE INPUT STRING BY REMOVING THE LEADING AND TRIALING BLANK SPACES 
		
   function trim(value)
   {
			/*var strResult;
			var charTemp;
			var i;
			strResult="";
			//remove the left space
			var regexp1 = /^[\s]/;
			var regexp2 = /[\s]$/;
			
			for(i=0;i<strMessage.length;i++)
			{
				charTemp=strMessage.charAt(i);
				if(charTemp!=" ")  
				{
					strResult=strMessage.substring(i);
					break;
			    }
		    }
			//remove the right space
			for(i=strResult.length-1;i>=0;i=i-1)
			{
				charTemp=strResult.charAt(i);
				if(charTemp!=" " )
				{
					strResult=strResult.substring(0,i+1);
					break;
				}
			}
			return(strResult);*/
			
			if(arguments.length != 1) return "";
			if(!value) return "";
			
			var regexp1 = /^[\s]/;
			var regexp2 = /[\s]$/;
			
			while(regexp1.test(value)){
				value = value.substring(value.search(regexp1)+1,value.length);
			}
			
			while(regexp2.test(value)){
				value = value.substring(0,value.search(regexp2));
			}
			
			return value;

	}

function trimNew(strMessage)
   {
			var strResult;
			var charTemp;
			var i;
			strResult="";
			//remove the left space
			var regexp1 = /^[\s]/;
			var regexp2 = /[\s]$/;
			
			for(i=0;i<strMessage.length;i++)
			{
				charTemp=strMessage.charAt(i);
				if(charTemp!=" ")  
				{
					strResult=strMessage.substring(i);
					break;
			    }
		    }
			//remove the right space
			for(i=strResult.length-1;i>=0;i=i-1)
			{
				charTemp=strResult.charAt(i);
				if(charTemp!=" " )
				{
					strResult=strResult.substring(0,i+1);
					break;
				}
			}
			return(strResult);
		}


function isMonth(field)//we have to pass the field object(ie for example : text)
{
	field.value=trim(field.value);
	var month=field.value;
	if(!isInteger(field))
	 {
			  field.focus();
			  return false;
	 }
	  if((month>12)||(month<1))
	  {
		   //alert(month);
		   field.focus();
		  return false;
	  }
	 return true;
}

function isDate(field)//we have to pass the field object(ie for example : text)
{
	field.value=trim(field.value);
	var day=field.value;
	if(!isInteger(field))
	 {
			  field.focus();
			  return false;
	 }
	  if((day>31)||(day<1))
	  {
		   //alert(month);
		   field.focus();
		  return false;
	  }
	 return true;
}



function isYear(field)//we have to pass the field object(ie for example : text)
{
field.value=trim(field.value);
if(!isInteger(field))
		 {		 
			  field.focus();
			  return false;
		 }
var year=parseInt(field.value);
if((year>=0)&&(year<100))
		 {		 
				  field.value = "20"+field.value;
		 }
year=parseInt(field.value);
	 if((year<1000)||(year>9999))
		  {
		   field.focus();
		  return false;
		  }
	return true;
}




function isPhoneNum(field)
{
	    var fval=field.value;
		var x=new RegExp("[^. #@ a-z A-Z 0-9()-]");

		if(fval.search(x)!=-1) 
		{
			return false ;
		}
		else
		{
		return true;
		}

}

function dateRange(from,to)//    /*from/*'parameter is grater than /*to/* parameter then this function
								//will return TRUE else FALSE'
{
    if(!validDate(from))
	{
		//alert("Not valid from");
		return false;
	}
	if(!validDate(to))
	{
		//alert("Not Valid to");
		return false;
	}
	return tempDateRange(from.value,to.value);
}
function CurrentDateFormat(field,cdf,sdf){
	var arr1 = new Array("","",""); //holds MM, dd, yyyy
	var strSeparatorArray = new Array(". ","-"," ","/",".");
	var intElementNr;
	var splitStr = ""
	var CDateArray;
	var strDateArray;
	var SDateSplitStr="";
	var SDateArray;
	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) 
	{
		if(cdf.indexOf(strSeparatorArray[intElementNr]) != -1 && splitStr==""){
			splitStr = strSeparatorArray[intElementNr];
			CDateArray = cdf.split(splitStr)
		}
		if(sdf.indexOf(strSeparatorArray[intElementNr]) != -1 && SDateSplitStr==""){
			SDateSplitStr = strSeparatorArray[intElementNr];
			SDateArray = sdf.split(SDateSplitStr)
			//alert(SDateArray +" "+SDateSplitStr)
		}
	}
	intElementNr = 0
	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) 
	{
		if (field.value.indexOf(strSeparatorArray[intElementNr]) != -1){
			strDateArray = field.value.split(strSeparatorArray[intElementNr]);
			for (intEltNr = 0; intEltNr < CDateArray.length; intEltNr++){
				if(CDateArray[intEltNr].indexOf("y")!=-1){
					arr1[2] = strDateArray[intEltNr];					
				}else if(CDateArray[intEltNr].indexOf("M")!=-1){
					arr1[0] = strDateArray[intEltNr];													
				}else if(CDateArray[intEltNr].indexOf("d")!=-1){
					arr1[1] = strDateArray[intEltNr];
					
					if (arr1[1].length>2){							
						arr1[1] = arr1[1].substring(0,2)
					}
					//alert("################" + arr1[1])
				}
			}	
			//field.value = arr1.join("/")	
		}
	}
	
	var fdate =  new Array ("","","")//CDateArray.clone();
	for (intElementNr = 0; intElementNr < SDateArray.length; intElementNr++) 
	{
		if (intElementNr < fdate.length){
			if(SDateArray[intElementNr].indexOf("y")!=-1){
				//if (SDateArray[intElementNr].length > 2 && arr1[2].length < 3)
				//fdate[intElementNr] = "20" + arr1[2];
				//else
				fdate[intElementNr] = arr1[2]				
			}else if(SDateArray[intElementNr].indexOf("M")!=-1){
				//if (SDateArray[intElementNr].length<2 || arr1[0]*1 > 10)
					fdate[intElementNr] = arr1[0]
				//else
				//	fdate[intElementNr] = "0"+arr1[0]
										
			}else if(SDateArray[intElementNr].indexOf("d")!=-1){
				//if (SDateArray[intElementNr].length<2 || arr1[1]*1 > 10)
					fdate[intElementNr] = arr1[1]
				//else{
				//	fdate[intElementNr] = "0"+arr1[1]
				//}				
			}
		}
	}
	//alert(field.value + " = " + fdate.join(SDateSplitStr))
	field.value = fdate.join(SDateSplitStr)
	
}

function tempDateRange(from,to)//Onle strings are allowed
{

	var arr1 = new Array("","","");
	var arr2 = new Array("","","");
	
	//populate array to MM, dd, yyyy

	var strSeparatorArray = new Array(". ","-"," ","/",".");
	var intElementNr;
	var splitStr = ""
	var CDateArray;
	var strDateArray;
	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) 
	{
		if(CDateFormat.indexOf(strSeparatorArray[intElementNr]) != -1 && splitStr==""){
			splitStr = strSeparatorArray[intElementNr];
			CDateArray = CDateFormat.split(splitStr)
		}
	}
	intElementNr = 0
	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) 
	{
		if (from.indexOf(strSeparatorArray[intElementNr]) != -1){
			strDateArray = from.split(strSeparatorArray[intElementNr]);
			for (intEltNr = 0; intEltNr < CDateArray.length; intEltNr++){
					if(CDateArray[intEltNr].indexOf("y")!=-1){
						arr1[2] = strDateArray[intEltNr];					
					}else if(CDateArray[intEltNr].indexOf("M")!=-1){
						arr1[0] = strDateArray[intEltNr];													
					}else if(CDateArray[intEltNr].indexOf("d")!=-1){
						arr1[1] = strDateArray[intEltNr];
						if (arr1[1].length>2){							
							arr1[1] = arr1[1].substring(0,2)
						}
					}
			}			
		}
	}	
	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) 
	{		
		if (to.indexOf(strSeparatorArray[intElementNr]) != -1){
			strDateArray = to.split(strSeparatorArray[intElementNr]);
			for (intEltNr = 0; intEltNr < CDateArray.length; intEltNr++){
					if(CDateArray[intEltNr].indexOf("y")!=-1){
						arr2[2] = strDateArray[intEltNr];					
					}else if(CDateArray[intEltNr].indexOf("M")!=-1){
						arr2[0] = strDateArray[intEltNr];													
					}else if(CDateArray[intEltNr].indexOf("d")!=-1){
						arr2[1] = strDateArray[intEltNr];
						if (arr2[1].length>2){							
							arr2[1] = arr1[1].substring(0,2)
						}
					}
			}			
		}
	}	
	
	//arr1=from.split('/');
	//arr2=to.split('/');

	if ((arr1.length==3)&&(arr2.length==3))
	{
		
		//var year= parseInt(arr1[2]) - parseInt(arr2[2])
		//removed parseInt as it is not validating 08,09... Veerendra.
		var year= arr1[2] - arr2[2];
		var month=0;
       //	month=parseInt(arr1[0])-parseInt(arr2[0]);
	   month=arr1[0]-arr2[0];
		if (month <0)
			{
			year=year-1;
			month=month+12;
			 }
		 var  date=0;
		 //date=(parseInt(arr1[1])-parseInt(arr2[1]));
		 date=arr1[1]-arr2[1];
			if (date<0) 
			 {
			  month=month-1;
			  date=date+30;
						if (month<0)
						{
							year=year-1;
							month=month+12;
						 }

			 }
		//alert(date+"..days.."+month+"...months.."+year+"..years");
		var stryear=(year<=0)? " ": year+"  years,";
		var strmon=(month<=0)? " ": month+"  months";
		//target.value=stryear+" "+strmon ;
		if ((date<0)||(month<0)||(year<0))
		{	
			return false;
		}

		return true;
	}
	
}

function tempDateRangeDDMMYYYY(from,to)//Onle strings are allowed
{
	
	var arr1 = new Array("","","");
	var arr2 = new Array("","","");
	
	//populate array to dd, MM, yyyy

	var strSeparatorArray = new Array(". ","-"," ","/",".");
	var intElementNr;
	var splitStr = ""
	var CDateArray;
	var strDateArray;
	var DateFormat = "dd/MM/yyyy";
	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) 
	{
		if(DateFormat.indexOf(strSeparatorArray[intElementNr]) != -1 && splitStr==""){
			splitStr = strSeparatorArray[intElementNr];
			CDateArray = DateFormat.split(splitStr)
		}
	}
	intElementNr = 0	
	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) 
	{
		if (from.indexOf(strSeparatorArray[intElementNr]) != -1)
		{		
			strDateArray = from.split(strSeparatorArray[intElementNr]);			
			for (intEltNr = 0; intEltNr < CDateArray.length; intEltNr++)
			{
					if(CDateArray[intEltNr].indexOf("y")!=-1){
						arr1[2] = strDateArray[intEltNr];					
					}else if(CDateArray[intEltNr].indexOf("M")!=-1){
						arr1[0] = strDateArray[intEltNr];													
					}else if(CDateArray[intEltNr].indexOf("d")!=-1){
						arr1[1] = strDateArray[intEltNr];
						if (arr1[1].length>2){							
							arr1[1] = arr1[1].substring(0,2)
						}
					}
			}			
		}
	}	
	
	
	
	
	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) 
	{		
		if (to.indexOf(strSeparatorArray[intElementNr]) != -1){
			strDateArray = to.split(strSeparatorArray[intElementNr]);
			for (intEltNr = 0; intEltNr < CDateArray.length; intEltNr++){
					if(CDateArray[intEltNr].indexOf("y")!=-1){
						arr2[2] = strDateArray[intEltNr];					
					}else if(CDateArray[intEltNr].indexOf("M")!=-1){
						arr2[0] = strDateArray[intEltNr];													
					}else if(CDateArray[intEltNr].indexOf("d")!=-1){
						arr2[1] = strDateArray[intEltNr];
						if (arr2[1].length>2){							
							arr2[1] = arr1[1].substring(0,2)
						}
					}
			}			
		}
	}
	if ((arr1.length==3)&&(arr2.length==3))
	{
		var year= arr1[2] - arr2[2];
		var month=0;      
		month=arr1[1]-arr2[1];
		 month=arr1[0]-arr2[0];
		if (month<0)
			{
			year=year-1;
			month=month+12;
			 }
		 var  date=0;
		 //date=(parseInt(arr1[1])-parseInt(arr2[1]));
		 date=arr1[1]-arr2[1];
			if (date<0) 
			 {
			  month=month-1;
			  date=date+30;
						if (month<0)
						{
							year=year-1;
							month=month+12;
						 }

			 }
		
		var stryear=(year<=0)? " ": year+"  years,";
		var strmon=(month<=0)? " ": month+"  months";
		//target.value=stryear+" "+strmon ;
		if ((date<0)||(month<0)||(year<0))
			return false;
					
		return true;
	}
	
}

function validForm(form,field)//,required,type,message)
{    
     var fname,minval,maxval,flag,fval,type,required,message,farraylength;
	 var i;
	 var tempintarr;
	 var guiname;
	 for(i=0; i<=field.length-1; i++)
	 {      
				guiname='';
				tempintarr=field[i].split(",");
			    fname=tempintarr[0];
				required=tempintarr[1];
				type=tempintarr[2];
				message=tempintarr[3];
				if(eval(message))
					message = eval(message);
				minval=tempintarr[4];
				maxval=tempintarr[5];
				farraylength=tempintarr.length;
				if(farraylength>6)
				{
					guiname=trim(tempintarr[6]);
					//alert(guiname)
				}
				for(j=0;j < form.elements.length;j++)
				{      
			       	    if(form.elements[j].name==fname)
						{
								if (form.elements[j].value == ""){
									fval = "";
								}else{
									fval=trim(form.elements[j].value);
								}
								form.elements[j].value = fval;
								if((required=="y")&&(type!="select"))
								{
									
									if(isEmpty(fval))
									{   
										alert(message);
										form.elements[j].focus();
										return false;

									}
								}//end of ( required[i]=="y" )  loop
								//alert(type);
								switch (type)
								{
								case "timewithAMPM":{
														if(!isEmpty(fval))
														{
															var x=new RegExp("^[0-9]+:[0-9]+ [aApP]+[mM]+$");
															if(fval.search(x)==-1) 
															{
																alert(message);
																form.elements[j].select();
																form.elements[j].focus();
																return false ;
															}
														}
														else
														{
															form.elements[j].value="";
														}
														break;
													}
								case "time":{
												if(!isEmpty(fval))
												{
													var x=new RegExp("^[0-9]+:[0-9]+$");
													if(fval.search(x)== -1) 
													{
														alert(message);
														form.elements[j].select();
														form.elements[j].focus();
														return false ;
													}
												}
												else
												{
													form.elements[j].value="";
												}			
												break;
											}
								case "nospaces":  {		
													if(!isEmpty(fval))
													{	
														if(!(noSpaces(form.elements[j].value)))
														{       
																alert(message);
																form.elements[j].select();
																form.elements[j].focus();
																return false;
														}
													}//end of isempty block
													break;
												  }

							
								case "int":  {		
													if(!isEmpty(fval))
													{	
														if(!(isInteger(form.elements[j])))
														{       
																alert(message);
																form.elements[j].select();
																form.elements[j].focus();
																return false;
														}
														else
														{   
																if(farraylength>=6)
																{	
																	minval=parseInt(minval);
																	maxval=parseInt(maxval);
																	
																	if(( minval > parseInt(fval)) || (maxval < parseInt(fval)))
																	 {
																			alert(message);
																			form.elements[j].select();
																			form.elements[j].focus();
																			return false;
																	 }
																}
														}
													}
													//end of isempty block
													break;
											  }
								case "float"		:{ 						
														if(!isEmpty(fval))
														{	
															if(!(isFloat(form.elements[j])))
															{       
																	alert(message);
																	form.elements[j].select();
																	form.elements[j].focus();
																	return false;
															}
															else
															{   
																	if(farraylength>=6)
																	{	
																		minval=parseFloat(minval);
																		maxval=parseFloat(maxval);
																		
																		if(( minval > parseFloat(fval)) || (maxval < parseFloat(fval)))
																		 {
																				alert(message);
																				form.elements[j].select();
																				form.elements[j].focus();
																				return false;
																		 }
																	}
															}
														}
														//end of isempty block

														break;
													 }
								case "currency"		:{ 						
														if(!isEmpty(fval))
														{	
															fval = removeChar(fval,",");
															//fval = removeChar(fval,".00");															
															form.elements[j].value=fval;
															if(!(isCurrency(form.elements[j])))
															{       
																	alert(message);
																	form.elements[j].select();
																	form.elements[j].focus();
																	return false;
															}
															else
															{   
																	if(farraylength>=6)
																	{	
																		minval=parseFloat(minval);
																		maxval=parseFloat(maxval);
																		//alert(minval);
																		//alert(maxval);
																		if(( minval > parseFloat(fval)) || (maxval < parseFloat(fval)))
																		 {
																				alert(message);
																				form.elements[j].select();
																				form.elements[j].focus();
																				return false;
																		 }
																	}
															}
															
														}
														//end of isempty block

														break;
													 }

								case "phonenum"		:{
								                       if(!isEmpty(fval))
														{
															var x=new RegExp("[^- 0-9()+]");
															if(fval.search(x)!=-1) 
															{
																alert(message);
																form.elements[j].select();
																form.elements[j].focus();
																return false ;
															}

															if(farraylength>4)
															{	
																minval=parseFloat(minval);
																maxval=parseFloat(maxval);
																	
																if(minval!=null)
																{
																	if(fval.length<minval)
																	{
																		alert(message);
																		form.elements[j].select();
																		form.elements[j].focus();
																		return false;
																	}
																}
																if(maxval!=null)
																{
																	if(fval.length>maxval)
																	{
																		alert(message);
																		form.elements[j].select();
																		form.elements[j].focus();
																		return false;
																	}
																}
															}															

														}//end of isempty block

														break;
													 }
								
								case "numeric"		:{
								                       if(!isEmpty(fval))
														{
															var x=new RegExp("[^. 0-9]");
															if(fval.search(x)!=-1) 
															{
																alert(message);
																form.elements[j].select();
																form.elements[j].focus();
																return false ;
															}
															if(farraylength>4)
															{	
																minval=parseFloat(minval);
																maxval=parseFloat(maxval);
																//alert(minval);
																//alert(maxval);
																	
																if(minval!=null)
																{
																	if(fval.length<minval)
																	{
																		alert(message);
																		form.elements[j].select();
																		form.elements[j].focus();
																		return false;
																	}
																}
																if(maxval!=null)
																{
																	if(fval.length>maxval)
																	{
																		alert(message);
																		form.elements[j].select();
																		form.elements[j].focus();
																		return false;
																	}
																}
															}	

														}//end of isempty block

														break;
													 }

								case "CrimeCode" :{
																if(!isEmpty(fval))
																{
																	var x=new RegExp("[^/ 0-9]");
																	var y=	fval.split("/");
																	if((fval.search(x)!=-1)||(y.length>2) )
																	{
																		alert(message);
																		form.elements[j].select();
																		form.elements[j].focus();
																		return false ;
																	}
																	
																}//end of isempty block
																if(farraylength>4)
															{	
																minval=parseFloat(minval);
																maxval=parseFloat(maxval);
																	
																if(minval!=null)
																{
																	if(fval.length<minval)
																	{
																		alert(message);
																		form.elements[j].select();
																		form.elements[j].focus();
																		return false;
																	}
																}
																if(maxval!=null)
																{
																	if(fval.length>maxval)
																	{
																		alert(message);
																		form.elements[j].select();
																		form.elements[j].focus();
																		return false;
																	}
																}
															}	
																break;
													}
								
								
			
								case "postalcode" :{
																if(!isEmpty(fval))
																{
																	var x=new RegExp("[^- 0-9]");
																	var y=	fval.split("-");
																	if((fval.search(x)!=-1)||(y.length>2) )
																	{
																		alert(message);
																		form.elements[j].select();
																		form.elements[j].focus();
																		return false ;
																	}
																	
																}//end of isempty block
																if(farraylength>4)
															{	
																minval=parseFloat(minval);
																maxval=parseFloat(maxval);
																	
																if(minval!=null)
																{
																	if(fval.length<minval)
																	{
																		alert(message);
																		form.elements[j].select();
																		form.elements[j].focus();
																		return false;
																	}
																}
																if(maxval!=null)
																{
																	if(fval.length>maxval)
																	{
																		alert(message);
																		form.elements[j].select();
																		form.elements[j].focus();
																		return false;
																	}
																}
															}	
																break;
													}
							
									case "password"	:{
														
														if(!isEmpty(fval))
														{
															var x=new RegExp("[^a-zA-Z0-9]");
															if(fval.search(x)!=-1) 
															{
																alert(message);
																form.elements[j].select();
																form.elements[j].focus();
																return false ;
															}
															if(farraylength>4)
															{	
																minval=parseFloat(minval);
																maxval=parseFloat(maxval);
																	
																if(minval!=null)
																{
																	if(fval.length<minval)
																	{
																		alert(message);
																		form.elements[j].select();
																		form.elements[j].focus();
																		return false;
																	}
																}
																if(maxval!=null)
																{
																	if(fval.length>maxval)
																	{
																		alert(message);
																		form.elements[j].select();
																		form.elements[j].focus();
																		return false;
																	}
																}
															}	
														}
														else
														{
															form.elements[j].value=' ';
														}//end of isempty block

														break;
													 }
								case "alphanumeric"	:{
														if(!isEmpty(fval))
														{
															var x=new RegExp("[^a-zA-Z0-9 ,]");
															if(fval.search(x)!=-1) 
															{
																alert(message);
																form.elements[j].select();
																form.elements[j].focus();
																return false ;
															}
															if(farraylength>4)
															{	
																minval=parseFloat(minval);
																maxval=parseFloat(maxval);
																
																if(minval!=null)
																{
																	if(fval.length<minval)
																	{
																		alert(message);
																		form.elements[j].select();
																		form.elements[j].focus();
																		return false;
																	}
																}
																if(maxval!=null)
																{
																	if(fval.length>maxval)
																	{
																		alert(message);
																		form.elements[j].select();
																		form.elements[j].focus();
																		return false;
																	}
																}
															}	
														}
														else
														{
															//Modification start
															//Modified by sujani 14/04/2005
															//form.elements[j].value=' ';
															form.elements[j].value='';
															//Modification end
														}//end of isempty block

														break;
													 }
							case "productalphanumeric"	:{
														if(!isEmpty(fval))
														{
															var x=new RegExp("[^a-zA-Z0-9 ,.,_]");
															if(fval.search(x)!=-1) 
															{
																alert(message);
																form.elements[j].select();
																form.elements[j].focus();
																return false ;
															}
															if(farraylength>4)
															{	
																minval=parseFloat(minval);
																maxval=parseFloat(maxval);
																
																if(minval!=null)
																{
																	if(fval.length<minval)
																	{
																		alert(message);
																		form.elements[j].select();
																		form.elements[j].focus();
																		return false;
																	}
																}
																if(maxval!=null)
																{
																	if(fval.length>maxval)
																	{
																		alert(message);
																		form.elements[j].select();
																		form.elements[j].focus();
																		return false;
																	}
																}
															}	
														}
														else
														{
															//Modification start
															//Modified by sujani 14/04/2005
															//form.elements[j].value=' ';
															form.elements[j].value='';
															//Modification end
														}//end of isempty block

														break;
													 }
							case "allchars"	:{
														if(!isEmpty(fval))
														{
															/*var x=new RegExp("[^a-zA-Z0-9 ,.;:_#=$@*)(/\-]");
															if(fval.search(x)!=-1) 
															{
																alert(message);
																form.elements[j].select();
																form.elements[j].focus();
																return false ;
															}*/
															form.elements[j].value=fval;
															if(farraylength>4)
															{	
																minval=parseFloat(minval);
																maxval=parseFloat(maxval);
																	
																if(minval!=null)
																{
																	if(fval.length<minval)
																	{
																		alert(message);
																		form.elements[j].select();
																		form.elements[j].focus();
																		return false;
																	}
																}
																if(maxval!=null)
																{
																	if(fval.length>maxval)
																	{
																		alert(message);
																		form.elements[j].select();
																		form.elements[j].focus();
																		return false;
																	}
																}
															}	
														}
														

														break;
													 }
													 
									case "allchar"	:
									{
									if(!isEmpty(fval))
									{
										var x=new RegExp("[^a-zA-Z, .;$@)(/\-]");
										if(fval.search(x)!=-1) 
										{
											alert(message);
											form.elements[j].select();
											form.elements[j].focus();
											return false ;
										}
										form.elements[j].value=fval;
										if(farraylength>4)
										{	
											minval=parseFloat(minval);
											maxval=parseFloat(maxval);
												
											if(minval!=null)
											{
												if(fval.length<minval)
												{
													alert(message);
													form.elements[j].select();
													form.elements[j].focus();
													return false;
												}
											}
											if(maxval!=null)
											{
												if(fval.length>maxval)
												{
													alert(message);
													form.elements[j].select();
													form.elements[j].focus();
													return false;
												}
											}
										}	
									}
									break;
									}
								case "Email"	:{
														if(!isEmpty(fval))
														{
															var x=new RegExp("[^a-zA-Z0-9 ,._#=$*)(@-]");
															
															if(fval.search(x)!=-1) 
															{
																alert(message);
																form.elements[j].select();
																form.elements[j].focus();
																return false ;
															}
															form.elements[j].value=fval;
															if(farraylength>4)
															{	
																minval=parseFloat(minval);
																maxval=parseFloat(maxval);
																	
																if(minval!=null)
																{
																	if(fval.length<minval)
																	{
																		alert(message);
																		form.elements[j].select();
																		form.elements[j].focus();
																		return false;
																	}
																}
																if(maxval!=null)
																{
																	if(fval.length>maxval)
																	{
																		alert(message);
																		form.elements[j].select();
																		form.elements[j].focus();
																		return false;
																	}
																}
															}	
														}
														else
														{
															//Modification start
															//Modified by sujani 14/04/2005
															//form.elements[j].value=' ';
															form.elements[j].value='';
															//Modification end
														}//end of isempty block

														break;
													 }
								case "NEWEmail"	:{
													if(!isEmpty(fval))
													{														
														 var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
														 if (!fval.match(re))										
														{
															alert(message);
															form.elements[j].select();
															form.elements[j].focus();
															return false ;
														}
													}
													else
													{
														form.elements[j].value="";
													}	
													break;
												}
								case "date"			:{ // alert("date");
														if(!isEmpty(fval))
														{    //alert("date inside if");
																
																if("Invalid"==checkDateNew(form.elements[j]))
																	{   
																		alert("This is not a valid calender date \n Please change it.");
																		form.elements[j].select();
																		form.elements[j].focus();
																		return false;
																	}
																														
															
																	
															if(!checkDateNew(form.elements[j]))
																	{   
																		alert(message);
																		form.elements[j].select();
																		form.elements[j].focus();
																		return false ;
																	}
																
															fval=form.elements[j].value;
															if(minval!=null)
															{
																
																if(!tempDateRange(fval,minval))
																{
																	alert(message);
																	form.elements[j].select();
																	form.elements[j].focus();
																	return false;
																}
															}
															if(maxval!=null)
															{
																if(!tempDateRange(maxval,fval))
																{
																	alert(message);
																	form.elements[j].select();
																	form.elements[j].focus();
																	return false;
																}
															}
														}//end of isempty block

														break;
													 }
								case "check"		:{
														if(!form.elements[j].checked)
														{
															alert(message);
															form.elements[j].focus();
															return false;
														}
														break;
													 }	
								case "nonspace"    :{														
												if(minval!=null)
												{
													if(fval.split(" ").join("").length<minval)
													{
														alert(message);
														form.elements[j].select();
														form.elements[j].focus();
														return false;
													}
												}
												if(maxval==null)
													maxval = 1000;
												
													if(fval.split(" ").join("").length>maxval)
													{
																	alert(message);
																	form.elements[j].select();
																	form.elements[j].focus();
																	return false;
													}
													break;
													 }																
								case "select"		:{	
														var tmpSelectIndex = -1;
														
														if (minval==null)
															{
															
															if(form.elements[j].selectedIndex==tmpSelectIndex)
																{
																	alert(message);

																	form.elements[j].focus();
																	return false;
																}
															}
														//}
														else
														{
															tmpSelectIndex=parseInt(minval);
															if(form.elements[j].selectedIndex == -1
															 || form.elements[j].options[form.elements[j].selectedIndex].value == tmpSelectIndex)
															{
																alert(message);
																form.elements[j].focus();
																return false;
															}
														}
													break;
													 }
								
								
								}//end of switch statement
						}//end of if(name==elements[].name) loop
				}//end of elements for loop
	 }
	 return true;

}

function changeDateFormat(dateValue)
{
	var strSeparatorArray = new Array("-"," ","/",".");
	var intElementNr = 0 ;
	 
	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) 
	{
		if (dateValue.indexOf(strSeparatorArray[intElementNr]) != -1) 
		{
			//alert("in if");
				strDateArray = dateValue.split(strSeparatorArray[intElementNr]);
				if (strDateArray.length != 3) 
				{
				return dateValue;
				}
				else
				{
					if((strDateArray[0].length==4)&&(strDateArray[1].length==2)&&(strDateArray[2].length==2))
					{
						return (strDateArray[1]+"/"+strDateArray[2]+"/"+strDateArray[0])
					}
					else
					{
						return (strDateArray[0]+"/"+strDateArray[1]+"/"+strDateArray[2])
					}
				 }
		}

	}
	return dateValue;
}



function amountFormat(value)
{
	val=trimZeros(value);
	if (val==0)
	{
		val="0";
	}

	if(val.length>0)
	{
		val = removeChar(val,",");
		var dec=".00";
		var mod="";
		var result="";
		if(val.indexOf(".")!=-1)
		{
			dec=val.substring(val.indexOf("."));
			dec ="."+removeChar(dec.substring(1),".");
			if(dec.length>3)
			{
				dec=dec.substring(0,3);
			}
			else if(dec.length==1)
			{
			   dec=".00";
			}
			val=val.substring(0,val.indexOf("."));
		}
		if (val==0)
		{
			val="0";
		}

		while(val.length!=0)
		{
			
			if(val.length>3)
			{
				result=","+val.substring(val.length-3)+result;
				val=val.substring(0,val.length-3);
			}
			else
			{
				result=val+result;
				val="";
			}
		}
		result=result+dec;
		return(result);
		}
	return(val);
	}

function trimZeros(value)
{
	temp=value.split("");
	result=value;
	for (i=0;i<temp.length;i++)
	{
		if("0"!=temp[i])
		{
			break;
		}
		else
		{
			result=result.substring(1);
		}
	}
	return(result);
}

function amountOnBlur(val)
{
	  //if(noSpaces(val))
	  if(hasSpaces(val))
	  {
			  alert(" Spaces are not allowed.");
			  val.select();
			  return false;
	  }
	  else
	  {		
			var num=val.value;
			var pat=new RegExp("[^.,0123456789]");
			var flag=num.search(pat);
			if (flag!=-1)
			{
					 alert(" Amount entered is not valid.");
					 val.select();
					 return false ;
			}
			else
			{
					val.value=formatCurrency(val.value);
					 return true ;
			}
	  }

}

function hasSpaces(field)
{
		if(field.value.indexOf(" ")!=-1)
		{
			return true;
		}
		else
		{
			return false;
		}
}

function removeChar(value,ch)
{		
	while(value.indexOf(ch)!=-1)
	{
			value=value.substring(0,value.indexOf(ch))+value.substring(value.indexOf(ch)+ch.length);
	}
	//alert(value);
	return value;
}

function currencyFormat(fld, milSep, decSep, e,maxlength,onnew) {
var sep = 0;
var key = '';
var i = j = 0;
var len = len2 = 0;
var strCheck = '0123456789';
var aux = aux2 = '';
var whichCode = (window.Event) ? e.which : e.keyCode;
if (whichCode == 13) return true;  // Enter
key = String.fromCharCode(whichCode);  // Get key value from key code
if (onnew.value=="true")
{
	fld.value = '';
	onnew.value="false"
}
len = fld.value.length;
if ((strCheck.indexOf(key) == -1)||(len>= maxlength)) return false;  // Not a valid key
for(i = 0; i < len; i++)
if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
aux = '';
for(; i < len; i++)
if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
aux += key;
len = aux.length;
if (len == 0) fld.value = '';
if (len == 1) fld.value = '0'+ decSep + '0' + aux;
if (len == 2) fld.value = '0'+ decSep + aux;
if (len > 2) {
aux2 = '';
for (j = 0, i = len - 3; i >= 0; i--) {
if (j == 3) {
aux2 += milSep;
j = 0;
}
aux2 += aux.charAt(i);
j++;
}
fld.value = '';
len2 = aux2.length;
for (i = len2 - 1; i >= 0; i--)
fld.value += aux2.charAt(i);
fld.value += decSep + aux.substr(len - 2, len);
}
return false;
}

function formatCurrency(num) {
num=trim(num);
num1 = num.toString().replace(/\$|\,/g,'');
if (num=='')
{
	return num;
}
if(isNaN(num1))
return num;
//num = "0";
num = num1;
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + num + '.' + cents);
}

function formatHours(num) {
num=trim(num);
num1 = num.toString().replace(/\$|\,/g,'');
if (num=='')
{
	return num;
}
if(isNaN(num1))
return num;
//num = "0";
num = num1;
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
return (((sign)?'':'-') + num + '.' + cents);
}

function numericFormat( numstr, numDecimals)
{
		//this formatCurrencyNew( numstr, numDecimals)
		//this method is added by Ramkumar		
		numstr=trim(numstr);		
		numstr = removeChar(numstr,",");
		if(isNaN(numstr))
		{
			
			return numstr;
			
		}
		
		
		
		if( numstr==null || numstr =='')
		{
			return "";		
		}
		var sign="";
		var result="";
		var intpart="";
		var decpart="";

		if(numstr.indexOf('-')==0)
		{
			sign="-";
			numstr=numstr.substring(1);
		}

		if(numstr.indexOf('.')!=-1)
		{
			intpart=numstr.substring(0,numstr.indexOf('.'));
			if(numstr.indexOf('.')< numstr.length-1)
			decpart=numstr.substring(numstr.indexOf('.')+1);
		}
		else
		{
			intpart=numstr;
		}

		while(intpart.length!=0)
		{
						if(intpart.length>3)
						{
								result=intpart.substring(intpart.length-3)+result;
								intpart=intpart.substring(0,intpart.length-3);
						}
						else
						{
								result=intpart+result;
								intpart="";
						}
		}

		var hasDecimal=0;

		if(numDecimals)
		{
				if(numDecimals > 0)	
				{
					hasDecimal=1;
				}
				if(hasDecimal==1)
				for(i=0;i<numDecimals;i++)
				{ 
					decpart=decpart+"0";
				}
				return sign+result+((hasDecimal)? "."+decpart.substring(0,numDecimals) : "");

		}else
		{
			if(decpart.length>0) 	hasDecimal=1;
				return sign+result+((hasDecimal)? "."+decpart : "");
		}


	}



function Del(Word) {
a = Word.indexOf("<");
b = Word.indexOf(">");
len = Word.length;
c = Word.substring(0, a);
if(b == -1)
b = a;
d = Word.substring((b + 1), len);
Word = c + d;
tagCheck = Word.indexOf("<");
if(tagCheck != -1)
Word = Del(Word);
return Word;
}
function CheckHTMLTags(text) {
ToCheck = text.value;
Checked = Del(ToCheck);
text.value = Checked;
return true;
}

function goBack()
	{
		window.history.go(-1);
	}
	
function trimData(strMessage)
   {
			var strResult;
			var charTemp;
			var i;
			strResult="";
			//remove the left space
			for(i=0;i<strMessage.length;i++){
				charTemp=strMessage.charAt(i);
				if(charTemp!=" "){
					strResult=strMessage.substring(i);
					break;
			    }
		    }
			//remove the right space
			for(i=strResult.length-1;i>=0;i=i-1){
				charTemp=strResult.charAt(i);
				if(charTemp!=" " ){
					strResult=strResult.substring(0,i+1);
					break;
				}
			}
			return(strResult);

	}

function SetCurrentDateFormat(field,cdf,sdf){
	var arr1 = new Array("","",""); //holds MM, dd, yyyy
	var strSeparatorArray = new Array(". ","-"," ","/",".");
	var intElementNr;
	var splitStr = ""
	var CDateArray;
	var strDateArray;
	var SDateSplitStr="";
	var SDateArray;
	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) 
	{
		if(cdf.indexOf(strSeparatorArray[intElementNr]) != -1 && splitStr==""){
			splitStr = strSeparatorArray[intElementNr];
			CDateArray = cdf.split(splitStr)
		}
		if(sdf.indexOf(strSeparatorArray[intElementNr]) != -1 && SDateSplitStr==""){
			SDateSplitStr = strSeparatorArray[intElementNr];
			SDateArray = sdf.split(SDateSplitStr)
			//alert(SDateArray +" "+SDateSplitStr)
		}
	}
	intElementNr = 0
	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) 
	{
		if (field.indexOf(strSeparatorArray[intElementNr]) != -1){
			strDateArray = field.split(strSeparatorArray[intElementNr]);
			for (intEltNr = 0; intEltNr < CDateArray.length; intEltNr++){
				if(CDateArray[intEltNr].indexOf("y")!=-1){
					arr1[2] = strDateArray[intEltNr];					
				}else if(CDateArray[intEltNr].indexOf("M")!=-1){
					arr1[0] = strDateArray[intEltNr];													
				}else if(CDateArray[intEltNr].indexOf("d")!=-1){
					arr1[1] = strDateArray[intEltNr];
					
					if (arr1[1].length>2){							
						arr1[1] = arr1[1].substring(0,2)
					}
					//alert("################" + arr1[1])
				}
			}	
			//field.value = arr1.join("/")	
		}
	}
	
	var fdate =  new Array ("","","")//CDateArray.clone();
	for (intElementNr = 0; intElementNr < SDateArray.length; intElementNr++) 
	{
		if (intElementNr < fdate.length){
			if(SDateArray[intElementNr].indexOf("y")!=-1){
				//if (SDateArray[intElementNr].length > 2 && arr1[2].length < 3)
				//fdate[intElementNr] = "20" + arr1[2];
				//else
				fdate[intElementNr] = arr1[2]				
			}else if(SDateArray[intElementNr].indexOf("M")!=-1){
				//if (SDateArray[intElementNr].length<2 || arr1[0]*1 > 10)
					fdate[intElementNr] = arr1[0]
				//else
				//	fdate[intElementNr] = "0"+arr1[0]
										
			}else if(SDateArray[intElementNr].indexOf("d")!=-1){
				//if (SDateArray[intElementNr].length<2 || arr1[1]*1 > 10)
					fdate[intElementNr] = arr1[1]
				//else{
				//	fdate[intElementNr] = "0"+arr1[1]
				//}				
			}
		}
	}
	//alert(field.value + " = " + fdate.join(SDateSplitStr))
	//field.value = fdate.join(SDateSplitStr)
	return fdate.join(SDateSplitStr);
	
}

function DateTickler(field){
	var myKeycode
	if (navigator.appName.indexOf("Netscape")!=-1)
		myKeycode = window.event.which 
	else
		myKeycode = window.event.keyCode;
		
	
	if(myKeycode == 38){	//up arrow
		if(!checkDateNew(field)){
			var fromDate=new Date();
			field.value=(fromDate.getMonth()+1)+"/"+fromDate.getDate()+"/"+fromDate.getFullYear();
			CurrentDateFormat(field,SDateFormat,CDateFormat)
			return false;
		}
		var maxDate = Date.parse("12/31/9999")
		CurrentDateFormat(field,CDateFormat,SDateFormat)	
		if(maxDate > Date.parse(field.value) ){
			var fromDate=new Date(Date.parse(field.value)+60*60*24*1000);
			field.value=(fromDate.getMonth()+1)+"/"+fromDate.getDate()+"/"+fromDate.getFullYear();
		}
		CurrentDateFormat(field,SDateFormat,CDateFormat);
		IsDataChanged=true;
	}else if(myKeycode == 40){
		if(!checkDateNew(field)){
			var fromDate=new Date();
			field.value=(fromDate.getMonth()+1)+"/"+fromDate.getDate()+"/"+fromDate.getFullYear();
			CurrentDateFormat(field,SDateFormat,CDateFormat)
			return false;
		}
		var minDate = Date.parse("01/01/1900")
		CurrentDateFormat(field,CDateFormat,SDateFormat)	
		if(minDate < Date.parse(field.value) ){
			var fromDate=new Date(Date.parse(field.value)-60*60*24*1000);
			field.value=(fromDate.getMonth()+1)+"/"+fromDate.getDate()+"/"+fromDate.getFullYear();
		}
		CurrentDateFormat(field,SDateFormat,CDateFormat);		
		IsDataChanged=true;
	}


}

/*
* The following function has been modified to remove the numeric decimals
* by Mr.Mitra on the request of Srinivas. on the 02 Feb 2002. 
*/
function formatCurrencyNew(numstr, numDecimals)
{
	numstr=trim(numstr);	
	numstr = removeChar(numstr,",");
	if(isNaN(numstr)){
		alert("The entered data is invalid. Please enter numeric data.");
		//return numstr;		
		return "";
	}
	
	
	
	
	if( numstr==null || numstr =='' ){
		return "";		
	}
		
	var sign="";
	var result="";
	var intpart="";
	var decpart="";

	if(numstr.indexOf('-')==0){
		sign="-";
		numstr=numstr.substring(1);
	}

	if(numstr.indexOf('.')!=-1){
		intpart=numstr.substring(0,numstr.indexOf('.'));
		if(numstr.indexOf('.')< numstr.length-1)
			decpart=numstr.substring(numstr.indexOf('.')+1);
	}else{
		intpart=numstr;
	}

	while(intpart.length!=0)
	{
		if(intpart.length>3){
			result=","+intpart.substring(intpart.length-3)+result;
			intpart=intpart.substring(0,intpart.length-3);
		}else{
			result=intpart+result;
			intpart="";
		}
	}

	var hasDecimal=0;

	if(numDecimals){
		if(numDecimals > 0){
			hasDecimal=1;
		}
		if(hasDecimal==1)
		for(i=0;i<numDecimals;i++){ 
			decpart=decpart+"0";
		}
		
		return  sign+result+((hasDecimal)? "."+decpart.substring(0,numDecimals) : "");

	}else{
		if(decpart.length>0) 	hasDecimal=1;
		return  sign+result+((hasDecimal)? "."+decpart : "");
	}
}		//end of functiion formatCurrencyNew

function ReplaceDollar(value)
{
	var numstr;
	numstr = removeChar(value,",");
	numstr= removeChar(numstr,"$");
	return numstr;
}

var isNetscape = false;
if(navigator.appName == "Netscape")
{
	isNetscape = true;
	document.captureEvents(Event.KEYPRESS);
	document.onkeypress = isEnterKey;
}
function isEnterKey(evt,frm){
	var myKeycode = isNetscape ? evt.which : window.event.keyCode;
	if(myKeycode == 13)
	{
		//myKeycode = 0;		
		//if(typeof(ApplySearch)=="function")

		if(typeof(ApplySearch)=="function")
			ApplySearch(frm);
	}
}



function OpenNotesWindowwithTimestamp()
	{
		var argSize = arguments.length;
		
		if(argSize != 6) {alert("Can not open PopUp.");return;}
		var popupSize = popUpWindow.length;
		if(popupSize > 0 ){
			ClearPopUpWindows();
			return;
		}
		
		var checkBox = arguments[4];

		var pageTitle = trim(arguments[0]);
		var windowName = trim(arguments[1]);
		var formName = trim(arguments[2]);
		var parentFormRef = "window.document."+formName;
		var fieldName = trim(arguments[3]);
		var timestmp = trim(arguments[5]);
		var fieldRef = "window.document."+formName+"."+fieldName;
		
		var parentObject = eval(parentFormRef);
		if(!parentObject){
			alert("Object not identified.");
			return;
		}
		
		var fieldObject = eval(fieldRef);
		fieldObject.value = trim(fieldObject.value)
		
		if((fieldObject.value) != timestmp)
			fieldObject.value = timestmp + " " + fieldObject.value;
			
		if(!fieldObject){
			alert("Object not identified.");
			return;
		}
		
		var confirmMessage = "Shall you want to clear the '"+pageTitle+"' then \nclick 'Ok' else click 'Cancel'.\nThe 'Cancel' brings the old notes content with check enabled.";
		if(checkBox){
			if(!checkBox.checked){
				if(popUpWindow.length == 1){
					checkBox.checked = true;
					return;
					
				}
				
				if(confirm(confirmMessage)){
					fieldObject.value = '';
					return;
				}
				else{
					checkBox.checked = true;
				}
			}
			checkObject = checkBox; 
		}
		
		parentFieldObject = fieldObject;
		
		/*
			Note : for the internationalization the 
			below code will be modified and the 
			relative url string should 
			be obtained from the parent function
			call.
		
		*/
		var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
		//if(InternetExplorer)
		//{
			//document.write("<LINK rel='stylesheet' href='../styles/admin/styleie.css' type='text/css'>");
		//}
		//else
		//{
			//document.write("<LINK rel='stylesheet' href='../styles/admin/stylens.css' type='text/css'>");
		//}	
		newWindow=window.open("",windowName,"width=450,height=300");
		newWindow.document.open();
		newWindow.document.write("<HEAD><TITLE class='bodytext'>"+pageTitle+"</TITLE>");
		if(InternetExplorer)
		{
			newWindow.document.writeln("<link rel='stylesheet' href='../styles/admin/styleie.css' type='text/css'>");
		}
		else
		{
			newWindow.document.writeln("<link rel='stylesheet' href='../styles/admin/stylens.css' type='text/css'>");
		}
		newWindow.document.writeln("<style type='text/css'>");
		newWindow.document.writeln("</style></HEAD>");
		newWindow.document.write("<body onLoad='newWindow.document.myform.Text1.focus();' onUnLoad='top.window.opener.ClearPopUpWindows();'><FORM NAME='myform'><center>");
		newWindow.document.write("<table border='0' cellspacing =1 width='90%'><tr><td class=bgDarkColor>");
		newWindow.document.write("<table border='0' bgColor='#FDF5E6' width='100%'>");
		newWindow.document.write("<tr><td align='center' width='100%'><span class='bodytext'><b>"+pageTitle+"</b></span></td></tr>");
		newWindow.document.write("<tr><td align='center'><TEXTAREA class=s1 NAME='Text1' ROWS=10 COLS=42 ");
		newWindow.document.write(" >"+unescape(fieldObject.value)+"</textarea></td></tr>");		
		newWindow.document.write("<tr><td align='center'>");
		//newWindow.document.write("<a href=\"javascript:top.window.opener.WriteNotesToParent(window.document.myform.Text1.value);window.close();\">");
		newWindow.document.write("<input type='button' class='buttons' name='btnSave' value='Save'onclick=\"javascript:top.window.opener.WriteNotesToParentwithcomments(window.document.myform.Text1.value,window.document.myform.timestmp.value);window.close();\" >");
		newWindow.document.write("&nbsp;&nbsp;&nbsp;");
		//newWindow.document.write("<a href=\"javascript:top.window.opener.WriteNotesToParent('close',window.document.myform.Text1.value);window.close();\">");
		newWindow.document.write("<input type='button' class='buttons' name='btnClose' value='Close'onclick=\"javascript:top.window.opener.WriteNotesToParentwithcomments('close',window.document.myform.Text1.value,window.document.myform.timestmp.value);window.close();\" ></td></tr>");
		newWindow.document.write("<tr><td><input type='hidden' name='timestmp' value='" + timestmp + "' ></td></tr>");
		newWindow.document.write("</table>");
		newWindow.document.write("</td></tr></table>");
		newWindow.document.write("<script language=\"javascript\">");
		newWindow.document.write("document.myform.Text1.focus();");
		newWindow.document.write("</script>");
		newWindow.document.write("</FORM></center>");
		newWindow.document.write("</body></html>");
		popUpWindow[popUpWindow.length] = newWindow;
		//newWindow.document.close();
		newWindow = null;
	}

	function WriteNotesToParentwithcomments(){
			if(arguments.length == 3 && popUpWindow.length == 1 && arguments[0] == 'close'){
				if(checkObject.checked && (trim(arguments[1]) == trim(arguments[2]) || !arguments[1])){
					parentFieldObject.value ="";
					checkObject.checked = false;
				}
				else
					parentFieldObject.value = arguments[1].substring(eval(arguments[2].length+1),arguments[1].length);
				
				parentFieldObject = null;
				popUpWindow[0] = null;	
			}
			else if(parentFieldObject && popUpWindow.length == 1){			
				parentFieldObject.value = arguments[0];
				parentFieldObject = null;
				popUpWindow[0] = null;			
			}
			ClearPopUpWindows();
		}
//Scrolling Script Functions starts here


<!--
	//GLOBALS
	var w3c = (document.getElementById) ? 1:0
	var ns4 = (document.layers) ? 1:0  //browser detect for NS4 & W3C standards
	var hasCookies = false;

  // tests whether the user accepts cookies, and sets a flag.
  if(document.cookie == '') {
    document.cookie = 'hasCookies=yes';
    if (document.cookie.indexOf('hasCookies=yes') != -1) hasCookies = true;
  }
  else hasCookies = true;
	
	// returns an object reference.
	function getObject(obj) {
		if (w3c)
			var theObj = document.getElementById(obj);
		else
			if (ns4)
				var theObj = eval("document." + obj);
		return theObj;
	}
	
	// swaps text in a layer.
	function swapText(text, divID, innerDivID) {
		var content = "<span class=\"commandDesc\">" + text + "</span>";
		if (w3c) {
			var theObj = getObject(divID);
			if (theObj) theObj.innerHTML = text;
		}
    else if (ns4) {
			var innerObj = divID + ".document." + innerDivID;
			var theObj = getObject(innerObj);
			if (theObj) {
				theObj.document.open();
				theObj.document.write(content);
				theObj.document.close();
			}
		}
	}
	
  // sets a cookie in the browser.
  function setCookie (name, value, hours, path) {
    if (hasCookies) {
  	  if(hours) {
  	    if ( (typeof(hours) == 'string') && Date.parse(hours) ) var numHours = hours;
  	    else if (typeof(hours) == 'number') var numHours = (new Date((new Date()).getTime() + hours*3600000)).toGMTString();
  	  }
  	document.cookie = name + '=' + escape(value) + ((numHours)?(';expires=' + numHours):'') + ((path)?';path=' + path:'');
    }
  }
  
  // reads a cookie from the browser
  function readCookie(name) {
    if (document.cookie == '') return '';
    else {
    	var firstChar, lastChar;
    	var theBigCookie = document.cookie;
    	firstChar = theBigCookie.indexOf(name);
    	if (firstChar != -1) {
    	    firstChar += name.length + 1;
    	    lastChar = theBigCookie.indexOf(';', firstChar);
    	    if (lastChar == -1) lastChar = theBigCookie.length;
    	    return unescape(theBigCookie.substring(firstChar, lastChar));
    	}
      else return '';
    }
  }
  
  /*  Netscape 4 resize fix */
  function WM_netscapeCssFix() {
  if (document.WM.WM_netscapeCssFix.initWindowWidth != window.innerWidth || document.WM.WM_netscapeCssFix.initWindowHeight != window.innerHeight) {
	document.location = document.location;
  }
}

  function WM_netscapeCssFixCheckIn() {
    if ((navigator.appName == 'Netscape') && (parseInt(navigator.appVersion) == 4)) {
  	if (typeof document.WM == 'undefined'){
  	  document.WM = new Object;
  	}
  	if (typeof document.WM.WM_scaleFont == 'undefined') {
  	  document.WM.WM_netscapeCssFix = new Object;
  	  document.WM.WM_netscapeCssFix.initWindowWidth = window.innerWidth;
  	  document.WM.WM_netscapeCssFix.initWindowHeight = window.innerHeight;
  	}
  	window.onresize = WM_netscapeCssFix;
    }
  }
  
  WM_netscapeCssFixCheckIn();
 
    function showHideModuleMouseOver(divID) {		
    	var theCookie = readCookie(divID);
		if ((theCookie=="e") || (theCookie=="")) {
			window.status="Collapse";
		}
		else {
			window.status="Expand";			
		}
    }

	function showHideModule(divID, theme) {		
		var state = toggleFoldyPersistState(divID);
		var ok=false;				
		if(w3c) {			
			var divIDobj = MM_findObj(divID);
			var toggleobj = MM_findObj(divID +"Toggle");			
			var divIDHead= MM_findObj(divID+"Head");						
			
			if(divIDobj != null) {				
				ok=true;				
				if(state=="c") {					
					toggleobj.src = "../images/btn1.gif";	
					// Added by shashi for the display of tool tipAdded on 11/08/2006
					toggleobj.title = "Click on the image for viewing the vehicle details.";
					divIDobj.style.display = "none";												
					//divIDHead.className="blockHeaderClosed";
				}
				else {				
					toggleobj.src = "../images/btn2.gif";
					// Added by shashi for the display of tool tip in track report screen. Added on 11/08/2006
					toggleobj.title = "Click on the image for hiding the vehicle details.";					
					divIDobj.style.display = "";												
					//divIDHead.className="blockHeader";

				}
			}
			else if(divIDobj== null) {
				alert("showHideModule() divIDobj not found:\n divID="+ divID+"\ntheme="+theme);
			}
			//else if(tlobj== null) {
			//	alert("showHideModule() tlobj not found:\n divID="+ divID+"\ntheme="+theme);
			//}
			//else {
			//	alert("showHideModule() toggleobj not found:\n divID="+ divID+"\ntheme="+theme);
			//}
		}
		if(!ok){
			document.location = document.location;
		}
		showHideModuleMouseOver(divID);
		//window.status = '';
	}
	function toggleFoldyPersistState(divID) {
		var theCookie = readCookie(divID);
		var state="e";
		if ((theCookie == "e") || (theCookie == "")) {
			state="c";
		}
		setCookie(divID,state,'Wed 01 Jan 2020 00:00:00 GMT','/');
		return state;
	}

	function MM_swapImgRestore() { //v3.0
	  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
	}

	function MM_preloadImages() { //v3.0
	  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
	    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
	    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
	}

	function MM_findObj(n, d) { //v4.0
	  	var p,i,x;
	  	if(!d) d=document;
	  	if((p=n.indexOf("?")) > 0 && parent.frames.length) {
	    	d=parent.frames[n.substring(p+1)].document;
	    	n=n.substring(0,p);
	    }
	  	if(!(x=d[n])&&d.all) {
	  		x=d.all[n];
		}
	  	for (i=0;!x&&i<d.forms.length;i++) {
	  		x=d.forms[i][n];
		}
	  	for(i=0;!x&&d.layers&&i<d.layers.length;i++) {
	  		x=MM_findObj(n,d.layers[i].document);
		}
	  	if(!x && document.getElementById) {
	  		x=document.getElementById(n);
	  		return x;
		}
		return x;
	}

	function MM_swapImage() { //v3.0
	  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
	}

	// Remove an array item at n
	// 0-based

	function MM_removeNthArrayItem(array, n) {
		var lhs = new Array();

		if (n > 0)
			lhs = array.slice(0, n);

		var rhs = new Array();

		if (n < array.length)
			rhs = array.slice(n + 1);
		
		var result = lhs.concat(rhs);
		
		return result;
	}
	
	// Does the array contain the given string?
	
	function MM_arrayContainsString(array, item) {
		if (array == null)
			return false;
			
		var count = array.length;
		for (i = 0; i < count; i++) {
			if (array[i] == item)
				return true;
		}
		
		return false;
	}
	
	// remove the given string from the array of strings
	
	function MM_removeStringFromArray(array, item) {
		if (array == null)
			return null;
			
		var count = array.length;
		for (i = 0; i < count; i++) {
			if (array[i] == item)
				return MM_removeNthArrayItem(array, i);
		}
		
		return array;
	}
	
	// a selectedItems array is kept in the form. It is an array of strings, each
	// string being the name of a checkbox image. It doesn't actually have to be
	// the name="foo" attribute of the HTML object itself, just any arbitrary name
	// that is associated with this checkbox. The image name is the actual name of the image.

	function MM_toggleItem(form, itemName, imageName, theme) {
		if (form.selectedItems == null)
			form.selectedItems = new Array();
		
		if (MM_arrayContainsString(form.selectedItems, itemName)) {
			form.selectedItems = MM_removeStringFromArray(form.selectedItems, itemName);
			document[imageName].src = '../themes/'+theme+'/checkbox_off_16.gif';
			//MM_swapImage(imageName, '', '../themes/'+theme+'/checkbox_off_16.gif', '1');
		} else {
			form.selectedItems[form.selectedItems.length] = itemName;
			document[imageName].src = '../themes/'+theme+'/checkbox_on_16.gif';
			//MM_swapImage(imageName, '', '../themes/'+theme+'/checkbox_on_16.gif', '1');
		}
		
		MM_updateButtons2(form, form.selectedItems);

	}
	
	function MM_selectAllItems(form, theme) {
		
		form.selectedItems = new Array();
		if (form.checkboxes) {
			var checkboxCount = form.checkboxes.length;
			for (i = 0; i < checkboxCount; i++) {
				var checkbox = form.checkboxes[i];
				if (-1 == document[checkbox.mImageName].src.indexOf('dim_16.gif')) {
					document[checkbox.mImageName].src = '../themes/'+theme+'/checkbox_on_16.gif';
					form.selectedItems[form.selectedItems.length] = checkbox.mName;
				}
			}
		}
		
		MM_updateButtons2(form, form.selectedItems);
		
	}
	
	function MM_deselectAllItems(form, theme) {
		form.selectedItems = new Array();
		if (form.checkboxes) {
			var checkboxCount = form.checkboxes.length;
			for (i = 0; i < checkboxCount; i++) {
				var checkbox = form.checkboxes[i];
				if (-1 == document[checkbox.mImageName].src.indexOf('dim_16.gif')) {
					document[checkbox.mImageName].src = '../themes/'+theme+'/checkbox_off_16.gif';
				}
			}
		}
		
		MM_updateButtons2(form, form.selectedItems);
		
	}
	
	// If all items are selected, deselect all. Otherwise select all.
	function MM_toggleSelectedItems(form, theme) {
		if (!form.selectedItems)
			form.selectedItems = new Array();
		
		if (form.checkboxes) {
			if (form.selectedItems.length == form.checkboxes.length - MM_countDisabledCheckboxes(form))
				MM_deselectAllItems(form, theme);
			else
				MM_selectAllItems(form, theme);
		}
	}
	
	// counts the number of disabled checkboxes - used for deselect all
	function MM_countDisabledCheckboxes(form) {
		var disabledCount = 0;
		if (form.checkboxes) {
			var checkboxCount = form.checkboxes.length;
			for (i = 0; i < checkboxCount; i++) {
				var checkbox = form.checkboxes[i];
				if (-1 != document[checkbox.mImageName].src.indexOf('dim_16.gif')) {
					disabledCount++;
				}
			}



		}
		

		return disabledCount;
	}
	
	// See SELECTIONPARAMNAME and SELECTIONPARAMDELIMITER in ListModuleTagBase.java.
	
	function MM_doButtonAction(action, selectedItems) {
		
		// THESE MUST BE IN SYNC WITH ListModuleTagBase.java
		var SELECTIONPARAMNAME = 'id';
		var SELECTIONPARAMDELIMITER = '**';
		
		// If the action is a javascript action (starts with 'javascript')
		// then execute it immediately.
		
		if ((action.indexOf('javascript') == 0) || (action.indexOf('Javascript') == 0)) {
			eval(action);
		} else {
	
			var okay = true;
			// if action starts with "function:" call the function on the selection to see
			// if we can continue
			if ((action.indexOf('function:') == 0)) {
				okay = false;
				var idx = action.indexOf(":");
				if(idx + 1 < action.length) {
					action = action.substr(idx+1);
					idx = action.indexOf(",");
					if(idx + 1 < action.length) {
						var fxn = action.substr(0, idx);
						action = action.substr(idx+1);
						fxn = eval(fxn);

						if(typeof(fxn) == "function") {
							okay = fxn(selectedItems);
						}
					}
				}
			}

			if(okay) {
				var params = new String();
				
				if (selectedItems) {
					for (i = 0; i < selectedItems.length; i++) {
						if (i > 0)
							params = params.concat("**");
						
						params = params.concat(selectedItems[i]);
					}
				}
				
				var url = action;
				
				if (params.length > 0) {
					if (url.indexOf('?') == -1)
						url = url + '?';
					else
						url = url + '&';
						
					url = url + 'id=' + params;
				}
				
				window.location = url;
			}
			
		}
	}
	
	function MM_updateButtons(form) {
		var dummy = new Array();
		MM_updateButtons2(form, dummy);
	}

	function MM_updateButtons2(form, selectedItems) {
		if (form.buttons) {
			var buttonCount = form.buttons.length;
						
			for (i = 0; i < buttonCount; i++) {
				var button = form.buttons[i];
				if (button) {
					button.update(selectedItems);
				}
			}
		}
	}
	
	function MM_getButtonWithName(form, buttonName) {

		if (form.buttons) {
			var buttonCount = form.buttons.length;
						
			for (i = 0; i < buttonCount; i++) {
				var button = form.buttons[i];
				if (button.mName == buttonName) {
					return button;
				}
			}
		}
		
		return null;
	}

	function MM_countFilesFolders(selectedItems) {
		var ret_obj = new Object();
		ret_obj["files"] = 0;
		ret_obj["folders"] = 0;
		var i = 0;
		for(i=0;i<selectedItems.length;i++) {
			var ftype = null;
			if((ftype = MM_findObj(selectedItems[i]+"ftype")) != null) {
				if(ftype.value == "file") ret_obj["files"]++;
				else if(ftype.value == "folder") ret_obj["folders"]++;
			}
		}
		return ret_obj;
	}

	function MM_oneFileOnly(selectedItems) {
		var ret = false;
		if(selectedItems.length == 1) {
			var ftype = null;
			if((ftype = MM_findObj(selectedItems[0]+"ftype")) != null) {
				if(ftype.value == "file") ret = true;
			}
		}
		return ret;
	}

	function MM_atLeastOneFile(selectedItems) {
		var ret = false;
		if(selectedItems.length > 0) {
			var i = 0;
			while(!ret && i < selectedItems.length) {
				var ftype = null;
				if((ftype = MM_findObj(selectedItems[i]+"ftype")) != null) {
					if(ftype.value == "file") ret = true;
				}
				++i;
			}
		}
		return ret;
	}
	
	function MMCommandButton(name,
							form,
							action,
							enabledImage,
							overImage,
							downImage,
							disabledImage,
							enableOnNoSelection,
							enableOnSingleSelection,
							enableOnMultipleSelection,
							enabledCheckSelectionJS,
							altText,
							confirmation,
							confirmationMessage) {
		this.mName = name;						// Name of the image
		this.mForm = form;						// The form object enclosing this button (to retrieve selections)
		this.mAction = action;					// Action to perform when clicking
		this.mEnabledImage = enabledImage;		// enabled image (String)
		this.mOverImage = overImage;			// over image (String)
		//this.mDownImage = downImage;			// down image (String)
		this.mDisabledImage = disabledImage;	// disabled image (String)
		this.mEnableOnNoSelection = enableOnNoSelection;
		this.mEnableOnSingleSelection = enableOnSingleSelection;
		this.mEnableOnMultipleSelection = enableOnMultipleSelection;
		this.mEnabledCheckSelectionJS = null;
		if(enabledCheckSelectionJS !='') {
			this.mEnabledCheckSelectionJS = eval(enabledCheckSelectionJS);
		}
		this.mAltText = altText;
		this.mConfirmation = confirmation;
		this.mConfirmationMessage = confirmationMessage;
		this.mEnabled = false;
		
		this.update = MMCommandButton_update;
		this.over = MMCommandButton_over;
		this.out = MMCommandButton_out;
		this.click = MMCommandButton_click;
	}
	
	function MMCommandButton_update(selectedItems) {
		if(this.mEnabledCheckSelectionJS != '' &&
				typeof(this.mEnabledCheckSelectionJS) == "function") {
			var isEnabled = this.mEnabledCheckSelectionJS(selectedItems);
			if (isEnabled == true) {
				document[this.mName].src = this.mEnabledImage;
				this.mEnabled = true;
			} else {
				document[this.mName].src = this.mDisabledImage;
				this.mEnabled = false;
			}
		}
		else {
			if (selectedItems.length == 0) {
				if (this.mEnableOnNoSelection == true) {
					document[this.mName].src = this.mEnabledImage;
					this.mEnabled = true;
				} else {
					document[this.mName].src = this.mDisabledImage;
					this.mEnabled = false;
				}
			}

			if (selectedItems.length == 1) {
				if (this.mEnableOnSingleSelection == true) {
					document[this.mName].src = this.mEnabledImage;
					this.mEnabled = true;
				} else {
					document[this.mName].src = this.mDisabledImage;
					this.mEnabled = false;
				}
			}

			if (selectedItems.length > 1) {
				if (this.mEnableOnMultipleSelection == true) {
					document[this.mName].src = this.mEnabledImage;
					this.mEnabled = true;
				} else {
					document[this.mName].src = this.mDisabledImage;
					this.mEnabled = false;
				}
			}
		}

	}
	
	function MMCommandButton_over() {
		if (this.mEnabled) {
			document[this.mName].src = this.mOverImage;
		}

		// To whom it may concern. If you are revisiting this code in order
		// to speed it up, note that the thing slowing down the rollovers is
		// this call to swapText.
    	swapText(this.mAltText, this.mForm.tt, this.mForm.tt + "i");
    	
    	window.status= this.mAltText;
	}
	
	function MMCommandButton_out() {
		if (this.mEnabled) {
			document[this.mName].src = this.mEnabledImage;
		}
		swapText('', this.mForm.tt, this.mForm.tt + "i");
		
		window.status = '';
	}
	
	function MMCommandButton_click() {
		if (this.mEnabled) {
			//document[this.mName].src = this.mDownImage;
			
			if (this.mConfirmation) {
				if (!confirm(this.mConfirmationMessage)) {
					return;
				}
			}
			
			MM_doButtonAction(this.mAction, this.mForm.selectedItems);
		}
		swapText('', this.mForm.tt, this.mForm.tt + "i");
		window.status = '';
	}
	
	function MMCheckbox(name,
						form,
						imageName) {
		// The mName is the name of the checkbox that is passed on via POST
		this.mName = name;
		this.mForm = form;
		this.mImageName = imageName;
	}
	
	// A popup window for general use, but for invoking the content ui in particular
	// For other purposes, a 500x350 window size is reasonable
	function popUp( loc, w, h, menubar ) {
		if( w == null ) { w = 700; }
		if( h == null ) { h = 500; }
		if( menubar == null || menubar == false ) {
			menubar = "";
		} else {
			menubar = "menubar,";
		}
	
		//if( NS ) { w += 50; }
		// Need the var or else IE4 blows up not recognizing editorWin
		var editorWin = window.open(loc,'editWin', menubar + 'resizable,scrollbars,width=' + w + ',height=' + h);
		//editorWin.focus(); //causing intermittent errors
	}

	// Used to submit a form if the user hits ENTER in the form - BAH
	function submitOnEnter(form, e) {
		if (document.all) e = window.event;
		key	= (document.layers) ? e.which : e.keyCode;
		if (13 == key) {
			if (form) form.submit();
			return false;
		}
		return true;
	}
 
	// Used to kill a key press event from bubbling up - BAH
	function killKeyEvent(e) {
		if (document.all) e = window.event;
		key	= (document.layers) ? e.which : e.keyCode;
		if (13 == key) e.cancelBubble = true;
	}

	// Used to limit the chars in a text or textarea input - BAH
	// Must define variable maxChars & maxCharsError in the HTML tag or via javascript
	function checkMaxChars(obj) {
		// current key is not counted in length yet
		if (obj.value.length >= obj.maxChars) {
			alert(obj.maxCharsError + ': ' + obj.maxChars);
			obj.value = obj.value.substr(0, obj.maxChars);
			return false;
		}
		return true;
	}
 
	function doSitespringHelper(url, msg, installurl) {
		var doIt = true;
		if(!gSitespringHelperOK && !confirm(msg)) {
			doIt = false;
		}
		if(doIt) window.location = url;
		return;
	}
	function doHelpWindow(helpURL) {
		mmHelpWindow = window.open(helpURL,"mmHelp");
		// Quarter second pause before focus to avoid JS errors
	 	setTimeout('mmHelpWindow.focus();',250);
	}
	function focusAndSelect(fld) {
		var	ualc = navigator.userAgent.toLowerCase();
		if(ualc.indexOf('compatible') > -1 || ualc.indexOf("macin") < 0 ||
				parseFloat(navigator.appVersion) >= 5.0) {
			var fldobj = MM_findObj(fld);
			if(fldobj != null) {
				fldobj.focus(); fldobj.select();
			}
		}
	}
		
//-->


//Scrooling Script Ends here


//key press enents code

function OnValidateKeyPress(obj,e,type)
{
	var fval = e.keyCode;
	//Only Numbers
	if (type == 'numbers')
	{			
		if (e.keyCode >= 48 && e.keyCode <= 58)
			return true
		else
			return false;		
	}
	else if(type == 'numeric')
	{
		if ((e.keyCode >= 48 && e.keyCode <= 58) ||(e.keyCode == 46))
			return true
		else
			return false;	
	}
}

function DeleteKeys()
{
	alert('Implement in future');
}
function GetHelp(spath)
{

	//window.open('../Help/' + spath)
	var newWindow=null;
	var bars1="titlebar=no,scrollbars=yes,menubar=no,statusbar=no,location=no";
	var Myoptions1="width=800,height=600,toolbar=no,directories=no,resizable=yes"

if(spath!=undefined)
	newWindow = window.open('../Help/' + spath,'Help', bars1+","+Myoptions1);
else
	alert('Implement in future');
}

// this Function is used for selecting all checkboxes*/
function checkAll(obj)
{
	for(i=0;i<window.document.forms[0].elements.length;i++)
	{						
		if((window.document.forms[0].elements[i].type=="checkbox"))
		{
			if(window.document.forms[0].elements[i].disabled==false)
			window.document.forms[0].elements[i].checked=obj.checked;
		}
	}
}

function GetChecked(obj)
{
	var bchecked=false;
	for(i=0;i<window.document.forms[0].elements.length;i++)
	{						
		if((window.document.forms[0].elements[i].type=="checkbox"))
		{			
			if(window.document.forms[0].elements[i].checked)
			{	
				bchecked=true;
				break;
			}
		}
	}
	return bchecked;
}

function GetVehiclesCount(obj)
{
	var bchecked=false;
	var obj;
	for(i=0;i<window.document.forms[0].elements.length;i++)
	{						
		if((window.document.forms[0].elements[i].type=="checkbox"))
		{	obj=window.document.forms[0].elements[i].name;
		//alert(obj);
			if(window.document.forms[0].elements[i].checked && obj!="" && (obj.indexOf("UnitsList:_ctl")!=-1) )
			{	
				bchecked=true;
				break;
			}
		}
	}
	return bchecked;
}

function GetCheckBoxCount(obj)
{
	var bchecked=false;
	for(i=0;i<window.document.forms[0].elements.length;i++)
	{						
		if((window.document.forms[0].elements[i].type=="checkbox"))
		{	
			bchecked=true;
			break;			
		}
	}
	return bchecked;
}
// Added by shashi for Getting the count of the records. Used in Billing Process.aspx
function GetChkBoxCount(obj)
{
	var bchecked=false;
	var x =1;
	for(i=0;i<window.document.forms[0].elements.length;i++)
	{						
		if((window.document.forms[0].elements[i].type=="checkbox"))
		{	
			x = x+1;
			bchecked=true;
			break;			
		}
	}
	return x;
}

function DeleteKeys1(frm,hidField)
{
var sKeys;
sKeys='';
var form=eval(frm);
var bchecked = false;
	
					if(window.document.forms.length>0)
					{
					
						for(i=0;i<window.document.forms.length;i++)
						{
							var frmNew;
							frmNew=window.document.forms[i];
							if(frmNew.elements.length>0)
							{
								for(j=0;j<frmNew.elements.length;j++)
									{
											//alert("The Type Name <"+window.document.forms[i].elements[j].type+">");
											if(frmNew.elements[j].type=="checkbox")
													{
													if(frmNew.elements[j].checked)
															{	
																bchecked = true;																																
																break; 
															
															//	if(sKeys != '') 
																//	sKeys=sKeys+ ',';
																//	sKeys=sKeys + frmNew.elements[j].value;
																		
															}
													}
									}
								}
							}
							
					}
				//	eval(frm + '.' + hidField).value=sKeys;							
				if (bchecked == true)
				{
					if(confirm("Are you sure, You want to delete this record ..!"))
						{
							//eval(frm).submit();
							return true;
						}
						else 
						{
							return false;
						}
				
				}
				else 
				{
				alert("Please select a record to delete")
					return false;	
				} 
				
			
}




var imageroot = "images/";
function turnImgOn(pic, id,isgif){
	pic.src = imageroot + id + (eval(isgif) ? "_over.GIF" : "_over.PNG");
	return true;
}

function turnImgOff(pic,id,isgif){
	pic.src = imageroot + id + (eval(isgif) ? ".GIF" : ".PNG");
	return true;
}

/*function turnImgOn(pic, id){
	pic.src = imageroot + id;
	return true;
}

function turnImgOff(pic,id){
	pic.src = imageroot + id;
	return true;
	
}*/


		
//end of key press enents code 

/* Tool tip Code Starts here*/

/***********************************************
* Cool DHTML tooltip script II- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

var offsetfromcursorX=12 //Customize x offset of tooltip
var offsetfromcursorY=10 //Customize y offset of tooltip

var offsetdivfrompointerX=10 //Customize x offset of tooltip DIV relative to pointer image
var offsetdivfrompointerY=14 //Customize y offset of tooltip DIV relative to pointer image. Tip: Set it to (height_of_pointer_image-1).

//document.write('<div id="dhtmltooltip"></div>') //write out tooltip DIV
//document.write('<img id="dhtmlpointer" src="../images/arrow2_tooltip.gif">') //write out pointer image

var ie=document.all
var ns6=document.getElementById && !document.all
var enabletip=false
if (ie||ns6)
var tipobj=document.all? document.all["dhtmltooltip"] : document.getElementById? document.getElementById("dhtmltooltip") : ""

var pointerobj=document.all? document.all["dhtmlpointer"] : document.getElementById? document.getElementById("dhtmlpointer") : ""

function ietruebody(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function ddrivetip(thetext, thewidth, thecolor){
if (ns6||ie){
if (typeof thewidth!="undefined") tipobj.style.width=thewidth+"px"
if (typeof thecolor!="undefined" && thecolor!="") tipobj.style.backgroundColor=thecolor
//alert(thetext);
tipobj.innerHTML=thetext
enabletip=true
return false
}
}

function positiontip(e){
if (enabletip){
var nondefaultpos=false
var curX=(ns6)?e.pageX : event.clientX+ietruebody().scrollLeft;
var curY=(ns6)?e.pageY : event.clientY+ietruebody().scrollTop;
//Find out how close the mouse is to the corner of the window
var winwidth=ie&&!window.opera? ietruebody().clientWidth : window.innerWidth-20
var winheight=ie&&!window.opera? ietruebody().clientHeight : window.innerHeight-20

var rightedge=ie&&!window.opera? winwidth-event.clientX-offsetfromcursorX : winwidth-e.clientX-offsetfromcursorX
var bottomedge=ie&&!window.opera? winheight-event.clientY-offsetfromcursorY : winheight-e.clientY-offsetfromcursorY

var leftedge=(offsetfromcursorX<0)? offsetfromcursorX*(-1) : -1000

//if the horizontal distance isn't enough to accomodate the width of the context menu
if (rightedge<tipobj.offsetWidth){
//move the horizontal position of the menu to the left by it's width
tipobj.style.left=curX-tipobj.offsetWidth+"px"
nondefaultpos=true
}
else if (curX<leftedge)
tipobj.style.left="5px"
else{
//position the horizontal position of the menu where the mouse is positioned
tipobj.style.left=curX+offsetfromcursorX-offsetdivfrompointerX+"px"
pointerobj.style.left=curX+offsetfromcursorX+"px"
}

//same concept with the vertical position
if (bottomedge<tipobj.offsetHeight){
tipobj.style.top=curY-tipobj.offsetHeight-offsetfromcursorY+"px"
nondefaultpos=true
}
else{
tipobj.style.top=curY+offsetfromcursorY+offsetdivfrompointerY+"px"
pointerobj.style.top=curY+offsetfromcursorY+"px"
}
tipobj.style.visibility="visible"
if (!nondefaultpos)
pointerobj.style.visibility="visible"
else
pointerobj.style.visibility="hidden"
}
}

function hideddrivetip(){
if (ns6||ie){
enabletip=false
tipobj.style.visibility="hidden"
pointerobj.style.visibility="hidden"
tipobj.style.left="-1000px"
tipobj.style.backgroundColor=''
tipobj.style.width=''
}
}

document.onmousemove=positiontip

/* Tool tip Code ends here*/



/*This is using for Date Validation */

				function DateValidation(objName) 
				{

				//alert(objName.length);
				var strDatestyle = "US"; //United States <b style="color:black;background-color:#ffff66">date</b> style

				//var strDatestyle = "EU";  //European <b style="color:black;background-color:#ffff66">date</b> style

				var strDate;

				var strDateArray;

				var strDay;

				var strMonth;

				var strYear;

				var intday;

				var intMonth;

				var intYear;

				var booFound = false;

				var datefield = objName;

				var strSeparatorArray = new Array(" ");

				var intElementNr;

				var err = 0;

				var strMonthArray = new Array(12);

				strMonthArray[0] = "Jan";

				strMonthArray[1] = "Feb";

				strMonthArray[2] = "Mar";

				strMonthArray[3] = "Apr";

				strMonthArray[4] = "May";

				strMonthArray[5] = "Jun";

				strMonthArray[6] = "Jul";

				strMonthArray[7] = "Aug";

				strMonthArray[8] = "Sep";

				strMonthArray[9] = "Oct";

				strMonthArray[10] = "Nov";

				strMonthArray[11] = "Dec";

				strDate = datefield;
				
				//alert(strDate.length)
				if (strDate.length < 1) 
				{

				return true;

				}
				for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) 
				{

				if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) 
				{

				strDateArray = strDate.split(strSeparatorArray[intElementNr]);
				
				if (strDateArray.length != 3) 
				{

				err = 1;

				return false;

				}

				else 
				{
					var dateyear=new Date();
					
					strDay = strDateArray[0];

					strMonth = strDateArray[1];

					strYear = strDateArray[2];
					var validyear=15;
					//alert(strYear);
					//alert(dateyear.getFullYear() - validyear);
					if(strYear  >=dateyear.getFullYear())
					{
						return false;
					}
					else
					if(strYear >= dateyear.getFullYear() - validyear)
					{
						return false;
					}
					else
					{
						return true;
					}
				}
				}
			}
		}

		


