/*
 * jQuery validation rules that are customizable
 *
 */
//jQuery new/modified rules to validated input fields
//To validate country select box
$Jq.validator.addMethod(
	"selectCountry",
	function(value, element) {
		if (element.value == "")
			{
				return false;
			}
		else
			{
				return true;
			}
	},
	LANG_JS_err_tip_country
);
//To validate city select box
$Jq.validator.addMethod(
	"selectCity",
	function(value, element) {
		if (element.value == "")
			{
				return false;
			}
		else
			{
				return true;
			}
	},
	LANG_JS_err_tip_city
);
//To validate email field
$Jq.validator.addMethod(
	"isValidEmail",
	function(value, element){
		return this.optional(element) || /^[_a-z0-9-]+(\.[_a-z0-9-\+]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/i.test(value);
	},
	LANG_JS_err_tip_email
);
//To validate date field
$Jq.validator.addMethod(
  	"isValidDate",
  	function (value, element) {
    	// put your own logic here, this is just a example
    	//return value.match(/^\d\d?\/\d\d?\/\d\d\d\d$/);
    	return value.match(/^\d\d\d\d-\d\d?-\d\d?$/);
  	},
	LANG_JS_err_tip_date_format
);

//pass the allowed file formats
$Jq.validator.methods.isValidFileFormat = 	function (value, element, ext_param_str) {
		if(value == '')
			return true;
		//allowed upload formats ..
  		var extensions = ext_param_str.split('|');
  		var parts = value.split('.');
		var file_ext = parts[parts.length-1].toLowerCase();
		for (i = 0; i < extensions.length; i++)
		{
    		if(extensions[i] == file_ext)
    			{
    				return true;
    			}
		}
  	};

//To validate multiple email address
$Jq.validator.addMethod(
	"isValidMultiEmail",
	function(value, element){
		var emails = value.split(',');
		var result=0;
		for(var i = 0; i < emails.length; i++) {
			 /^[_a-z0-9-]+(\.[_a-z0-9-\+]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/i.test(emails[i]) ? result=1 : result=0;
		}
		return (result) ? true : false;
	},
	LANG_JS_err_tip_email
);

//To validate date value
$Jq.validator.addMethod(
  	"isValidDateVal",
  	function (value, element) {
    	var result=false;
    	result = value.match(/^\d\d\d\d-\d\d?-\d\d?$/)?true:false;
    	if(result)
    		{
    			result = checkDate(value);
    		}
    	return result;
  	},
	LANG_JS_err_tip_date_format
);

//To validate minimum age limit
$Jq.validator.addMethod(
  	"isValidMinAge",
  	function (value, element, params) {
  		age = getAge(value);
		if(age < params)
    		return false;
    	else
    		return true;
  	},
	LANG_JS_err_tip_date_format
);

//To validate Maximum age limit
$Jq.validator.addMethod(
  	"isValidMaxAge",
  	function (value, element, params) {
		age = getAge(value);
		if(age > params)
    		return false;
    	else
    		return true;
  	},
	LANG_JS_err_tip_date_format
);

//To validate user type select box
$Jq.validator.addMethod(
	"selectUserType",
	function(value, element) {
		if (element.value == "")
			{
				return false;
			}
		else
			{
				return true;
			}
	},
	LANG_JS_err_tip_required
);

