/*
 * This page provide set of utility methods for the form object validation using the javascript langauge.
 +--------------------------------------------------------------------------------------------------------+
 +   Form Validator Version 3.0                                                                           +
 +--------------------------------------------------------------------------------------------------------+
 +   validator.js                                                                                         +
 +--------------------------------------------------------------------------------------------------------+
 +   @Author   :   Nimit Patel <nimit@rightwaysolution.com> or <nimit_104@yahoo.com>                      +
 +   @Company  :   Copyright (c) 2007, Rightway Solution Pvt Ltd, Ahmedabad	                              +
 +                 All rights reserved.                                                                   +
 +--------------------------------------------------------------------------------------------------------+
 +   @Creted Date     :   22/01/2007              		    											  +
 +   @Last Modified Date     :   24/01/2007              		    									  +
 +--------------------------------------------------------------------------------------------------------+
*/
// JavaScript Document


//validate the non empty text field in the form.
//alert("Please enter your "+frmObject.name+"."); frmObject.focus(); frmObject.select();
function empty(frmObject) { frmObject.value = frmObject.value.trim(); var str = frmObject.value; var re = /.+/; if(!str.match(re)) {  return false; }	return true; }

//Alphabatic characters are allow by this validator function.
function alpha(frmObject, message) { frmObject.value = frmObject.value.trim(); var str= frmObject.value; var re = /^[A-Za-z\.\']*$/; if (! str.match(re)) {  alert(message);  frmObject.focus(); frmObject.select(); return false; } return true; }

//Alphabatic characters and blank space are allow by this validator function.
function alphaSpace(frmObject, message) { frmObject.value = frmObject.value.trim(); var str= frmObject.value; var re = /^[A-Za-z\.\'\s]*$/; if (! str.match(re)) {  alert(message);  frmObject.focus(); frmObject.select(); return false; } return true; }


//Alphabetic and numeric values are allowed by alphanumeric function.
function alphaNumeric(frmObject,message){ frmObject.value = frmObject.value.trim(); var str= frmObject.value; var re = /^[A-Za-z0-9]*$/; if (! str.match(re)) { alert(message); frmObject.focus(); frmObject.select(); return false; } return true; }


//Alphabetic and numeric values are allowed by alphanumeric function.
function alphaNumericSpace(frmObject,message){ frmObject.value = frmObject.value.trim(); var str= frmObject.value; var re = /^[A-Za-z0-9\s]*$/; if (! str.match(re)) { alert(message); frmObject.focus(); frmObject.select(); return false; } return true; }


//intNumber function is used for the numeric value either integer or decimal.
// if you have pass digit = 0 then it is round to zero decimal value if value > 0 then round for that decimal point.
function intNumber(frmObject,digit){ frmObject.value = frmObject.value.trim(); var str= frmObject.value; if( digit == 0 ) {	var re = /^[0-9]*$/; } else { var re = /^[0-9\.]*$/; } if (! str.match(re)) { if( digit == 0) {	alert("Integer numeric value is required.");
 } else { alert("Decimal numeric value is required."); } frmObject.focus(); frmObject.select(); return false; } if (digit > 0 ) { 	var pos = frmObject.value.indexOf("."); var len = frmObject.value.length; var place = parseInt(len) - (parseInt(pos)+1); if(place != digit) { alert(digit +" decimal value is required."); frmObject.focus(); frmObject.select(); return false; } }	return true; } 
 
//validate the emailaddress.
function emailValidation(frmObject){ frmObject.value = frmObject.value.trim(); var str = frmObject.value; var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/; if (!str.match(re)) { alert("Please enter a valid e-mail address."); frmObject.focus(); 	frmObject.select(); return false; } return true; } 

//Alphanumeric with special character values are allowed by this function.
function alphaNumericSpecial(frmObject){frmObject.value = frmObject.value.trim();var str= frmObject.value;var re = /^[A-Za-z0-9\!\@\#\$\%\^\&\*\(\)\_\+\-\~\?\>\<\,\.\`\s]*$/;if (! str.match(re)) { alert("Alpha numeric value is required.");frmObject.focus();frmObject.select();return false;}return true;}

//trim function truncat the leadin and trailing space of string.
String.prototype.trim = function() { a = this.replace(/^\s+/, ''); return a.replace(/\s+$/, ''); }; 

//Telehpone function allow numeric value from 0 to 9 and few character like -,+,(,) and blank space.
function telephone(frmObject) { frmObject.value = frmObject.value.trim(); var str = frmObject.value; var re = /^[0-9\-\+\(\)\s]*$/; 	if(! str.match(re)) { alert("Entered telephone/mobile/fax number is not valid. Its accespt only digit,-,+,(,) and blank space."); 	frmObject.focus(); frmObject.select(); return false;  }  return true; }

//checkCC function validate the 16 digit credit card number with format like XXXX XXXX XXXX XXXX
function checkCC(frmObject) { frmObject.value = frmObject.value.trim(); var str = frmObject.value;  var re = /^\d{4} ?\d{4} ?\d{4} ?\d{4}$/; if(!str.match(re)) {  	alert("Enter correct credit card number."); frmObject.focus(); frmObject.select(); return false; } 	return true; }

//checkCC4 function validate the 4 digit credit card number with format like XXXX
function checkCC4(frmObject) { frmObject.value = frmObject.value.trim(); var str = frmObject.value;  var re = /^\d{4}$/; if(!str.match(re)) {  	alert("Enter correct credit card extension number."); frmObject.focus(); frmObject.select(); return false; } 	return true; }

//This function validate the date value using MM/DD/YYYY  or MM-DD-YYYY format.
function checkDate(frmObject) {  frmObject.value = frmObject.value.trim(); var str =frmObject.value;  var re = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;  if (! str.match(re))  {  alert("Enter date as either MM/DD/YYYY or MM-DD-YYYY format."); frmObject.focus(); frmObject.select();  return false;  }  	mm = parseInt(str.substring(0,1)); dd = parseInt(str.substring(3,4)); yy = parseInt(str.substring(6,9));  if(mm < 1 || mm > 12) {  alert("Month must be between 1 and 12.");  frmObject.focus();  frmObject.select();  	return false;  }  	if((mm == 1 || mm == 3 || mm == 5 || mm == 7 || mm == 8 || mm == 10 || mm == 12   ) && (dd < 1 && dd > 31))   {  alert("Day must be between 1 and 31.");  frmObject.focus();   frmObject.select();  return false;  }   if((mm ==4 || mm == 6 || mm == 9 || mm == 11) && (dd < 1 && dd > 30 ))   {   alert("Day must be between 1 and 30.");  frmObject.focus();   frmObject.select();   return false;  }   if (mm == 2) {  var isleap = (yy % 4 == 0 && (yy % 100 != 0 || yy % 400 == 0));  if(isleap && (dd < 1 && dd > 29))   {   alert("Day must be between 1 and 29.");   frmObject.focus();   frmObject.select();  return false;	}  if(!isleap && (dd < 1 && dd > 28))  {   alert("Day must be between 1 and 28.");   }   }   return true; }

function phoneNumber(frmObject){ frmObject.value = frmObject.value.trim(); var str= frmObject.value; var re = /^[0-9\-\s]*$/; if (! str.match(re)) {  alert("Valid Phone number is required."); frmObject.focus(); frmObject.select(); return false; } return true; } 

//    var str=document.getElementById("flUpload").value
//    if(! (str.substring(str.lastIndexOf(".")+1) == "jpg" || str.substring(str.lastIndexOf(".")+1) == "png" || str.substring(str.lastIndexOf(".")+1) == "gif"))
//    {
//        alert("Please enter .jpg, .gif or .png file");
//        document.getElementById("flUpload").focus();
//        return false;
//    }


function validateURL(frmObject,message){ frmObject.value = frmObject.value.trim(); var str= frmObject.value; var re = /^(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_=]*)?$/; if (! str.match(re)) { alert(message); frmObject.focus(); frmObject.select(); return false; } return true; }

function passwordLength(frmObject) { frmObject.value = frmObject.value.trim(); var str = frmObject.value; if(str.length <6) { alert("Password must be 6 chars in length.");  frmObject.focus(); frmObject.select(); return false; } return true; }

function jsValidEmail(frmObject, frmObject1) { var req = null; if(window.XMLHttpRequest) {      req=new XMLHttpRequest();      }     else     {         if(window.ActiveXObject)         {          req=new ActiveXObject("Microsoft.XMLHTTP");         }     }     var randomnumber=Math.floor(Math.random()*100000);     str = "backProcessLogin.aspx?login=5&email="+ frmObject.value + "&pwd="+ frmObject1.value +"&nocache="+randomnumber;      req.open('GET',str, false);     req.send(null);    if(req.status == 200)     {          if(req.responseText == "0")         {          alert("Please enter a different E-mail address - that account does not exist.");  frmObject.focus();  return false; }   if(req.responseText == "1")  {   alert("Please enter the correct Password.");  document.form1.txtPassword.focus(); return false;  } if(req.responseText == "2")  return true;  }   }  

function jsEmailExist(frmObject,message) {  var req = null;  if(window.XMLHttpRequest)  {   req=new XMLHttpRequest();   }  else  {  if(window.ActiveXObject)  {  req=new ActiveXObject("Microsoft.XMLHTTP");  }  } var randomnumber=Math.floor(Math.random()*100000);   str = "backProcessLogin.aspx?login=3&pwd=&email="+ frmObject.value + "&nocache="+randomnumber;   req.open('GET',str, false);   req.send(null);  if(req.status == 200)  {   if(req.responseText == "true")   {   alert(message);  frmObject.focus();    return false;    }    else  {    return true;   }   }  }

function jsEmailExistForgot(frmObject,message)  {   var req = null;  if(window.XMLHttpRequest)  {   req=new XMLHttpRequest();   }  else {  if(window.ActiveXObject)  {   req=new ActiveXObject("Microsoft.XMLHTTP");  }  } var randomnumber=Math.floor(Math.random()*100000);  str = "backProcessLogin.aspx?login=7&pwd=&email="+ frmObject.value + "&nocache="+randomnumber;   req.open('GET',str, false);  req.send(null);  if(req.status == 200)  {  if(req.responseText == "true")  {  alert(message);  frmObject.focus();   return false;   }   else  {   return true;   }   }  }

function jsEmailExistNew(frmObject,message) {  var req = null;  if(window.XMLHttpRequest)  {   req=new XMLHttpRequest();   }  else  {  if(window.ActiveXObject)  {  req=new ActiveXObject("Microsoft.XMLHTTP");  }  } var randomnumber=Math.floor(Math.random()*100000);  str = "backProcessLogin.aspx?login=9&pwd=&email="+ frmObject.value + "&nocache="+randomnumber;  req.open('GET',str, false);  req.send(null);  if(req.status == 200)  {  if(req.responseText == "true")  {  alert(message);  frmObject.focus();   return false;   }   else  {   return true;   }   }  }

function jsEmailExistLogin(frmObject,message) {  var req = null;  if(window.XMLHttpRequest)  {   req=new XMLHttpRequest();   }  else  {  if(window.ActiveXObject)  {  req=new ActiveXObject("Microsoft.XMLHTTP");  }  } var randomnumber=Math.floor(Math.random()*100000);  str = "backProcessLogin.aspx?login=9&pwd=&email="+ frmObject.value + "&nocache="+randomnumber;  req.open('GET',str, false);  req.send(null);  if(req.status == 200)  {  if(req.responseText == "false")  {  alert(message);  frmObject.focus();   return false;   }   else  {   return true;   }   }  }

function jsStateCountry(frmObject,frmObject1,message) {  var req = null;  if(window.XMLHttpRequest)  {      req=new XMLHttpRequest();  } else {     if(window.ActiveXObject)     {          req=new ActiveXObject("Microsoft.XMLHTTP");     }  } var randomnumber=Math.floor(Math.random()*100000);   str = "backProcessLogin.aspx?login=4&email="+ frmObject.value + "&pwd="+frmObject1.value+"&nocache="+randomnumber;   req.open('GET',str, false);  req.send(null);  if(req.status == 200)  {      if(req.responseText == "false")     {          alert(message);         frmObject.focus();          return false;     }      else     {          return true;      }    }  }  

//function jsEmailWebValidation(frmObject,message) {  var req = null;  if(window.XMLHttpRequest)  {   req=new XMLHttpRequest();   }  else  {  if(window.ActiveXObject)  {  req=new ActiveXObject("Microsoft.XMLHTTP");  }  } var randomnumber=Math.floor(Math.random()*100000);   str = "backProcessLogin.aspx?login=11&pwd=&email="+ frmObject.value + "&nocache="+randomnumber;   req.open('GET',str, false);   req.send(null);  if(req.status == 200)  {   if(req.responseText == "true")   {   alert(message);  frmObject.focus();    return false;    }    else  {    return true;   }   }  }

/*
 * This page provide set of utility methods for the form object validation using the javascript langauge.
 +--------------------------------------------------------------------------------------------------------+
 +   Form Validator Version 3.0                                                                           +
 +--------------------------------------------------------------------------------------------------------+
 +   validator.js                                                                                         +
 +--------------------------------------------------------------------------------------------------------+
 +   @Author   :   Nimit Patel <nimit@rightwaysolution.com> or <nimit_104@yahoo.com>                      +
 +   @Company  :   Copyright (c) 2007, Rightway Solution Pvt Ltd, Ahmedabad	                              +
 +                 All rights reserved.                                                                   +
 +--------------------------------------------------------------------------------------------------------+
 +   @Creted Date     :   22/01/2007              		    											  +
 +   @Last Modified Date     :   24/01/2007              		    									  +
 +--------------------------------------------------------------------------------------------------------+
*/

