
//<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



//	*************************************  theValidator2 **********************************************************

function theValidator2(theForm,theControl,theMessage,theNumeric,theEMail,theURL,theConfirmPassword,thebadstuff,theinteger,thepercent,thesize,thedecimal,theimage,theempty,themin,themax,theminlength,themaxlength)
{
	// This function is used to validate that all text
	// fields in a given form contain some value
	//Split the controls + Messages + Numerics by comma ,
	

	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(",");
	theminlengths=theminlength.split(",");
	themaxlengths=themaxlength.split(",");

	theConfirmPasswords=theConfirmPassword.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(".");
								if (array1.length == 1)
								{
									alert("Files with extensions .gif, .jpg, .jpeg can only be uploaded.");
									theForm.elements[i].focus();
									return false;									
								}
								if(array1[1].toLowerCase()!="jpg" && array1[1].toLowerCase()!="jpeg" && array1[1].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(".");
								if (array1.length == 1)
								{
									alert("Files with extensions .txt, .csv can only be uploaded.");
									theForm.elements[i].focus();
									return false;									
								}
								if(array1[1].toLowerCase()!="txt" && array1[1].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);
						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] != "")
					{
							if(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
								badStuff='"';
							
							if (thebadstuffs[counter]=='P')
							{
								badStuffphone = "0123456789()- ";
								chkstring = trim(theForm.elements[i].value);
								for (x=0; x<chkstring.length; x++)
								{
									badCheck = chkstring.charAt(x);
									if (badStuffphone.indexOf(badCheck,0) == -1)
									{							
										alert("Please enter valid "+theMessages[counter].toLowerCase()+" number.");
										theForm.elements[i].focus();
										return false;
									}
								}
							}
							
							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(theMessages[counter]+" can not have double quotes.");
									else
									alert(theMessages[counter]+" 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]+" 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] == "Y")
					{			

								var str=theForm.elements[i].value;
									 if (str.indexOf('.')!=-1)
										{
										   alert("No decimals allowed for "+theMessages[counter].toLowerCase()+".");
										    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]!='')
					{
						if(parseInt(theForm.elements[i].value)<themins[counter] || parseInt(theForm.elements[i].value)>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) !='' && themaxs[counter]!='')
					{
						if( parseInt(theForm.elements[i].value)>themaxs[counter])
						{
							alert("Please enter value for "+theMessages[counter].toLowerCase()+" less than "+themaxs[counter]+".");
							theForm.elements[i].focus();
							return false;
						}
					}
				
					if (trim(theForm.elements[i].value) !='' && theminlengths[counter]!='')
					{
						if( trim(theForm.elements[i].value).length<parseInt(theminlengths[counter]))
						{	
							alert(theMessages[counter]+" cannot be less than "+theminlengths[counter]+" characters.");
							theForm.elements[i].focus();
							return false;
						}
					}

					if (trim(theForm.elements[i].value) !='' && themaxlengths[counter]!='')
					{
						if( trim(theForm.elements[i].value).length>parseInt(themaxlengths[counter]))
						{
							alert(theMessages[counter]+" cannot have more than "+themaxlengths[counter]+" characters.");	
							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;	
					}
							badStuff='"';
							chkstring = trim(theForm.elements[i].value);
							for (x=0; x<badStuff.length; x++)
							{
								badCheck = badStuff.charAt(x);
								if (chkstring.indexOf(badCheck,0) != -1)
								{							
									alert(theMessages[counter]+" can not have double quotes.");
									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")
					{
						alert("Please select the " + theMessages[counter].toLowerCase() + ".");
						theForm.elements[i].focus();
						return false;	
					}
				}
			
			// 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 theValidator2 *****************************************************



function theValidator(theForm,theControl,theMessage,theNumeric,theEMail,theURL,theConfirmPassword)
{
	// This function is used to validate that all text
	// fields in a given form contain some value
	//Split the controls + Messages + Numerics by comma ,
	
	var theControls = new Array();
	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(",");
	theConfirmPasswords=theConfirmPassword.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) == '')
					{
//						alert(theMessages[counter] + " cannot be blank.");
						alert("Please enter the "+theMessages[counter].toLowerCase()+".");
						theForm.elements[i].focus();
						return false;	
					}
				}

				if (theForm.elements[i].type == 'text')
				{
					//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 (theEMails[counter] != "Y" && theURLs[counter] != "Y" && theNumerics[counter] != "Y")
					{
						chkstring = trim(theForm.elements[i].value);
						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;	
						}					
					}
					// 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;	
						}
					}
				}
				// 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")
					{
						alert("Please select the " + theMessages[counter].toLowerCase() + ".");
						theForm.elements[i].focus();
						return false;	
					}
				}
			
			// Text Area Validation

				if (theForm.elements[i].type == "textarea")
				{
					var txtAreaValue;
					txtAreaValue=theForm.elements[i].value;
					if( trim(txtAreaValue) == "")
					{
//						alert(theMessages[counter] + " cannot be blank.");
						alert("Please enter the "+theMessages[counter].toLowerCase()+".");
						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;
}

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 ( s )
{
	return rtrim(ltrim(s));
}

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.value;	
	url=myobject;
	
	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
  window.open(theURL,winName,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 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-1]");
		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-1]");
		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;
	}
}