
	////globals////
	var	strValidating = false;	//flag to tell Validate() that a field is being validated.  prevents calling the focus() event from triggering another validation test.
	var strError="";	//the strError message
	var strNewVal=""; //any new value for the field
	var strFieldname=""; //the name of the field1 being tested
	var strFieldval=""; //the value of the field1 being tested
 
 function findHighestZ() {
  var documentDivs = new Array();
  documentDivs = document.all.tags("iframe");
  var highestZ = 0;
  for (var i = 0; i < documentDivs.length; i++) {
     var zIndex =  documentDivs[i].style.zIndex;
     highestZ = (zIndex > highestZ) ? zIndex : highestZ;
  }
  return highestZ;
}
/////	Fumction For Doing Textbox Blank
function EZPanel_ExpandCollapseImage(hd, cht, cha, st, ex, cl, tc, te)
		{
		var elImg = (document.getElementById(cha)).getElementsByTagName("img");
		if(document.getElementById(hd).style.display == '')
	{ 
		document.getElementById(hd).style.display = 'none';
		if(cht != '')
		{
			document.getElementById(cht).title = te;
		}
		elImg[0].src = ex;
		elImg[0].alt = te;
		document.getElementById(st).value = 'true';
	}
	else
	{ 
		document.getElementById(hd).style.display = '';
		if(cht != '')
		{
			document.getElementById(cht).title = tc;
		}
		elImg[0].src = cl;
		elImg[0].alt = tc;
		document.getElementById(st).value = 'false';
	}
	
}function formatBlank(num) 
{	
	if(isNaN(num))
	{
	 num = "1";
	}
	 else if(num == "")
	{
	num = "1";
	}
return (num);
}



//Script for collapsible-expandable panel
var persistmenu="yes" //"yes" or "no". Make sure each SPAN content contains an incrementing ID starting at 1 (id="sub1", id="sub2", etc)
var persisttype="sitewide" //enter "sitewide" for menu to persist across site, "local" for this page only

function collapse(divName, thisSpan)
{

eval("v=window." +divName +".style.display")
if (v == 'block')
	{
	thisSpan.innerHTML = "<img src='../../images/expand.gif' border=0>&nbsp;"
	eval("window." +divName).style.display='none'
	}
else
	{
	thisSpan.innerHTML = "<img src='../../images/collapse.gif' border=0>&nbsp;"
	eval("window." +divName).style.display='block'
	}
}

	function get_cookie(Name) 
	{ 
	var search = Name + "="
	var returnvalue = "";
		if (document.cookie.length > 0) 
		{
			offset = document.cookie.indexOf(search)
			if (offset != -1) 
			{ 
				offset += search.length
				end = document.cookie.indexOf(";", offset);
				if (end == -1) end = document.cookie.length;
				returnvalue=unescape(document.cookie.substring(offset, end))
			}
		}
		return returnvalue;
	}

	function onloadfunction()
	{
		var inc = 1;		
		//alert("HelloLoad");		
		for(inc=0; inc <= PnlItems.length-1; inc++)
		{
			var cookiename=(persisttype=="sitewide")? PnlItems[inc] : window.location.pathname
			var cookievalue=get_cookie(cookiename)
			if (cookievalue != "" && cookievalue != 'none')
			{
				document.getElementById(cookievalue).style.display="block";
				if(cookievalue == "div" + PnlItems[inc])
					showPanel('div' + PnlItems[inc],eval('spn' + PnlItems[inc]));
			}						
			else
			{
				document.getElementById("div" + PnlItems[inc]).style.display = "none";
				showPanel('div' + PnlItems[inc],eval('spn' + PnlItems[inc]));
			}
		}

	}

	function savemenustate()
	{
		var inc=1, blockid=""
		//alert("hello");
		for(inc=0; inc <= PnlItems.length-1; inc++)
		{
			if (document.getElementById("div"+PnlItems[inc]).style.display=="block")
			{
				blockid="div"+PnlItems[inc]
				var cookiename=(persisttype=="sitewide")? PnlItems[inc] : window.location.pathname
				var cookievalue= blockid
				document.cookie = ""
				document.cookie=cookiename+"="+cookievalue
			}
			else
			{
				blockid="div"+PnlItems[inc]
				var cookiename=(persisttype=="sitewide")?  PnlItems[inc] : window.location.pathname
				var cookievalue='none';
				document.cookie = ""
				document.cookie = cookiename+"="+cookievalue
			}
		}
		//alert(document.cookie);
	}


	function showPanel(divName, thisSpan)
	{

		eval("v=window." +divName +".style.display")
		if (v == 'block')
		{
			thisSpan.innerHTML = "&nbsp;<img src='../../images/collapse.gif' border=0>&nbsp;"
			eval("window." +divName).style.display='block'
		}
		else
		{
			thisSpan.innerHTML = "&nbsp;<img src='../../images/expand.gif' border=0>&nbsp;"
			eval("window." +divName).style.display='none'
		}

	}

//End of Script for collapsible-expandable panel

// FUNCTION VALIDATE DATE

function DateComparision(date1, date2)
{
	var D1 = new Date(date1);
	var D2 = new Date(date2);
	return (D1 > D2);
}
	
function validate_months(obj)
{
	if ((obj.value -0)>11)
	{   
		alert('Months cannot be greater than 11.');
		obj.value = "";
		obj.focus();
	}
}	

function validate_perc(obj)
{
	if ((obj.value -0)>100)
   {
   alert('Percentage can not be greater than 100.');
   obj.value = "";
   obj.focus();
   }
}	   


function Set_Years_Months(strBirthDate,objYear,objMonth)
{
	
	var year = eval('document.forms(0).' + objYear);
	var month = eval('document.forms(0).' + objMonth);

	if(typeof(year) != 'undefined' && typeof(month) != 'undefined')
	{

		if(strBirthDate != '' )
		{
			datearray = strBirthDate.split("/");
			mm = datearray[0]; dd = datearray[1]; yy = datearray[2];

			var today = new Date();
			var Month =parseInt(today.getMonth()) + 1;
			var Day = today.getDate();
			var Year = parseInt(today.getYear());			
			var CompleteDate = Month + "/" + Day + "/" + Year;
			
			datearraytoday = CompleteDate.split("/");
			mmtoday = datearraytoday[0]; ddtoday = datearraytoday[1]; yytoday = datearraytoday[2];

			yeardiff = (yytoday - yy)
			monthdiff = (mmtoday - mm)
			
			if (monthdiff < 0)
				{
				yeardiff = yeardiff - 1
				monthdiff = 12 + monthdiff
				}
			year.value = yeardiff
			validate_num_nofocus(year)

			month.value = monthdiff
			validate_num_nofocus(month)

		}
	}
}


function move(fbox, tbox)
{
	for(var i=0; i<fbox.options.length; i++)
	{
		if(fbox.options[i].selected && fbox.options[i].value != "")
		{
			var no = new Option();
			no.value = fbox.options[i].value;
			no.text = fbox.options[i].text;
			tbox.options[tbox.options.length] = no;
			fbox.options[i].value = "";
			fbox.options[i].text = "";
		}
	}
	BumpUp(fbox);		
	SortD(tbox);

}

function moveall(fbox, tbox)
{
	for(var i=0; i<fbox.options.length; i++)
	{
		if(fbox.options[i].value != "")
		{
			var no = new Option();
			no.value = fbox.options[i].value;
			no.text = fbox.options[i].text;
			tbox.options[tbox.options.length] = no;
			fbox.options[i].value = "";
			fbox.options[i].text = "";
			
		}
	}
	fbox.options.length = 0;		
	SortD(tbox);
}

function BumpUp(box)
{
	for(var i=0; i<box.options.length; i++)
	{
		if(box.options[i].value == "")
		{
			for(var j=i; j<box.options.length-1; j++)
			{
				box.options[j].value = box.options[j+1].value;
				box.options[j].text = box.options[j+1].text;
			}
			var ln = i;
			break;
		}
	}
	if (ln < box.options.length)
	{
		box.options.length -= 1;
		BumpUp(box);
	} 		
}

function SortD(box)
{
	var temp_opts = new Array();
	var temp = new Object();
	for (var i=0; i<box.options.length; i++)
	{
		temp_opts[i] = box.options[i];
	}
	for (var x=0; x<temp_opts.length-1; x++)
	{
		for(var y=(x+1); y<temp_opts.length; y++)
		{
			if(temp_opts[x].text > temp_opts[y].text)
			{
				temp = temp_opts[x].text;
				temp_opts[x].text = temp_opts[y].text;
				temp_opts[y].text = temp;
			}
		}
	}
	for(var i=0; i<box.options.length; i++)
	{
		box.options[i].value = temp_opts[i].value;
		box.options[i].text = temp_opts[i].text;
	}
}

	function toAscii (c)
	{
		var loAZ = "abcdefghijklmnopqrstuvwxyz";
		symbols+= loAZ.toUpperCase();
		symbols+= "[\\]^_`";
		symbols+= loAZ;
		symbols+= "{|}~";
		var loc;
		loc = symbols.indexOf(c);
		if (loc >-1)
		{
			Ascii_Decimal = 32 + loc;
			return (32 + loc);
	    }
	    return(0);  // If not in range 32-126 return ZERO  								  
	  }
	  
function validate_years(obj)
{
if ((obj.value -0)>100)
   {
   alert('Years cannot be greater than 100.');
   obj.value = "";
   obj.focus();
   }
}  
function validate_date(field, desc){

var DateField = field;
var desc = desc;
var blnvalidate;

if (DateField.value.substr(1,1) == "/") {
		
		
		blnvalidate = validate_date0(DateField,desc);
		 
		
	}
else
	{	
				
		blnvalidate = validate_date0(DateField,desc);
		
		 
	}

if (blnvalidate) {
	return true;
	}
else
	{
	return false;
	}

}




function validate_date0(field, desc){
var checkstr = "0123456789";
var DateField = field;
var Datevalue = "";
var DateTemp = "";
var seperator = "/";
var day;
var month;
var year;
var leap = 0;
var err = 0;
var i;
var currentyear;
var currentdate;
var age;
 
    err = 0;
   DateValue = DateField.value;
   	if ( DateValue.substr(1,1) == '/')
			{
			//alert("add 0 for day");
			DateValue = '0' + DateValue;
			}
		
		
	//alert(DateValue);
		if (DateValue.substr(4,1) == '/')
			{
			//alert("add 0 for Month");
			//alert(DateValue.substr(0,3));
			//alert(DateValue.substr(3));
			
			DateValue = DateValue.substr(0,3) + '0' + DateValue.substr(3);
			}
   /* Delete all chars except 0..9 */
   for (i = 0; i < DateValue.length; i++) {
	  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
	     DateTemp = DateTemp + DateValue.substr(i,1);
	  }
   }
   DateValue = DateTemp;
   /* Always change date to 8 digits - string*/
   /* if year is entered as 2-digit / always assume 20xx */
   if (DateValue.length == 6) {
      DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
   if (DateValue.length != 8) {
      err = 19;}
   /* year is wrong if year = 0000 */
   year = DateValue.substr(4,4);
   if (year == 0) {
      err = 20;
   }
   /* Validation of month*/
   month = DateValue.substr(0,2);
   if ((month < 1) || (month > 12)) {
      err = 21;
   
   }
   /* Validation of day*/
   day = DateValue.substr(2,2);
   if (day < 1) {
     err = 22;
   }
     /* Validation for date greater than 1752 */
   if (DateValue) {
   if ((year < 1753)) {
     alert("You can not enter date less than 1753-01-01");
      DateField.select();
	  DateField.focus();
	  return false;
   }
   }
   /* Validation leap-year / february / day */
   if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
      leap = 1;
   }
   if ((month == 2) && (leap == 1) && (day > 29)) {
      err = 23;
   }
   if ((month == 2) && (leap != 1) && (day > 28)) {
      err = 24;
   }
   /* Validation of other months */
   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
      err = 25;
   }
   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
      err = 26;
   }
   /* if 00 ist entered, no error, deleting the entry */
   if ((day == 0) && (month == 0) && (year == 00)) {
      err = 0; day = ""; month = ""; year = ""; seperator = "";
   }
   /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
   if (err == 0) {
      
			    
		DateField.value = month + seperator + day + seperator + year;
		return true;
      
   
   }
   

   /* Error-message if err != 0 */
   else {
     //alert("Date is incorrect! Valid formats are - mmddyy, mmddyyyy, mm/dd/yy, mm/dd/yyyy");
      DateField.select();
	  DateField.focus();
	  return false;

   }

		 


}


function validate_date1(date_field, desc) {
        if (!date_field.value)  
                return true;
        var in_date = stripCharString(date_field.value," ");
        in_date = in_date.toUpperCase();
        var date_is_bad = 0;  
        if (!allowInString(in_date,"/0123456789T+-"))
                date_is_bad = 1; // invalid characters in date
        if (!date_is_bad) { 
                var has_rdi = 0;
                if (in_date.indexOf("T") >= 0){ 
                        has_rdi = 1;
                }
                if (!date_is_bad && has_rdi && (in_date.indexOf("T") != 0)) { 
                        date_is_bad = 2; // relative date index character is not in first  position
                }
                if (!date_is_bad && has_rdi && (in_date.length == 1)) { 
                        var d = new Date();
						var return_month = parseInt(d.getMonth() +  1).toString();
						return_month = (return_month.length==1 ? "0" :  "") + return_month; 
						var return_date =   parseInt(d.getDate()).toString();
						return_date = (return_date.length==1 ? "0" : "")  + return_date; 
				        in_date = return_month + "/" + return_date + "/" +  get_full_year(d);		
                        has_rdi = 0; // date doesn't have rdi char anymore (will also cause  failure of add'l rdi checks, which is a good thing)
                }
                if (!date_is_bad && has_rdi && (in_date.length > 1) && !(in_date.charAt(1) == "+"  || in_date.charAt(1) == "-")) {
                        date_is_bad = 3; // length of rdi string is greater than 1 but second  char is not "+" or "-"
                }
                if (!date_is_bad && has_rdi &&  isNaN(parseInt(in_date.substring(2,in_date.length),10))) {
                        date_is_bad = 4; // rdi value is not a number
                }
                if (!date_is_bad && has_rdi && (parseInt(in_date.substring(2,in_date.length),10)  < 0)) {
                        date_is_bad = 5; // rdi value is not a positive integer
                }
                if (!date_is_bad && has_rdi) {
                        var d = new Date();
                        ms = d.getTime();
                        offset = parseInt(in_date.substring(2,in_date.length),10);
                        if(in_date.charAt(1) == "+") {
                                ms += (86400000 * offset);
                        } else {
                                ms -= (86400000 * offset);
                        }
                        d.setTime(ms);
						var return_month = parseInt(d.getMonth() +  1).toString();
						return_month = (return_month.length==1 ? "0" :  "") + return_month; 
						var return_date =   parseInt(d.getDate()).toString();
						return_date = (return_date.length==1 ? "0" : "")  + return_date; 
				        in_date = return_month + "/" + return_date + "/" +  get_full_year(d);	
                        has_rdi = 0;
                }
        } 
        if (!date_is_bad) {
                var date_pieces = new Array();
                date_pieces = in_date.split("/");
                if (date_pieces.length == 2) {
                        var d = new Date();
                        in_date = in_date + "/" + get_full_year(d);
                        date_pieces = in_date.split("/");
                }
                if (date_pieces.length != 3 || parseInt(date_pieces[0],10) < 1 ||  parseInt(date_pieces[0],10) > 12 
                                || parseInt(date_pieces[1],10) < 1 || parseInt(date_pieces[1],10)  > 31 
                                || (date_pieces[2].length != 2 && date_pieces[2].length != 4)) {
                        date_is_bad = 6;  // date is not in format of m[m]/d[d]/yy[yy]
                }
        }
        if (date_is_bad) {
               // alert("Please use the date format, mm/dd/yy or mm/dd/yyyy for " + desc);
               // alert("Date is incorrect! Valid formats are - mmddyy, mmddyyyy, mm/dd/yy, mm/dd/yyyy");
                date_field.focus();
                return (false);
        }
        
        var ms = Date.parse(in_date);
        var d = new Date();
      
        var yearcurrent = d.getYear();
        d.setTime(ms);
		var return_date = d.toLocaleString();
		var return_month = parseInt(d.getMonth() + 1).toString();
		return_month = (return_month.length==1 ? "0" : "") + return_month; 
		var return_date =  parseInt(d.getDate()).toString();
		return_date = (return_date.length==1 ? "0" : "") + return_date; 
        return_date = return_month + "/" + return_date + "/" + get_full_year(d);
        date_field.value = return_date;
        return true;
}       // normalize the year to yyyy
function get_full_year(d) {
		
		var today10 = new Date()

	   var year10 = today10.getYear()

		var year11 = "19" + (year10+"").substring(2,4) 
			   
		var y = ""
		//if (d.getFullYear() != null)
		//{
		//	y = d.getFullYear();
			
		//	if (y <= year11) y+= 100;	
				
		//} else
		if (d.getYear() != null)
		{	
	        y = d.getYear();
	        if (y > 85  && y < 100) y += 1900;
	        if (y < 1000) y += 2000;
	        
		}
        return y;
}
function stripCharString (InString, CharString)  {
        var OutString="";
   for (var Count=0; Count < InString.length; Count++)  {
        var TempChar=InString.substring (Count, Count+1);
      var Strip = false;
      for (var Countx = 0; Countx < CharString.length; Countx++) {
        var StripThis = CharString.substring(Countx, Countx+1)
         if (TempChar == StripThis) {
                Strip = true;
            break;
         }
      }
      if (!Strip)
        OutString=OutString+TempChar;
   }
        return (OutString);
}
function allowInString (InString, RefString)  {
        if(InString.length==0) return (false);
        for (var Count=0; Count < InString.length; Count++)  {
        var TempChar= InString.substring (Count, Count+1);
      if (RefString.indexOf (TempChar, 0)==-1)  
        return (false);
   }
   return (true);
}



//  END OF VALIDATE DATE


// FUNCTION TO VALIDATE CURRENCY
	
	function formatCurrency(num) {	
		oldnum=num
		num = num.toString().replace(/\$|\,/g,'');
		if(isNaN(num))
		num = "0";
		else if(parseFloat(num) < 0)
			num = "0";
		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));
		

		if	(oldnum=="") return "";
		else	
		return (((sign)?'':'-') + '$' + num + '.' + cents);

		}
// END OF VALIDATE CURRENCY
		
// FUNCTION TO VALIDATE NUMBER OR CHAR.

function validate_numchar(field) {
var valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
var ok = "yes";
var temp;
for (var i=0; i<field.value.length; i++) {
temp = "" + field.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no") {
alert("Invalid entry! Only characters and numbers are accepted.");
field.focus();
field.select();
   }
}

// END OF VALIDATE NUMBER OR CHAR.


// FUNCTION TO ACCEPT ONLY CHARACTER

function validate_char(field) {
var valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
var ok = "yes";
var temp;
for (var i=0; i<field.value.length; i++) {
temp = "" + field.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no") {
alert("Invalid entry! Only characters are accepted.");
field.focus();
field.select();
   }
}

// END OF CHAR.


// FUNCTION TO ACCEPT ONLY NUMBER

function validate_num(field) {
var valid = "0123456789"
var ok = "yes";
var temp;
for (var i=0; i<field.value.length; i++) {
temp = "" + field.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no") {
alert("Invalid entry! Only numbers are accepted.");
field.value = "";
field.focus();
field.select();
return false;
   }
return true;
}

// END OF NUMBER


// FUNCTION TO ACCEPT ONLY FLOAT

function validate_float(field) 
{
	var valid = "0123456789.-"
	var ok = "yes";
	var temp, dotCtr,minusCount;
	for (var i=0; i<field.value.length; i++) 
	{
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	dotCtr = 0;
	for (var i=0; i<field.value.length; i++)
		if(field.value.substr(i, 1) == ".") dotCtr++;

	if(dotCtr > 1) ok = "no";
	
	minusCount = 0;
	for (var i=0; i<field.value.length; i++)
		if(field.value.substr(i, 1) == "-") minusCount++;

	if(minusCount > 1) ok = "no";
	if (minusCount==1)
	   {
	   if(field.value.substr(0,1)!="-" ) ok="no";  
	   
	   }
	if (ok == "no") 
	{
		alert("Invalid entry! Only numbers are accepted.");
		field.focus();
		field.select();
		return false;
	}
	return true;
}

// END OF FLOAT

// FUNCTION TO VALIDATE FAX ONLY

function validatePhone()
	{

		if (strFieldval == "")
		{
			return ""
		}
		//-- patter for phone format -- //
		//var re = /^(\(?)\d{3}(\)?)\s*\-?\.?\s*\d{3}\s*([-\/\.\s])\s*\d{4}$/;
		
		var re = /^(\(?)\d{3}(\)?)\s*\-?\.?\s*\d{3}\s*([-\/\.\s])\s*\d{4}$/;
		var sussess = false;

		var Omatch = strFieldval.match(re);
		//alert(RegExp.$1  + " and " + RegExp.$2 +  " : " + RegExp.$3 + " and " + RegExp.$4)

		if ((RegExp.$1 == "" &&  RegExp.$2 == "") || (RegExp.$1 == "(" &&  RegExp.$2 == ")"))
		{
			if (RegExp.$3 == RegExp.$4)
			{
				sussess = true
			}
			else if (RegExp.$4 == "")
			{
				sussess = true
			}
		}
		var returnString = 	"This field requires a valid format phone/fax number. \n\n eg:\n(123) 456-7890\n123 456 7890\n123-456 7890";

		if (sussess == true)
		{
			if (Omatch == null)
			{
			return returnString;
			}
		}
		else
		{
			return returnString;
		}
		return ""
	}

// END OF FAX VALIDATION


// VALIDATE BIRTH DATE

function validate_birthdate(field,desc,agebox){

var DateField = field;
var desc = desc;
var agebox = agebox;

if (DateField.value.substr(1,1) == "/") {
		 
		return  validate_birthdate1(DateField, desc,agebox);
	}
else
	{	
		
		 return validate_birthdate0(DateField,desc,agebox);
	}

}




function validate_birthdate0(field,desc,agebox){
var checkstr = "0123456789";
var DateField = field;
var Datevalue = "";
var DateTemp = "";
var seperator = "/";
var day;
var month;
var year;
var leap = 0;
var err = 0;
var i;
var currentyear;
var currentdate;
var age;
var century;
var currentcentury;
var currentyear1;
 
 		currentdate	= new Date();
		
	    currentyear = currentdate.getYear();
		ctrv = currentyear.toString();
 	    
	
    
    err = 0;
   DateValue = DateField.value;
	//alert(DateValue);
	if ( DateValue.substr(1,1) == '/')
			{
			//alert("add 0 for day");
			DateValue = '0' + DateValue;
			}
		
		
	//alert(DateValue);
		if (DateValue.substr(4,1) == '/')
			{
			//alert("add 0 for Month");
			//alert(DateValue.substr(0,3));
			//alert(DateValue.substr(3));
			
			DateValue = DateValue.substr(0,3) + '0' + DateValue.substr(3);
			}
		

	//alert('after Month' + DateValue);
   /* Delete all chars except 0..9 */
   for (i = 0; i < DateValue.length; i++)
     {

			
	   if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) 
	  {
	     DateTemp = DateTemp + DateValue.substr(i,1);
	  }
   }
   DateValue = DateTemp;
 
   
   
   /* if year is entered as 2-digit / always assume 20xx */
   if (DateValue.length == 6) {
            
      DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); 
      
       year = DateValue.substr(4,4);
       
       
       if (year >= 2000 && year <= 2020)
       {
      
      DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(6,2); 
		}
		else
		{
		DateValue = DateValue.substr(0,4) + '19' + DateValue.substr(6,2); 
		}   
       
       year = DateValue.substr(4,4);
       
             
      }
   
   
   /* Always change date to 8 digits - string*/ 
		if (DateValue.length != 8) {
		err = 19;}
   
   /* year is wrong if year = 0000 */
   
   year = DateValue.substr(4,4);
   if (year == 0) {
      err = 20;
   }
   
   
   /* Validation of month*/
   month = DateValue.substr(0,2);
   if ((month < 1) || (month > 12)) {
      err = 21;
   }
   /* Validation of day*/
   day = DateValue.substr(2,2);
   if (day < 1) {
     err = 22;
   }
   /* Validation leap-year / february / day */
   if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
      leap = 1;
   }
   if ((month == 2) && (leap == 1) && (day > 29)) {
      err = 23;
   }
   if ((month == 2) && (leap != 1) && (day > 28)) {
      err = 24;
   }
   /* Validation of other months */
   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
      err = 25;
   }
   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
      err = 26;
   }
   /* if 00 ist entered, no error, deleting the entry */
   if ((day == 0) && (month == 0) && (year == 00)) {
      err = 0; day = ""; month = ""; year = ""; seperator = "";
   }

   /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
   if (err == 0) {
      
		
		
		if (DateValue.length > 0) {
	    age = (currentyear - year);
	   	//alert(age);	
	    //eval(agebox + "=age;");  // commented BY Nirav on 01/27/04 
	   	}
	    else
			{
			age = "";
	   	//alert(age);	
	   // eval(agebox + "=age;");  // commented BY Nirav on 01/27/04 
	   	}	
	    
		DateField.value = month + seperator + day + seperator + year;
   
		return true;
   
   }
   

   /* Error-message if err != 0 */
   else {
   //   alert("Date is incorrect! Valid formats are - mmddyy, mmddyyyy, mm/dd/yy, mm/dd/yyyy" + err);
      DateField.select();
	  DateField.focus();
		return false;
   }

		 


}


function validate_birthdate1(date_field, desc,agebox) {
        if (!date_field.value)  
                return true;
        var in_date = stripCharString(date_field.value," ");
        in_date = in_date.toUpperCase();
        var date_is_bad = 0;  
        if (!allowInString(in_date,"/0123456789T+-"))
                date_is_bad = 1; // invalid characters in date
        if (!date_is_bad) { 
                var has_rdi = 0;
                if (in_date.indexOf("T") >= 0){ 
                        has_rdi = 1;
                }
                if (!date_is_bad && has_rdi && (in_date.indexOf("T") != 0)) { 
                        date_is_bad = 2; // relative date index character is not in first  position
                }
                if (!date_is_bad && has_rdi && (in_date.length == 1)) { 
                        var d = new Date();
						var return_month = parseInt(d.getMonth() +  1).toString();
						return_month = (return_month.length==1 ? "0" :  "") + return_month; 
						var return_date =   parseInt(d.getDate()).toString();
						return_date = (return_date.length==1 ? "0" : "")  + return_date; 
				        in_date = return_month + "/" + return_date + "/" +  get_full_year1(d);		
                        has_rdi = 0; // date doesn't have rdi char anymore (will also cause  failure of add'l rdi checks, which is a good thing)
                }
                if (!date_is_bad && has_rdi && (in_date.length > 1) && !(in_date.charAt(1) == "+"  || in_date.charAt(1) == "-")) {
                        date_is_bad = 3; // length of rdi string is greater than 1 but second  char is not "+" or "-"
                }
                if (!date_is_bad && has_rdi &&  isNaN(parseInt(in_date.substring(2,in_date.length),10))) {
                        date_is_bad = 4; // rdi value is not a number
                }
                if (!date_is_bad && has_rdi && (parseInt(in_date.substring(2,in_date.length),10)  < 0)) {
                        date_is_bad = 5; // rdi value is not a positive integer
                }
                if (!date_is_bad && has_rdi) {
                        var d = new Date();
                        ms = d.getTime();
                        offset = parseInt(in_date.substring(2,in_date.length),10);
                        if(in_date.charAt(1) == "+") {
                                ms += (86400000 * offset);
                        } else {
                                ms -= (86400000 * offset);
                        }
                        d.setTime(ms);
						var return_month = parseInt(d.getMonth() +  1).toString();
						return_month = (return_month.length==1 ? "0" :  "") + return_month; 
						var return_date =   parseInt(d.getDate()).toString();
						return_date = (return_date.length==1 ? "0" : "")  + return_date; 
				        in_date = return_month + "/" + return_date + "/" +  get_full_year1(d);	
                        has_rdi = 0;
                }
        } 
        if (!date_is_bad) {
                var date_pieces = new Array();
                date_pieces = in_date.split("/");
                if (date_pieces.length == 2) {
                        var d = new Date();
                        in_date = in_date + "/" + get_full_year1(d);
                        date_pieces = in_date.split("/");
                }
                if (date_pieces.length != 3 || parseInt(date_pieces[0],10) < 1 ||  parseInt(date_pieces[0],10) > 12 
                                || parseInt(date_pieces[1],10) < 1 || parseInt(date_pieces[1],10)  > 31 
                                || (date_pieces[2].length != 2 && date_pieces[2].length != 4)) {
                        date_is_bad = 6;  // date is not in format of m[m]/d[d]/yy[yy]
                }
        }
        if (date_is_bad) {
                //alert("Please use the date format, mm/dd/yy or mm/dd/yyyy for " + desc);
                //alert("Date is incorrect! Valid formats are - mmddyy, mmddyyyy, mm/dd/yy, mm/dd/yyyy");
                date_field.focus();
                return (false);
        }
        
        var ms = Date.parse(in_date);
        var d = new Date();
      
        var yearcurrent = d.getYear();
        d.setTime(ms);
		var return_date = d.toLocaleString();
		var return_month = parseInt(d.getMonth() + 1).toString();
		return_month = (return_month.length==1 ? "0" : "") + return_month; 
		var return_date =  parseInt(d.getDate()).toString();
		return_date = (return_date.length==1 ? "0" : "") + return_date; 
        return_date = return_month + "/" + return_date + "/" + get_full_year1(d);
        date_field.value = return_date;
     
       // eval(agebox + "=(yearcurrent-get_full_year1(d));")  // commented BY Nirav on 01/27/04 
         return true;
}       // normalize the year to yyyy
function get_full_year1(d) {
		
		var today10 = new Date()

	   var year10 = today10.getYear()
		var year11 = "19" + (year10+"").substring(2,4) 
		
		var y = ""
		if (d.getFullYear() != null)
		{
			y = d.getFullYear();
			if (y <= year11) y+= 100;		
		} else
		{	
	        y = d.getYear();
	        if (y > 69  && y < 100) y += 1900;
	        if (y < 1000) y += 2000;
		}
        return y;
}
function stripCharString (InString, CharString)  {
        var OutString="";
   for (var Count=0; Count < InString.length; Count++)  {
        var TempChar=InString.substring (Count, Count+1);
      var Strip = false;
      for (var Countx = 0; Countx < CharString.length; Countx++) {
        var StripThis = CharString.substring(Countx, Countx+1)
         if (TempChar == StripThis) {
                Strip = true;
            break;
         }
      }
      if (!Strip)
        OutString=OutString+TempChar;
   }
        return (OutString);
}
function allowInString (InString, RefString)  {
        if(InString.length==0) return (false);
        for (var Count=0; Count < InString.length; Count++)  {
        var TempChar= InString.substring (Count, Count+1);
      if (RefString.indexOf (TempChar, 0)==-1)  
        return (false);
   }
   return (true);
}





// END OF BIRTH DATE VALIDATION

// Added on 01/16/02 4:03AM
var pdobs;

function ageFocus(t)
{	

if(t.value.length == 0 || t.value == "")
	pdobs = "";
else
	pdobs = t.value;
}

function agetoDOB(t, errMsgStr, dobObj, curDate)
{
	var fdate, dd, mm, yy, tdt;
	tdt = curDate;
	validate_num(t,'Age');
	mm = tdt.substr(0,2); dd = tdt.substr(3,2); yy = tdt.substr(6);
	
	if(pdobs != t.value)
	{
		fdate = addDate("y", -(t.value), dd, mm, yy);
		dobObj.value=fdate;
	}
}


// Added by Elango on 12/28/2001

function DateAdd(startDate, numDays, numMonths, numYears)
{
	var returnDate = new Date(startDate.getTime());
	var yearsToAdd = numYears;
	
	var month = returnDate.getMonth()	+ numMonths;
	if (month > 11)
	{
		yearsToAdd = Math.floor((month+1)/12);
		month -= 12*yearsToAdd;
		yearsToAdd += numYears;
	}
	returnDate.setMonth(month);
	returnDate.setFullYear(returnDate.getFullYear()	+ yearsToAdd);
	
	returnDate.setTime(returnDate.getTime()+60000*60*24*numDays);
	
	return returnDate;

}

function YearAdd(startDate, numYears)
{
		return DateAdd(startDate,0,0,numYears);
}

function MonthAdd(startDate, numMonths)
{
		return DateAdd(startDate,0,numMonths,0);
}

function DayAdd(startDate, numDays)
{
		return DateAdd(startDate,numDays,0,0);
}


function addDate(args)
{
	var mode, vals, dd, mm, yy, nyr;
	var tmp1, tmp2, tmp3, tmp4;
	var i, j, k, l;
	mode = arguments[0]; vals = arguments[1];
	dd = arguments[2]; mm = arguments[3]; yy = arguments[4];
	if(arguments.length > 5)	nyr = arguments[5];
	// Add "vals" days to the given date
if(mode == "d")
	{
		tmp1 = Number(dd);	tmp2 = Number(mm);  tmp3 = Number(yy);
		for(i=1; i<=vals; i++)
		{
			tmp1 = tmp1 + 1;
			if(tmp3 % 4 == 0)
			{
				if(tmp2 == 2 && tmp1 > 29) { tmp1 = 1; tmp2 = tmp2 + 1; }
			}
			else
			{
				if(tmp2 == 2 && tmp1 > 28) { tmp1 = 1; tmp2 = tmp2 + 1; }
			}
			if(tmp2 == 1 || tmp2 == 3 || tmp2 == 5 || tmp2 == 7 || tmp2 == 8 || 
				tmp2 == 10 || tmp2 == 12)
			{
				if(tmp1 > 31) { tmp1 = 1; tmp2 = tmp2 + 1; }
				if(tmp2 > 12) { tmp2 = 1; tmp3 = tmp3 + 1; }				
			}
			if(tmp2 == 4 || tmp2 == 6 || tmp2 == 9 || tmp2 == 11)
			{
				if(tmp1 > 30) { tmp1 = 1; tmp2 = tmp2 + 1; }
				if(tmp2 > 12) { tmp2 = 1; tmp3 = tmp3 + 1; }				
			}
			if(tmp2 > 12) { tmp2 = 1; tmp1 = 1; tmp3 = tmp3 + 1; }
		}
	}
	if(mode == "m")
	{
		tmp1 = Number(dd); tmp2 = Number(mm); tmp3 = Number(yy);
		for(i=1; i<=vals; i++)
		{
			tmp2 = tmp2 + 1;
			if(tmp2 > 12) { tmp2 = 1; tmp3 = tmp3 + 1; }
		}
	}
	if(mode == "w" || mode == "bw")
	{
		tmp1 = Number(dd); tmp2 = Number(mm); tmp3 = Number(yy);
		for(i=1; i<=vals; i++)
		{
			if(mode == "w") tmp1 = tmp1 + 7;
			if(mode == "bw") tmp1 = tmp1 + 14;
			if(tmp3 % 4 == 0)
			{
				if(tmp2 == 2 && tmp1 > 29) { tmp1 = tmp1 - 29; tmp2 = tmp2 + 1; }
			}
			else
			{
				if(tmp2 == 2 && tmp1 > 28) { tmp1 = tmp1 - 28; tmp2 = tmp2 + 1; }
			}
			if(tmp2 == 1 || tmp2 == 3 || tmp2 == 5 || tmp2 == 7 || tmp2 == 8 || 
				tmp2 == 10 || tmp2 == 12)
			{
				if(tmp1 > 31) { tmp1 = tmp1 - 31; tmp2 = tmp2 + 1; }
				if(tmp2 > 12) { tmp2 = 1; tmp3 = tmp3 + 1; }
			}
			if(tmp2 == 4 || tmp2 == 6 || tmp2 == 9 || tmp2 == 11)
			{
				if(tmp1 > 30) { tmp1 = tmp1 - 30; tmp2 = tmp2 + 1; }
				if(tmp2 > 12) { tmp2 = 1; tmp3 = tmp3 + 1; }
			}
			if(tmp2 > 12) { tmp2 = 1; tmp1 = tmp1 - 31; tmp3 = tmp3 + 1; }
		}
	}
	if(mode == "y")
	{
		tmp1 = Number(dd); tmp2 = Number(mm); tmp3 = Number(yy);
		if(vals > 0)
		{
			for(i=1; i<=vals; i++)
				tmp3 = tmp3 + 1;
		}
		else
		{
			for(i=vals; i<0; i++)
				tmp3 = tmp3 - 1;
		}
	}
	if(mode == "sy")
	{
		tmp1 = Number(dd); tmp2 = Number(mm); tmp3 = Number(yy);
		for(i=1; i<=vals; i++)
		{
			tmp2 = tmp2 + 6;
			if(tmp2 > 12) { tmp2 = tmp2 - 12; tmp3 = tmp3 + 1; }			
		}		
	}
	if(mode == "qy")
	{
		tmp1 = Number(dd); tmp2 = Number(mm); tmp3 = Number(yy);
		for(i=1; i<=vals; i++)
		{
			tmp2 = tmp2 + 3;
			if(tmp2 > 12) { tmp2 = tmp2 - 12; tmp3 = tmp3 + 1; }			
		}		
	}
	if(mode == "eny")
	{
		tmp1 = Number(dd); tmp2 = Number(mm); tmp3 = Number(yy);
		for(i=1; i<=vals; i++)
			tmp3 = Number(tmp3) + Number(nyr);
	}
	if(tmp2 >= 1 && tmp2 <= 9) tmp2 = "0" + tmp2;
	if(tmp1 >= 1 && tmp1 <= 9) tmp1 = "0" + tmp1;
	
	if(mode != "d" && tmp1 == 31 && (tmp2 == 4 || tmp2 == 6 || tmp2 == 9 || tmp2 == 11)) tmp1 = tmp1 - 1;
	if(mode != "d" && tmp1 > 28 && tmp2 == 2) tmp1 = 28;
	
	tmp4 = tmp2 + "/" + tmp1 + "/" + tmp3;
	return tmp4;
}


function formatNumeric(t, dp)
{
	var t1, t2;
	var p, s;
	p = "";
	if(t.value.length > 0)
	{
		p = t.value;
		if (p.indexOf(".") > 0)
		{
			t2 = p.substr(p.indexOf(".") + 1);	
			t2 = t2.toString().replace(/\$|\,/g,'');
			if(isNaN(t2))	t2 = "0";
		}
		else
			t2 = "";

		p = formatCurrency(t.value);
		t.value = p.substr(1);
		p = t.value;
	}
	if(p.length > 0 && Number(dp) > 0)
	{
		t1 = p.substr(0, p.indexOf("."));
		t2 = t2.toString();
		if(t2.length == Number(dp))
		{
			t.value = t1 + "." + t2;
			return;
		}
		if(t2.length < Number(dp))
		{	
			s = Number(dp) - t2.length;
			for(q=1; q<=s; q++)
				t2 = t2 + "0";
		}
		t.value = t1 + "." + t2;
	}
}



function replace(string,text,by) {
// Replaces text with by in string
    var strLength = string.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) return string;

    var i = string.indexOf(text);
    if ((!i) && (text != string.substring(0,txtLength))) return string;
    if (i == -1) return string;

    var newstr = string.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replace(string.substring(i+txtLength,strLength),text,by);

    return newstr;
}



function charCount(string, chr)
{
	var ctr = 0;
	var tstr = string;
	while(tstr.indexOf(chr) >= 0)
	{
		ctr = ctr + 1;
		tstr = tstr.substr(tstr.indexOf(chr) + 1);
	}
	return ctr;
}


// ----------------------


// FUNCTION VALIDATE DATE

	
// END OF DATE FUNCTION


//-----------


// function to substract day

function Date_Substract(args)
{
	var mode, vals, dd, mm, yy, nyr;
	var tmp1, tmp2, tmp3, tmp4;
	var i, j, k, l;
	mode = arguments[0]; vals = arguments[1];
	dd = arguments[2]; mm = arguments[3]; yy = arguments[4];
	if(arguments.length > 5)	nyr = arguments[5];
	
	// Add "vals" days to the given date
	if(mode == "d")
	{
		tmp1 = Number(dd);	tmp2 = Number(mm);  tmp3 = Number(yy);
		
		for(i=1; i<=vals; i++)
		{
			
			tmp1 = tmp1 - 1;
			
			
			if(tmp3 % 4 == 0)
			{
				if(tmp2 == 3 && tmp1 < 1) { tmp1 = 29; tmp2 = tmp2 - 1; }
			}
			else
			{
				if(tmp2 == 3 && tmp1 < 1) { tmp1 = 28; tmp2 = tmp2 - 1; }
			}
			if(tmp2 == 5 || tmp2 == 7 || 
				tmp2 == 10 || tmp2 == 12)
			{
				if(tmp1 < 1) { tmp1 = 30; tmp2 = tmp2 - 1; }
				if(tmp2 < 1) { tmp2 = 12; tmp3 = tmp3 - 1; }				
			}
			if(tmp2 == 1 ||tmp2 == 2 || tmp2 == 4 || tmp2 == 6 || tmp2 == 9 || tmp2 == 11 || tmp2 == 8)
			{
				if(tmp1 < 1) { tmp1 = 31; tmp2 = tmp2 - 1; }
				if(tmp2 < 1) { tmp2 = 12; tmp3 = tmp3 - 1; }				
			}
			if(tmp2 < 1) { tmp2 = 12; tmp1 = 31; tmp3 = tmp3 - 1; }
		}
	}
	if(mode == "m")
	{
		tmp1 = Number(dd); tmp2 = Number(mm); tmp3 = Number(yy);
		for(i=1; i<=vals; i++)
		{
			tmp2 = tmp2 + 1;
			if(tmp2 > 12) { tmp2 = 1; tmp3 = tmp3 + 1; }
		}
	}
	if(mode == "w" || mode == "bw")
	{
		tmp1 = Number(dd); tmp2 = Number(mm); tmp3 = Number(yy);
		for(i=1; i<=vals; i++)
		{
			if(mode == "w") tmp1 = tmp1 + 7;
			if(mode == "bw") tmp1 = tmp1 + 14;
			if(tmp3 % 4 == 0)
			{
				if(tmp2 == 2 && tmp1 > 29) { tmp1 = tmp1 - 29; tmp2 = tmp2 + 1; }
			}
			else
			{
				if(tmp2 == 2 && tmp1 > 28) { tmp1 = tmp1 - 28; tmp2 = tmp2 + 1; }
			}
			if(tmp2 == 1 || tmp2 == 3 || tmp2 == 5 || tmp2 == 7 || tmp2 == 8 || 
				tmp2 == 10 || tmp2 == 12)
			{
				if(tmp1 > 31) { tmp1 = tmp1 - 31; tmp2 = tmp2 + 1; }
				if(tmp2 > 12) { tmp2 = 1; tmp3 = tmp3 + 1; }
			}
			if(tmp2 == 4 || tmp2 == 6 || tmp2 == 9 || tmp2 == 11)
			{
				if(tmp1 > 30) { tmp1 = tmp1 - 30; tmp2 = tmp2 + 1; }
				if(tmp2 > 12) { tmp2 = 1; tmp3 = tmp3 + 1; }
			}
			if(tmp2 > 12) { tmp2 = 1; tmp1 = tmp1 - 31; tmp3 = tmp3 + 1; }
		}
	}
	if(mode == "y")
	{
		tmp1 = Number(dd); tmp2 = Number(mm); tmp3 = Number(yy);
		if(vals > 0)
		{
			for(i=1; i<=vals; i++)
				tmp3 = tmp3 + 1;
		}
		else
		{
			for(i=vals; i<0; i++)
				tmp3 = tmp3 - 1;
		}
	}
	if(mode == "sy")
	{
		tmp1 = Number(dd); tmp2 = Number(mm); tmp3 = Number(yy);
		for(i=1; i<=vals; i++)
		{
			tmp2 = tmp2 + 6;
			if(tmp2 > 12) { tmp2 = tmp2 - 12; tmp3 = tmp3 + 1; }			
		}		
	}
	if(mode == "qy")
	{
		tmp1 = Number(dd); tmp2 = Number(mm); tmp3 = Number(yy);
		for(i=1; i<=vals; i++)
		{
			tmp2 = tmp2 + 3;
			if(tmp2 > 12) { tmp2 = tmp2 - 12; tmp3 = tmp3 + 1; }			
		}		
	}
	if(mode == "eny")
	{
		tmp1 = Number(dd); tmp2 = Number(mm); tmp3 = Number(yy);
		for(i=1; i<=vals; i++)
			tmp3 = Number(tmp3) + Number(nyr);
	}
	if(tmp2 >= 1 && tmp2 <= 9) tmp2 = "0" + tmp2;
	if(tmp1 >= 1 && tmp1 <= 9) tmp1 = "0" + tmp1;
	tmp4 = tmp2 + "/" + tmp1 + "/" + tmp3;
	return tmp4;
}

//////// Function to Trim the blank spaces before and after the field value  //////
	function jsTrim(tform,tfield)
	{
		var tformname;
		var tfieldname;
		var tfieldval;

		tformname = tform.name;
		tfieldname = tfield.name;
		tfieldval = tfield.value;
		var tnewval = "";

		while(''+tfieldval.charAt(0) == ' ')
		{
		tfieldval = tfieldval.substring(1,tfieldval.length);
		}

		while(tfieldval.charAt(tfieldval.length-1)+'' == ' ')
		{
		tfieldval = tfieldval.substring(0,(tfieldval.length-1));
		}

		var tformname=tform.name
				//var evalstring="document.Oforms[0]." + strFieldname
		var tvalstring="document." + tformname + "." + tfieldname;
		eval(tvalstring + ".value=tfieldval;")
	}
/////////// End Trim Spaces Function //////////////////

// FUNCTION TO VALIDATE PHONE ONLY.

function Validate_Phone(field) {
var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789/-(),._*# "
var ok = "yes";
var temp;
for (var i=0; i<field.value.length; i++) {
temp = "" + field.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no") {
alert("Invalid data! Acceptable Characters are Alpha-Numeric and /-(),._*#");
field.focus();
field.select();
   }
  
}



// Email validation
function Validate(Oform,strTest,Ofield1,Ofield2)
	
	{

	
	
	// an example:
	//		from <input type=text name="from" onBlur="Validate(this.form,'date',this); Validate(this.form,'fromto',this,document.forms[0].to)">
	//		to <input type=text name="to" onBlur="Validate(this.form,'date',this); Validate(this.form,'fromto',document.forms[0].from,this)">
	//

		strError=""
		strFieldname=Ofield1.name;	//the name of the Ofield1
		strFieldval=Ofield1.value;	//the value of the Ofield1

		
		if(strValidating && strValidating != strFieldname){return false;}	//if we are strValidating a specific field, do not process calls coming from another field's onBlur

		if(strTest=="date"){strError+=validateDate() + "\n";}
		if(strTest=="text"){strError+=validateText() + "\n";}
		if(strTest=="integer"){strError+=validateInteger() + "\n";}
		if(strTest=="number"){strError+=validateNumber(Ofield1) + "\n";}
		if(strTest=="zip"){strError+=validateZipCode() + "\n";}	    
		if(strTest=="email"){strError+=validateEmail(Ofield1) + "\n";}
		if(strTest=="phone"){strError+=validatePhone() + "\n";}
		if(strTest=="money"){strError+=validateMoney(Ofield1) + "\n";}
		
		////alert the strError and take user back to the bad field////
		if(strError.length>5)
		{
			strValidating = strFieldname;
			alert(strError)
			var Oformname=Oform.name
			//var evalstring="document.Oforms[0]." + strFieldname
			var evalstring="document." + Oformname + "." + strFieldname;
			eval(evalstring + ".value=strNewVal;")
			eval(evalstring + ".focus();")
			eval(evalstring + ".select();")
		}
		else
		{
			strValidating = false;
		}
	}

function validateEmail(arg) 
	{		
		if(strFieldval == "")
		{
		 return ""
		}
				
		var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
		var regex = new RegExp(emailReg);

		var bResult = regex.test(strFieldval);
		
		if(bResult == false)
		{
			strNewVal="";
			return "This field requires a email with valid format.\nex: bgates@msn.net";
		}
		return ""
	}

// end of Email validation

function validate_money(field) 
{
	var valid = "$0123456789.-,"
	var ok = "yes";
	var temp, dotCtr,minusCount;
	for (var i=0; i<field.value.length; i++) 
	{
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	dotCtr = 0;
	for (var i=0; i<field.value.length; i++)
		if(field.value.substr(i, 1) == ".") dotCtr++;

	if(dotCtr > 1) ok = "no";
	
	minusCount = 0;
	for (var i=0; i<field.value.length; i++)
		if(field.value.substr(i, 1) == "-") minusCount++;

	if(minusCount > 1) ok = "no";
	if (minusCount==1)
	   {
	   if(field.value.substr(0,1)!="-" ) ok="no";  
	   
	   }
	if (ok == "no") 
	{
		alert("Invalid entry! Only numbers are accepted.");
		field.focus();
		field.select();
		return false;
	}
	return true;
}

// END OF money

// maxlength on textarea validation


function textCounter(field, maxlimit) {

if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter

}

// maxlength on textarea end


function validate_num_nofocus(field) {
var valid = "0123456789"
var ok = "yes";
var temp;
for (var i=0; i<field.value.length; i++) {
temp = "" + field.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no") {
//alert("Invalid entry! Only numbers are accepted.");
field.value = ""
//field.focus();
//field.select();
return false;
   }
return true;
}
function confirmDelete(delete_accessflag)
	{
//function Form_Delete(delete_pkid,delete_recordid,delete_redirectpage,delete_entity,delete_accessflag)
	if(delete_accessflag == "N")
		{
		alert("You do not have permission set to Delete this record, please contact your system administrator.")
		return false;
		}
	else if(confirm("You are about to delete this record. Are you sure?"))
		{
		return true;
		}
	return false;
	}
function validateSearchRange(gotoPage,totalPage)
{   // Used to validate Quick Search Page Textbox to validate Range of Search Pages    	     
	var totalPage1= parseInt(document.getElementById(totalPage).value,10);
	var gotoPage1 = parseInt(document.getElementById(gotoPage).value,10);
	//alert (gotoPage1);
	if ((gotoPage1 > totalPage1)||(gotoPage1 <= 0 ))
		{
		alert("Required Page is out of search range.");
		document.forms(0).txtGo.focus();
		return false;
		}
	else
		{
		return true;
		}
	}
function ViewEdit(entityid,entitytype)
//It is generic function and used everywhere in the system when there is a need to show popup of contact/company pages to edit
{
entity_id = document.getElementById(entityid).value;
if (entity_id == '' || entity_id == 'addNew')
   {
   alert('Please select '+ entitytype+ '.');
   document.getElementById(entityid).focus();
   return;
   }

else
	{
	
  // companyTypeId = eval('document.form1.CompType' + entity_id + '.value');
   if (entitytype == 'Company')
		{
		win = window.open('../diary/Company.aspx?pageloadtype=window&company_id='+ entity_id +'&actiontype=Edit','new','resizable=yes,width=700,height=500,top=50,left=50,scrollbars=1')
		}
	else
		{
		
		win = window.open('../diary/Contact.aspx?pageloadtype=window&contact_id='+ entity_id +'&actiontype=Edit','new','resizable=yes,width=700,height=500,top=50,left=50,scrollbars=1')
 		}
  win.focus();
	}

}	
///////////
				var ns6=document.getElementById&&!document.all;
				var ie=document.all;

				function changeto(e,highlightcolor){
				source=ie? event.srcElement : e.target;
				if (source.tagName=="TR1"||source.tagName=="TABLE")
				return;
				while(source.tagName!="TD1"&&source.tagName!="HTML"&&source.tagName!="TR")
				source=ns6? source.parentNode : source.parentElement;
				if (source.style.backgroundColor!=highlightcolor&&source.id.substring(source.id.length-6)!="ignore")
				source.style.backgroundColor=highlightcolor;
				}

				function contains_ns6(master, slave) { //check if slave is contained by master
				while (slave.parentNode)
				if ((slave = slave.parentNode) == master)
				return true;
				return false;
				}

				function changeback(e,originalcolor){
				if(ie&&(event.fromElement.contains(event.toElement)||source.contains(event.toElement)||source.id.substring(source.id.length-6)=="ignore")||source.tagName=="TR1"||source.tagName=="TABLE")
				return;
				else if (ns6&&(contains_ns6(source, e.relatedTarget)||source.id.substring(source.id.length-6)=="ignore"))
				return;
				if (ie&&event.toElement!=source||ns6&&e.relatedTarget!=source)
				source.style.backgroundColor=originalcolor;
				}
		  ////////


//------------------------------------CODE FOR CLIENT SIDE LISTBOX-------------------------------------


			sortitems = 0;
			function move(fbox, tbox)
			{
				var fbox,tbox;
				//fbox=eval('document.Form1.' + fbox);
				//tbox=eval('document.Form1.' + tbox);
				fbox=document.getElementById(fbox);
				tbox=document.getElementById(tbox);
				if ((fbox) && (tbox))
				{
					for(var i=0; i<fbox.options.length; i++)
					{
						if(fbox.options[i].selected && fbox.options[i].value != "")
						{
							var no = new Option();
							no.value = fbox.options[i].value;
							no.text = fbox.options[i].text;
							tbox.options[tbox.options.length] = no;
							fbox.options[i].value = "";
							fbox.options[i].text = "";
						}
					}
					BumpUp(fbox);
					if (sortitems)
						SortD(tbox);
					return false;
				}
			}

			function moveall(fbox, tbox)
			{
				//fbox=eval('document.Form1.' + fbox);
				//tbox=eval('document.Form1.' + tbox);
				fbox=document.getElementById(fbox);
				tbox=document.getElementById(tbox);
				if ((fbox) && (tbox))
				{
					for(var i=0; i<fbox.options.length; i++)
					{
						if(fbox.options[i].value != "")
						{
							var no = new Option();
							no.value = fbox.options[i].value;
							no.text = fbox.options[i].text;
							tbox.options[tbox.options.length] = no;
							fbox.options[i].value = "";
							fbox.options[i].text = "";
						}
					}
					fbox.options.length = 0;
					if (sortitems)
						SortD(tbox);
					return false;
				}
			}

			function BumpUp(box)
			{
				for(var i=0; i<box.options.length; i++)
				{
					if(box.options[i].value == "")
					{
						for(var j=i; j<box.options.length-1; j++)
						{
							box.options[j].value = box.options[j+1].value;
							box.options[j].text = box.options[j+1].text;
						}
						var ln = i;
						break;
					}
				}
				if (ln < box.options.length)
				{
					box.options.length -= 1;
					BumpUp(box);
				} 		
			}

			function SortD(box)
			{
				var temp_opts = new Array();
				var temp = new Object();
				for (var i=0; i<box.options.length; i++)
				{
					temp_opts[i] = box.options[i];
				}
				for (var x=0; x<temp_opts.length-1; x++)
				{
					for(var y=(x+1); y<temp_opts.length; y++)
					{
						if(temp_opts[x].text > temp_opts[y].text)
						{
							temp = temp_opts[x].text;
							temp_opts[x].text = temp_opts[y].text;
							temp_opts[y].text = temp;
						}
					}
				}
				for(var i=0; i<box.options.length; i++)
				{
					box.options[i].value = temp_opts[i].value;
					box.options[i].text = temp_opts[i].text;
				}
			}
		
			function selectAll(lst)
			{
					var objlst;
					objlst=document.getElementById(lst);
					if (objlst)
					{
						for(var i=0; i<objlst.options.length; i++)
						{
						objlst[i].selected = true;
						}
					}
			}			
//------------------------------------CODE FOR CLIENT SIDE LISTBOX-------------------------------------
//-----For My Reports-----
function deselectAll(lst)
{
	var objlst,result;
	objlst=document.getElementById(lst);
		if (objlst)
		{
			for(var i=0; i<objlst.options.length; i++)
				objlst[i].selected = false;
		}
}
//-----End For My Reports-----

function LTrim(value)
{
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re , "$1");
}
	
function RTrim(value)
{
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re , "$1");
}
		
function trim(value)		
{
	return LTrim(RTrim(value));
}
///To fetch querystring value added FOR AJAX on 20080811..
function getQueryVariable(variable) { 
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) 
  {
    var pair = vars[i].split("=");
 
    if (pair[0] == variable)
    { 
      return pair[1];
    }
  } 
}
//// END FOR AJAX ON 20080811..

