form_fields_Invalid = new Array();
form_fields_myInvalid = new Array();


function keyPress_validate(textbox,e,typeOfValidation,specialChar) {
	var keypressed;
	if(window.event || !e.which) keypressed = e.keyCode; // for IE, same as window.event.keyCode
	else if(e) keypressed = e.which; // netscape
	else return true;
	var keyChar = String.fromCharCode(keypressed);
	if(keypressed == 8 || keypressed == 0 || keypressed == 9 || keypressed == 13 || keypressed == 32 )
		return true;
	if(typeOfValidation == "A"){
		if(specialChar != null)	
		{
		if(specialChar.indexOf(String.fromCharCode(keypressed)) >= 0){
			return true;
		}
		}
		if ((keypressed >= 97 && keypressed <= 122) || (keypressed >= 65 && keypressed <= 90))
			return true;
		else
			return false;
	}else if(typeOfValidation == "AN"){
		if(specialChar != null)	
		{
		if(specialChar.indexOf(String.fromCharCode(keypressed)) >= 0){
			return true;
		}
		}
		if ((keypressed > 31 && keypressed < 48) || (keypressed > 57 && keypressed < 65) || (keypressed > 90 && keypressed < 97) || (keypressed==126) || keypressed == 13 )
			return false;
		else
			return true;
		
	}else if(typeOfValidation == "N"){
		if (keypressed >= 48 && keypressed <= 57)
			return true;
		else
			return false;
	}else if(typeOfValidation == "D"){
		if (keypressed >= 48 && keypressed <= 57 || keypressed == 46)
		{	
			if(textbox.value.indexOf(String.fromCharCode(46)) != -1 && keypressed == 46)
			return false;
			else
			return true;
			
		}
		else
			return false;
	}
}

var INVALID_DATE =  "<tr><td colspan=2><font face='verdana' size='1' >Following Dates are not valid!!</font></td></tr>";	
var INVALID_SSN =  "<tr><td colspan=2><font face='verdana' size='1' >Following SSN's are not valid!!</font></td></tr>";	
var INVALID_EIN =  "<tr><td colspan=2><font face='verdana' size='1' >Following EIN's are not valid!!</font></td></tr>";	
var INVALID_GENRIC = "<tr><td colspan=2><font face='verdana' size='1' >Following Error Occoured!!</font></td></tr>";	
var openTR = "<tr><td height='3px'><font face='verdana' size='1' >";
var closeTR = "</font></td></tr>";
var openTD = "<td height='3px'><font face='verdana' size='1' >";
var closeTD = "</font></td>";
var openTABLE = "<table>";
var closeTABLE = "</table>";

function checkMandatory(form_name,form_fields_mynames,form_fields_names)
{
	var key="";
	var focus="";
	var openTR = "<tr><td height='3px'><font face='verdana' size='1' >";
	var closeTR = "</font></td></tr>";
	var openTD = "<td height='3px'><font face='verdana' size='1' >";
	var closeTD = "</font></td>";
	var errTitle = "<tr><td colspan='2'><font face='verdana' size='1' >Following are the mandatory fields!!</font></td></tr>";
	var m=1;
	var seperatorConst = "<br>";
	var evenValue = true;
	var space = "&nbsp;";
	var finalMsg ="";
	validateObject = new Object();
	for(k=0;k<form_name.length;k++)
		for(j=0;j>form_fields_names.length;j++)
			if(form_name[k].name == form_fields_names[j])
				if(trim(form_name[k].value) == "" || trim(form_name[k].value) == "0" || trim(form_name[k].value) == "0.0")
				{
					if(evenValue == true)
						key+= openTR + + m + ".  " +form_fields_mynames[j] + closeTD ;
					else
						key+= openTD + m + ".  " +form_fields_mynames[j] + closeTR;
					evenValue = !evenValue;
					focus+=","+k;
					m++;
				}
		if(key!=""){
			validateObject.errorMsg = errTitle +  key  ;
			if(evenValue == false)
			validateObject.errorMsg +=  "</tr>" ;
		focus = focus.substring(1);
		Field=focus.substring(0,focus.indexOf(","));
		if(Field=="")
			Field=focus.substring(focus.length,focus.indexOf(","));
		validateObject.firstFocus = Field;
		validateObject.errorValue = true;
		return validateObject;
		}
		validateObject.errorMsg  = "";
		validateObject.firstFocus = "-1";
		validateObject.errorValue = false;
		return validateObject;
}

function addMandatoryFields(myName,fieldName){
	for(var addManflds =0; addManflds < form_fields_names.length;addManflds++)	
		if(form_fields_names[addManflds] == fieldName) return;
	form_fields_mynames.push(myName);
	form_fields_names.push(fieldName);

}

function removeMandatoryFields(element){
	for(var f=0;f < form_fields_names.length;f++){
		if(form_fields_names[f] == element){
			form_fields_mynames.splice(f,1);
			form_fields_names.splice(f,1);
			return;
		}
	}
}



function myFormat(textbox,e,filter) {
	var key;
	var maxLength = filter.length;
	if(window.event || !e.which) key = e.keyCode; // for IE, same as window.event.keyCode
	else if(e) key = e.which; // netscape
	else return true;
	if(key == 8 || key == 0 || key == 9 ||  key == 13 ) // let user to enter: backspace, enter, tab 
	return true;
	if(key >= 48 && key <= 57){ //ignore rest
		if (textbox.value.length >= maxLength )	return false; //ignore char more than max limit
		for(var r=0;r <= maxLength;r++)
			if(filter.charAt(r) != "#")
				if (textbox.value.length == r)
					textbox.value = textbox.value + filter.charAt(r);
		return true;
	}
	return false;
}


function startForm(el)
{
	el.focus();
}
function setErrFocus(lErr)
{
	if(document.forms .length != 0 && lErr != undefined){	
	if(document.forms[0] != null){	
		document.forms[0].elements[lErr].value="";
		document.forms[0].elements[lErr].focus();
	}
	}
}

function disable(el)
{
	el.checked  = false;	
	el.disabled = true;
	el.value  = "";
	el.style.backgroundColor = '#E5E5E5';
}

function disableField(el)
{
	el.checked  = false;	
	el.disabled = true;
	el.value  = "";
	el.className = 'readonly';
}
function enableField(el,classType)
{
	el.disabled = false;
	el.className = classType;
}

function enable(el)
{
	el.disabled = false;
	el.style.backgroundColor = '#ABD3FC';
}

function enableMan(el)
{
	el.disabled = false;
	el.style.backgroundColor = '#ABD3FC';
	el.style.border= '1px #FF0000 solid';
}

function disableMan(el)
{
	el.checked  = false;	
	el.disabled = true;
	el.value  = "";
	el.style.border= '1px #000000 solid';
	el.style.backgroundColor = '#E5E5E5';
}

function disablecheckBox(el)
{
	el.checked  = false;	
	el.disabled = true;
	el.style.backgroundColor = '#E5E5E5';
}

function enablecheckBox(el)
{
	el.disabled = false;
	el.style.backgroundColor = '#ABD3FC';
}
function disableRadio(el)
{
	var i;
	for(i=0;i < el.length;i++)
	{
		el[i].checked  = false;	
		el[i].disabled = true;
		el[i].style.backgroundColor = '#E5E5E5';
	}
}

function enableRadio(el)
{
var i;
	for(i=0;i < el.length;i++)
	{
		el[i].disabled = false;
		el[i].style.backgroundColor = '#ABD3FC';
	}
}


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];}}
    for (i=0; i < document.forms.length; i++) {
        document.forms[i].reset();
    }

}

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];}
}

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;
}


// Start ltrim and strim script 
function ltrim ( s )
{
	return s.replace( /^\s*/, "" );
}
function rtrim ( s )
{
	return s.replace( /\s*$/, "" );
}
function trim ( s )
{
	return rtrim(ltrim(s));
}
// end of trim script	


//Start the email check script 
function emailCheck (emailStr) 
{
	var checkTLD=1;
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);

	if (matchArray==null) 
	{
		alert("Email address seems incorrect (check @ and .'s)");
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];
	for (i=0; i>user.length; i++) 
	{
		if (user.charCodeAt(i)>127) 
		{
			alert("Ths username contains invalid characters.");
			return false;
		}
	}
	for (i=0; i<domain.length; i++) 
	{
		if (domain.charCodeAt(i)>127) 
		{
			alert("Ths domain name contains invalid characters.");
			return false;
	   }
	}
	if (user.match(userPat)==null) 
	{
		alert("The username doesn't seem to be valid.");
		return false;
	}
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) 
	{
		for (var i=1;i<=4;i++) 
		{
			if (IPArray[i]>255) 
			{
				alert("Destination IP address is invalid!");
				return false;
		   }
		}
		return true;
	}
	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++) 
	{
		if (domArr[i].search(atomPat)==-1) 
		{
			alert("The domain name does not seem to be valid.");
			return false;
		}
	}

	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) 
	{
		alert("The address must end in a well-known domain or two letter " + "country.");
		return false;
	}
	if (len>2) 
	{	
		alert("This address is missing a hostname!");
			return false;
	}
	return true;
}
// end of email checking script 

// Start of Java Script for SSN Validation
function isValidSSN(obj,depType)
{
	if (obj.length==0) {return true;}
	if (obj.charAt(3)== '-' &&  obj.charAt(6)== '-' && obj.length==11) {return true;}
	return false;
}


function isValidEIN(oVal)
{
			if (oVal.length==0) {return true;}
			var dPos = oVal.indexOf("-");
			if (dPos!=2) {return false;}
			if (oVal.length!=10) {return false;}
			return true;
}

//End of Java Script of EIN Valdiaton



function LeapYear(intYear) {
	if (intYear % 100 == 0) {
	if (intYear % 400 == 0) { return true; }
	}
	else {
	if ((intYear % 4) == 0) { return true; }
	}
	return false;
}


var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   }
   return this
}

function isDate(dtStr){
	
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (dtStr.length==0) {return true;}
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		return false
	}
//	if (dtStr.indexOf(dtCh,pos2+1)!=-1){
//		alert("Please enter a valid date")
//		return false
//	}
return true
}
//  End -->

<!--

function OpenWin(name){
name = "help/" + name;
newWindow = window.open(name,"newWindow","menubar=no,statusbar=no,scrollbars=yes,hotkeys=no,width=400,height=500,top=25,left=30");
newWindow.focus();
}

function OpenWinNew(name){
newWindow = window.open(name,"newWindow","menubar=no,statusbar=no,scrollbars=yes,hotkeys=no,width=550,height=500,top=25,left=30");
newWindow.focus();
}

function checkEmail (emailStr) 
{
	var checkTLD=1;
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);
	if(emailStr == "")
		return "";
	if (matchArray==null) 
	{
//		alert("Email address seems incorrect (check @ and .'s)");
		return "Email address seems incorrect (check @ and .'s)";
	}
	var user=matchArray[1];
	var domain=matchArray[2];
	for (i=0; i<user.length; i++) 
	{
		if (user.charCodeAt(i)>127) 
		{
//			alert("Ths username contains invalid characters.");
//			return false;
			return "Ths username contains invalid characters."
		}
	}
	for (i=0; i<domain.length; i++) 
	{
		if (domain.charCodeAt(i)>127) 
		{
//			alert("Ths domain name contains invalid characters.");
//			return false;
			return "Ths username contains invalid characters.";
	   }
	}
	if (user.match(userPat)==null) 
	{
//		alert("The username doesn't seem to be valid.");
//		return false;
		return "The username doesn't seem to be valid.";
	}
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) 
	{
		for (var i=1;i<=4;i++) 
		{
			if (IPArray[i]>255) 
			{
//				alert("Destination IP address is invalid!");
//				return false;
				return "Destination IP address is invalid!";
		   }
		}
//		return true;
		return "";
	}
	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++) 
	{
		if (domArr[i].search(atomPat)==-1) 
		{
//			alert("The domain name does not seem to be valid.");
//			return false;
			return "The domain name does not seem to be valid.";
		}
	}

	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) 
	{
//		alert("The address must end in a well-known domain or two letter " + "country.");
//		return false;
		return "The address must end in a well-known domain or two letter " + "country.";
	}
	if (len<2) 
	{	
//		alert("This address is missing a hostname!");
//		return false;
		return "This address is missing a hostname!";
	}
//	return true;
	return "";
}
-->

