function validate_alphanum(str,fieldname,required)
{
	str1 = str.value
//	reg = /\d/
	reg = /^([a-zA-Z0-9])+$/
	
	if ((required==1) || (str1!=""))
	{
		if (str1.length<1)
		{
			alert("Please enter a valid value for "+fieldname);
			str.focus();
			return 0;
		}
		
		if (!reg.test(str1))
		{
			alert(fieldname+" can have only alpha numeric characters");
			str.focus();
			return 0;
		}

	}
}

//	Checks if there is any alphabets if no then error

function validate_alphanumsp(str,fieldname,required)
{
	str1 = str.value
//	reg = /\d/
	reg = /[a-zA-Z0-9]/i
	
	if ((required==1) || (str1!=""))
	{
		if (str1.length<1)
		{
			alert("Please enter a valid value for "+fieldname);
			str.focus();
			return 0;
		}
		
		if (!reg.test(str1))
		{
			alert(fieldname+" can have only alpha numeric characters");
			str.focus();
			return 0;
		}

	}
}

function validate_partno(str,displayname,required)
{
	str1	= str.value
	reg	= /^[a-zA-Z0-9\\t]+$/
	tab_reg	= /[\t]+/


//	tab_reg	= new RegExp("(\\t\\t)");
	
	alert(tab_reg);
	
	alert(tab_reg.test(str1));

	if ((required == 1) || (str1 != ''))
	{
		if (str1.length<1)
		{
			alert("Please enter a valid value for "+displayname);
			str.focus();
			return 0;
		}
/*	
		if (!tab_reg.test(str1))
		{
			alert(displayname+" can have only alpha numeric characters");
			str.focus();
			return 0;
		}
*/
		if (tab_reg.test(str1))
		{
			alert(displayname+" can have only single tab space");
			str.focus();
			return 0;
		}
	}
}

function validate_address(str,displayname,required)
{
	str1	= str.value;
	regalpha	= /[a-zA-Z]/
	
	if ((required == 1) || (str1 != ''))
	{
		if (str1.length<1)
		{
			alert("Please enter a valid value for "+displayname);
			str.focus();
			return 0;
		}
		
		if (!regalpha.test(str1))
		{
			alert(displayname+" is invalid");
			str.focus();
			return 0;
		}

	}
}

function validate_contact_email(str,displayname,required)
{
	str1	= str.value;
	regalpha	= /[a-zA-Z0-9]/
	regalp	= /[a-zA-Z]/i
	
	if ((required == 1) || (str1 != ''))
	{
		if (str1.length<1)
		{
			alert("Please enter a valid value for "+displayname);
			str.focus();
			return 0;
		}
		
		if ((!regalpha.test(str1)) || (!regalp.test(str1)))
		{
			alert(displayname+" is invalid");
			str.focus();
			return 0;
		}

	}
}


function validate_date(date,fieldname,required)
{
	date_arr = date.split("/");
	mon = date_arr[0];
	day = date_arr[1];
	yea = date_arr[2];
	
	if ((mon == 0) && (day == 0) && (yea == 0) && (required == 0))
	{
		return 1;
	}
	
	month_days = [31,28,31,30,31,30,31,31,30,31,30,31];

	reg=/\D/;

	if ((required==1) || (((date_arr[0]!="") || (date_arr[1]!="") || (date_arr[2]!="")) && (date!="")))
	{
		if ((mon==2) && ((yea%4)==0))
			month_days[1] = 29;

		if ((reg.test(mon)) || (reg.test(day)) || (reg.test(yea)))
		{
			alert("Please enter a valid date (mm/dd/yyyy) for "+fieldname);
			return 0;
		}
		if ( ((mon<1) || (mon>12)) || ((day<1) || (day>month_days[mon-1])) || (yea.length!=4))
		{
			alert("Please enter a valid date (mm/dd/yyyy) for "+fieldname);
			return 0;
		}
		return 1;
	}
}



function checkemail(str,fieldname,required)
{	// valid email check
	var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
	var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
	var reg3 = /[a-zA-Z]/i;//--- should have atleast a single alphabet


	if ((required==1) || (str.length>0))
	{
		if ((!reg1.test(str)) && reg2.test(str) && (reg3.test(str))) // if syntax is valid
		{
		   return 1;//return true;
		}
		else
		{
		
			alert("Please enter Valid Email Account for " + fieldname );
			return 0;
		}
	}

}




function validate_fax(fax1,fax2,fax3,fieldname,required)
{
	var anum=/(^\d+$)/
	if (required==1)
	{
	if (anum.test(fax1.value) && anum.test(fax2.value) && anum.test(fax3.value))
	 {
/*	 	
		if ((fax1.value.length<3) || (fax2.value.length<4) || (fax3.value.length<4))
		{
			alert("Length of Fax Number is invalid for "+fieldname);
			fax1.focus();
			return 0;
		}
*/
		return true;
	 }
	else
	 {
	alert("Please enter Valid Fax Number for "+fieldname);
			fax1.focus();
	return 0;
	 }
	}
	else
	{
		if ((fax1.value.length>0) || (fax2.value.length>0) || (fax3.value.length>0))
		{
			if (anum.test(fax1.value) && anum.test(fax2.value) && anum.test(fax3.value))
			 {
/*
				if ((fax1.value.length<3) || (fax2.value.length<4) || (fax3.value.length<4))
				{
					alert("Length of Fax Number is invalid for "+fieldname);
					fax1.focus();
					return 0;
				}
*/
				return true;
			 }
			else
			 {
			alert("Please enter Valid Fax Number for "+fieldname);
			fax1.focus();
			return 0;
			 }
		}
	}

}




function validate_mobile(mobile1,mobile2,mobile3,fieldname,required)
{
	reg_expr = /\D/
	if (required==1)
	{
		if ((reg_expr.test(mobile1.value)) || (reg_expr.test(mobile2.value)) ||	(reg_expr.test(mobile3.value)))
		{
			alert(fieldname+" mobile phone number can not have strings");
			mobile1.focus();
			return 0;
		}
		else if ((mobile1.value.length<1) || (mobile2.value.length<1) || (mobile3.value.length<1))
		{
			alert("Please give a valid mobile number for "+fieldname);
			mobile1.focus();
			return 0;
		}
		return true;
	}
	else 
	{

		if  ((mobile1.value.length>0) || (mobile2.value.length>0) || (mobile3.value.length>0))
		{
			if ((reg_expr.test(mobile1.value)) || (reg_expr.test(mobile2.value)) ||	(reg_expr.test(mobile3.value)))
			{
				alert(fieldname+" mobile phone number can not have strings");
				mobile1.focus();
				return 0;
			}
			else if ((mobile1.value.length<1) || (mobile2.value.length<1) || (mobile3.value.length<1))
			{
				alert("Please give a valid mobile number for "+fieldname);
				mobile1.focus();
				return 0;
			}
			return true;
		}

	}

}



function validate_number(num,fieldname,required)
{
	num1 = num.value;
//	reg_exp = /[^0-9.]/g
	reg_exp = /^((\d+(\.\d*)?)|((\d*\.)?\d+))$/

//	reg_exp=/(^\d+$)|(^\d+\.\d+$)/

	if ((required==1) || (num1.length>0))
	{
		if (num1=="")
		{
			alert(fieldname+" is mandatory");
			num.focus();
			return 0;
		}

		if (!reg_exp.test(num1))
		{
			alert("Can not have strings in "+fieldname);
			num.focus()
			return 0;
		}

		num1 = parseInt(num1)
		if (isNaN(num1))
		{
			alert("Please enter a valid number for "+fieldname);
			num.focus();
			return 0;
		}
	}


}

function validate_ndigit(num,fieldname,digits,required)
{
	num1 = num.value;
	reg_exp = /[^0-9.]/g

//	reg_exp=/(^\d+$)|(^\d+\.\d+$)/

	if ((required==1) || (num1.length>0))
	{
		if (reg_exp.test(num1))
		{
			alert("Can not have strings in "+fieldname);
			num.focus()
			return 0;
		}

		if (isNaN(num1))
		{
			alert("Please enter a valid number for "+fieldname);
			num.focus();
			return 0;
		}
		if (num1.length!=digits)
		{
			alert("Please enter a "+digits+" digit number for "+fieldname);
			num.focus();
			return 0;
		}
	}
}

function validate_range(num,fieldname,low_val,high_val,required)
{



	num1 = num.value;
	reg_exp = /[^0-9.]/g

//	reg_exp=/(^\d+$)|(^\d+\.\d+$)/

	if ((required==1) || (num1.length>0))
	{
		if (reg_exp.test(num1))
		{
			alert("Can not have strings in "+fieldname);
			num.focus()
			return 0;
		}

		if (isNaN(num1))
		{
			alert("Please enter a valid number for "+fieldname);
			num.focus();
			return 0;
		}
		if ((num1<low_val) || (num1>high_val))
		{
			alert("Range for "+fieldname+" is invalid.");
			num.focus();
			return 0;
		}
	}
}

function validate_integer(num,fieldname,required)
{



	num1 = num.value;
	reg_exp = /[^0-9]/g

//	reg_exp=/(^\d+$)|(^\d+\.\d+$)/

	if ((required==1) || (num1.length>0))
	{
		if (reg_exp.test(num1))
		{
			alert("Can not have strings in "+fieldname);
			num.focus()
			return 0;
		}

		if ((isNaN(num1)) || (num1.length<1))
		{
			alert("Please enter a valid number for "+fieldname);
			num.focus();
			return 0;
		}
	}
}




function validate_phone(phone1,phone2,phone3,fieldname,required)
{
	var anum=/(^\d+$)/;

	if (required==1)
	{
		if (anum.test(phone1.value) && anum.test(phone2.value) && anum.test(phone3.value))
		 {
		 	
		/*	
			if ((phone1.value.length!=3) || (phone2.value.length!=3) || (phone3.value.length!=4))
			{
				alert("Length of Phone Number is invalid for "+fieldname);
				phone1.focus();
				return 0;
			}
		*/	
			return true;
		

		 }
		else
		 {
		alert("Please enter a valid phone number for "+fieldname);
		phone1.focus();
		return 0;
		 }
	}
	else
	{
		if ((phone1.value.length>0) || (phone2.value.length>0) || (phone3.value.length>0))
		{
		
		if (anum.test(phone1.value) && anum.test(phone2.value) && anum.test(phone3.value))
		 {
		 	/*
			if ((phone1.value.length!=3) || (phone2.value.length!=3) || (phone3.value.length!=4))
			{
				alert("Length of Phone Number is invalid for "+fieldname);
				phone1.focus();
				return 0;
			}
			*/

			return true;
		 }

		else
		 {
		alert("Please enter a valid phone number for "+fieldname);
		phone1.focus();
		return 0;
		 }

		

		}
	}
}

function validate_extension(ph,ext,fieldname,required)
{
	ph1 = ph.value;
	ext1=ext.value;
	reg_exp=/\D/
	
	if ((required==1)||(ext1.length>0))
	{
		if (ph1!="")
		{
			if (reg_exp.test(ext1))
			{
				alert("Can not have strings in extension for "+fieldname);
				ext.focus();
				return 0;
			}
			if (isNaN(ext1))
			{
				alert("Please enter a valid number for "+fieldname);
				ext.focus();
				return 0;
			}

			if (ext1.length>4)
			{
				alert("The length of "+fieldname+" extension is invalid");
				ext.focus();
				return 0;
			}
		}
		else
		{
			alert("Can not have extensions without phone number.\nPlease enter a valid phone number for "+fieldname);
			ph.focus();
			return 0;
		}
	}
}



function validate_string(str,fieldname,required)
{
	str1 = str.value
	reg = /\d/
	
	sp_reg	= /\S/
	
	if ((required==1) || (str1.length>0))
	{
		if (reg.test(str1))
		{
			alert("Can not have numbers in "+fieldname);
			str.focus();
			return 0;
		}
		if (str1.length<1)
		{
			alert(fieldname+" is mandatory");
			str.focus();
			return 0;
		}
		
		if (!sp_reg.test(str1))
		{
			alert('Please enter a valid entry for '+fieldname);
			str.focus();
			return 0;
		}
	}
}



function validate_url(field,display,required)
{
	if ((field.value!="") || (required==1))
	{
		web=field.value; 
  		s1=web.substring(0,3);
		dot=web.substring(3,4);
	  	s2=s1.toLowerCase();

		if(s2!="www" || dot!=".")
		{
			alert(display+" URL is invalid\n Usage: www.yourURLsitename.com ");
			field.focus();
			return 0;
		}
	}
 }




function validate_zip(zip1,zip2,display,required)
{
	reg_zip1 = /^[a-zA-Z0-9]+$/
	reg_zip2 = /^[0-9]+$/
	
	zip1val = zip1.value;
	zip2val = zip2.value;
	
	if ((required==1) || ((zip1val!="") || (zip2val!="")))
	{
		if (zip1.value=="")
		{
			alert("Please enter value for "+display+" Zip1");
			zip1.focus();
			return 0;
		}

/*		
		if (zip2.value=="")
		{
			alert("Please enter value for "+display+" Zip2");
			zip2.focus();
			return 0;
		}
*/		

		if (zip1val.length>5)
		{
			alert(display+" Zip1 length is invalid");
			zip1.focus();
			return 0;
		}

		if (zip2val.length>4)
		{
			alert(display+" Zip2 length is invalid");
			zip2.focus();
			return 0;
		}		
		
		if (!(reg_zip1.test(zip1val)))
		{
			alert("Invalid characters in "+display+" Zip1");
			zip1.focus();
			return 0;
		}

		if ( zip2.value!="" &&  !(reg_zip2.test(zip2val)))
		{
			alert("Invalid characters in "+display+" Zip2");
			zip2.focus();
			return 0;
		}
	}
}

