<!--
var dtCh= "index.html";
var minYear=1900;
var Digital=new Date()
var tday=Digital.getDate()
var tmonth=Digital.getMonth()+1
var maxYear=Digital.getYear();
//function Start
function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}
function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}
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)
{
	if (dtStr=="")
		{
		alert("Please Enter Value For Date")
		return false
		}
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strDay=dtStr.substring(0,pos1)
	var strMonth=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	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){
		alert("The date format should be : dd/mm/yyyy")
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		alert("Please enter a valid date. (dd/mm/yyyy Format)")
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Please enter a valid date. (dd/mm/yyyy Format)")
		return false
	}
	if (strYear.length <4 || year==0|| strYear.length>4){
		alert("Please enter a valid 4 Digit Year and between "+ minYear+" to "+ maxYear)
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Please enter a valid date. (dd/mm/yyyy Format)")
		return false
	}
	/*if((day>tday && month>tmonth && year>maxYear)||((day>=tday ||day<tday) && month>tmonth && year>=maxYear)||(year>maxYear)||((day>tday) &&(month>=tmonth) &&(year>=maxYear)))
		{
		alert("Date Can't Be Greater Than Current Date")
		return false
		}*/
return true
}


function echeck(emailStr)
{
	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("Please Check E-Mail Address")
		return false
		}
	var user=matchArray[1]
	var domain=matchArray[2]
	if (user.match(userPat)==null)
		{
		alert("The username doesn't seem to be valid.")
	    return false
		}
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null)
		{
    // this is an IP address
		for (var i=1;i<=4;i++)
			{
			if (IPArray[i]>255)
				{
				alert("Destination IP address is invalid!")
				return false
				}
			}
		return true
		}
	// Domain is symbolic name
	var domainArray=domain.match(domainPat)
	if (domainArray==null)
		{
		alert("The domain name doesn't seem to be valid.")
		return false
		}
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 ||  domArr[domArr.length-1].length>3)
		{
		// the address must end in a two letter or three letter word.
		alert("The address must end in a three-letter domain, or two letter country.")
		return false
		}
	// Make sure there's a host name preceding the domain.
	if (len<2)
		{
		var errStr="This address is missing a hostname!"
		alert(errStr)
		return false
		}

	// If we've gotten this far, everything's valid!
	return true;


}


function chfile(filePath)
{
   var fname=filePath.toLowerCase();
   var flag=0;
   if(fname.lastIndexOf(".")>0)
   {
    var ext=fname.substring(fname.lastIndexOf(".")+1);
    var extarr=['txt', 'doc', 'html', 'htm', 'gif', 'jpg', 'rtf', 'xsl', 'pdf', 'zip', 'ppt'];
    for(i=0;i<extarr.length;i++)
    {
     if(ext==extarr[i])
     {
       flag=1;
       break;
      }
    }
    if(flag!=1)
    {
     alert("Please Enter The File of Any Given Extension: '.txt', '.doc', '.html', '.htm', '.gif', '.jpg', '.rtf', '.xsl','.ppt','.pdf' , '.zip'");
     return false;
    }
   }
   else
   {
   alert("Please Enter The File of Any Given Extension: '.txt', '.doc', '.html', '.htm', '.gif', '.jpg', '.rtf', '.xsl', '.pdf' , '.zip'");
   return false;
   }
   return true;
}
function churl(url)
{
 var flag=0;
 var ptc=url.substring(0,7);
 if(ptc.toLowerCase()!="http://")
 {
  flag=1;
 }
 if(url.lastIndexOf(".")>0)
 {
  if(url.substring(url.lastIndexOf(".")).length<2)
  {
   flag=1;
  }
  if(flag==1)
  {
   alert("Enter Proper URL start with 'http://' and end with atleast two char after dot.");
   return false;
  }
 }
 else
 {
  alert("Enter Proper URL start with 'http://' and end with atleast two char after dot.");
  return false;
 }
 return true;
}



function trim(inputString)
{
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ") {
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ") {
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1) {
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length);
   }
   return retValue;
}

function RemoveSpecialChar(strRep)
{
	strRep = strRep.replace(/\<|\>|\~|\!|\#|\$|\%|\;|\,|\^|\&|\*|\+|/g,"");
	return strRep;
}


function RemoveSpecialCharCom(strRep)
{
	strRep = strRep.replace(/\<|\>|\~|/,"");
	return strRep;
}

function RemoveDigits(strRep)

{
	//alert(strRep);
	//strRep = strRep.replace(/\1|\2|\3|\4|\5|\6|\7|\8|\9|\0/,"");
	strRep = strRep.replace(1|2|3|4|5|6|7|8|9|0,"");
	//alert(strRep);
	return strRep;
}

function SpecialChar(formstr)
{
//alert(formstr)
//var strSpacial="/\~|\'|\!|\'|\#|\$|\%|\^|\&|\*|\+|\;|\<\>\""
var strSpacial="/\~|\'|\!|\'|\#|\$|\%|\^|\&|\*|\+|\;|\<\>\""
	str=formstr;
	ln=str.length;
	var FinVal="";
	var newStr="";
	for (i=0;i<ln;i++)
	{
		var strtemp,index,al;

		strtemp=str.charAt(i);
		index=strSpacial.indexOf(strtemp);
		//alert(index);
		if (index>0)
		{

			al=RemoveSpecialChar(strtemp);

			newStr=al;

		}
		else
		{

			newStr=strtemp;



		}
	FinVal=FinVal+newStr;

	}
//alert(FinVal);
return FinVal;
}

function SpecialCharCom(formstr)
{
//alert(formstr)
//var strSpacial="/\~|\'|\!|\'|\#|\$|\%|\^|\&|\*|\+|\;|\<\>\""
var strSpacial="/\~|\<\>\""
	str=formstr;
	ln=str.length;
	var FinVal="";
	var newStr="";
	for (i=0;i<ln;i++)
	{
		var strtemp,index,al;

		strtemp=str.charAt(i);
		index=strSpacial.indexOf(strtemp);
		//alert(index);
		if (index>0)
		{

			al=RemoveSpecialCharCom(strtemp);

			newStr=al;

		}
		else
		{

			newStr=strtemp;



		}
	FinVal=FinVal+newStr;

	}
//alert(FinVal);
return FinVal;
}



function remdigit(strRep)
{
//alert(strRep);
/*var strarr=new Array('1','2','3','4','5','6','7','8','9','0');
var x="";
var newvar="";
	for(x in strarr)
	{
	newvar=strRep.replace(strarr[x],"")
	//alert(newvar);
	}
return newvar;*/
strRep = strRep.replace(/\1|\2|\3|\4|\5|\6|\7|\8|\9|\0/,"");
return strRep;
}


function digitcheck(formstr)
{
//alert(formstr)
var strSpacial="0123456789";
//var strSpacial="1\2\3\4\5\6\7\8\9\0";
	str=formstr;
	ln=str.length;
	var FinVal="";
	var newStr="";
	for (i=0;i<ln;i++)
	{
		var strtemp,index,al;
		//alert(strSpacial);
		strtemp=str.charAt(i);
		index=strSpacial.indexOf(strtemp);
		if (index>=0)
		{
		//alert(index);

			//al=RemoveDigits(strtemp);
			strtemp="";
			al=strtemp
			//alert(al);
			newStr=al;

		}
		else
		{

			newStr=strtemp;



		}
	FinVal=FinVal+newStr;

	}
//alert(FinVal);
return FinVal;
}




	function formchk(formname,formstr)
	{
	//s for string with or without numbers
	//ss for string without numbers
	//snull  for string with/without numbers null allowed
	//ssnull
	//sc for string with  comma(S type string)

		//alert(formname);
		//alert(formstr);
		var val=0;
		var nxtarr;
		var val1;
		arr=formstr.split("index.html");
		var fields=arr[0];
		var datatype=arr[1];
		var length=arr[2];
		feildSplit=fields.split(",");
		datatypeSplit=datatype.split(",");
		lengthSplit=length.split(",");

		for(val in feildSplit)
		{
			//alert(feildSplit[val]);
			//alert(datatypeSplit[val]);
			//alert(lengthSplit[val]);
				//alert(feildSplit);
			if(datatypeSplit[val].toLowerCase()=="s" || datatypeSplit[val].toLowerCase()=="snull" || datatypeSplit[val].toLowerCase()=="sc" )
			{

			//alert("hello");
				formfeild=eval("document."+formname+"."+feildSplit[val]);

				if(trim(formfeild.value)=="" && ( datatypeSplit[val].toLowerCase()=="s"  || datatypeSplit[val].toLowerCase()=="sc" ) )
					{
					alert("Please Enter value" )
					formfeild.focus();
					formfeild.select();
					return false;
					}


				if(formfeild.value.length>lengthSplit[val] && !(formfeild.value)=="")
					{
					alert("Data Exceeds the limit of "+lengthSplit[val]+ " characters")
					formfeild.focus();
					formfeild.select();
					return false;
					}
					if (datatypeSplit[val].toLowerCase()=="sc")
					{
						newStr=SpecialCharCom(formfeild.value);

					}
					else
					{
						newStr=SpecialChar(formfeild.value);
					}

				formfeild.value=newStr;

			}


			if(datatypeSplit[val].toLowerCase()=="ss" || datatypeSplit[val].toLowerCase()=="ssnull")
			{
				formfeild1=eval("document."+formname+"."+feildSplit[val]);
				//alert(formfeild.value);
				if(trim(formfeild1.value)=="" && datatypeSplit[val].toLowerCase()=="ss")
					{
					alert("Please Enter value")
					formfeild1.focus();
					formfeild1.select();
					return false;
					}

				if(isNaN(formfeild1.value)==false && !(formfeild1.value)=="")
					{
					alert("Please Enter Proper values")
					formfeild1.focus();
					formfeild1.select();
					return false;
					}

				if(formfeild1.value.length>lengthSplit[val] && !(formfeild1.value)=="")
					{
					alert("Data Exceeds the limit of "+lengthSplit[val]+ " characters")
					formfeild1.focus();
					formfeild1.select();
					return false;
					}

				newStr=SpecialChar(formfeild1.value);
				formfeild1.value=newStr;
				newstr1=digitcheck(formfeild1.value);
				formfeild1.value=newstr1;


			}


			if(datatypeSplit[val].toLowerCase()=="di")
			{
				dropfield=eval("document."+formname+"."+feildSplit[val]);
					if(dropfield.value<0)
					{
					alert("Please Select Value")
					dropfield.focus();
					return false;
					}

			}



			if(datatypeSplit[val].toLowerCase()=="da")
			{
				dropfield=eval("document."+formname+"."+feildSplit[val]);
					if(trim(dropfield.value)=="")
					{
					alert("Please Select Value")
					dropfield.focus();
					return false;
					}

			}

			if(datatypeSplit[val].toLowerCase()=="i" || datatypeSplit[val].toLowerCase()=="inull" )
			{
				intfield=eval("document."+formname+"."+feildSplit[val]);
					if(trim(intfield.value)=="" && datatypeSplit[val].toLowerCase()=="i" )
					{
					alert("Please Enter Value")
					intfield.focus();
					return false;
					}

					if(isNaN(intfield.value)==true && !(intfield.value)=="")
					{
					alert("Please Enter Numeric values")
					intfield.focus();
					return false;
					}

					if(intfield.value.length>lengthSplit[val] && !(intfield.value)=="")
					{
					alert("Data Exceeds the limit of "+lengthSplit[val]+ " characters")
					intfield.select();
					intfield.focus();
					return false
					}

			}





			if(datatypeSplit[val].toLowerCase()=="d")

			{
				var DateArr=new Array();
				datefield=eval("document."+formname+"."+feildSplit[val]);
					if(trim(datefield.value)=="")
					{
					alert("Please Enter Date(s)")
					datefield.focus();
					return false;
					}

					DateSplit=datefield.value;
					DateSplit=DateSplit.split(",");
					var x,DateReturn,Num;
					for(x in DateSplit)
						{
						DateReturn=isDate(DateSplit[x]);
						//alert(x+DateSplit[x]);
						DateArr=DateSplit[x];
						//alert(DateArr);
							if(DateReturn==false)
							{
							datefield.focus();
							datefield.select();
							return false

							}

						}



			}


			if(datatypeSplit[val].toLowerCase()=="f")
			// f for file
			// null is sent when file selection is not compulsory
			// nnull or anything would make this box mandatory
			{

				filefield=eval("document."+formname+"."+feildSplit[val]);
				//alert(lengthSplit[val]);
				if(trim(lengthSplit[val])=="null")
					{
						//alert("hello");

						if(trim(filefield.value)!="")
						{
							if(chfile(filefield.value)=="")
							{
							filefield.focus();
							filefield.select();
							return false;
							}
						}
					}
				if(trim(lengthSplit[val])=="nnull")
					{
					//	alert("hello1");

					if(chfile(filefield.value)=="")
						{
						filefield.focus();
						filefield.select();
						return false;
						}
					}

			}


			if(datatypeSplit[val].toLowerCase()=="u")
			// u for url

			{

				urlfield=eval("document."+formname+"."+feildSplit[val]);

					if(churl(urlfield.value)=="")
					{
					urlfield.focus();
					urlfield.select();
					return false;
					}

					if(urlfield.value.length>lengthSplit[val])
					{
					alert("Data Exceeds the limit of "+lengthSplit[val]+ " characters")
					urlfield.focus();
					urlfield.select();
					return false;
					}

			}

			if(datatypeSplit[val].toLowerCase()=="e")
			// e for email

			{

				emailfield=eval("document."+formname+"."+feildSplit[val]);

					if(echeck(emailfield.value)=="")
					{
					emailfield.focus();
					emailfield.select();
					return false;
					}

					if(emailfield.value.length>lengthSplit[val])
					{
					alert("Data Exceeds the limit of "+lengthSplit[val]+ " characters")
					emailfield.focus();
					emailfield.select();
					return false;
					}

			}


			if(datatypeSplit[val].toLowerCase()=="o")
			// o paramter can have both checkboxes and radio
			// this check would only validate for value

			{
				var x=0;
				otherfield=eval("document."+formname+"."+feildSplit[val]);


				for(i=0;i<=otherfield.length-1;i++)
				{
					if(otherfield[i].checked==true)
					{
					x=1
					}
				}

				if(x==0)
				{
				alert("Please Select atleast one value to proceed");
				return false;
				}



			}

			if(datatypeSplit[val].toLowerCase()=="ao")
			// o paramter can have both checkboxes and radio
			// this check would only validate for value

			{
				var x=0;
				//otherfield=eval("document."+formname+"."+feildSplit[val]);
				otherfield=eval("document."+formname);
				//alert(feildSplit[val]);

				for(i=0;i<=otherfield.elements.length-1;i++)
				{
					if(otherfield.elements[i].checked==true)
					{
					//alert("hello");
					x=1
					}
				}

				if(x==0)
				{
				alert("Please Select atleast one value to proceed");
				return false;
				}



			}












		}


	}



//-->