function is_Comment(str)     {
        return (str.length >= 1);
}

function is_Email(str)     {
        if(str.length == 0) return true;
        regexpr = /^\w(\.?[-\w])*@\w(\.?[-\w])*\.[a-z]{2,4}$/i;
        //regexpr = /(^[a-z]([a-z_\.]*)@([a-z_\.\-]*)([.][a-z]{3})$)|(^[a-z]([a-z_\.]*)@([a-z_\.\-]*)([.][a-z]{4})$)|(^[a-z]([a-z_\.]*)@([a-z_\.\-]*)(\.[a-z]{2})(\.[a-z]{2})*$)/i;
        return regexpr.test(str);
}

function is_Phone(str)     {
        regexpr = /^(\+\d{1,3} ?)?(\(\d{1,5}\)|\d{1,5}) ?\d{3} ?\d{0,7}( ?(x|xtn|ext|extn|extension)?\.? ?\d{1,5})?$/i;
        return regexpr.test(str);
}

function is_PostalCode(str)   {
        var validFormat = /^(\d{5}(-\d{4})?|[a-z][a-z]?\d\d? ?\d[a-z][a-z])$/i;

        return validFormat.test(str);
}

function is_Pwd(str)     {
        regexpr = /^[#A-Za-z0-9_\-]{5,128}$/;
        return regexpr.test(str);
}

function is_Date( strValue ) {
  var objRegExp = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
  
  if(!objRegExp.test(strValue)){
    return false; //doesn't match pattern, bad date
  }else{    
    for(i=0;i<strValue.length;i++){
      if((strValue.charAt(i)>'9') || (strValue.charAt(i)<'0')){      
        break;      
      }    
    }
    var strSeparator=strValue.charAt(i);
    var arrayDate = strValue.split(strSeparator);
    var arrayLookup = { '01' : 31,'03' : 31, '04' : 30,'05' : 31,'06' : 30,'07' : 31,
                        '08' : 31,'09' : 30,'10' : 31,'11' : 30,'12' : 31}
    var intDay = parseInt(arrayDate[0]);
    if(arrayDate[0].length == 1){
      arrayDate[0] = '0'+arrayDate[0];
    }
    if(arrayDate[1].length == 1){
      arrayDate[1] = '0'+arrayDate[1];
    }
    if(arrayLookup[arrayDate[1]] != null) {
      if(intDay <= arrayLookup[arrayDate[1]] && intDay != 0){
        return true;
      }
    }

    var intMonth = parseInt(arrayDate[1]);
    if(intMonth == 2){ 
       var intYear = parseInt(arrayDate[2]);  
       if(((intYear%4==0)&&(intDay<=29) || (intYear%4!=0)&&(intDay <=28))&&(intDay!=0)){
          return true;
       }
    }
  }
  return false;
}

function is_Nmr(dde){
   var day=parseInt(dde,10);
   if(isNaN(day))
    day=-1;
   if(day!=dde)
    day=-1;        
   if((dde.indexOf(",")!=-1)||(dde.indexOf(".")!=-1))
    day=-1;
   if(day==-1)
    return false;
   return true;
}

function is_Flt(dde){
   var vl=parseFloat(dde);
   if(isNaN(vl))
    return false;
   var dd=new String(dde);
   if(dd.indexOf(",")!=-1){
    dd=null;
    return false;
   }
   dd=null;
   return true;
}


function OnFormSubmit() 
{            
    if(!is_Comment(document.f.r_name.value)){
	   alert("Enter First Name please!");
	   document.f.r_name.focus();
	   return false;
	}  
    if(document.f.r_county.value == -1){
	   alert("Select County please!");
	   document.f.r_county.focus();
	   return false;
	}      
    /*if(document.f.r_town.value == -1){
	   alert("Select Town please!");
	   document.f.r_town.focus();
	   return false;
	} */     
    if(!is_Email(document.f.r_email.value)){
	   alert("Enter valid Email address please!");
       document.f.r_email.focus();
	   return false;
    }
    if(!is_Pwd(document.f.r_pwd.value)){
       alert("Enter valid Password please!\rIt must contain only letters and/or digits.\rMinimum length is 5 symbols!");
	   document.f.r_pwd.focus();
	   return false;
	}      
    if(document.f.r_pwd.value != document.f.r_cpwd.value){
       alert("Your password confirmatin is not correct!");
	   document.f.r_pwd.focus();
	   return false;
	}          
    if(!is_Comment(document.f.r_pwdhint.value)){
	   alert("Enter Password hint please!");
	   document.f.r_pwdhint.focus();
	   return false;
	}     
    if(document.f.r_pwdhint.value==document.f.r_pwd.value){
	   alert("Your password hint is identical to your password. Change your hint please!");
	   document.f.r_pwdhint.focus();
	   return false;
	}     
    /*if(!is_Comment(document.f.r_descr.value)){
	   alert("Enter valid question please!");
	   document.f.r_descr.focus();
	   return false;
	} */    
    
    if(!is_Date(document.f.r_dob.value)){
	   alert("Enter valid Date of Birth please!");
	   document.f.r_dob.focus();
	   return false;
	}     
    if(!is_Flt(document.f.r_cover.value)){
	   alert("Enter valid Cover please!");
	   document.f.r_cover.focus();
	   return false;
	}     
    if(!is_Comment(document.f.r_q4.value)){
	   alert("Enter valid Duration of cover (years) please!");
	   document.f.r_q4.focus();
	   return false;
	}     
    if(!is_Comment(document.f.r_q5.value)){
	   alert("Enter valid cover a mortgage/loan please!");
	   document.f.r_q5.focus();
	   return false;
	}     
    /*if(!is_Comment(document.f.r_q6.value)){
	   alert("Enter valid Question 6 please!");
	   document.f.r_q6.focus();
	   return false;
	}*/    
    if(is_Comment(document.f.r_q7.value)){
       sex = -1;
       if(document.f.r_q8[0].checked){
        sex = 0;
       }
       if(document.f.r_q8[1].checked){
        sex = 1;
       }
       if(sex == -1){
	    alert("Enter valid joint life details please!");
	    return false;
       }
       if(!is_Date(document.f.r_q9.value)){
	    alert("Enter valid Date of Birth please!");
	    document.f.r_q9.focus();
	    return false;
	   }     
	} 

    if(!confirm("Yor quote request will be submitted now. Continue?"))
        return false;

    document.f.action = "quoteadd.php";
    document.f.submit();
	return false;
}


