// JavaScript Document
//Removes Leading and Trailing White Spaces
function trim(txt) {
	if(txt == null || txt == "" || txt == "undefined") {
		return "";
	}
        var re = "\\s*";
        var re1 = new RegExp("^" + re);
        var re2 = new RegExp(re + "$");
        txt = txt.replace(re1,"");
        txt = txt.replace(re2,"");
        return txt;
}
// Function for Checking Mandatory Fields are Entered
function mandatory(ctrl,ctrlname)
{
	
	if(ctrl == "undefined" || ctrl == null) 
	{
		alert(ctrl + " Object Not Defined");
		return false;
	}
	if(ctrl.value=="")
	{
		alert("Please Enter '" + ctrlname +"'");
		ctrl.focus();
		return false;
	}
	else if(checkSpace(ctrl,ctrlname)==false)
	{
		return false;
	}
}
//for checkspace
function checkSpace(ctrl,ctrlname)
{
	if(ctrl == "undefined" || ctrl == null) 
	{
		alert(ctrlname + " Object Not Defined");
		return false;
	}
	var content;
	
	content = ctrl.value;
	
	//for space entered 		
	if(content.length > 0)
	{
	
		for(var i=0;i<content.length;i++)
		{
			if(content.charAt(i)!=String.fromCharCode(32))
			{
				return true;
			}
		}
		alert("Please Enter " + ctrlname + " Correctly");
		ctrl.value=""
		ctrl.focus();	
		return false;
	}
	else
	{
		//for null 
		alert("Please Enter " + ctrlname);
		ctrl.focus();	
		return false;
	}
	return true;
}

// Check if the value is Integer or not
function IsPositiveNumber(obj,objName,objlen)
{
	if (checkSpace(obj,objName)==false)
	{
		return false;	
	}
	if(obj.value==0)
	{
		alert("Please enter " + objName +" ");
		obj.focus();
		return false;
	}
	if (isNaN(obj.value))
	{
		alert("You must enter an integer value in the "+ objName +" field.");
		obj.focus();
		return false;
	}
	if(obj.value.length < objlen)
	{
		alert("Please enter "+ objlen +" digit valid '"+ objName +"'.");
		obj.focus();
		return false;
	}
	return true;
}

//Check if the Email is Valid.
function validEmail(srcObj,objNamePassed) {
	if(srcObj == "undefined" || srcObj == null) {
		alert(objNamePassed + " Object Not Defined");
		return false;
	}
	var email = srcObj.value;
	var objName = objNamePassed;
	if(objName == "" || objName == null) {
		objName = "Email ID " + srcObj.name;
	}
	email = trim(email);
	srcObj.value = email;
	var re = new RegExp("^\([\\w_\\-\\.]+\)\@\([\\w_\\-]\+\\.\)+\([\\w_]\+\)$");
	if(email.match(re)) {
		return email;
	}
	alert("'" + email + "' is not a Valid Value for " + objName);
	
	return false;
}

//for Datre validations
function validIndianDate(srcObj,objNamePassed) {
	if(srcObj == "undefined" || srcObj == null ) {
		alert(objNamePassed + " Object Not Defined")
		return false;
	}
	var formatMessage = "\n\nPlease Enter the date in DD/MM/YYYY Format";
	var val = srcObj.value;
	var objName = objNamePassed;
	if(objName == "" || objName == null) {
		objName = srcObj.name;
	}
	val = trim(val);
	var re = new RegExp("^\([0-9]{1,2}\).\([0-9]{1,2}\).\([0-9][0-9][0-9]{0,2}\)$");
	var daysOfMonth = [31,28,31,30,31,30,31,31,30,31,30,31];
	var monthNames = ["January","February","March","April","May","June","July","August","September","October","November","December"];
	if(val.match(re)) {
		var tmpDate = re.exec(val);
		if(tmpDate[2] > 12 || tmpDate[2] < 1) {
			alert("Invalid Month : " + tmpDate[2] + " in Field " + objName + formatMessage);
			srcObj.focus();
			return false;
		}
		tmpDate[2]--;
		if(tmpDate[3] <49 && tmpDate[3] > 0) {
			tmpDate[3] = "20" + tmpDate[3];
		}
		if(tmpDate[3] == "00" ||tmpDate[3] == "0") {
			tmpDate[3] = "2000";
		}
		if(tmpDate[3] <100 && tmpDate[3] > 49) {
			tmpDate[3] = "19" + tmpDate[3];
		}
		if(tmpDate[3] > 9999 || tmpDate[3] < 1900) {
			alert("Invalid Year : " + tmpDate[3] + ". Valid Values are between 1900 and 9999 Only." + " for Field " + objName + formatMessage);
			srcObj.focus();
			return false;
		}
		if(tmpDate[3]%4 == 0) {
			daysOfMonth[1]++;
		}
		if(tmpDate[3]%400 != 0 && tmpDate[3]%100 == 0) {
			daysOfMonth[1]--;
		}
		if(tmpDate[1] <= 0) {
			alert("Invalid Day : " + tmpDate[1] + " in Field " + objName + formatMessage);
			srcObj.focus();
			return false;
		}
		if(tmpDate[1] > daysOfMonth[tmpDate[2]]) {
			alert(monthNames[tmpDate[2]]  + " in Field " + objName + " can have only " + daysOfMonth[tmpDate[2]] + " Days.");
			srcObj.focus();
			return false;
		}
		//var newDate = new Date(tmpDate[3],tmpDate[1],tmpDate[2]);
		var newDate = tmpDate[1]  + " " + monthNames[tmpDate[2]] + ", " + tmpDate[3];
		return newDate;
	}
	alert("Invalid Date : " + val + " in Field " + objName + formatMessage);
	srcObj.focus();
	return false;
}
//To check the decimal number is vald or not
function validDecimal(srcObj,objNamePassed) {
	if(srcObj == "undefined" || srcObj == null) {
		alert(objNamePassed + " Object Not Defined");
		return false;
	}
        var decimalVal = srcObj.value;
        var objName = objNamePassed;
        if(objName == "" || objName == null) {
                objName = "Decimal Value : " + srcObj.name;
        }
        decimalVal = trim(decimalVal);
        srcObj.value = decimalVal;
        var tmpVal = null;
        var re = new RegExp("^\(\[0-9\]\*\)\\\.\(\[0-9\]{0,2}\)$");
        if(decimalVal.match(re)) {
                return true;
        }

        re = new RegExp("^\(\[0-9\]\*\)$");
        if(decimalVal.match(re)) {
                return true;
        }

        alert("" + decimalVal + " Not a Valid Value for " + objName);
        srcObj.focus();
        return false;
}

<!--for reset button-->
function test(oj,ojname)
{
oj=document.form1.txtproject
ojname="Project code"

  form1.txtproject.focus();
}

// Function for Checking the Password format containing one letter and one number
function passwordFormat(ctrlPasswd,ctrlName)
{
	if(checkSpace(ctrlPasswd,ctrlName)==false)
	{
		ctrlPasswd.focus();
		return false;
	}
	else
	{
		var userpass=ctrlPasswd.value;
		//checking if inly space entered by calling checkSpace function
		if(userpass!="")
		{
			//alert(txtvalue.length)
			var num=0;
			var chr=0;
			var z=1;
			var j=1;
			for(var i=0;i<=userpass.length-1;i++)
			{						
				if(userpass.charAt(i)>=0 || userpass.charAt(i)<=9)
				{															
					num=z;
					z=z+1;
				}
				else
				{							
					chr=j;
					j=j+1;
				}
			}			
			
		}					
		if(num==0 || chr==0)
		{
			alert(ctrlName +" must contain minimum one number and one letter");
			ctrlPasswd.focus();
			return false;
		}
	}
	return true;
}

// for Confirm Password--
function passwordConfirm(ctrlPasswd,ctrlconfirm)
{
	if(ctrlPasswd == "undefined" || ctrlPasswd == null) 
	{
		alert(ctrlPasswd + " Object Not Defined");
		return false;
	}
	
	if(ctrlconfirm == "undefined" || ctrlconfirm == null) 
	{
		alert(ctrlconfirm + " Object Not Defined");
		return false;
	}
	
	if(ctrlPasswd.value!=ctrlconfirm.value)	
	{
		alert("Password and Confirm Password are not matching");
		ctrlconfirm.focus();
		return false;
	}
}

//for Alpha numeric 
function isAlphanumeric(obj, objName)
{
	var alphaExp = /^[0-9a-zA-Z]+$/;
	if(obj.value.match(alphaExp)){
		return true;
	}else{
		alert("You must enter Letters or numbers in "+ objName +" field");
		obj.focus();
		return false;
	}
}

//US Date validations
function validUSDate(srcObj,objNamePassed) 
{
	if(srcObj == "undefined" || srcObj == null ) 
	{
		alert(objNamePassed + " Object Not Defined")
		return false;
	}
	var formatMessage = "\n\nPlease Enter the date in MM/DD/YYYY Format";
	var val = srcObj.value;
	var objName = objNamePassed;
	if(objName == "" || objName == null) {
		objName = srcObj.name;
	}
	val = trim(val);
	var re = new RegExp("^\([0-9]{1,2}\).\([0-9]{1,2}\).\([0-9][0-9][0-9]{0,2}\)$");
	var daysOfMonth = [31,28,31,30,31,30,31,31,30,31,30,31];
	var monthNames = ["January","February","March","April","May","June","July","August","September","October","November","December"];
	if(val.match(re)) {
		var tmpDate = re.exec(val);
		if(tmpDate[1] > 12 || tmpDate[1] < 1) {
			alert("Invalid Month : " + tmpDate[1] + " in Field " + objName + formatMessage);
			srcObj.focus();
			return false;
		}
		tmpDate[1]--;
		if(tmpDate[3] <49 && tmpDate[3] > 0) {
			tmpDate[3] = "20" + tmpDate[3];
		}
		if(tmpDate[3] == "00" ||tmpDate[3] == "0") {
			tmpDate[3] = "2000";
		}
		if(tmpDate[3] <100 && tmpDate[3] > 49) {
			tmpDate[3] = "19" + tmpDate[3];
		}
		if(tmpDate[3] > 9999 || tmpDate[3] < 1900) {
			alert("Invalid Year : " + tmpDate[3] + ". Valid Values are between 1900 and 9999 Only." + " for Field " + objName + formatMessage);
			srcObj.focus();
			return false;
		}
		if(tmpDate[3]%4 == 0) {
			daysOfMonth[1]++;
		}
		if(tmpDate[3]%400 != 0 && tmpDate[3]%100 == 0) {
			daysOfMonth[1]--;
		}
		if(tmpDate[2] <= 0) {
			alert("Invalid Day : " + tmpDate[2] + " in Field " + objName + formatMessage);
			srcObj.focus();
			return false;
		}
		if(tmpDate[2] > daysOfMonth[tmpDate[1]]) {
			alert(monthNames[tmpDate[1]]  + " in Field " + objName + " can have only " + daysOfMonth[tmpDate[1]] + " Days.");
			srcObj.focus();
			return false;
		}
		//var newDate = new Date(tmpDate[3],tmpDate[1],tmpDate[2]);
		var newDate = tmpDate[2]  + " " + monthNames[tmpDate[1]] + ", " + tmpDate[3];
		return newDate;
	}
	alert("Invalid Date : " + val + " in Field " + objName + formatMessage);
	srcObj.focus();
	return false;
}
// For Positve numbers
function IsPositiveNumber(obj,objName,objlen)
{
	if (checkSpace(obj,objName)==false)
	{
		return false;	
	}
	if(obj.value==0)
	{
		alert("Please enter '" + objName +"'");
		obj.focus();
		return false;
	}
	if (isNaN(obj.value))
	{
		alert("You must enter an integer value in the '"+ objName +"' field.");
		obj.focus();
		return false;
	}
	if(obj.value.length < objlen)
	{
		alert("Please enter "+ objlen +" digit valid '"+ objName +"'.");
		obj.focus();
		return false;
	}
	return true;
}
//*********For Change Password***************//
 function validatepassword()
<!---old password validation--->  
{
	var oldpassword,newpassword,conpassword
	 <!---name validation--->
	oldpassword= document.getElementById("txtoldpwd");
	objname="old password";
	if (mandatory(oldpassword,objname)==false)
	{
		return false;
	}
	 
<!---New password validation--->  
    	newpassword= document.getElementById("txtnewpwd");
		objname="New password";
	 	if (mandatory(newpassword,objname)==false)
	 	{
			 return false;
	 	} 
  
<!---confirm password validation--->
	
	conpassword= document.getElementById("txtconfirmpwd");
	objname="confirm password";
	if (mandatory(conpassword,objname)==false)
	{
		return false;
	}


     return true;
 }

