function ValidUserID(sUserID) {

/*
	var pattern = "[^a-zA-Z0-9\.\-]"       
     var regex = new RegExp(pattern)
     if (regex.test(sUserID)) 
		return true;
     else
	     return false;
*/
	var bValid = true;
	var sChar;
	for (var i = 0; i < sUserID.length; i++) {
		sChar = sUserID.charAt(i);
		if (!isDigit(sChar) && !isAlphabet_ValidUserID(sChar) && (sChar != ' ') && (sChar != '.') && (sChar != '_')) {
			bValid = false
			break;
		}
	}
	return bValid;
}

function isAlphabet_ValidUserID(sChar){
	if(isAlphabet(sChar) || sChar.charCodeAt(0) == 45 || sChar.charCodeAt(0) == 47) {
		return true;
	}
	return false;	
}

function ValidUserName(sUserName) {

	var bValid = true;
	var sChar;
	for (var i = 0; i < sUserName.length; i++) {
		sChar = sUserName.charAt(i);
		if (!isAlphabet(sChar) && (sChar != ' ') && (sChar != '.') && (sChar != '_')) {
			bValid = false
			break;
		}
	}
	return bValid;
}

function ValidPassword(sPassword) {

/*
	var pattern = "[^a-zA-Z0-9\.\-]"       
     var regex = new RegExp(pattern)
     if (regex.test(sUserID)) 
		return true;
     else
	     return false;
*/
	var bValid = true;
	var sChar;
	for (var i = 0; i < sPassword.length; i++) {
		sChar = sPassword.charAt(i);
		if (!isDigit(sChar) && !isAlphabet(sChar) && (sChar != ' ') && (sChar != '.') && (sChar != '_')) {
			bValid = false
			break;
		}
	}
	return bValid;
}

/*
function emailCheck(emailStr) {

     var pattern = ".+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)"
     var regex = new RegExp(pattern)
     if (regex.test(emailStr)) 
		return true;
     else
	     return false;
	
}
*/
function emailCheck(emailStr) {
	var sChar
	var bIndex=true
	var iNoOfAtSign = 0 
	for (var i = 0; i < emailStr.length; i++) {
		sChar = emailStr.charAt(i);
		if(sChar == "@")	iNoOfAtSign++;
		if (!isAlphabet(sChar) && !isNumeric(sChar) && sChar!="@" && sChar!="." && sChar != "_" && sChar != "-") {
			bIndex=false
		}		
	}

	if (bIndex) {
		var pattern = ".+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)"
		var regex = new RegExp(pattern)
		if (regex.test(emailStr)) { 
			//Check the repeating @ and . character like this: abc@@jobsdb.com or abc@jobsdb..com
			if(iNoOfAtSign != 1)	return false;
			if(emailStr.indexOf("..") > 0)	return false;
			return true;
		}else {
		    return false;
		}
	}
	else {
		return bIndex
	}

}

function isValidYear(iYear) {
	if (iYear < 1799 || !isInteger(iYear)) {
		return false
	}
	return true;
}

function isValidDate(iYear,iMonth,iDay) {

	if ((iYear == "" || iMonth == "" || iDay == "")
	&& (iYear != "" || iMonth != "" || iDay != "")) {
		return false;
	}
	
	if (iYear != "" && !isInteger(iYear)) {
		return false;
	}
	if (iMonth != "" && !isInteger(iMonth)) {
		return false;
	}
	if (iDay != "" && !isInteger(iDay)) {
		return false;
//If iDay is 08 or 09 then parstInt will be 0.
	} else { 
		if (iDay == 0 || iDay == "00") {
			return false;
		}
	}
	
	if (iYear != "" && !isValidYear(iYear)) {
		return false;
	}
	
	if (iMonth == 1 || iMonth == 3 || iMonth == 5 || iMonth == 7 || iMonth == 8
	|| iMonth ==10 || iMonth == 12) {
		if (iDay > 31) {
			return false;
		}
	}
	
	if (iMonth == 4 || iMonth == 6 || iMonth == 9 || iMonth ==11) {
		if (iDay > 30) {
			return false;
		}
	}
	
	if (iMonth == 2) {
		if (LeapYear(iYear)) {
			if (iDay > 29) {
				return false;
			}
		} else {
			if (iDay > 28) {
				return false;
			}
		}
	}
	
	return true;
}

function isValidCurrency(iNum) {
	if (!isNumeric(iNum)) {
		return false;
	}
	if (iNum.indexOf(".") != -1) {//"." should not exist
		return false;
	}
/*
	if(iNum.indexOf(".") > 8 || (iNum.indexOf(".") == -1 && iNum.length > 8)) {
		return false;
	}
*/
	return true;
}

function ConvertYear(iYear) {

	var sYearPrefix;
	
	if (isInteger(iYear)) {
		if (iYear.length == 2) {
			if (parseInt(iYear) < 50) {
				sYearPrefix = "20";
			} else {
				sYearPrefix = "19";
			}
		
			return sYearPrefix + iYear;
		} else {
			return iYear;
		}
	} else {
		return iYear;
	}
}

function LeapYear(iYear) {
	if (iYear % 100 == 0) {
	if (iYear % 400 == 0) { return true; }
	}
	else {
	if ((iYear % 4) == 0) { return true; }
	}
	return false;
}