//Function to validate input is a valid phone number format allow numeric and symbol +,-,(,)
function isValidPhone(val) {
	return (val.search(/^([+])?([0-9]{2})\s?([(]?[0]{1}[)]?)?\s?([0-9]){1}\s?([0-9]+)$/gi) != -1)
}

//Function to validate input is not empty string
function isEmpty(val) {
	return (val.search(/[^\s]/gi) == -1)
}

//Function to validate input is in valid length
function isValidLength(val,len) {
	if (val.length)
		return (val.length <= len);
	else
		return false;
}

//Function to validate input is a proper email string
function isValidEmail(val) {
	return (val.search(/^.+@[^\.].*\.[a-z]{2,}$/gi) != -1)
}

//Function to validate input is a proper date format (DD/MM/YYYY)
/*function isValidDate(val) {
	return (val.search(/^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((1[6-9]|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/gi) != -1)
}*/
function isValidDate(val) {
	var strExp;
	return (val.search(/^((((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))|(((0[1-9]|[12]\d|3[01])(0[13578]|1[02])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|[12]\d|30)(0[13456789]|1[012])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|1\d|2[0-8])02((1[6-9]|[2-9]\d)?\d{2}))|(2902((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00))))$/gi) != -1)
}

//Function to validate input is a proper unsign integer
function isValidInteger(val) {
	return (val.search(/[^0-9]/gi) == -1)
}

function isValidSignedInteger(val){
	    return (val.search(/^-{0,1}\d*\d+$/gi) != -1)
}

function isValidNumbers(val){
	    return (val.search(/^-{0,1}\d*\.{0,1}\d+$/gi) != -1)
}

function isPositiveNumbers(val){
	return (val.search(/(^\d*\.?\d*[0-9]+\d*$)|(^[1-9]+\d*\.\d*$)/gi) != -1)
}
//Function to Validate input is a valid URL format
function isValidUrl(val) {
	return (val.search(/^http\:\/\/www\.[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?$/gi) != -1)
}

/*
Validate two Date is valid range
1: date1 > date2
2: date1 < date 2
3: date1 = date2
*/
function dateCompare(iDay1,iMonth1,iYear1,iDay2,iMonth2,iYear2) {
	iDay1 = parseInt(iDay1,10);
	iMonth1 = parseInt(iMonth1,10);
	iYear1 = parseInt(iYear1,10);
	
	iDay2 = parseInt(iDay2,10);
	iMonth2 = parseInt(iMonth2,10);
	iYear2 = parseInt(iYear2,10);
	
	var result = 0;
	if (iYear1 > iYear2) {
		result = 1;
	}else if (iYear1 < iYear2) {
		result = 2;
	}else {
		if (iMonth1 > iMonth2) {
			result = 1;
		}else if (iMonth1 < iMonth2) {
			result = 2;
		}else {
			if (iDay1 > iDay2) {
				result = 1;
			}else if (iDay1 < iDay2){
				result =  2;
			}else {
				result = 3;
			}
		}
	}
	return result;
}
