
//<form name='frm' method='post' action='' 
//onSubmit='return theValidator(this,"Input1,Input3,temp,ta,rad","Name,Zip Code,Template,Comments,University/Non-University",",Y,,,",",,,,",",,,,");'>


//The parameters
// 0) The instance of the form , use 'this' rather than name
// 1) The name of the controls separated by comma, only add name of controls which you want to be validated.
// 2) The Message i.e if you write Name, then the msg would be 'Name cannot be blank.'
// 3) If you want any control to be validated for numeric value, then specify 'Y' 
//    exactly in the same order if the 1st parameter has values Input1,Input2,temp,.. if you want to validate the Input2
//    control for numeric value the ,Y,,....
// 4) Email parameter - order as point 3
// 5) URL parameter - order as point 3
// TODO: 
//	Email Validation - Done
//	URL Validation	- Done
 //implementation
/*
function check(theform)
{
	thecontrols="vchAttorneyName,vchFirmName,vchAddress1,vchAddress2,vchStateName,vchCity,vchZipCode,vchPhone,vchFax,vchEmailAddress,intFormatID";
	themessages="Attorney name,Firm name,Address,Address,State,City,Zipcode,Phone,Fax,Email address,Format";
	theNumeric=",,,,,,,,,,";
	theEmail=",,,,,,,,,Y,";
	theURL=","
	theConfirmPassword=","; 
	thebadstuff="1,1,,,,,,,,,";
	theinteger=",,,,,,,,,,";
	thepercent=",";
	thesize=",,,,,,,,,,";
	thedecimal=",,,,,,,,,,";
	theimage=",";
	theempty="Y,Y,Y,,Y,Y,Y,Y,,Y,Y";
	themin=",";
	themax=",";
	thecheckboxlength=",,,,,,,,,,";
	thephoneno=",,,,,,,Y,Y,,";
	
	if(!theValidator(theForm,theControl,theMessage,theNumeric,theEMail,theURL,theConfirmPassword,thebadstuff,theinteger,thepercent,thesize,thedecimal,theimage,theempty,themin,themax,thecheckboxlength,thephoneno))
		return false;

	return true;
}
*/

//	*************************************  theValidator **********************************************************

function theValidator(theForm,theControl,theMessage,theNumeric,theEMail,theURL,theConfirmPassword,thebadstuff,theinteger,thepercent,thesize,thedecimal,theimage,theempty,themin,themax,thecheckboxlength,thephoneno)
{
	// This function is used to validate that all text
	// fields in a given form contain some value
	//Split the controls + Messages + Numerics by comma ,
	
	//alert("hi");
	var theMessages = new Array();
	var theNumerics = new Array();
	var theEMails = new Array();
	var theURLs = new Array();
	var theConfirmPasswords = new Array();

	theControls=theControl.split(",");
	theMessages=theMessage.split(",");
	theNumerics=theNumeric.split(",");
	theEMails=theEMail.split(",");
	theURLs=theURL.split(",");
	thebadstuffs=thebadstuff.split(",");
	theintegers=theinteger.split(",");
	thepercents=thepercent.split(",");
	thesizes=thesize.split(",");
	thedecimals=thedecimal.split(",");
	theimages=theimage.split(",");
	theemptys=theempty.split(",");
	themins=themin.split(",");
	themaxs=themax.split(",");
	thecheckboxlengths=thecheckboxlength.split(",");
	theConfirmPasswords=theConfirmPassword.split(",");
	thephonenos=thephoneno.split(",");

//	alert(theControl);
	for (var i=0; i < theForm.elements.length; i++){
//		alert("Type: " + theForm.elements[i].type);

		for(var counter=0;counter < theControls.length; counter++)
		{
			if (theForm.elements[i].name == theControls[counter])
			{
				if (theForm.elements[i].type == 'file')
				{
					//Blank value check
					if (trim(theForm.elements[i].value) == '' && theemptys[counter] == "Y" )
					{
//						alert(theMessages[counter] + " cannot be blank.");
						alert("Please enter the "+theMessages[counter].toLowerCase()+".");
						theForm.elements[i].focus();
						return false;	
					}
					else
					{
						if (theimages[counter] == "Y")
						{
							var s=theForm.elements[i].value;
							if (s!="")
							{
								array=s.split("\\");
								len=array.length;
								filename=array[len-1];
								array1=filename.split(".");
								len1=array1.length;
								len1=len1-1;
								if (array1.length == 1)
								{
									alert("Files with extensions .gif, .jpg, .jpeg can only be uploaded.");
									theForm.elements[i].focus();
									return false;									
								}
								if(array1[len1].toLowerCase()!="jpg" && array1[len1].toLowerCase()!="jpeg" && array1[len1].toLowerCase()!="gif")
								{
									alert("Files with extensions .gif, .jpg, .jpeg can only be uploaded.");
									theForm.elements[i].focus();
									return false;
								}
							}
						}
						if (theimages[counter] == "C")
						{
							var s=theForm.elements[i].value;
							if (s!="")
							{
								array=s.split("\\");
								len=array.length;
								filename=array[len-1];
								array1=filename.split(".");
								  len1=array1.length;
								len1=len1-1;
								if (array1.length == 1)
								{
									alert("Files with extensions .txt, .csv can only be uploaded.");
									theForm.elements[i].focus();
									return false;									
								}
								if(array1[len1].toLowerCase()!="txt" && array1[len1].toLowerCase()!="csv")
								{
									alert("Files with extensions .txt, .csv can only be uploaded.");
									theForm.elements[i].focus();
									return false;
								}
							}
						}

					}

				}

				if (theForm.elements[i].type == 'text')
				{
					//Blank value check
					if (trim(theForm.elements[i].value) == '' && theemptys[counter] == "Y")
					{
//						alert(theMessages[counter] + " cannot be blank.");
						alert("Please enter the "+theMessages[counter].toLowerCase()+".");
						theForm.elements[i].focus();
						return false;	
					}
					
					// integer value >=0
					/*
					if (theEMails[counter] != "Y" && theURLs[counter] != "Y" && theNumerics[counter] != "Y")
					{
						chkstring = trim(theForm.elements[i].value);
						alert(chkstring )
						badStuff = "~`!@#$%^*()=+|<>?;:/\"\\";
						for (x=0; x<badStuff.length; x++)
						{
							badCheck = badStuff.charAt(x);
							if (chkstring.indexOf(badCheck,0) != -1)
							{							
															
								alert(theMessages[counter]+"----- can not have special characters.");
								theForm.elements[i].focus();
								return false;
							}
						}
					}
					*/

					// Numeric value check
					if (trim(theForm.elements[i].value) != '' && theNumerics[counter] == "Y")
					{
						if(isNaN(trim(theForm.elements[i].value)))
						{
//							alert(theMessages[counter] + " should be numeric.");
							alert("Please enter numeric values for "+theMessages[counter].toLowerCase()+".");
							theForm.elements[i].focus();
							return false;	
						}
						if(trim(theForm.elements[i].value)<= 0 )
						{
//							alert(theMessages[counter] + " should be greater than 0.");
							alert("Please enter "+theMessages[counter].toLowerCase()+" greater than  0 (zero).");
							theForm.elements[i].focus();
							return false;	
						}					
					}

					if  (trim(theForm.elements[i].value) != '' && theintegers[counter] == "Y")
					{
							if(isNaN(trim(theForm.elements[i].value)))
								{
		//							alert(theMessages[counter] + " should be numeric.");
									alert("Please enter numeric values for "+theMessages[counter].toLowerCase()+".");
									theForm.elements[i].focus();
									return false;	
								}
							if(parseInt(trim(theForm.elements[i].value))< 0 )
								{
								alert("Please enter "+theMessages[counter].toLowerCase()+" greater than or equal to 0 (zero).");
								theForm.elements[i].focus();
								return false;
								}
					}

					
					if ((trim(theForm.elements[i].value) != '' ) && (thebadstuffs[counter] != ""))
					{
							if (thebadstuffs[counter]==1)
								badStuff = "~`!@#$%^*()=+|<>?;:/\"\\";
							else if(thebadstuffs[counter]==2)
								badStuff="~`!@$%^*()=+|<>?;:/\"\\";
							else if(thebadstuffs[counter]==3)
								badStuff="~`!@$%^* ()=+|<>?;\"";
							if (thebadstuffs[counter]==4)
								badStuff = "'~`!@#$%^*()=+|<>?;:/\"\\ ";
							if (thebadstuffs[counter]==5)
								badStuff='" ';
							else
								badStuff='"';
							chkstring = trim(theForm.elements[i].value);
							for (x=0; x<badStuff.length; x++)
							{
								badCheck = badStuff.charAt(x);
								if (chkstring.indexOf(badCheck,0) != -1)
								{							
									if(badStuff=='"')
									alert("Please replace double quotes with single quotes for "+theMessages[counter].toLowerCase()+".");
									else
									{
										abc=theMessages[counter].replace(theMessages[counter],theMessages[counter].charAt(0).toUpperCase());
										//alert(abc+theMessages[counter].substring(1,theMessages[counter].length)+ " should be greater than 0.");
										alert(abc+theMessages[counter].substring(1,theMessages[counter].length)+" can not have special characters.");
									}
									theForm.elements[i].focus();
									return false;
								}
							}
					}

					if (trim(theForm.elements[i].value) != '' && thepercents[counter] == 'Y')
					{			
								if (parseInt(theForm.elements[i].value)<0 || parseInt(theForm.elements[i].value)>100)
								{							
																
									alert(theMessages[counter].toLocaleUpperCase()+" should have value between 0 to 100.");
									theForm.elements[i].focus();
									return false;
								}
					}

					
					if (trim(theForm.elements[i].value) != '' && thesizes[counter] != "")
					{
								if (trim(theForm.elements[i].value).length>thesizes[counter])
								{							
																
//									alert(theMessages[counter]+" cannot have more than "+thesizes[counter]+" characters.");	
									alert("Maximum characters allowed are "+ thesizes[counter] +". Entered are "+ theForm.elements[i].value.length +" characters.");	
									theForm.elements[i].focus();
									return false;
								}
					}
					
					if (trim(theForm.elements[i].value) != '' && thedecimals[counter] != "")
					{
								var str=theForm.elements[i].value;
									 if (str.indexOf('.')!=-1)
										{
										   alert("No decimals allowed for "+theMessages[counter].toLowerCase()+".");
										    theForm.elements[i].focus();
											return false;
										}
					}

					if (trim(theForm.elements[i].value) != '' && thephonenos[counter] != "")
					{
						var regexp=/^(\d{3}-\d{3}-\d{4}|\d{10}|\(\d{3}\)\d{3}-\d{4}|\d{6}|\d{7}|\d{8})$/;
						x = trim(theForm.elements[i].value);
						if(!(regexp.test(x)))
						{
							var msg = "";
							msg = "Please enter the correct "+theMessages[counter].toLowerCase();
							msg = msg +  "\n The correct forms are : ";
							msg = msg + "\n xxx-xxx-xxxx";
							msg = msg + "\n (xxx)xxx-xxxx";
							msg = msg + "\n xxxxxxxxxx (10 digited Mobile no)";
							msg = msg + "\n xxxxxx (6 digits no)";
							msg = msg + "\n xxxxxxx (7 digits no)";
							msg = msg + "\n xxxxxxxx (8 digits no)";

							alert(msg);
						    theForm.elements[i].focus();
							return false;
						}
					}

					// Email value check
					if (trim(theForm.elements[i].value) != '' && theEMails[counter] == "Y")
					{
						if(!emailcheck(theForm.elements[i],"Please enter valid email address."))  return false;
						//{
						//	alert("Invalid Email Address\n Should be user@domain.com");
						//	theForm.elements[i].focus();
							//return false;	
						//}
					}
					// URL value check
					if (trim(theForm.elements[i].value) != '' && theURLs[counter] == "Y")
					{
						if(!validateURL(trim(theForm.elements[i].value)))
						{
//							alert(" Invalid URL \n Should be http://www.domain.com");
							alert("Please enter valid url. \n http://www.domain.com");
							theForm.elements[i].focus();
							return false;	
						}
					}
					
					if (trim(theForm.elements[i].value) !='' && themins[counter]!='' && themaxs[counter]!='')
					{
						alert(parseFloat(theForm.elements[i].value))
						if(parseFloat(theForm.elements[i].value)<parseFloat(themins[counter]) || parseFloat(theForm.elements[i].value)>parseFloat(themaxs[counter]))
						{
							alert("Please enter value for "+theMessages[counter].toLowerCase()+" between "+themins[counter]+" and "+themaxs[counter]+".");
							theForm.elements[i].focus();
							return false;
						}
					}
					if (trim(theForm.elements[i].value) !='' && themins[counter]!='' && themaxs[counter]=='')
					{
						if((theForm.elements[i].value.length)<themins[counter])
						{
							alert("Please enter valid "+theMessages[counter].toLowerCase()+".");
							theForm.elements[i].focus();
							return false;
						}
					}
					if (trim(theForm.elements[i].value) !='' && themaxs[counter]!='')
					{
						if( parseFloat(theForm.elements[i].value)>themaxs[counter])
						{
							alert("Please enter value for "+theMessages[counter].toLowerCase()+" less than "+themaxs[counter]+".");
							theForm.elements[i].focus();
							return false;
						}
					}
				
				}
				// Password Validation
				if (theForm.elements[i].type == 'password' && theConfirmPasswords[counter]!="Y")
				{
					//Blank value check
					if (trim(theForm.elements[i].value) == '')
					{
//						alert(theMessages[counter] + " cannot be blank.");
						alert("Please enter the "+theMessages[counter].toLowerCase()+".");
						theForm.elements[i].focus();
						return false;	
					}
					

						if(theForm.elements[i].value.length > 14)
					{
						alert("Password cannot have more than 14 characters.");	
						theForm.elements[i].focus();
						return false;
					}


						if(theForm.elements[i].value.length < 6)
					{
						alert("Password cannot be less than 6 characters.");	
						theForm.elements[i].focus();
						return false;
					}


				}	

				// Confirm Password Validation
				//alert(theForm.elements[i].type);
				//alert(theConfirmPassword[counter]);
				if (theForm.elements[i].type=='password' && theConfirmPasswords[counter]=="Y")
				{
					//alert("mandeep");
					//alert(theForm.elements[i].value);
					//alert(theForm.elements[i-1].value);

					//Blank value check
					if (trim(theForm.elements[i].value) == '')
					{
//						alert(theMessages[counter] + " cannot be blank.");
						alert("Please retype the "+theMessages[counter].toLowerCase()+".");
						theForm.elements[i].focus();
						return false;	
					}
					

						if(theForm.elements[i].value.length > 14)
					{
						alert("Password cannot have more than 14 characters.");	
						theForm.elements[i].focus();
						return false;
					}


						if(theForm.elements[i].value.length < 6)
					{
						alert("Password cannot be less than 6 characters.");	
						theForm.elements[i].focus();
						return false;
					}

					if (theForm.elements[i].value!=theForm.elements[i-1].value)
					{
//						alert(theMessages[counter] + " is not same.");
						alert("Passwords do not match.");
						theForm.elements[i].focus();
						return false;	
					}

				}	
				

			//Select box validation
				if (theForm.elements[i].type == "select-one")
				{
					var selIndex,selValue;
					selIndex=theForm.elements[i].selectedIndex;
					var theObject=theForm.elements[i];
					selValue = theObject[selIndex].value;
					if( (trim(selValue) == "" || trim(selValue) == "0") && theemptys[counter] == "Y" )
					{
						alert("Please select the " + theMessages[counter].toLowerCase() + ".");
						theForm.elements[i].focus();
						return false;	
					}
				}
			//Check box validation

				if (theForm.elements[i].type == "checkbox" && theemptys[counter] == "Y" )
				{ 
					var flagchecked="0";	
//					theControls[counter]=theControls[counter].substr(0,theControls[counter].length-2);
//					checkboxname=eval("theForm."+theControls[counter]);
					if (parseInt(thecheckboxlengths[counter]) > 1)
					{				
//						for (j=0;j<parseInt(thecheckboxlengths[counter]);j++)
						for (j=i;j<i+parseInt(thecheckboxlengths[counter]);j++)

						{	
//							checkbox1=eval(checkboxname[j]);				
//							if(checkbox1.checked==true)
							checkbox1=eval(theForm.elements[j]);				
							if(checkbox1.checked==true)
							{	
								flagchecked="1";
								break;
							}
						}
					}
					else
					{
						if(theForm.checkboxname.checked==true)
						{	
							flagchecked="1";
						}				
					}
					if (flagchecked=="0")
					{
						alert("Please select the " + theMessages[counter].toLowerCase() + ".");
						theForm.elements[i].focus();
						return false;	
					}
					i=i+parseInt(thecheckboxlengths[counter])-1;
				}
			
			// Text Area Validation
				if (theForm.elements[i].type == "textarea")
				{
					var txtAreaValue;
					txtAreaValue=theForm.elements[i].value;

					if( trim(txtAreaValue) == "" && theemptys[counter] == "Y")
					{
//						alert(theMessages[counter] + " cannot be blank.");
						alert("Please enter the "+theMessages[counter].toLowerCase()+".");
						theForm.elements[i].focus();
						return false;	
					}
					if (trim(theForm.elements[i].value) != '' && thesizes[counter] != "")
					{
								if (trim(theForm.elements[i].value).length>thesizes[counter])
								{							
										//Maximum characters allowed are n. Entered are m characters.						
									//alert(theMessages[counter]+" cannot have more than "+thesizes[counter]+" characters.");	
									
									alert("Maximum characters allowed are "+ thesizes[counter] +". Entered are "+ theForm.elements[i].value.length +" characters.");	
									theForm.elements[i].focus();
									return false;
								}
					}
				}


			
			// Radio Button Validation
			// This radio button validation is buggy so I am commneting it out
			/*	if(theForm.elements[i].type == "radio")
				{
//alert(theForm.elements[i].value);
					if(getRadioButtonValue(theForm.elements[i],theForm.elements[i].name) == "-1")
					{
						alert("You must select " + theMessages[counter] + ".");
						return false;		
					}
				}*/
			}

		}
	}
	
	return true;
}



//	************************************	End theValidator *****************************************************


function getRadioButtonValue(theForm,theControl)
{
	var i;
	alert("Hello " + theForm + " control.length: " + theControl.length);
	for( i=0; i< theControl.length; ++i)
	{
alert(theForm[i].checked);
		if( theControl[i].checked)
		{
		
			return theControl[i].value;
		}
	}

	// default (non selected)
	return -1;
}

function ltrim ( s )
{
	return s.replace( /^\s*/, "" )
}

function rtrim ( s )
{
	return s.replace( /\s*$/, "" );
}

function trim(str)
{
//	return rtrim(ltrim(str));
	return( (""+str).replace(/^\s*([\s\S]*\S+)\s*$|^\s*$/,'$1') );
}


function emailcheck(object,str)
{
var email=object.value;
var matcharray=email.match(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) 
	if(matcharray==null){
	alert(str)
	 	object.focus();
		object.select();
	return false;
	}
	else return true
}	

function validateEmail(email){
	
	// This function is used to validate a given e-mail 
	// address for the proper syntax
	
	if (email == ""){
		return false;
	}
	badStuff = ";:/,' \"\\";
	for (i=0; i<badStuff.length; i++){
		badCheck = badStuff.charAt(i)
		if (email.indexOf(badCheck,0) != -1){
			return false;
		}
	}
	posOfAtSign = email.indexOf("@",1)
	if (posOfAtSign == -1){
		return false;
	}
	if (email.indexOf("@",posOfAtSign+1) != -1){
		return false;
	}
	posOfPeriod = email.indexOf(".", posOfAtSign)
	if (posOfPeriod == -1){
		return false;
	}
	if (posOfPeriod+2 > email.length){
		return false;
	}
	return true
}

function validateURL(myobject)
{
	var re;
	var checkend=/\w\.[a-zA-Z]{2,3}/;
	url=myobject;
	//alert(url.search(checkend))
	if(url.search(checkend) == -1)
	{
//		alert("Please enter valid url. \n http://www.domain.com");
		return false;
	}
	return true;
}


function validateURL1(myobject)
{
	var re;
	var checkend=/\w\.[a-zA-Z]{2,3}$/;
	url=myobject.value;
	
	if(url.search(checkend) == -1)
	{
		alert("Please enter valid url. \n http://www.domain.com");
		return false;
	}
	return true;
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
	winName= "new";
	width=screen.width-50;
	height=screen.height-100;
	features="scrollbars=yes,resizable=yes,width="+width+",height="+height+",left=0,top=0";
//	alert (features);
	newpopupwindow =window.open(theURL,'new',features);
//    winName.focus();
}
function MM_openBrWindow2(theURL,winName,features) { //v2.0
//	winName= "new";
	width=screen.width-50;
	height=screen.height-100;
	features = features+"left=0,top=0";
	//features="scrollbars=yes,resizable=yes,width="+width+",height="+height+",left=0,top=0";
//	alert (features);
// newpopupwindow = 
	 window.open(theURL,winName,features);
}
function MM_openHelpWindow(theURL,winName,features,spos) { //v2.0
	winName= "new";

	width=screen.width-350;
	height=screen.height-450;
	if(spos == 1) {
		stop=0;
		sleft=0;
	}
	if(spos == 2) {
		sleft=screen.width-width;
		stop=0;
	}
	if(spos == 3) {
		stop=screen.height-height;
		sleft=0;
	}
	if(spos == 4) {
		stop=screen.height-height;
		sleft=screen.width-width;
	}
	features="scrollbars=yes,resizable=yes,width="+width+",height="+height+",left="+sleft+",top="+stop;
	newpopupwindow =  window.open(theURL,'new',features);
}


function confirmdelete(theform,startElement,endElement)
{
	var flag=0;
	for(i=startElement;i<theform.length-endElement;i=i+1)		  //confirmation message for delete
	{
		if(theform.elements[i].checked==true)
		{
			 flag=1;
			 if (confirm("Are you sure you want delete this record?"))
				return true;
			else
				return false;
		}
	}
	if(flag==0)
	{
		alert("Please select the checkbox before pressing the delete button.");
		return false;
	}
}
function confirmation(theform,startElement,endElement,confirmaction)
{
	var flag=0;
	for(i=startElement;i<theform.length-endElement;i=i+1)		  //confirmation message for delete
	{
		if(theform.elements[i].checked==true)
		{
			 flag=1;
			 if (confirm("Are you sure you want "+confirmaction+" this record?"))
				return true;
			else
				return false;
		}
	}
	if(flag==0)
	{
		alert("Please select the checkbox before pressing the "+confirmaction+" button.");
		return false;
	}
}

function confirmCatDelete(theform,msg)	//orderdetail.php
{
	if (confirm("Are you sure you want to delete this "+msg+"?"))
	{	formName=eval("document."+theform);
		formName.flag.value=1;
		formName.submit();
	}		
}
function checkQuantity(theform)			//shopingcart.php
{
	var flag=0;
	for(i=0;i<theform.length;i=i+2)		  //confirmation message for delete
	{
		if(theform.elements[i].checked==true)
		{
			 flag=1;
			 if (confirm("Are you sure you want delete this record?"))
				return true;
			else
				return false;
		}
	}
	if(flag==0)
	{
		for(i=1;i<theform.length;i=i+2)  //numeric value for quantity if user wants to update quantity
		{
			if(isNaN(theform.elements[i].value))
			{
				alert("Quantity should be numeric.");
				theform.elements[i].focus();
				return false;
			}
			if(theform.elements[i].value < 0)
			{
				alert("Quantity should be greater than 0.");
				theform.elements[i].focus();
				return false;
			}
		}
		return true;
	}
}
 
 
 function checkdate(theform)     //,dd1,mm1,yy1,dd2,mm2,yy2)
 {

   day1=theform.dd1.options[theform.dd1.selectedIndex].value;
   mon1=theform.mm1.options[theform.mm1.selectedIndex].value;
   year1=theform.yy1.options[theform.yy1.selectedIndex].value;
   day2=theform.dd2.options[theform.dd2.selectedIndex].value;
   mon2=theform.mm2.options[theform.mm2.selectedIndex].value;
   year2=theform.yy2.options[theform.yy2.selectedIndex].value;
	
	var fromdate = new Date(year1,mon1,day1);
	var todate=new Date(year2,mon2,day2);
	
	if(fromdate >todate)
	 {
		alert("From date should be less than to date.");
		theform.dd2.focus();
		return false;
	 }
	 return true;
 }

function validate (field, maxlen, str)
{	
	if (field.value.length > maxlen)
	{
//		alert ("Field length exceeded.\nAllowed: "+maxlen+" characters,\nEntered: "+field.value.length+" characters.");
		alert(str+" cannot have more than "+maxlen+" characters.");	
		field.focus();
		return  false;
	}
	return true;
}

function validate_min_len (field, minlen, str)
{	
	if (field.value.length < minlen)
	{

		alert(str+" cannot be less than "+minlen+" characters.");	
		field.focus();
		return  false;
	}
	return true;
}

function fileextension(object,str)
{
	var s=object.value;
	if (s!="")
	{
		array=s.split("\\");
		len=array.length;
		filename=array[len-1];
		array1=filename.split(".");
		if(array1[1]!="jpg" && array1[1]!="jpeg" && array1[1]!="gif")
		{
			alert(str);
			object.focus();
			return false;
		}
	}
	
	return true;
}
function emailcheck(object,str)
{
	var email=object.value;
	var matcharray=email.match(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) 
	if(matcharray==null){
	alert(str)
	 	object.focus();
		object.select();
	return false;
	}
	else return true
}

function yearcheck(number)
{ 
	if (number < 1000)
	{
		 number = number + 1900;
	}
 
 return number; 
}

function changedate(theform,i)
{	
	if (i==0)
	{
	theformdd=eval(theform.dd1);
	theformmm=eval(theform.mm1);
	theformyy=eval(theform.yy1);
	}
	else
	{
	theformdd=eval(theform.dd2);
	theformmm=eval(theform.mm2);
	theformyy=eval(theform.yy2);
	}

	day1=theformdd.options[theformdd.selectedIndex].value;
//	alert(theform.elements[i].options[theform.elements[i].selectedIndex].value);
	month1=theformmm.options[theformmm.selectedIndex].value;
	month1=month1-1;
	year1=theformyy.options[theformyy.selectedIndex].value;
	var test = new Date(year1,month1,day1);

	aday=test.getDate();
	if ( (parseInt(yearcheck(test.getYear())) == parseInt(year1)) && (parseInt(month1) == parseInt(test.getMonth())) && (parseInt(day1) == parseInt(test.getDate())) )
	{
		newdate=new Date(year1,month1,aday);
		dayNew=eval("theformdd.options[theformdd.selectedIndex]");
		dayNew.value=newdate.getDate();
		optionNumber=newdate.getDate();
		aku=eval("theformdd.options[optionNumber]");
		aku.selected=true;
		monthNew=eval("theformmm.options[theformmm.selectedIndex]");
		if (newdate.getMonth()==0 && newdate.getDate()==1 && newdate.getFullYear()>year1 )
			{
			monthNew.value=1;
			opmonth=1;
			}
		else
			{
			monthNew.value=newdate.getMonth()+1;
			opmonth=newdate.getMonth()+1;
			}
		amu=eval("theformmm.options[opmonth]");
		amu.selected=true;
		
		yearNew=eval("theformyy.options[theformyy.selectedIndex]");
		yearNew.value=newdate.getFullYear();
		opyear=newdate.getFullYear();
		abc=eval("theformyy");
		for( var u=0;u<abc.options.length;u++)
		{
			if(yearNew.value==abc.options[u].text)
			{
				ayu=eval("theformyy.options[u]");
				ayu.selected=true;
			}	
		}
	}
	else
	{
		alert("Please enter valid date.");
		theformdd.focus();
		return false;
	}    
		return true;
}

/*
* This function will not return until (at least)
* the specified number of milliseconds have passed.
* It does a busy-wait loop.
*/
function pause(numberMillis)
{
	var now = new Date();
	var exitTime = now.getTime() + numberMillis;
	while (true)
	{
		now = new Date();
		if (now.getTime() > exitTime)
			return;
	}
}

/*  To ask for confirmation before deleting a FAQ */


function textCounter(field,maxlimit) 
{
	if (field.value.length > maxlimit) 
		field.value = field.value.substring(0, maxlimit);
}

function delfaq()
{
	if(!confirm("Are you sure you want to delete this FAQ?"))
		return false;

		return true;
}

function delTestimonial()
{
	if(!confirm("Are you sure you want to delete this testimonial?"))
		return false;

		return true;
}

function del(str)
{
	if(!confirm("Are you sure you want to delete this "+str+"?"))
		return false;

		return true;
}

function add_group(src,dst)
{	
	var selectone=src;
	var selecttwo=dst;

	var i=0;
	while(i<selectone.length)
	{
		
	if(selectone.options[i].selected==true)
	{
	
		var selecttwolength=selecttwo.length;
		selecttwo.options[selecttwolength]=new Option(selectone.options[i].text);
		selecttwo.options[selecttwolength].value=selectone.options[i].value;
		selectone.options[i]=null;
		i=i-1;
	}
	i=i+1;
	}
}

function remove_group(src,dst)
{
	var selectone=src;
	var selecttwo=dst;

	k=(selecttwo.length-1);
	var i=k;		
	while(i>=0)
	{
	
	if(selecttwo.options[i].selected==true)
	{
	var selectonelength=selectone.length;
	var selectoneOption=new Option(selecttwo.options[i].text);
	selectone.options[selectonelength]=selectoneOption;
	selecttwo.options[i]=null;
	k=k-1;
	}
	i=i-1;
	
	}
	
}
function addfav(){

if ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4)) {

var url="http://www.ofni.us";
var title="OFNI the info base";

window.external.AddFavorite(url,title);

}
else {
var msg = "Don't forget to bookmark us!";
if(navigator.appName == "Netscape") msg += "  (CTRL-D)";
document.write(msg);
}
}

 function checkPostiveNumber(theform,startElement,endElement)
{
	for(i=startElement;i<theform.elements.length-endElement;i=i+1)
	{
		if (isNaN(theform.elements[i].value)==true)
		{
			alert("Please enter numeric value for sequence.");
			theform.elements[i].focus();
			return false;
		}
		if (theform.elements[i].value<=0)
		{
			alert("Sequence should be greater than 0.");
			theform.elements[i].focus();
			return false;
		}
	}		
	return true;
	
}


// Author : Dheeraj 
// Dated: 9-Feb-2004 12:10AM  
// Function to Select/Deselect checkboxes on form on basis of start and end indexes, If no index specified then applies to all checkboxes on the form
function ChgChkBoxStatOnForm(theform,startElement,endElement,theStat) {
	var j=startElement;
	for(j;j<=endElement;j=j+1)
		{
			if(theform.elements[j].type == 'checkbox') {
				theform.elements[j].checked = theStat;
		}
	}
}


// Author : Dheeraj 
// Dated: 9-Feb-2004 12:06AM 
// Function for checking that check boxes are selected on form or not
function checkselectedchkboxes(theform,theMsg,startelement,endelement) {
	for(i=startelement;i<=endelement;i++) {
		if(theform.elements[i].type == 'checkbox') {
			if(theform.elements[i].checked == true) {				
				return true
			}
		}
	}
	alert("Please select at least one "+theMsg);
	return false;
}
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
function MM_NextPage(objForm,targ)
{ //v3.0
  eval(objForm+".action='"+targ+"'");
  eval(objForm+".submit()");	
}
function _CheckVal()
{
	if(formProdSrch.merchantfilter[0].checked)
	{
		if(formProdSrch.merchantfilter[1].checked)
		{
			alert("You can select any one of Multi-Merchant and No-Merchants");
			formProdSrch.merchantfilter[0].focus();
			return false;
		}
	}
	//formProdSrch.merchantfilter[0].checked
	return true;

}

/*'--- ---------------------------------------------------------
'Name   : CheckFromToDate
'Developer  : Ekansh
'Create Date : 20/06/2003  (dd/mm/yyyy)  
'Purpose  : This will check the valid date and from date 
'     should be less than equal to to date 
'Input Parameter       
 ' theform : Name of the form
  dd  : Name of the fromday form element
  mm  : Name of the frommonth form element
  yy  : Name of the fromyear form element
  dd1  : Name of the today form element
  mm1  : Name of the tomonth form element
  yy1  : Name of the toyear form element
 
'ModifiedDate ModifiedBy  Comments
'-------------------------------------------------------------
*/
 function CheckFromToDate(theform,fromday,frommonth,fromyear,today,tomonth,toyear)
 {
 if(!CheckDate1(theform,fromday,frommonth,fromyear))  return false; 
 if(!CheckDate1(theform,today,tomonth,toyear))  return false; 
 day1=parseInt(eval("theform."+fromday+".options[theform."+fromday+".selectedIndex].value"));
 month1=eval("theform."+frommonth+".options[theform."+frommonth+".selectedIndex].value");
 month1=parseInt(month1-1);
 year1=parseInt(eval("theform."+fromyear+".options[theform."+fromyear+".selectedIndex].value")); 
 day2=parseInt(eval("theform."+today+".options[theform."+today+".selectedIndex].value"));
 month2=eval("theform."+tomonth+".options[theform."+tomonth+".selectedIndex].value");
 month2=parseInt(month2-1);
 year2=parseInt(eval("theform."+toyear+".options[theform."+toyear+".selectedIndex].value"));
 var fromdate = new Date(year1,month1,day1); 
 var todate=new Date(year2,month2,day2); 
 //alert(fromdate);
 if(fromdate >todate)
 {  
  alert("From date should be less than to date"); 
  return false;
 }
 return true;
}

 function CheckDate1(theform,dd,mm,yy)
{ 
 day1=parseInt(eval("theform."+dd+".options[theform."+dd+".selectedIndex].value"));
 month1=eval("theform."+mm+".options[theform."+mm+".selectedIndex].value");
 month1=parseInt(month1-1);
 year1=parseInt(eval("theform."+yy+".options[theform."+yy+".selectedIndex].value"));
// alert(day1+"-"+month1+"-"+year1);
 var test = new Date(year1,month1,day1);
 if (!((yearcheck(test.getYear()) == year1) && (month1 == test.getMonth()) && (day1 == test.getDate())) )
  {
   alert("Invalid date");
   return false;
  }
 return true; 
 }

function yearcheck(number)
{ 
	if (number < 1000)
	{
		 number = number + 1900;
	}
 
 return number; 
}
 