//User Id Validation...
function UserIdValidataion(UserId)
{
	var Str1 = UserId.indexOf(' ')
	if (Str1==0)
	{
		alert ('Please do not use space before your User Id. ');
		return false;
	}
	else if(UserId.length<3 || UserId.length>20)
	{
		alert ('User Id would be more than 2 characters and less than 20 characters');
		return false;
	}
	else
	{
		return true;
	}
}


//Modified By Sandeep Number only 
function CheckKeys(evt)
{
 var charCode = (evt.which) ? evt.which : evt.keyCode;
 if (charCode > 31 && (charCode < 48 || charCode > 57))
    return false;

 return true;
}



/**
* This function allow only number for the text field
*/
function isNumberKey(evt)
{
	//event.which work with Mizilla and event.keyCode is worked with IE
	 var charCode = (evt.which) ? evt.which : evt.keyCode
	 if (charCode > 31 && (charCode < 48 || charCode > 57))
		return false;

	 return true;

}
//for numeric validation function end




 
function CheckKeysForUserName(evt){
  	var charCode = (evt.which) ? evt.which : evt.keyCode;
	
	 if ((charCode != 32) && (charCode < 65 || charCode > 90)&&(charCode < 97 || charCode > 122))
		return false; 
	else
		return true;
}


function isValidDate(){
	var Day = document.getElementById(document.forms[0].id+":date").value;
	var Mn = document.getElementById(document.forms[0].id+":month").value;
	var Yr = document.getElementById(document.forms[0].id+":year").value;
    
    var DateVal = Mn + "/" + Day + "/" + Yr;
	//alert(DateVal);
    var dt = new Date(DateVal);

    if(dt.getDate()!=Day){
        alert('Invalid Date');
        return(false);
        }
    else if(dt.getMonth()!=Mn-1){
    //this is for the purpose JavaScript starts the month from 0

        alert('Invalid Date');
        return(false);
        }
    else if(dt.getFullYear()!=Yr){
        alert('Invalid Date');
        return(false);
        }
        
    return(true);
 }

//Password Validation...
function PasswordValidataion(sPassword)
{
	var Str1 = sPassword.indexOf(' ')
	if (Str1==0)
	{
		alert ('Please do not use space before your Password ');
		return false;
	}
	else if ((Str1>0) && (Str1 < (sPassword.length)))
	{
		alert ('Please do not use space before your Password');
		return false;
	}
	else if(sPassword.length<3 || sPassword.length>20)
	{
		alert ('Password would be more than 2 characters and less than 20 characters');
		return false;
	}
	else
	{
		return true;
	}
}


//Re-Type Password Validation...
function RePasswordValidataion(sPassword,sRePassword)
{
	if(sPassword.toString()!=sRePassword.toString())
	{
		alert("Re-Type Password Has to be same as the Password");
		return false;
	}
	else
	{
		return true;
	}
}


//Email Validation...
function EmailValidation (semail) 
{
	var flagrate,flagdecimal,i,temp;
	for(i=0; i<semail.length;i++)
	{
		var temp=semail.charAt(i);
		if(temp=="@") flagrate="true";
		if(temp==".") flagdecimal="true";
	}
	
	if(flagrate!="true" || flagdecimal!="true")
	{
		alert("Please Enter valid Email Id");
		return false;
	}
	else
	{
		return true;
	}
}

function isValidEmail(email, required) {
   	if (required==undefined) {   // if not specified, assume it's required
        required=true;
    }
    if (email==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (email.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
    if (! allValidChars(email)) {  // check to make sure all characters are valid
        return false;
    }
    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
        return false;
    } else if (email.indexOf("@") == email.length) {  // @ must not be the last character
        return false;
    } else if (email.indexOf("..") >=0) { // two periods in a row is not valid
	return false;
    } else if (email.indexOf(".") == email.length) {  // . must not be the last character
	return false;
    }
    return true;
}



function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}

function checkingSpecialCharacters(id) {
	  if(id !=''){
		Str = new String((id));
		//Str1 = Str.indexOf('@');
		Str41 = Str.indexOf('!');
		Str51 = Str.indexOf('#');
		Str61 = Str.indexOf('$');
		Str71 = Str.indexOf('%');
		Str81 = Str.indexOf('^');
		Str91 = Str.indexOf('&');
		Str101 = Str.indexOf('(');
		Str111 = Str.indexOf(')');
		Str131 = Str.indexOf('+');
		Str141 = Str.indexOf('=');
		Str151 = Str.indexOf('`');
		Str161 = Str.indexOf('~');
		Str171 = Str.indexOf('<');
		Str181 = Str.indexOf('>');
		Str191 = Str.indexOf('{');
		Str201 = Str.indexOf('}');
		Str211 = Str.indexOf('[');
		Str221 = Str.indexOf(']');
		Str241 = Str.indexOf('|');
		Str251 = Str.indexOf('/');
		Str261 = Str.indexOf('?');
		Str271 = Str.indexOf(',');
		Str281 = Str.indexOf('\\');
	if ((Str1>=0)||(Str41>=0)||(Str51>=0) ||(Str61 >=0) ||(Str71>=0) || (Str81>=0)||(Str91>=0) 
		||(Str101>= 0)|| (Str111>=0) || (Str131>=0) ||(Str141>=0) ||(Str151>=0) ||(Str161>=0) 
		|| (Str171>=0) ||(Str181>=0) || (Str191>=0) || (Str201>=0) || (Str211>=0) || (Str221>=0) 
		|| (Str241>=0) || (Str251>=0) || (Str261>=0) || (Str271>=0) || (Str281>=0) ){
		return false;
	}
  }
}

	function chekCapital(id) {
		var ALLOWED_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
		for (i = 0;  i < id.length;  i++){
			var ch = id.charAt(i);
			var index = ALLOWED_CHARS.indexOf(ch);
			if (index>=0){
			return false;
			}  
		}  	
	}

function validateFields() 
{		
	 var password="";  
	for(k=0; k<document.forms.length; k++)
	{
		var form = document.forms[k];

		var elems = form.elements;
		for( var i=0; i<elems.length; i++)
		{  
			//checkUserName(elems[i])
			 if(elems[i].id.indexOf(':userName') !=-1 ) 
			  {
				   var id=elems[i].value;
					if(id.length==0){
						alert('Please enter your User ID.');
						elems[i].focus();
						return false;
					}	

					 if (!  emailCheck (elems[i])) { 
						 //alert("Please enter a valid email address");
						elems[i].focus();				
						return false;
					}
					//if(id.length<8 || id.length>20){
					//	alert('User Id require minimum 8 characters and less than 20 characters.');
					//	elems[i].focus();
					//	return false;
					//} 		
			  }
			 if(elems[i].id.indexOf(':password') !=-1 ) 
			  {
				    password=elems[i].value;
					if(password.length==0){
						alert('Please enter password.');
						elems[i].focus();
						return false;
					}	

					if(password.length<6 || password.length>20){
						alert('Password require minimum 6 characters and less than 20 characters.');
						elems[i].focus();
						return false;
					} 
					
					 Str3 = new String((password));
						Str4 = Str3.indexOf(' ');
						if (Str4==0){
							alert ('Please do not use  space before your Password ');
							elems[i].focus();
							return false;
						}

						if (Str4>=0){
							alert ('Please do not use  space before your Password ');
							elems[i].focus();
							return false;
						}


			  }

			   if(elems[i].id.indexOf(':reenterPassword') !=-1 ) 
			  {
				   var reenterPassword=elems[i].value;
					 if(reenterPassword.length==0){
						alert('Please enter Retype Password .');
						elems[i].focus();
						return false;
					}
					
					if (password != reenterPassword) {
							alert ("Password does not match. Please re-enter your password.");
							elems[i].focus();
							return false;
					}		
			  }
			  if(elems[i].id.indexOf(':preferedCurrency')!=-1)
				 {
					var currency=elems[i].value;
					if(currency.length==0)
						{
							alert("Please select Preferred Currency.");
							elems[i].focus();
							return false;
					    }
				 }





			if(elems[i].id.indexOf(':answere') !=-1 ) 
			{
					var answer = elems[i].value	
						if(answer.length==0){
							alert('Please enter your answer.');
							elems[i].focus();
							return false;
						}		
						if (answer.indexOf(' ') >=0){
							alert ('Please do not leave a space before your Answer');
							elems[i].focus();
							return false;
						} 
			  }

			  if(elems[i].id.indexOf(':feedback') !=-1 ) 
			  {
					  var name = elems[i].value	
					  if(name.length==0){
							alert("Please Enter your Feedback");
							elems[i].focus();
							 return false;
					  }
			  }

			  if(elems[i].id.indexOf(':name') !=-1 ) 
			  {
					  var name = elems[i].value	
					  if(name.length==0){
							alert("Please Enter Name");
							elems[i].focus();
							 return false;
					  }

					  for(q=0 ; q<name.length ; q++){
										var e = name.charAt(q);
										if((e >'0' && e <'9')){
											alert("Name Can't be Numeric/Alphanumeric");
											elems[i].focus();
											return false;
										}
							}

					  if (name.indexOf(' ') >=0){
						alert ('Please do not use  space in Name ');
						elems[i].focus();
						return false;
					  }

					  if(name.length>30){
					  alert('Name Should Be Less Than 30 Characters');
					  elems[i].focus();
					  return false;
					  }
						
					  if(name.length!=0){                             
							for(a=0 ; a<name.length ;a++){
								var c = name.charAt(a);
									if(c=='!' || c=='@' || c=='#' || c=='%' || c=='^' || c=='&' || c=='*' || c=='(' || c==')' || c=='-' || c=='_' || c=='+' || c=='=' || c=='|' || c=='/' || c=='.' || c=='?' || c=='>' || c=='<' || c==',' || c=='\\'){
										alert("No special characters are allowed for Name");
										 elems[i].focus();
										 return false;
									}
							 }
					  }   
				  }

			
				 
				 
				 /*added for subject */
				 	if(elems[i].id.indexOf(':subject')!=-1)
				 {
					var sub=elems[i].value;
					if(sub.length==0)
						{
							alert("Please select Subject.");
							elems[i].focus();
							return false;
					    }
				 }


/*added for feedback phone number*/

 	if(elems[i].id.indexOf(':fphone') !=-1 ) 
				 { 

					 var feedPhone =elems[i].value;
					 if(feedPhone.length==0){
					alert('Please enter your Telephone No.');
					  elems[i].focus();
					 return false;
					}

					if(feedPhone.length>0 && feedPhone.length<=5){
					   alert('Please enter correct telephone No.');
					   elems[i].focus();
					   return false;
					}	

					for(d=0 ; d<feedPhone.length ; d++)
							{
								var c = feedPhone.charAt(d);
								if((c <'0' || c>'9'))
								{
									alert("Please Enter a Numeric Phone Number");
									 elems[i].focus();
									return false;
								}
							}

				 }
                
				if(elems[i].id.indexOf(':sex')!=-1)
				 {
					var gender=elems[i].value;
					if(gender.length==0)
						{
							alert("Please select a Gender.");
							elems[i].focus();
							return false;
					    }
				 }
				var checkdate = false;
				var Day=0;
				var Mn = 0;
				var Yr = 0;
			   if(elems[i].id.indexOf(':date') !=-1 )
				{
					 
						var date =elems[i].value;
						Day = date;
						 if(date.length==""){
								alert('Please Select Date.');
								elems[i].focus();
								return false;
							}

				 }


			   if(elems[i].id.indexOf(':month') !=-1 ) 
			   { 
					var month =elems[i].value;
					Mn = month;
					 if(month.length==""){
							alert('Please Select month.');
							elems[i].focus();
							return false;
						}

			    }

			    if(elems[i].id.indexOf(':year') !=-1 ) 
			    { 
					var year =elems[i].value;
					Yr = year;
					 if(year.length==""){
							alert('Please Select year.');
							elems[i].focus();
							return false;
						}
					checkdate=true;
			    }
				
				if(checkdate && !isValidDate())
					return false;
			


				
				var cnt="";
				if(elems[i].id.indexOf(':country') !=-1 ) 
				{			cnt = elems[i].value;
							
							 if(cnt==""){
									alert('Please Select Country.');
								   elems[i].focus();
								   return false;
							}
				}
				/** If country is INDIA then only State and City Will be validated 40108 is India code **/
				if(cnt == 40108)
				{
						
					var state = document.forms['myForm'].elements['myForm:state'].value;
					if(state=="")
					{
						alert('Please Select State.');
						document.forms['myForm'].elements['myForm:state'].focus();
						return false;
					}
					var city = document.forms['myForm'].elements['myForm:city'].value;
					if(city=="")
					{
							alert('Please Select City.');
						   document.forms['myForm'].elements['myForm:city'].focus();
						   return false;
					}
				}
	


				 if(elems[i].id.indexOf(':pin') !=-1 ) 
				{ 
					   var pin = elems[i].value;
							 if(pin.length==0){
								alert('Please enter your pin No.');
								elems[i].focus();
								return false;
							  }

							if(pin.length<6){
								alert('Please enter correct pin No.');
								elems[i].focus();
								return false;
							}	

							for(p=0 ; p<pin.length ; p++){
										var c = pin.charAt(p);
										if((c <'0' || c>'9')){
											alert("Please Enter a Numeric pin Number without spaces");
											elems[i].focus();
											return false;
										}
							}
							
				 }

				  if(elems[i].id.indexOf(':address1') !=-1 ) 
				 { 
					   var address1 = elems[i].value;
					   if(address1.length==0)
					  {
						  alert('Please enter your address.');
						 elems[i].focus();
						  return false;
					  }
				}
				if(elems[i].id.indexOf(':ccode') !=-1 ) 
				 { 

					 var ccode =elems[i].value;
					 if(ccode.length==0){
						alert('Please enter your country Code.');
					    elems[i].focus();
					   return false;
					}

					if(ccode.length<2){
						alert('Please enter correct country Code.');
					    elems[i].focus();
					   return false;
					}	

					for(d=0 ; d<ccode.length ; d++)
							{
								var c = ccode.charAt(d);
								if((c <'0' || c>'9'))
								{
									alert("Please Enter a Numeric country Code");
									 elems[i].focus();
									return false;
								}
							}

				 }

				 if(elems[i].id.indexOf(':acode') !=-1 ) 
				 { 

					 var acode =elems[i].value;
					 if(acode.length==0){
						alert('Please enter your area Code.');
					    elems[i].focus();
					   return false;
					}

					if(acode.length<3){
						alert('Please enter correct area Code.');
					    elems[i].focus();
					   return false;
					}	

					for(d=0 ; d<acode.length ; d++)
							{
								var c = acode.charAt(d);
								if((c <'0' || c>'9'))
								{
									alert("Please Enter a Numeric state Code");
									 elems[i].focus();
									return false;
								}
							}

				 }

				 if(elems[i].id.indexOf(':phone') !=-1 ) 
				 { 

					 var dayPhone =elems[i].value;
					 //if(dayPhone.length==0){
					//	alert('Please enter your Telephone No.');
					//  elems[i].focus();
					// return false;
					//}

					if(dayPhone.length>0 && dayPhone.length<=5){
					   alert('Please enter correct telephone No.');
					   elems[i].focus();
					   return false;
					}	

					for(d=0 ; d<dayPhone.length ; d++)
							{
								var c = dayPhone.charAt(d);
								if((c <'0' || c>'9'))
								{
									alert("Please Enter a Numeric Phone Number");
									 elems[i].focus();
									return false;
								}
							}

				 }
                
					 if(elems[i].id.indexOf(':captachText') !=-1 ) 
			  {
				    password=elems[i].value;
					if(password.length==0){
						alert('Enter the code shown.');
						elems[i].focus();
						return false;
					}	
			  }


				 if(elems[i].id.indexOf(':mobileNo') !=-1 ) 
				 { 

					 var mobile =elems[i].value;
					 if(mobile.length==0){
						alert('Please enter your mobile No.');
					    elems[i].focus();
					   return false;
					}

					if(mobile.length<=9){
						alert('Please enter correct mobile No.');
					    elems[i].focus();
					   return false;
					}	

					for(z=0 ; z<mobile.length ;z++)
					{
								var c = mobile.charAt(z);
								if((c <'0' || c>'9'))
								{
									alert("Please Enter a Numeric mobile Number without spaces.");
									 elems[i].focus();
									return false;
								}
					}

			 }
			if(elems[i].id.indexOf(':email') !=-1 ) 
			{ 
				  if (!  emailCheck (elems[i])) {
						//alert("Please enter a valid email address");
						elems[i].focus();
						return false;
				}
			}
			 if(elems[i].id.indexOf(':terms') !=-1 ) 
			{
				 if(!elems[i].checked)	{
					alert("Please Select the checkbox to accept the terms and conditions.");
					 elems[i].focus();
					return false;
				}

			}

		}
	} 	
}

function checkProfile() { 
	 var elemts = document.forms['myForm'].elements['myForm:userName'];
	 var id = document.forms['myForm'].elements['myForm:userName'].value;
  		
        if(id.length==0){
         alert('Please enter your User ID.');
         document.forms['myForm'].elements['myForm:userName'].focus();
		 return false;
		}
 		if (!emailCheck (elemts)) { 
			//alert("Please enter a valid email address");
         document.forms['myForm'].elements['myForm:userName'].focus();
			return false;
		}
 		
	 loginId = new String((id));
	   page = "checkLoginAvalibility.jsp?loginid="+loginId;
		window.open(page,"myWindow","width=450,height=200");
													
}

function validateForm()
{
		
var sFirstName = document.forms['myForm'].elements['myForm:fname'].value;
	if(sFirstName.toString()=="")
	{	
	alert("Please Enter Name");
	document.forms['myForm'].elements['myForm:fname'].focus();
	return false;
	}
	if(sFirstName.toString()!="")
	{	var j = 0;
		for(j=0 ; j<sFirstName.length ; j++)
		{
			var c = sFirstName.charAt(j);
			if(c=='!' || c=='@' || c=='#' || c=='%' || c=='^' || c=='&' || c=='*' || c=='(' || c==')' || c=='-' || c=='_' || c=='+' || c=='=' || c=='|' || c=='/' || c=='.' || c=='?' || c=='>' || c=='<' || c==',' || c=='\\')
			{
				alert("No special characters are allowed for Name");
				 document.forms['myForm'].elements['myForm:fname'].focus();
				 return false;
			}
		}
		for(var x=0; x<(sFirstName.length)-1; x++)
		{
			if(sFirstName.charAt(x) == ' ')
			{
				alert("Do not use space in Name field");
				document.forms['myForm'].elements['myForm:fname'].focus();					
				 return false;
			}
		}
		var i = 0;
		for(i=0 ; i<sFirstName.length ; i++)
		{
			var c = sFirstName.charAt(i);
			if((c >='0' && c<='9'))
			{
				alert("Name cannot be Numeric");
				document.forms['myForm'].elements['myForm:fname'].focus();
				return false;
			}
		}
	}

		var address1 = document.forms['myForm'].elements['myForm:address1'].value;
		if(address1.length==0)
		{
		    alert('Please enter your address1.');
		   document.forms['myForm'].elements['myForm:address1'].focus();
		   return false;
		}
	
    var country = document.forms['myForm'].elements['myForm:country'].value;
	if(country.length=="")
	{
	        alert('Please Select country.');
	       document.forms['myForm'].elements['myForm:country'].focus();
		   return false;
	}
	/** If country is INDIA then only State and City Will be validated 40108 is India code **/
	
	if(country==40108)
	{
		var state = document.forms['myForm'].elements['myForm:state'].value;
		if(state.length=="")
		{
			alert('Please Select state.');
			document.forms['myForm'].elements['myForm:state'].focus();
			return false;
		}
		var city = document.forms['myForm'].elements['myForm:city'].value;
		if(city.length=="")
		{
				alert('Please Select City.');
			   document.forms['myForm'].elements['myForm:city'].focus();
			   return false;
		}
	}
	
	var zip = document.forms['myForm'].elements['myForm:zip'].value;
	if(zip.length=="")
	{
	        alert('Please Enter Zip.');
	       document.forms['myForm'].elements['myForm:zip'].focus();
		   return false;
	}
	if(zip.length!=6)
	{
	        alert('Please Enter Valid Zip.');
	       document.forms['myForm'].elements['myForm:zip'].focus();
		   return false;
	}
	for(i=0 ; i<zip.length ; i++)
	{
		var c = zip.charAt(i);
		if((c <'0' || c>'9'))
		{
			alert("Please Enter a Numeric Pin Code");
			document.forms['myForm'].elements['myForm:zip'].focus();
			return false;
		}
	}
	var dayPhone = document.forms['myForm'].elements['myForm:phoneNumber'].value;
	
	if(dayPhone.length > 15)
	{
		alert("Length of Telephone No Should Not Be More Than 15 Digits");
		document.forms['myForm'].elements['myForm:phoneNumber'].focus();
		return false;
	} 

	var mobileNumber = document.forms['myForm'].elements['myForm:mobilephoneNumber'].value;
	if(mobileNumber.length==0)
	{
	       alert('Please enter your Mobile Number.');
	       document.forms['myForm'].elements['myForm:mobilephoneNumber'].focus();
		   return false;
	}
	
	if(mobileNumber.length>2&&mobileNumber.substring(0,2)=='98'&&mobileNumber.length!=10)
	{
		alert("Length of Mobile Number Should be 10 Numbers");
		document.forms['myForm'].elements['myForm:mobilephoneNumber'].focus();
		return false;
	}	
	
	var sEmail = document.forms['myForm'].elements['myForm:emailId'].value;
	if(sEmail.toString()=="")
	{
		alert("Please Enter  E-mail Address");
		document.forms['myForm'].elements['myForm:emailId'].focus();
	    return false; //Change by shive on 03/12/2005
	}
	if(EmailValidation(sEmail)==false)
	{
		document.forms['myForm'].elements['myForm:emailId'].focus();
		return false;
	}
	if(emailCheck(sEmail)==false)
	{
		document.forms['myForm'].elements['myForm:emailId'].focus();
		return false;
	}


}


//Begin 
// Modified by Sandeep.
		function emailCheck (semail)
		{
			var email=semail.value
			    if (! allValidChars(email)) {  // check to make sure all characters are valid
					return false;
				}
				if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
					alert("Please Enter valid Email Id");
					return false;
				} else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
					alert("Please Enter valid Email Id");
					return false;
				}else if (email.charAt((email.lastIndexOf("@"))+1)==".") {  // . must not be the character after @
					alert("Please Enter valid Email Id");
					return false;
				}
				else if (email.indexOf("@") == email.length) {  // @ must not be the last character
					alert("Please Enter valid Email Id");
					return false;
				} else if (email.indexOf("..") >=0) { // two periods in a row is not valid
					alert("Please Enter valid Email Id");
					return false;
				} else if (email.indexOf(".") == email.length) {  // . must not be the last character
					alert("Please Enter valid Email Id");
					return false;
			 }else
			{
				return true;
			}
		}
//  End 
