function isProper(string) {
		//alert(string)
   if (!string) return false;
   var iChars = "*|,\"<:>[]{}`\';()@&$#%1234567890";

   for (var i = 0; i < string.length; i++) {
      if (iChars.indexOf(string.charAt(i)) != -1)
         return false;
		  
   }
   return true;  
}                   

function MM_validateForm() 
{ 
	var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
	j=0;
	//	/^([-a-zA-Z0-9._]+@[-a-zA-Z0-9.]+(\.[-a-zA-Z0-9]+)+)$/;
	var regEmail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	var regBlank = /[^\s]/;
	var regAlphaNum = /^([a-zA-Z0-9-_]+)$/;
	var regAlpha = /^([a-zA-Z]+)$/;
	var regDate = /^([0-9_]+-[0-9][0-9]+-[0-9][0-9]+)$/;
	var regPhone = /^([0-9_]+-[0-9_]+-[0-9]_+-[0-9_]+)$/;
	
	for (i=1; i<(args.length-2); i+=3) 
	{	
		mesg=args[i+1];
		test=args[i+2]; 
		
		val=document.forms[""+args[0]].elements[""+args[i]];
		if(val.value.length>50 && ( val.name=='contact_first_name' || val.name=='contact_last_name' ||  val.name=='contact_email' || val.name=='contact_city'|| val.name=='contact_state' || val.name=='card_number' || val.name=='card_holder_name'))
		{
		errors += '- '+mesg+' length should no tbe greater than 50.\n'; 
		
		}
		
		if(val.value.length != 6 && ( val.name=='billing_pincode'||val.name=='contact_pincode'))
                {
                errors += '- '+mesg+' length should be 6 digits.\n';
                }
		if(val.value.length>30 && (val.name=='contact_landline' || val.name=='contact_pincode'||val.name=='contact_mobile'))
		{
		errors += '- '+mesg+' length should no tbe greater than 30.\n'; 
		}
		 if(val.value.length<10 && (val.name=='contact_landline' || val.name=='contact_mobile'))
                {
                errors += '- '+mesg+' length should not be less than 10.\n';
                }

		if(val.value.length>250 && (val.name=='contact_address1' ||  val.name=='contact_address2' || val.name=='contact_landline'))
		{
		errors += '- '+mesg+' length should no tbe greater than 30.\n'; 
		}

		if(val.value.length>3 && (val.name=='card_cvv'))
		{
		errors += '- '+mesg+' length should no tbe greater than 3.\n'; 
		}
		if(val.value.length != 16 && (val.name=='card_number'))
                {
                errors += '- '+mesg+' length should be 16 digits only.\n';
                }
	
	    if (val) 
		{	nm=mesg; 
			
			val = val.value;

			if(regBlank.test(val))
			{
				if(test.indexOf('isEqual')!=-1)
				{
					//result = trim(val);
					result = val;
				if(result.length==0){
				errors += '- '+nm+' is required.\n'; 
				}else{
					equal_obj_val = test.substring(8,test.indexOf(":"));
					mesg_string =test.substring((test.indexOf(":")+1));
					if(val != document.forms[""+args[0]].elements[""+equal_obj_val].value)
					{
						errors+='- '+nm+' must be same to '+mesg_string+'.\n';
					}
				}
				}else if(test.indexOf('isAlphaNum')!=-1){
					//result = trim(val);
					result = val;
					if(result.length==0){
						errors += '- '+nm+' is required.\n'; 
					}else{
						if(!regAlphaNum.test(val))
						{
							errors+='- '+nm+': Only Alpha Numeric and "_" or "-" Characters Allowed.\n';
						}
					}
				}
				else if(test.indexOf('isAlpha')!=-1){
					//result = trim(val);
					result = val;
					if(result.length==0){
						errors += '- '+nm+' is required.\n'; 
					}else{
						if(!regAlpha.test(val))
						{
							errors+='- '+nm+': Only Alphabets Characters Allowed.\n';
						}
					}
				}
				else if (test.indexOf('isDate')!=-1) 
				{ 
					p=val.indexOf('-');
			        
					if (p != 4 )
					{
						errors+='- '+nm+' must contain Valid Date YYYY-MM-DD.\n';
		
					}
					else if(!regDate.test(val))
					{
						errors+='- '+nm+' must contain Valid Date YYYY-MM-DD.\n';
					}
			     }
				else if (test.indexOf('isPhone')!=-1) 
				{ 
					p=val.indexOf('-');
			        
					if (p < 0)
					{
						errors+='- '+nm+' must contain Valid Phone Number.\n';
		
					}
					else if(!regDate.test(val))
					{
						errors+='- '+nm+' must contain Valid Phone Number.\n';
					}
			     }
				else if (test.indexOf('isEmail')!=-1) 
				{ 
					p=val.indexOf('@');
					s=val.indexOf('.');
					if (p<1 || p==(val.length-1))
					{
						errors+='- '+nm+' must contain a valid e-mail Address.\n';
		
					}
					else if(!regEmail.test(val))
					{
						errors+='- '+nm+' must contain a valid e-mail Address.\n';
					}
			     }
				else if (test.indexOf('isUrl')!=-1) 
				{ 
					p=val.indexOf('http://');
					s=val.indexOf('.');
			        	if (p<0 || p==(val.length-1))
					{
						errors+='- '+nm+' must be valid URL e.g. http://www.abc.com\n';
		
					}
					else if(s<p || s==(val.length-1))
					{
						errors+='- '+nm+' must be valid URL e.g. http://www.abc.com\n';
					}
			     }else if (test.indexOf('isChar')!=-1) 
				 { 
					var first_char;
					first_char= val.charAt(0);
					if(first_char==0||first_char==1||first_char==2||first_char==3||first_char==4||first_char==5||first_char==6||first_char==7||first_char==8||first_char==9){
					 errors+='- '+nm+' must starts with  a char.\n';
					}
			     }
	   			 else if (test!='R') 
				 {
				 //result = trim(val);
					result = val;
					
					
					if(result.length==0){
					errors += '- '+nm+' is required.\n'; 
					}
				    if (isNaN(val)) errors+='- '+nm+'  must contain a  numbers only .\n';
					if (test.indexOf('inRange') != -1) 
					{ num = parseFloat(val);
						p=test.indexOf(':');
						min=test.substring(8,p); 
						max=test.substring(p+1);
						if (num<min || max<num) 
						errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
					} 
					if (val.indexOf('-') != -1) 
					{ 
						errors+='- '+nm+' must contain a number without dashes sign.\n';
					} 
					if (val.indexOf('+') != -1) 
					{ 
						errors+='- '+nm+' must contain a number without plus sign.\n';
					}
					
				}else if (test.charAt(0)=='R')
				{
				//result = trim(val);
				result = val;
				if(result.length==0){
				errors += '- '+nm+' is required.\n'; 
				}
				} 
			}
			else if (test.charAt(0) == 'R'){
				errors += '- '+nm+' is required.\n'; 
			}
		}
		if(errors !="")
		{	if(j<=0)
			{
				focusitem = document.forms[""+args[0]].elements[""+args[i]];
				j++;
			}	
			
		}
	} 
	
  if (errors)
  {
	
	alert('The following error(s) occurred: \n\n'+errors);
	
	focusitem.focus();
	return false;
   }
   else
	return true;
}

function login_frm(formname)
{
    	if(MM_validateForm(formname,'login','User Id','RisEmail','password','Password','R'))
	{
		return true;
	}else{
		return false;
	}
}

function stepfr_frm(formname)
{
		
		
		if(document.forms[""+formname].contact_landline.value=='' && document.forms[""+formname].contact_mobile.value=='')
		{
		alert("Please enter either mobile number or landline number")
		return false;
		}
		var concat_number='contact_mobile';
		if(document.forms[""+formname].contact_mobile.value!='' && document.forms[""+formname].contact_landline.value==''){concat_number='contact_mobile'}		if(document.forms[""+formname].contact_landline.value!='' && document.forms[""+formname].contact_mobile.value==''){concat_number='contact_landline'}
		
		  var e=document.forms[0].elements;
		  var el=document.forms[0].elements;
		  var ln=document.forms[0].elements.length;
		if(MM_validateForm(formname,'contact_first_name','Contact First Name','RisAlpha','contact_last_name','Contact Last Name','RisAlpha',concat_number,'Contact Number','RisNan','contact_email','Contact Email','RisEmail','contact_address1','Contact Address1','R','contact_city','Contact City','R','contact_state','Contact State','R','contact_country','Contact Country','R','contact_pincode','Contact Pincode','RisNaN','fname1adult','Lead Adult First Name','RisAlpha','lname1adult','Lead Adult Last Name','RisAlpha'))
		{
			var message='';
			var msg;
		for(i=0;i<ln-1;i++){
			if(el[i].name!='freqflyer' && el[i].name!='contact_title'){
				 if(el[i].value==''){
                                         msg = ' cannot be blank';
                                        }
                                        else
                                        {
                                        msg=' Only Alphabets Characters Allowed!';
                                        }

								
                                if (isProper(el[i].value) == false && el[i].name=='fname2adult'){  message += '- First name of Second Adult '+msg+'\n'; }
                                 if (isProper(el[i].value) == false && el[i].name=='lname2adult'){        message += '- Last name of Second Adult '+msg+'\n';}
                                if (isProper(el[i].value) == false && el[i].name=='fname3adult'){        message += '- First name of Third Adult '+msg+'\n';}
                                 if (isProper(el[i].value) == false && el[i].name=='lname3adult'){        message += '- Last name of Third Adult '+msg+'\n';}
                                 if (isProper(el[i].value) == false && el[i].name=='fname4adult'){        message += '- First name of Fourth Adult '+msg+'\n';}
                                 if (isProper(el[i].value) == false && el[i].name=='lname4adult'){        message += '- Last name of Fourth Adult '+msg+'\n';}
				 if (isProper(el[i].value) == false && el[i].name=='fname5adult'){        message += '- First name of Fifth Adult '+msg+'\n';}
                                 if (isProper(el[i].value) == false && el[i].name=='lname5adult'){        message += '- Last name of Fifth Adult '+msg+'\n';}
				 if (isProper(el[i].value) == false && el[i].name=='fname6adult'){        message += '- First name of Sixth Adult '+msg+'\n';}
                                 if (isProper(el[i].value) == false && el[i].name=='lname6adult'){        message += '- Last name of Sixth Adult '+msg+'\n';}

                                 if (isProper(el[i].value) == false && el[i].name=='fname1child'){        message += '- First name of Frist Child '+msg+'\n';}
                                 if (isProper(el[i].value) == false && el[i].name=='lname1child'){        message += '- Last name of Frist Child '+msg+'\n';}
				 if (isProper(el[i].value) == false && el[i].name=='dob1child'){          message += '-  DOB of Frist Child '+msg+'\n';}
                                 if (isProper(el[i].value) == false && el[i].name=='fname2child'){        message += '- First name of Second Child '+msg+'\n';}
                                 if (isProper(el[i].value) == false && el[i].name=='lname2child'){        message += '- Last name of Second Child '+msg+'\n';}
				 if (isProper(el[i].value) == false && el[i].name=='dob2child'){          message += '-  DOB of Second Child '+msg+'\n';}
                                 if (isProper(el[i].value) == false && el[i].name=='fname3child'){        message += '- First name of Third Child '+msg+'\n';}
                                 if (isProper(el[i].value) == false && el[i].name=='lname3child'){        message += '- Last name of Third Child '+msg+'\n';}
				 if (isProper(el[i].value) == false && el[i].name=='dob3child'){          message += '- DOB of Third Child '+msg+'\n';}
       				 if (isProper(el[i].value) == false && el[i].name=='fname4child'){        message += '- First name of Fourth Child '+msg+'\n';}
                                 if (isProper(el[i].value) == false && el[i].name=='lname4child'){        message += '- Last name of Fourth Child '+msg+'\n';}
				 if (isProper(el[i].value) == false && el[i].name=='dob4child'){          message += '-  DOB of Fourth Child '+msg+'\n';}	

				 if (isProper(el[i].value) == false && el[i].name=='fname1infant'){       message += '- First name of Frist Infant '+msg+'\n';}
                                 if (isProper(el[i].value) == false && el[i].name=='lname1infant'){       message += '- Last name of Frist Infant '+msg+'\n';}
				 if (isProper(el[i].value) == false && el[i].name=='dob1infant'){         message += '-  DOB of Frist Infant '+msg+'\n';}
				 if (isProper(el[i].value) == false && el[i].name=='fname2infant'){       message += '- First name of Second Infant '+msg+'\n';}
                                 if (isProper(el[i].value) == false && el[i].name=='lname2infant'){       message += '- Last name of Second Infant '+msg+'\n';}
				 if (isProper(el[i].value) == false && el[i].name=='dob2infant'){         message += '- DOB of Second Infant '+msg+'\n';}
				 if (isProper(el[i].value) == false && el[i].name=='fname3infant'){       message += '- First name of Third Infant '+msg+'\n';}
                                 if (isProper(el[i].value) == false && el[i].name=='lname3infant'){       message += '- Last name of Third Infant '+msg+'\n';}
				if (isProper(el[i].value) == false && el[i].name=='dob3infant'){         message += '- DOB of the Third Infant '+msg;}

                        }
                }
		if(message.length>1){
			alert(message);
			return false;
		}
                return true;
        }else{
                return false;
        }
}

function stepfv_frm(formname)
{
	

	if(MM_validateForm(formname,'card_bank','Bank Name','R','card_holder_name','Card Holder Name','R','card_number','Card Number','RisNaN','card_cvv','CVV Number','RisNaN','card_month','Expiry Month','R','card_year','Expiry Year','R','delivery_add1','Delivery Address1','R','delivery_city','Delivery City','R','delivery_state','Delivery State','R','delivery_country','Delivery Country','R','delivery_pincode','Delivery Pincode','RisNaN','billing_add1','Billing Address1','R','billing_city','Billing City','R','billing_state','Billing State','R','billing_country','Billing Country','R','billing_pincode','Billing Pincode','RisNaN'))
        {	
		
		var present_date =new Date()
                var present_month = present_date.getMonth()+1
                if(present_month<10){
                        present_month = (0+""+present_month)
                }
                var present_year = present_date.getFullYear()
                var current_year = String(present_year)

                curr_year= (current_year.substr(2,3))
                if(document.forms[""+formname].card_year.value<curr_year)
                {
                alert('Please enter valid Year')
                return false;
                }
		if((document.forms[""+formname].card_month.value< present_month) && (document.forms[""+formname].card_year.value<=curr_year))
		{
		 alert('Please enter valid Year and month')
                return false;
		}	
             if(!document.forms[""+formname].card_type[0].checked && !document.forms[""+formname].card_type[1].checked){
             	alert('Please select valid card type');
		return false;
             }
		if(document.forms[""+formname].card_type[0].checked){  
		var validCard=document.forms[""+formname].card_number.value.substr(0,1)
			if(validCard.indexOf('4')==-1){
			alert('Please Enter a valid card number or card type')
			return false;
			}
		}else if(document.forms[""+formname].card_type[1].checked){
		 var validCard=document.forms[""+formname].card_number.value.substr(0,1)
                        if(validCard.indexOf('5')==-1){
                        alert('Please Enter a valid card number or card type')
                        return false;
                        }
		}
	 	return true;
		
        }else{
                return false;
        }
}

function sign_val(formname) {

	if(document.forms[""+formname].contact_landline.value=='' && document.forms[""+formname].contact_mobile.value=='') {
	    alert("Please enter either mobile number or landline number")
        return false;
    }
    

	if(document.forms[""+formname].dob_day.value=='') {
	    alert("Please select Day of Date of Birth")
        return false;
    }

	if(document.forms[""+formname].dob_month.value=='') {
	    alert("Please select Month of Date of Birth")
        return false;
    }

	if(document.forms[""+formname].dob_year.value=='') {
	    alert("Please select Year of Date of Birth")
        return false;
    }

	var concat_number='contact_mobile';
    
	if(document.forms[""+formname].contact_mobile.value!='' && document.forms[""+formname].contact_landline.value=='') {
		concat_number='contact_mobile'
	}
	
	if(document.forms[""+formname].contact_landline.value!='' && document.forms[""+formname].contact_mobile.value=='') {
	
		concat_number='contact_landline'
	}
		
	if(document.forms[""+formname].contact_email.value!= document.forms[""+formname].contact_email1.value ) {
	    alert("Please enter the same email addresses in both ")
		return false;
    }
	
	if(!document.forms[""+formname].agreed.checked){
		alert('Please check terms and conditions')
		return false;
	}
			
	if(document.forms[""+formname].password.value!= document.forms[""+formname].password1.value) {
	    alert("Please enter the same password addresses in both ")
		return false;
    } 

    if(MM_validateForm(formname,'contact_first_name','Contact First Name','RisAlpha','contact_last_name','Contact Last Name','RisAlpha',concat_number,'Contact Number','RisNan','contact_address1','Contact Address1','R','contact_city','Contact City','R','contact_state','Contact State','R','contact_country','Contact Country','R','contact_pincode','Contact Pincode','RisNaN','contact_email','Contact Email','RisEmail','contact_email1','Confirm Email','RisEmail','password','Password','R','password1','Confirm Password','R','password_hint','Password hint','R')) {

		if(document.forms[""+formname].contact_city.value!='') {
		
			if (!isProper(document.forms[""+formname].contact_city.value)) { 
				
					alert("Please enter alphabets only in city name");
	 				return false;
			}
		}	

	return true;
    }
	
	else {

	return false;
    }

} // End of function sign_val.


var nav4 = window.Event ? true : false;

function codes(e) {
  if (nav4) // Navigator 4.0x
    var whichCode = e.which
  else // Internet Explorer 4.0x
    if (e.type == "keypress") // the user entered a character
      var whichCode = e.keyCode
    else
      var whichCode = e.button;
	alert(whichCode);
	return false;
}


