var err_01="is required field";
var err_02="&nbsp;&nbsp;Please enter valid email id";
var err_03="&nbsp;&nbsp;Email id & confirmed email id must be same";
var err_04="&nbsp;&nbsp;Please select";
var err_05="&nbsp;&nbsp;Password must be more than 5 charater long";
var err_06="should be integer";
var err_08="&nbsp;&nbsp;New Password  & Re-typed New Password must be same";
var err_09="&nbsp;&nbsp;Select user agreement ";
var err_10="&nbsp;&nbsp;Blank Spaces are not allowed in password ";
var err_12="Invalid entry in user name ( only letters, numbers, underscores, and one dot (.))";
var err_13="Invalid ";
var err_14="(Only letters,spaces,hyphens and apostrophes are allowed)";



 function checkforInterger(string)
 {
   var flag=isNaN(string); 
  return flag;
 }


function IsIntegerss(s) 
	{
      for (var i = 0; i < s.length; i++) 
	  {
		  var c = s.charAt(i);
		  if (!((c >= 0) && (c <= 9) || c=='-') )
		   {
		    return true; 
		   }
	   }	  
	return false;
   }


 function IsProperUserName(strng) 
  { 

	 var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]\'\#\$\^\&\*\(\)\+\"\`\~\|\+\-\!]/
     if (strng.match(illegalChars))
     {
  	   return false; 
     }  
   return true;
  }

    function IsProperZip(strng) 
  { 

	 var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]\'\#\$\^\&\*\(\)\+\"\`\~\|\+\-\!]/
     if (strng.match(illegalChars))
     {
  	   return false; 
     }  
   return true;
  }

function IsProperName(strng) 
  { 

     var illegalChars= /[\(\)\<\>\,\;\:\\\/\[\]\#\$\^\&\*\(\)\+\`\~\|\+1234567890\=]/
     if (strng.match(illegalChars))
     {
  	   return false; 
     }  
   return true;
  }

function validate(x,y)
{ 
     y.style.backgroundColor="#F8F9EC"; 
     y.style.borderColor="#FFFFFF";
    if(y=="" || y==undefined)
    { 
		var errormsg=document.getElementsByTagName('errormsg');
		var style = errormsg.style;
	
	}
	else
	{
        var errormsg=y;
		var style =y.style;
	}
	var x=x;


	for (var i=0;i<x.length;i++)
	{
		sRules = x.elements[i].title.split(' ');
		sRules1 = sRules[1]; //determines if field is required or not
		sRules2 = sRules[2]; //typecheck are additional validation rules (ie.Email)
		sRules3 = sRules[3]; //confirm	 
		
		
		if(x.elements[i].type=="text" || x.elements[i].type=="textarea" || x.elements[i].type=="password"|| x.elements[i].type=="radio")
			{
		if(sRules1=="required")
		{
		if(x.elements[i].value=="")
		{
			var myNewString = sRules2.replace("_"," ");
			style.display = "block";
			errormsg.innerHTML="";								errormsg.innerHTML="&nbsp;&nbsp;&nbsp;"+myNewString+"&nbsp;"+err_01;
			x.elements[i].focus();
			return false;
		}
		if(sRules2=="Email")
  		{
	       if (echeck(x.elements[i].value)==false)
		 	{
				style.display = "block";
				errormsg.innerHTML="&nbsp;&nbsp;&nbsp;"+err_02;
				x.elements[i].focus();
				return false;
			 }
		 if(sRules3=="confirm")
		    {
			  if(x.elements[i].value!=x.elements[i-1].value)
			   {
				style.display = "block";
				errormsg.innerHTML="&nbsp;&nbsp;&nbsp;"+err_03;
				x.elements[i].focus();
				return false;
				 }
									 }
		}
  
			     if(sRules3=="name")
  	         	{
		   
           		var myNewString = sRules2.replace("_"," ");

					if((IsProperName(x.elements[i].value)==false) )
	                  {
				    style.display = "block";
		          errormsg.innerHTML="&nbsp;&nbsp;&nbsp;"+err_13+" "+myNewString+"  "+err_14;
					x.elements[i].focus();
					return false;	
					  }
		    	}

                 if(sRules2=="User_name")
                   {
            		  if((IsProperUserName(x.elements[i].value)==false) )
	                  {
				    style.display = "block";
					errormsg.innerHTML="&nbsp;&nbsp;&nbsp;"+err_12;
					x.elements[i].focus();
					return false;		 				
					}
		  	 }
                            

							if(sRules2=="Password")
							{
                               var passstring=trimAll(x.elements[i].value)
                               if(passstring=="")
							  {							   
							       style.display = "block";
									errormsg.innerHTML="&nbsp;&nbsp;&nbsp;"+err_10;
									x.elements[i].focus();
									return false;
							   }  
							   

								if(x.elements[i].value.length<5)
								{
									style.display = "block";
									errormsg.innerHTML="&nbsp;&nbsp;&nbsp;"+err_05;
									x.elements[i].focus();
									return false;
								}            


								if(sRules3=="confirm")
									{
									  if(x.elements[i].value!=x.elements[i-1].value)
											{
												style.display = "block";
												errormsg.innerHTML="&nbsp;&nbsp;&nbsp;"+err_08;
												x.elements[i].focus();
												return false;
											 }
									 }
							}

                           if(sRules2=="city")
							{

							    if((IsIntegerss(x.elements[i].value)==false) )
									{
										errormsg.innerHTML="";
										style.display = "block";
										errormsg.innerHTML="&nbsp;&nbsp;&nbsp;"+sRules2+" is invalid ";
								        x.elements[i].focus();
										return false;
									}
							}
						
							
							if(sRules2=="Zip-code")
							{

							    if(IsProperZip(x.elements[i].value)==false)
									{
										errormsg.innerHTML="";
										style.display = "block";
										errormsg.innerHTML="&nbsp;&nbsp;&nbsp;"+sRules2+"&nbsp should be integer ";
								        x.elements[i].focus();
										return false;
									}
							}


								if(sRules2=="Phone-code"||sRules2=="Phone-number"||sRules2=="Mobile-code"||sRules2=="Mobile-number" || sRules2=="office-Phone-number" || sRules2=="Fax-number")
							{

							    if(checkPoneNumber(x.elements[i].value)==false) 
									{
										errormsg.innerHTML="";
										style.display = "block";
										errormsg.innerHTML="&nbsp;&nbsp;&nbsp; Phone number &nbsp;is invalid (only numbers,hyphens,and brackets are allowed)";
								        x.elements[i].focus();
										return false;
									}
							}
						
							 if(sRules2=="selectRadio")
						   {
								if((x.elements[i].checked==false)&&(x.elements[i+1].checked==false))						
								{
								 errormsg.innerHTML="";
								 style.display = "block";
								 errormsg.innerHTML="&nbsp;&nbsp;&nbsp;Please select anonymously options";
								 x.elements[i].focus();
								 return false;
								} 
						   }
					 
						  if(sRules2=="User_Agreement")
						   {
													
							if(x.elements[i].checked==false)
							 {
							  errormsg.innerHTML="";
							  style.display = "block";
							  errormsg.innerHTML="&nbsp;&nbsp;&nbsp"+err_09;
							  x.elements[i].focus();
							  return false;
							 }
						   }
					 }
              if(sRules1=="notrequired")
	    	{
	          		var myNewString = sRules2.replace("_"," ");

			     if(sRules3=="name")
  	         	{ 
				    if((IsProperName(x.elements[i].value)==false) )
	                  {
				    style.display = "block";
					errormsg.innerHTML="&nbsp;&nbsp;&nbsp;"+err_13+" "+myNewString+" "+err_14 ;
					x.elements[i].focus();
					return false;	
					  }
		    	}
			}



			}



		 if(x.elements[i].type=="select-one")
			{
			 	if(sRules1=="required")
					{
						if(x.elements[i].selectedIndex==0)
							{
								style.display = "block";
								errormsg.innerHTML="&nbsp;&nbsp;&nbsp;"+err_04+"&nbsp;"+sRules2;
								x.elements[i].focus();
								return false;
							}
					}

			}
       if(x.elements[i].type=="file")
		   {
		      if(sRules1=="required")
					{
						if(x.elements[i].value=="")
							{
							   style.display = "block";
								errormsg.innerHTML="&nbsp;&nbsp;Please enter image for upload";
								x.elements[i].focus();
								return false;

							}
					}
		   }
 
	}
   style.display = "none";
   return true;
}

function echeck(str) 
{

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		 return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		   return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		   return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		   return false
		 }

 		 return true					
}





function validateForgotPass(x,y)
{
	
	
	 
   //alert("validate");
     	  y.style.backgroundColor="#FFAEAE"; 
     y.style.borderColor="#FFFFFF";
    if(y=="" || y==undefined)
    { 
		var errormsg=document.getElementsByTagName('errormsg');
		var style = errormsg.style;
	
	}
	else
	{
        var errormsg=y;
		var style =y.style;
	}
	var x=x;
	for (var i=0;i<x.length;i++)
	{
		sRules = x.elements[i].title.split(' ');
		sRules1 = sRules[1]; //determines if field is required or not
		sRules2 = sRules[2]; //typecheck are additional validation rules (ie.Email)
		if(x.elements[i].type=="text" )
			{
				if(sRules1=="required")
					{
						if(x.elements[i].value=="")
							{
								style.display = "block";
								errormsg.innerHTML="";
								errormsg.innerHTML="&nbsp;&nbsp;&nbsp;"+sRules2+"&nbsp;"+err_01;
								x.elements[i].focus();
								return false;
							}
						if(sRules2=="Email")
							{
							   if (echeck(x.elements[i].value)==false)
									{
										style.display = "block";
										errormsg.innerHTML="&nbsp;&nbsp;&nbsp;"+err_02;
										x.elements[i].focus();
										return false;
									}
								
							}
							
					 }

			}
		
	}
   style.display = "none";
   return true;
}
function trimAll(sString)
{
  while (sString.substring(0,1) == ' ')
  {
   sString = sString.substring(1, sString.length);
  }
  while (sString.substring(sString.length-1, sString.length) == ' ')
  {
   sString = sString.substring(0,sString.length-1);
  }
return sString;
}

 // a new function for interger or not
 function isInteger1111(s)
 {
     return Math.ceil(s) == Math.floor(s);
 }




   function checkforInterger(string)
 {
   var flag=isNaN(string); 
  return flag;
 }

  function checkPoneNumber(string)
  {
    for (var i = 0; i < string.length; i++) 
	  {
		  var c = string.charAt(i);      
	      var flag=isNaN(c);            
		   if(flag==true)
          {
		  
		    if(c=="-")
            set=true;
			else if(c=="(")
            set=true;
			else if(c==")")
            set=true;
			else
            set=false;
  
 		  }
		  else		  
          set=true;		 
      }	
   return set;
  }