function isNullAlert(str, label) {
	if (isNull(str)) {
		alert("Please enter a valid value for " + label);
		return true;
	}//end of if
	else
		return false;
}//end of isNull

function isNull(str) {
	if (str == null || str == "" || str.length == 0) {
		return true;
	}//end of if
	else
		return false;
}//end of isNull

function isNumber(str, min, max, label) {
	if (!isNull(str)) {
		if (isNaN(str)) {
			alert("Please enter a valid numeric value for " + label);
			return false;
		}//end of if
		if (max == 0)
			return true;
		num = parseInt(str, 10);
		if ((min < num) && (num < max))
			return true;
		else {
			alert("Please enter a valid numeric value for " + label);
			return false;
		}//end of else
	}//end of if
	return true;
}//end of isNumber

function isDate(str, label) {
	if (!isNull(str)) {
		var parts = str.split("/");
		if (parts.length != 3) {
			alert("Please enter a valid date in (dd/mm/yyyy) format with year later than 1900 for " + label);
			return false;
		}//end of if
		var dd = parts[0];
		var mm = parts[1];
		var yyyy = parts[2];
		var dt = new Date(yyyy, mm-1, dd);
		if (dt == "NaN") {
			alert("Please enter a valid date in (dd/mm/yyyy) format with year later than 1900 for " + label);
			return false;
		}//end of if
		else {
			if (dt.getFullYear() < 1900 || dt.getFullYear() > ((new Date()).getFullYear() + 2) || dt.getFullYear() != parseInt(yyyy, 10) || dt.getMonth() != (parseInt(mm, 10)-1) || dt.getDate() != parseInt(dd, 10))  {
				alert("Please enter a valid date in (dd/mm/yyyy) format with year later than 1900 for " + label);
				return false;
			}//end of if
			else
				return true;
		}//end of else
	}//end of if
	return true;
}//end of isDate

function isEmail(str, label) {
	if (!isNull(str)) {
		var userNamePattern = "^[\-0-9a-zA-Z_][\-0-9a-zA-Z\._]*[\-0-9a-zA-Z_]";
		var hostNamePattern = "[\-0-9a-zA-Z_][\-0-9a-zA-Z_]*[\.]?[\-0-9a-zA-Z_]";
		var domainNamePattern = "[a-zA-Z]+[\.]?[a-zA-Z]+";
		var regex = new RegExp(userNamePattern + "[\@]" + hostNamePattern + "[\.]" + domainNamePattern + "[;]?[ ]?");
//		alert(str + "\n" + regex);
		if (!regex.test(str))	{
			alert ("Please enter a valid e-mail for " + label);
			return false;
		}//end of if
		else
			return true;
	}//end of if
	return true;
}//end of isEmail

function iswebsite(str, label) {
	if (!isNull(str)) {
		var hostNamePattern = "[\-0-9a-zA-Z_][\-0-9a-zA-Z_]*[\.]?[\-0-9a-zA-Z_]";
		var domainNamePattern = "[a-zA-Z]+[\.]?[a-zA-Z]+";
		var regex = new RegExp(hostNamePattern + "[\.]" + domainNamePattern + "[;]?[ ]?");
//		alert(str + "\n" + regex);
		if (!regex.test(str))	{
			alert ("Please enter a valid value for " + label);
			return false;
		}//end of if
		else
			return true;
	}//end of if
	return true;
}//end of isEmail

function isName(str, label) {
	if (!isNull(str)) {
		var namePattern = "^[a-zA-Z][a-zA-Z]*([ ]?[a-zA-Z]+)*$";
		var regex = new RegExp(namePattern);
		if (!regex.test(str)) {
			alert ("Please enter a valid name (without any dots) for " + label);
			return false;
		}//end of if
		else
			return true;
	}//end of if
	return true;
}//end of isName

function isLogin(str, label) {
	if (!isNull(str)) {
			if (str.length<=4) {
				alert ("Please enter atleast five characters for " + label);
			return false;
		}//end of if
		var namePattern = "^[a-zA-Z0-9][a-zA-Z0-9]*([_]?[a-zA-Z0-9]+)*$";
		var regex = new RegExp(namePattern);
		if (!regex.test(str)) {
			alert ("Please enter a valid value (consisting of alphanumeric and underscore only) for " + label);
			return false;
		}//end of if
		else
			return true;
	}//end of if
	return true;
}//end of isLogin

function isLoginPwd(str, label) {
	if (!isNull(str)) {
			if (str.length<=4) {
				alert ("Please enter atleast five characters for " + label);
			return false;
			}//end of if
		var namePattern = /[a-z]/i;
		var regex = new RegExp(namePattern);
		var namePattern1 = /[0-9]/;
		var regex1 = new RegExp(namePattern1);
		if (!regex.test(str) || !regex1.test(str)) {
			alert ("Please enter a valid value (consisting of alphabet and number and/or special character \n The length of password ahould not less then 5 characters) for " + label);
			return false;
		}//end of if
		else
			return true;
	}//end of if

/*var namePattern = "^[a-zA-Z0-9][a-zA-Z0-9]*([_]?[a-zA-Z0-9]+)*$";
		var regex = new RegExp(namePattern);
		if (!regex.test(str)) {
			alert ("Please enter a valid value (consisting of alphanumeric and underscore only) for " + label);
			return false;
		}//end of if
		else
			return true;
	}*///end of if

	return true;
}//end of isLoginPwd

function isOtherName(str, label) {
	if (!isNull(str)) {
		var namePattern = "[`~,!#\\$%\\^\\*_\\+=\\|\\\\;:\"\\?><]";
		var regex = new RegExp(namePattern);
		if (regex.test(str)) {
			alert ("Please enter a valid value for " + label);
			return false;
		}//end of if
		else
			return true;
	}//end of if
	return true;
}//end of isOtherName

function isAddress(str, label) {
	if (!isNull(str)) {
		var namePattern = "[`~!@\\$%\\^\\*_\\+=\\|\\\\\"\\?><]";
		var regex = new RegExp(namePattern);
		if (regex.test(str)) {
			alert ("Please enter a valid value for " + label);
			return false;
		}//end of if
		else
			return true;
	}//end of if
	return true;
}//end of isAddress

function isText(str, label) {
	if (!isNull(str)) {
		var namePattern = "[`~!@#\\$%\\^&\\*()_\\+=\\|\\\\{}\\[\\];:\"\\'?><,\\.]";
		var regex = new RegExp(namePattern);
		if (regex.test(str)) {
			alert ("Please do not enter special characters for " + label);
			return false;
		}//end of if
		else
			return true;
	}//end of if
	return true;
}//end of isText Function

function isPhone(str, label) {
	if (!isNull(str)) {
		var namePattern = "[^a-zA-Z0-9()\\-\\+, #.]";
		var regex = new RegExp(namePattern);
		if (regex.test(str)) {
			alert ("Please enter a valid value for " + label);
			return false;
		}//end of if
		else
			return true;
	}//end of if
	return true;
}//end of isPhone

function isLengthOK(str, min, max, label) {
	if (!isNull(str)) {
		if ((str.length >= min) && (str.length <= max))
			return true;
		else {
			alert ("Please enter a valid value (maximum " + max + " characters) for " + label);
			return false;
		}//end of else
	}//end of if
	return true;
}//end of isLengthOK

function isValidExtn(str, label) {
	if (!isNull(str)) {
		parts = str.split(".");
		if (parts.length > 1 && ((parts[parts.length - 1] == "htm") || (parts[parts.length - 1] == "html")))
			return true;
		else {
			alert ("Please upload a valid file (only .htm or .html) for " + label);
			return false;
		}//end of else
	}//end of if
	return true;	
}//end of isValidExtn


function isValidPDFExtn(str, label) {
	if (!isNull(str)) {
		parts = str.split(".");
		if (parts.length > 1 && parts[parts.length - 1] == "pdf")
			return true;
		else {
			alert ("Please upload a valid file (only pdf) for " + label);
			return false;
		}//end of else
	}//end of if
	return true;	
}//end of isValidExtn

function validSelect(formNum, objName, label) {
	obj = eval("document.forms[" + formNum + "]." + objName);
	if (obj.selectedIndex == 0) {
		alert("Please select a valid value for " + label);
		return false;
	}//end of if
	return true;
}//end of validSelect

function toIndian(str) {
	parts = str.split("/");
	dd = parts[1];
	mm = parts[0];
	yyyy = parts[2];
	indianDate = dd + "/" + mm + "/" + yyyy;
	return indianDate;
}//end of toIndian

function toAmerican(str) {
	parts = str.split("/");
	dd = parts[0];
	mm = parts[1];
	yyyy = parts[2];
	americanDate = mm + "/" + dd + "/" + yyyy;
	return americanDate;
}//end of toIndian


function IsNumeric(sText)
{
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;

   
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }
