function Validate(frm)
{
	for (i=0; i < document[frm].elements.length; i++)
	{
		
		//DEFINING FORM OBJECT WITH ITS CORRESPONDING ELEMENTS
		var item = document[frm].elements[i];
		var flag=0;
		var itemspec=item.id;
		var alertMsg=item.id.substring((item.id.lastIndexOf("_") + 1),item.id.length);
		var type=item.type;
			if(item.id.indexOf("req_")>=0)
			{
				
				switch (item.type)
				{
					
					case 'checkbox':
					if (item.type=="Offer_Agegrp")
					{
						var chkbox=chkboxValidation();
						if(chkbox==false)
						{
							flag=1;
							return false;
						}
					}
					if (item.name=="TERMS")
					{
						if(document.forms[0].TERMS.checked==false)
						{
							alert("Please Agree with the Terms & Conditions");
							flag=1;
							return false;
						}
					}
					break;
					//PASSWORD CONFIRMATION 
					case 'password':
						if(item.value=="")
						{
							var element = document.getElementById(itemspec);
							alert(innerHTML = "Please Enter "+alertMsg);
							item.focus();
							flag=1;
							return false;
						}
						if(!(item.value)=="")
						{
							if(item.name=="Password")
							{
								var checkField=check_mincharpassword(frm);
								if(checkField==false)
								return false;
							}
						}
						if(item.name=="Password")
						{ 
							if(!(item.value)=="")
							{
								
							}
						}
						if(item.name=="Confirm_pass")
						{ 
							if(!(item.value)=="")
							{ 
								var email=validepassword(frm);
								if(email==false)
								{
									flag=1;
									return false;
								}
							}
						}
						break;
					case 'text':
					//CHECKING FOR TEXTBOX VALUES
						var tch = /^[ ]*$/;
						if ((item.value=="") && (item.disabled == false) || ((tch.test(item.value))))
						{
							var element = document.getElementById(itemspec);
							alert(innerHTML = "Please Enter "+alertMsg);
							item.focus();
							flag=1;				
							return false;
						}
						else
						{
							if(item.id=="txt")
							{
								if(isNaN(item.value)==true)
								{
									item.focus();
									flag=1;
									return false;
								}
							}
				        }

						
						//EMAIL VALIDATION
						if(!(item.value)=="")
						{
							if((item.name=="EmailAddress" )|| (item.name=="School_email" )|| (item.name=="Offer_Email" )|| (item.name=="EmailAddress3" )|| (item.name=="EmailAddress4" )|| (item.name=="EmailAddress5" )|| ( item.name=="Email")|| ( item.name=="email"))
							{
								var FieldName=item.name;  
								var checkField=validate_email(frm,FieldName);
								if(checkField==false)
								{
									flag=1;
									return false;
								}
							}
						}
						
						//USERNAME VALIDATION
						if(!(item.value)=="")
						{
							if(item.name=="Username")
							{
								var checkField=check_mincharusername(frm);
								if(checkField==false)
								{
								flag=1;
									return false;
								}
							}
						}
						
						
						if(!(item.value)=="")
						{
							if(item.name=="Number")
							{
								var FieldName=item.name;
								var checkField=tel_length(frm,FieldName);
								if(checkField==false)
								{
									flag=1;
									return false;
								}
							}
						}
						
						if(!(item.value)=="")
						{
							if(item.name=="Mobile")
							{
								var FieldName=item.name;
								var checkField=cell_length(frm,FieldName);
								if(checkField==false)
								{
									flag=1;
									return false;
								}
							}
						}
	// Text Filed in Zero Function	Start				
						if(item.name=="Phone" || item.name=="LandLine" || item.name=="AreaCode" || item.name=="phone")
						{ 
							if(!(item.value)=="")
							{ 
								var FieldName=item.name;
								var checkField=CheckPhoneSizeValue(frm,FieldName);
								if(checkField==false)
								{
									flag=1;
									return false;
								}
							}
						}
	// Text Filed in Zero Function	End		
				
					if(item.name=="Offer_Web")	
						{
						
							
							if(!(item.value)=="")
							{
								
								var Fieldname=item.name;
								var checkField=check_URL(frm,Fieldname);
								if(checkField==false)
								{
									flag=1;
									return false;
									break;
								}
								
							}
						}
						break;
					case 'select-one':
						
						if (!checkSelect(item))
						{ 
							var element = document.getElementById(itemspec);
							if(item.value == "")
							{
								alert(innerHTML = "Please Select "+alertMsg);
								item.focus();
								flag=1;
								return false;
							}
						}
						break;
					case 'textarea':
						var tch = /^[ ]*$/;
						if(item.value==""  || ((tch.test(item.value))))
						{	
							var element = document.getElementById(itemspec);
							alert(innerHTML = "Please Enter "+alertMsg);
							item.focus();
							flag=1;	
									return false;							
						}
					break;
					//case 'UserType':
				}//end of switch
		 	}//INSIDE ELSE IF(OPTIONAL)
		//end of main else
	
		if (flag==1)
		{	
			return false;
			break;
		}	
	}
//document[frm].submit();
}

//CHECKING FOR VALIDATION OF CHECK BOX
function chkboxValidation()
{
	
	var total="";
	var frmname=document.forms[0];
	for(var i=0; i < frmname.Offer_Agegrp.length; i++)
	{
		if(frmname.Offer_Agegrp[i].checked)
		total +=frmname.Offer_Agegrp[i].value + "\n"
	}
		if(total=="")
		{
			alert("Please Select Age Groups I Can Help") 
			return false; 
		}
}


//FUNCTIONS FOR EMAIL VALIDATION
function validate_email(frm,name)
{
	if (emailvalidation(document[frm].elements[name].value)==false)
	{
		document[frm].elements[name].focus(); 
		alert('Invalid E-Mail Address');
		return false;
	}
}

function emailvalidation(i)
{
	var regexp = /^[a-zA-Z0-9_@.-]*$/;
	var val = i;
	var at="@";
	var dot=".";
	var pat=val.indexOf(at);
	var lval=val.length;
	var pdot=val.indexOf(dot);
	var secondat = val.indexOf(at,pat+1);
	var lastat = val.lastIndexOf(at);
	var afterat = val.substring(pat+1,pat+2);
	var afterdot = val.substring(pdot+1,pdot+2);
	var lastchar = val.substring(lval-1,lval);
	var dotafterat = val.indexOf(dot,pat+1);
	var pseconddot = val.indexOf(dot,pdot+1);
	var pthirddot = val.indexOf(dot,pseconddot+1);
	var afterseconddot = val.substring(pseconddot+1,pseconddot+2);
	var afterthirddot = val.substring(pthirddot+1,pthirddot+2);

	if (regexp.test(val) == false ||pat == -1 || pat == 0 || pat == lval-1 || pdot == -1 || pdot == 0 || pdot == lval-1 || secondat != -1 || lastat != pat || afterat == dot || afterat == "-" || afterat == "_" || afterdot == at || afterdot == "-" || afterdot == "_" || afterdot == dot || lastchar == dot || dotafterat == -1 || afterseconddot == at || afterseconddot == "-" || afterseconddot == "_" || afterseconddot == dot || afterthirddot == at || afterthirddot == "-"
	|| afterthirddot == "_" || afterthirddot == dot)
	{
		return false;
	}
	else
	{
		return true;
	}
}

//FUNCTION FOR CHECKING SELECT BOX VALUES
function checkSelect(item) 
{
	bLocValid = true;
	if(item.selectedIndex==0)
	{
		bLocValid=false;
	}
	if (item.selectedIndex < 0) 
	{ 
		bLocValid = false;
	}
	if (item.selectedIndex == 0) 
	{
		if (item.options[0].value == '') 
		{ 
			bLocValid = false;
		}
	}
	return bLocValid;
}

//FUNCTION FOR CHECKING NUMMERIC VALUES
function numOnly()
{
	if(window.event.keyCode != 13 && window.event.keyCode<45 || window.event.keyCode>57 || window.event.keyCode == "47" || window.event.keyCode == "46")
	{
		window.event.keyCode=null;
		alert("Please Enter Numeric Values Only");
	}
}
function numdecimalOnly()
{
	if(window.event.keyCode != 13 && window.event.keyCode<45 || window.event.keyCode>57 || window.event.keyCode == "47")
	{
		window.event.keyCode=null;
		alert("Please Enter Numeric Values Only");
	}
}
function numOnlynew(frm,FieldName)
{
	var alpha;
	alpha=FieldName.value;
	for(var j=0; j<alpha.length; j++)
	{
		var alphaa = alpha.charAt(j);
		var hh = alphaa.charCodeAt(0);
		if(hh != 13 && hh < 45 || hh > 57 || hh == "46")
		{
			hh=null;
			alert("Please Enter Numeric Values Only");
			FieldName.value="";
			FieldName.focus();
			return false;
		}		
	}
}
function numOnlyacccomma(frm,FieldName)
{
	var alpha;
	alpha=FieldName.value;
	for(var j=0; j<alpha.length; j++)
	{
		var alphaa = alpha.charAt(j);
		var hh = alphaa.charCodeAt(0);
		if(hh != 13 && hh < 43 || hh > 57 || hh == "46")
		{
			hh=null;
			alert("Please Enter Numeric Values Only");
			FieldName.value="";
			FieldName.focus();
			return false;
		}		
	}
}

function CharacterOnly(frm,FieldName)
{
	var numeric;
	numeric=FieldName.value;
	for(var j=0; j<numeric.length; j++)
	{
		var alphaa = numeric.charAt(j);
		var hh = alphaa.charCodeAt(0);
		if((hh > 64 && hh < 91) || (hh > 96 && hh < 123) || hh==32 || hh==38 || hh==46 || hh==44 || hh==40 || hh==41 || hh==91 || hh==93)
		{
		}
		else
		{
			alert("Please Enter Alphabets Only");
			FieldName.value="";
			FieldName.focus();
			return false;
		}
	}
	return true;
}

//FUNCTION FOR CHECKING USERNAME LENGTH
function check_mincharusername(frm)
{
	var user=document[frm].elements["Username"].value;
	var sub1=user.substr(0,1);
	var len = document[frm].elements["Username"].value.length;
	if ( len < 6 )
	{
		alert ( "Username Field should not be less than 6 Characters" );
		document[frm].elements["Username"].focus();
		return false;
	}
	else if ( len > 12)
	{
		alert ( "Username Field should not be more than 12 Characters" );
		document[frm].elements["Username"].focus();
		return false;
	}
	else if ((sub1 >= 0) && (sub1 <=9))
	{
		alert("Username Field should start with alpha Character");
		document[frm].elements["Username"].value="";
		document[frm].elements["Username"].focus();
		return false;
	}
}

//FUNCTION FOR CHECKING PASSWORD LENGTH
function check_mincharpassword(frm)
{
	var passlen = document[frm].elements["Password"].value.length;
	if ( passlen < 6  )
	{
		alert ( "Password Field should not be less than 6 Characters");
		document[frm].elements["Password"].focus();
		return false;
	}
	else if ( passlen > 12)
	{
		alert ( "Password Field should not be or more than 12 Characters");
		document[frm].elements["Password"].focus();
		return false;
	}
}

//FUNCTION FOR CHECKING PASSWORD AND CONFIRM PASSWORD
function validepassword(frm)
{
	var valPassword=document[frm].elements["Password"].value;
	var ConfirmPass=document[frm].elements["Confirm_pass"].value;

	if (valPassword!=ConfirmPass)
	{
		alert('Please Confirm Your Password Correctly');
		document[frm].elements["Confirm_pass"].focus();
		
		return false;
	}
	else
	{
		return true;
	}
}

//FUNCTION FOR CHECKING FORGOT PASSWORD VALIDATION
function forgetpwd(frm)
{

	if (document[frm].Email.value == "" && document[frm].ForgotUsername.value == "")
	{
		alert("Please enter Username or Email address.");
		document[frm].ForgotUsername.focus(); 
		return false;
	}
	else if (document[frm].Email.value != "" && document[frm].ForgotUsername.value != "")
	{
		alert("Please enter only one field. Either enter Username or email address.");
		document[frm].ForgotUsername.focus(); 
		return false;
	}
	else if (document[frm].Email.value != "" && document[frm].ForgotUsername.value == "")
	{
		if (emailvalidation(document[frm].Email.value)==false)
		{
			document[frm].Email.focus(); 
			alert('Invalid E-Mail Address');
			return false;
		}
	}
}


//FUNCTION FOR CHECKING DUPLICATION OF USERNAME AND PASSWORD
function CheckDuplicateUsernamePassword(frm) // Duplicate Username,Password
{
	var TxtUsername=document[frm].elements["Username"].value;
	var TxtPassword=document[frm].elements["Password"].value;
	if (TxtUsername==TxtPassword)
	{
		alert("Password Should not be Same as Username");
		document[frm].elements["Password"].value="";
		document[frm].elements["Confirm_pass"].value="";
		document[frm].elements["Password"].focus();
		return false;
	}
	else
	{
		return true;
	}
}

//FUNCTION FOR STATE AND CITY VALIDATION
function CheckStateValidation(frm,Countryvalue)
{
	var tch = /^[ ]*$/;
	if (document[frm].State.length > 1)
	{
		if (document[frm].State.value=="")
		{
			alert("Please Select State");
			document[frm].State.focus();
			return false;
		}		
	}

	//*********************************************************************************** City Validation

	if (document[frm].State.value !="")
	{
			if(document[frm].City.type == "text" && document[frm].City.value=="" || ((tch.test(document[frm].City.value))))
			{
				alert("Please Enter City")
				document[frm].City.focus();
				return false;
			}
			else if(document[frm].City.type == "select-one" && document[frm].City.value=="")
			{
				alert("Please Select City");
				document[frm].City.focus();
				return false;

			}
			else
			{
				return true;
			}
			/*
			if (document[frm].City.length==1)
			{
				if (document[frm].City.value=="" && document[frm].HiddenCity.value=="")
				{
					alert("Please Enter City")
					document[frm].City.focus();
					return false;
				}
			}
			else if (document[frm].City.length > 1)
			{
				if (document[frm].City.value=="" && document[frm].HiddenCity.value=="")
				{
					alert("Please Select City");
					document[frm].City.focus();
					return false;
				}
			}
		
		if (document[frm].City.length == 1)
		{
			
			if (document[frm].City.value=="")
			{
				alert("Please Select City");
				document[frm].City.focus();
				return false;
			}
		}
		*/
	}
	
}



//URL CHECKING FUNCTION
function check_URL(frm,name)
{
	
	var mailValid = /^(([w]{3})+\.+([a-zA-Z0-9\-]+\.)+([a-zA-Z0-9]*)+([\.com\.net\.org\.gov\.edu\.info\.co.uk]))+$/;
	if (!document[frm].elements[name].value.match(mailValid))
	{
		alert("Invalid URL");
		document[frm].elements[name].focus();
		return false;
	}
}



//FUNCTION FOR CHECKING WHETHER THE IMAGES UPLOADED ARE VALID OR NOT
function CheckValidImage(frm,name)
{
	var image=document[frm].elements[name].value;
	var imagelength=document[frm].elements[name].value.length;
	var imageindex=image.lastIndexOf(".") + 1;
	var last=image.substring(imageindex,imagelength);
	if(document[frm].elements[name].value != "")
	{
		if(last != "jpg" && last != "gif" && last != "jpeg" && last != "png" && last != "JPG" && last != "GIF" && last != "JPEG" && last != "PNG")
		{
			alert("Please Upload valid jpg or gif or png file");
			return flag=1;
		}
		else
		{
			return flag=0;
		}
	}
}
function CheckHtml(frm,name)
{
	var image=document[frm].elements[name].value;
	var imagelength=document[frm].elements[name].value.length;
	var imageindex=image.lastIndexOf(".") + 1;
	var last=image.substring(imageindex,imagelength);
	if(document[frm].elements[name].value != "")
	{
		if(last != "html" && last != "htm")
		{
			alert("Please Upload html files only");
			return flag=1;
		}
		else
		{
			return flag=0;
		}
	}
}

//FUNCTION CHECK FOR NUMERIC VALUES**************************************************
	
	function IsNumeric(frm,e,FieldName)
	{
		
		if(navigator.userAgent.indexOf("Netscape") > 0)
		{
			var KeyID=e.keyCode;
			if(KeyID < 45 || KeyID > 57 || KeyID == "47" || KeyID == "46" || KeyID == "32" )
			{
				var string=document[frm].elements[FieldName].value.length;
				alert("Please Enter Numeric Values Only");
				document[frm].elements[FieldName].focus();
			}
		}
		else
		{
			if(window.event.keyCode<45 || window.event.keyCode>57 || window.event.keyCode == "47" || window.event.keyCode == "46")
			{
				window.event.keyCode=null;
				var string=document[frm].elements[FieldName].value;
				document[frm].elements[FieldName].focus();
			}
		}
	}

//CHECKING FOR SPECIAL CHARACTERS IN USERNAME
function check_SpChar(frm)
{
	var username=document[frm].Username.value;
	if ((username.match('@')) || (username.match('#')) || (username.match('!')) || (username.match('%')) || (username.match('&')) )
	{
		alert("Special Characters not allowed ! ");
		return false;
	}
}

function validurl()
{
	if(document.forms[0].Url.value != "")
	{
		document.forms[0].Url.id="req_txt_Url";
	}
	else
	{
		document.forms[0].Url.id="";
	}
	
}
function validatetextarea(frm,field,cntfield,maxlimit) 
{	
	if (field.value.length > maxlimit)
	{// if too long...trim it!
		field.value = field.value.substring(0, maxlimit);
	}
	// otherwise, update 'characters left' counter
	else if(cntfield!=null)
	{
		cntfield.value = maxlimit - field.value.length;
	}
	
}
function keycode()
{
	if(window.event.keyCode == "13")
	{
		searchbyarealoc();
	}
}
function DelImg(id,path,type)
{
	if(confirm("Are you sure to want to delete ?"))
	document.location.href=path+"?delId="+id+"&type="+type;
}
function check_username(frm)
{
	var user=document[frm].elements["Username"].value;
	var sub1=user.substr(0,1);
	var len = document[frm].elements["Username"].value.length;
	document.getElementById('TipName').style.display="none";
	document.getElementById('load').style.display="none";
	if ( user == "" )
	{
		alert ( "Username field is blank" );
		document[frm].elements["Username"].focus();
		return false;
	}
	else 
	{
		var checkField=check_mincharusername(frm);
		if(checkField==false)
		{
			flag=1;
			return false;
		}
	}
	showuseravail(user,'TipName');
}
function check_schoolusername(frm)
{
	var user=document[frm].elements["Username"].value;
	var sub1=user.substr(0,1);
	var len = document[frm].elements["Username"].value.length;
	document.getElementById('TipName').style.display="none";
	document.getElementById('load').style.display="none";
	if ( user == "" )
	{
		alert ( "Username field is blank" );
		document[frm].elements["Username"].focus();
		return false;
	}
	else 
	{
		var checkField=check_mincharusername(frm);
		if(checkField==false)
		{
			flag=1;
			return false;
		}
	}
	showschooluseravail(user,'TipName');
}
function check_adminschoolusername(frm,School_ID)
{
	var user=document[frm].elements["Username"].value;
	var sub1=user.substr(0,1);
	var len = document[frm].elements["Username"].value.length;
	document.getElementById('TipName').style.display="none";
	document.getElementById('load').style.display="none";
	if ( user == "" )
	{
		alert ( "Username field is blank" );
		document[frm].elements["Username"].focus();
		return false;
	}
	else 
	{
		var checkField=check_mincharusername(frm);
		if(checkField==false)
		{
			flag=1;
			return false;
		}
	}
	showadminschooluseravail(user,'TipName',School_ID);
}
function check_sendmail(frm,tip,load,design)
{
	document.getElementById(tip).style.display="none";
	document.getElementById(load).style.display="none";
	var subject=document[frm].elements["subject"].value;
	if (subject == "" )
	{
		alert ( "subject field is blank" );
		document[frm].elements["subject"].focus();
		return false;
	}
	var Message=document[frm].elements["Message"].value;
	if (Message == "" )
	{
		alert ( "Message field is blank" );
		document[frm].elements["Message"].focus();
		return false;
	}
	var Offer_ID=document[frm].elements["Offer_ID"].value;
	sendmail(subject,Message,Offer_ID,tip,load,design);
}