
/////////////////////////////////////validation class/////////////////////////////////////
function validation()
{
	 validation.prototype.isEmpty = function(element) {
	  	return $F(element) == '';
	  },
	  validation.prototype.isNotEmpty = function(element,defValu) 
	  {
	  	return !($F(element) == '' || $F(element) == defValu);
	  },
	  
	  validation.prototype.isValidBoolean = function(element) {
	  	return !!$F(element).match(/^(0|1|true|false)$/);
	  },
	  
	  // validation.prototype.isValidEmail = function(element) { // TODO: two letters domains like .ca or .us doesn't validate..
	  	// return !!$F(element).match(/(^[a-z]([a-z_\.]*)@([a-z_\.]*)([.][a-z]{3})$)|(^[a-z]([a-z_\.]*)@([a-z_\-\.]*)(\.[a-z]{3})(\.[a-z]{2})*$)/i); 
	  // },
	 // /^[a-zA-Z]+([_\.-]?[a-zA-Z0-9]+)*@[a-zA-Z0-9]+([\.-]?[a-zA-Z0-9]+)*(\.[a-zA-Z]{2,4})+$/ 
	 //     /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/i  earlier regular expression
	   validation.prototype.isValidEmail = function(element) { //it is validating the all type of email id.
	  	return !!$F(element).match(/^[a-zA-Z]+([_\.-]?[a-zA-Z0-9]+)*@[a-zA-Z0-9]+([\.-]?[a-zA-Z0-9]+)*(\.[a-zA-Z]{2,4})+$/); 
	  },
	  
	  
	  validation.prototype.isValidInteger = function(element) {
	  	return !!$F(element).match(/(^-?\d+$)/);
	  },
	  validation.prototype.isValidNumeric = function(element) {
	  	return !!$F(element).match(/(^-?\d\d*[\.|,]\d*$)|(^-?\d\d*$)|(^-?[\.|,]\d\d*$)/);
	  },
	  validation.prototype.isValidAplhaNumeric = function(element) {
	  	return !!$F(element).match(/^[_\-a-z0-9]+$/gi);
	  },
	  // 0000-00-00 00:00:00 to 9999:12:31 59:59:59 (no it is not a "valid DATE" function)
	  validation.prototype.isValidDatetime = function(element) {
	  	dt = $F(element).match(/^(\d{4})-(\d{2})-(\d{2})\s(\d{2}):(\d{2}):(\d{2})$/);
	  	return dt && !!(dt[1]<=9999 && dt[2]<=12 && dt[3]<=31 && dt[4]<=59 && dt[5]<=59 && dt[6]<=59) || false;
	  },
	  // 0000-00-00 to 9999-12-31
	  validation.prototype.isValidDate = function(element) {
	  	d = $F(element).match(/^(\d{4})-(\d{2})-(\d{2})$/);
	  	return d && !!(d[1]<=9999 && d[2]<=12 && d[3]<=31) || false;
	  },
	  // 00:00:00 to 59:59:59
	  validation.prototype.isValidTime = function(element) {
	  	t = $F(element).match(/^(\d{1,2}):(\d{1,2}):(\d{1,2})$/);
	  	return t && !!(t[1]<=24 && t[2]<=59 && t[3]<=59) || false;
	  },
	  // 0.0.0.0 to 255.255.255.255
	  validation.prototype.isValidIPv4 = function(element) { 
	  	ip = $F(element).match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);
	  	return ip && !!(ip[1]<=255 && ip[2]<=255 && ip[3]<=255 && ip[4]<=255) || false;
	  },
	  validation.prototype.isValidCurrency = function(element) { // Q: Should I consider those signs valid too ? : ¢|€|£|?|¥
	  	return $F(element).match(/^\$?\s?\d+?[\.,\,]?\d+?\s?\$?$/) && true || false;
	  },
	  // Social Security Number (999-99-9999 or 999999999)
	  validation.prototype.isValidSSN = function(element) {
	  	return $F(element).match(/^\d{3}\-?\d{2}\-?\d{4}$/) && true || false;
	  },
	  // Social Insurance Number (999999999)
	  validation.prototype.isValidSIN = function(element) {
	  	return $F(element).match(/^\d{9}$/) && true || false;
	  }
  }
  /////////////////////////////get element text check//////////////////////
  
/////////////////////////////////////validation check f unction /////////////////////////////////////
function validcheck()
{
	var validObj = new validation();	
	var mailValid = validObj.isValidEmail('txtEmail');
	var nameValid = validObj.isNotEmpty('txtName');
	var organizationValid = validObj.isNotEmpty('txtOrganization');
	//alert(mailValid +"  "+ nameValid +"  "+ organizationValid);
	if(mailValid && nameValid && organizationValid)
		valid = true;
	else
		valid = false;
	
	if(valid)
		sendContactInfo();
	
}
