//if length is not zero
function CheckCharLimitFornonZero(objID, str, strControlName) {
    charlength = Ltrim_string(objID.value).length;
    if (charlength != "0") {
        if (charlength < str) {
            alert(strControlName + ": should be atleast " + str + " characters.")
            objID.focus();
            objID.select();
            return false;
        }
    }
    return true;
}
//to set focus on button

function GiveTab(objID)
{
	var valbtn=document.getElementById(objID);
	if(event.keyCode ==13)
	{
//		alert(valbtn);
		valbtn.focus();
	}
}

////to clear text on focus
function ClearText(objID)
{
	var a = eval("document.all['"+objID+"']");
	a.value="";
}

// check Blank FreeTextBox
function CheckBlankFreeTextBox(objID, strControlName) {

    if (Ltrim_string(objID.value) == "" || objID.value == null) {
        alert(strControlName + ": Cannot be left blank");
        objID.value = "";
        return false;
    }
    return true;
}

function showStatus(sMsg)
 {
    window.status = sMsg;
    return true;
}

////for only alphabates
function AllowChar()
{
if((event.keyCode >=65 && event.keyCode <=90) || event.keyCode ==8 ||(event.keyCode >=35  && event.keyCode <=41) || event.keyCode ==46)
	event.returnValue=true;
else
	event.returnValue=false;
}

//For LTrim Function
function Ltrim_string(objID)
{	
		
var j = 0,k=0;
if(objID.length>0)
{
	for(var i=0;i<objID.length && k<objID.length;i++)
	{
		if(objID.charAt(i)==" ")
		{
		j++;
		}
		else
		{
		k = objID.length;
		}
	}
	objID =objID.substring(j,objID.length);
}
	return objID;
}
//function to ckeck for spaces at the start
function checkLTrim(objID,strControlName)
{
    var originalLength = objID.value.length;
    //var lTrim = Ltrim_string(objID.value);
    var lTrim = trimText(objID.value);
    var lTrimLength = lTrim.length;
    if(originalLength != lTrimLength)
    {
        alert(strControlName +" : should not have spaces at start");
        objID.focus();
        objID.select();
        return false;
    }
    return true;
}

//returns trim value
function tmstr(objID)
{
var Symbol=objID.value;
var k=0;
var j=0;
for(var i=0;i<Symbol.length && k<Symbol.length;i++)
	{
		if(Symbol.charAt(i)==" ")
		{
		j++;
		}
		else
		{
		k = Symbol.length;
		}
	}
objID.value=Symbol.substring(j,Symbol.length);
}


//Blank Check
function CheckBlank(objID,strControlName)
{

   if (Ltrim_string(objID.value)=="" || objID.value== null)
   {
		alert(strControlName+": Cannot be left blank");
		objID.value="";
		objID.focus();
		return false;
	}
	return true;
}

//Blank Check New
function ChkBlankNew(objID,strControlName)
	{
	alert(objID.value);
		if(objID.value=="")
		{
			alert(strControlName +" cannot be left blank.");
			objID.focus();
			return false;
		}		
		return true;
	}

////Allow only Numbers in TextBox
    function CheckNumeric(objID,strControlName)
	{	
		if(CheckBlank(objID,strControlName))
        {
			var num=/[0-9]+/
			numflag=objID.value.match(num);	
			if(numflag !=objID.value)
			{
			    alert(strControlName+ ": should be Numeric only.")
			    objID.focus();
 			    objID.select();
			    return false;
		    }
		    else
		    {
		     return true;
		    }
	    }
//	    else
//	    {
//	        alert(strControlName+ ": should be Numeric only.")
//			objID.focus();
// 			objID.select();
//			return false;
//	    }
	
    }
    ////


    ////Allow only Numbers in TextBox
    function CheckPercentage(objID, strControlName) {
        if (CheckBlank(objID, strControlName)) {
            var num = /[0-9.%]+/
            numflag = objID.value.match(num);
            if (numflag != objID.value) {
                alert(strControlName + ": should be Numeric only.")
                objID.focus();
                objID.select();
                return false;
            }
            else {
                return true;
            }
        }
        //	    else
        //	    {
        //	        alert(strControlName+ ": should be Numeric only.")
        //			objID.focus();
        // 			objID.select();
        //			return false;
        //	    }

    }
    ////

function CheckAlphabets(objID,strControlName)
{
	var alpha=/[a-zA-Z ]+/;
	alphaflag=objID.value.match(alpha);	
		if(alphaflag != objID.value)
		{
			alert(strControlName+ ": should be Alphabets only.")
			objID.focus();
 			objID.select();
			return false;
	}
	return true;
}

function CheckAlphaNumericSpecial(objID,strControlName)
{
	var alpha=/[a-zA-Z0-9\'\-\/&\s\(\)]+/;
	alphaflag=objID.value.match(alpha);	
		if(alphaflag != objID.value)
		{
			alert(strControlName+ ": Should be AlphaNumeric characters only.")
			objID.focus();
 			objID.select();
			return false;
	}
	else
	{
	return true;
	}
}


////Allow AlphaNumeric characters
function CheckAlphaNumeric(objID,strControlName)
{
	var alpha=/[a-zA-Z0-9]+/;
	alphaflag=objID.value.match(alpha);	
	 if(CheckBlank(objID,strControlName))
    {
		if(alphaflag != objID.value)
		{
			alert(strControlName+ ": should be AlphaNumeric only.")
			objID.focus();
 			objID.select();
			return false;
	    }
	    return true;
	}
}

function CheckAlphaNumericSpace(objID,strControlName)
{
	var alpha=/[a-zA-Z0-9 ]+/;
	alphaflag=objID.value.match(alpha);	
	 if(CheckBlank(objID,strControlName))
    {
		if(alphaflag != objID.value)
		{
			alert(strControlName+ ": should be AlphaNumeric only.")
			objID.focus();
 			objID.select();
			return false;
	    }
	    return true;
	}
}

////Do Not Allow special characters
function CheckSpChar(objID,strControlName)
{
var usr=/[a-zA-Z0-9]+/;
	uidflag=objID.value.match(usr);	
	if(uidflag != objID.value){
		alert(strControlName+ ": do not have special characters")
		objID.focus();
 		objID.select();
		return false;
        }
	return true;
} 

////Allow only specified special characters
function CheckSpecialChar(objID,strControlName,spstr)
{
var str=objID.value;
var validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" + spstr;

    if(CheckBlank(objID,strControlName))
    {
       
        for (var j=0;j<str.length;j++)
        {
            if(validchars.indexOf(str.charAt(j)) == -1)
	            {
	                if(spstr.length > 0) 
	                {
	                    if(spstr.length == 1 &&spstr == " ")
	                        alert(strControlName+ ": should not have any special characters")
	                    else
	                        alert(strControlName+ ": should not have special characters other than "+ spstr)
	                }
	                else
		                alert(strControlName+ ": should not have any special characters")
		            objID.focus();
 		            objID.select();
		            return false;
	            }
	     }
	        return true;
	 }
} 

////Allow Alphabetes and specified special characters
function CheckAlphaSpecialChar(objID,strControlName,spstr)
{
var str=objID.value;
var validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" + spstr;
    if(CheckBlank(objID,strControlName))
    {
        
            for (var j=0;j<str.length;j++)
            if(validchars.indexOf(str.charAt(j)) == -1)
	            {
		            alert(strControlName+ ": should not have any special characters or numbers")
		            objID.focus();
 		            objID.select();
 		            objID.value=""
		            return false;
	            }
	            return true;
	     
	}
	
} 

////Allow numeric and special characters
function CheckNumericSpecialChar(objID, strControlName, spstr) {
    var str = objID.value;
    var validchars = "1234567890" + spstr;

    if (spstr.toString().indexOf(" ") >= 0) {
        spstr = spstr.toString().replace(" ", "Space");
    }

    for (var j = 0; j < str.length; j++)
        if (validchars.indexOf(str.charAt(j)) == -1) {
        alert(strControlName + ": should not have any special characters or alphabets except: [ " + spstr + " ]")
        objID.focus();
        objID.select();
        return false;
    }
    return true;
}



////Check for Decimal Numbers
function CheckDecimalval(objID,strControlName)
{
Temp =objID.value;
var validchars = "1234567890.";
var iCount=0;

for(var j=0;j<Temp.length && iCount < 2;j++)
	{
		if(validchars.indexOf(Temp.charAt(j)) == -1)
		{
			alert(strControlName+ ": should be Valid");
			objID.focus();
 			objID.select();		
			return false;
		}
		else if(Temp.indexOf(".")<Temp.lastIndexOf("."))
		{
			alert(strControlName+ ": should have Decimal values only");
			objID.focus();
 			objID.select();		
			return false;
		}
	}
	return true;
}

////Check for Decimal Numbers
function CheckDecimal(objID,strControlName)
{	

	var iCount=0;
	Temp =objID.value;	
	
//	if(Temp.length==0)
//	{
//		Temp = 0;
//		return true;
//	}
   if(CheckBlank(objID,strControlName))
    {

	    var validchars = "1234567890.";
	    for(var j=0;j<Temp.length && iCount < 2;j++)
	    {
		    if(validchars.indexOf(Temp.charAt(j)) == -1)
		    {
		    alert(strControlName+ ": is invalid");
			    objID.focus();
 			    objID.select();		
			    return false;
		    }
		    else if(Temp.charAt(j)==".")
			    iCount++;
	    }
	    if(iCount > 1)
	    {
		    alert(strControlName+ ": is invalid");
		    objID.focus();
 		    objID.select();	
		    return false;
	    }
	    return true;
	}
	
}

////Check for Decimal Numbers of specific position
function CheckDecimalPosition(objID,strControlName)
{	
	var iCount=0;
	Temp = objID.value;	
	if(Temp.length==0)
	{
		Temp = 0;
		return true;
	}
	var validchars = "1234567890.";
	for(var j=0;j<Temp.length && iCount < 2;j++)
	{
		if(validchars.indexOf(Temp.charAt(j)) == -1)
		{
		alert(strControlName+ ": should be in #.00 Decimal format");
			objID.focus();
 			objID.select();		
			return false;
		}
		else if(Temp.charAt(j)==".")
			iCount++;
	}
	if(iCount > 1)
	{
		alert(strControlName+ ": should be in #.00 Decimal format");
		objID.focus();
 		objID.select();	
		return false;
	}
	var sarray = new Array();
	var sElementValue = objID.value;
	
	if(sElementValue != "")
	{
		sarray = sElementValue.split('.');
		if(sarray[0].length == 0)
		{
			objID.value = "0"+sElementValue;
		}
		if(sarray.length>1)
		{
			if(sarray[1].length >2)
			{
				alert(strControlName+ ": should be in #.00 Decimal format");
				objID.focus();
				objID.select();
				return false;
			}
			else if(sarray[1].length == 0)
			{
				objID.value = sElementValue+"00";
			}
			else if(sarray[1].length == 1)
			{
				objID.value = sElementValue+"0";
			}
			
		}
		else
		{
			objID.value = sElementValue+".00";
		}
	}
	return true;
}

////Validation For Single EMail-Id

function chkEmail(objID,strDisplay)
{
    var validchars=/[-0-9a-zA-Z_\.]+@[0-9a-zA-Z-]+\.[0-9a-zA-Z\.\-]+/;

    var IsValid = objID.value.match(validchars);
    if (IsValid != objID.value)
    {
        alert(strDisplay + " : Email address is invalid");
        objID.focus();
        objID.select();
        return false;
    }
    else if(objID.value.indexOf(".")==0)
	{
		alert(strDisplay +": Should be valid Email")
		objID.focus();
		objID.select();
		return false;
    }
     else if(objID.value.indexOf("..")>=1)
	{
		alert(strDisplay +": Should be valid Email")
		objID.focus();
		objID.select();
		return false;
    }
    var LastIndex = objID.value.lastIndexOf(".");
	var FirstIndex = objID.value.indexOf(".");
    
    if (((LastIndex - FirstIndex)==1) || (LastIndex == objID.value.length-1))
    {
        alert(strDisplay + " : Should be Valid Email");
        objID.focus();
        objID.select();
        return false;
    }
    
    return true;
}


function CheckMail(objID,strControlName)
{
//	var email=@"^[a-z][a-z|0-9|]*([_][a-z|0-9]+)*([.][a-z|" + 
//               @"0-9]+([_][a-z|0-9]+)*)?@[a-z][a-z|0-9|]*\.([a-z]" + 
//               @"[a-z|0-9]*(\.[a-z][a-z|0-9]*)?)$";

	var email =/[-a-zA-Z0-9_\.]+@[-a-zA-Z0-9]+\.[-a-zA-Z0-9\.]+/;
	var eflag = objID.value.match(email);
	if(eflag!=objID.value)
	{
		alert(strControlName+ ": should be in proper format")
		objID.focus();
		objID.select();
		return false;
	}
	else if(objID.value.indexOf(".")==0)
	{
		alert(strControlName +": should be valid Email")
		objID.focus();
		objID.select();
		return false;
	}
	else	
	return  true;
} 


//Do not allow only Numbers in TextBox
function CheckUserName(objID,strControlName)
	{	
		if (objID.value!="")
		{
			var num=/[0-9]+/
			numflag=objID.value.match(num);	
			if(numflag ==objID.value){
			alert(strControlName+ ": Should be AlphaNumeric.")
			objID.focus();
 			objID.select();
			return false;
		}
	}
	return true;
}


////Validation For Phone No
function CheckPhone(objID,strControlName)
{
		var num=/[0-9\-\+\/\"("\")"\s]+/
		numflag=objID.value.match(num);	
		if (objID.value!="")
		{
		    if(numflag != objID.value)
		    {
			    alert(strControlName+ ":should be valid phone number")
			    objID.focus();
 			    objID.select();
			    return false;
			}
			if(!CheckPhoneLength(objID,strControlName))
			{   
			    return false;
			}
			
	    }
		return true;
} 

function CheckMobile(objID,strControlName)
{
	var num=/[0-9\+]+/
	numflag=objID.value.match(num);	
	if (objID.value!="")
	{
	    if(numflag != objID.value)
	    {		
		    alert(strControlName+ ":should be valid Mobile number")
		    objID.focus();
		    objID.select();
		    return false;
		}
		if(!MobileCheckLength(objID,strControlName))
		{
		    return false;
		}
    }
	return true;
} 
////Allow only numbers and specified special characters//used for phone or mobile
function CheckNumSpecialchar(objID,strControlName,spstr)
{
var str=objID.value;
var validchars = "1234567890" + spstr;

for (var j=0;j<str.length;j++)
if(validchars.indexOf(str.charAt(j)) == -1)
	{
		alert(strControlName+ ": should not have any special characters.")
		objID.focus();
 		objID.select();
		return false;
	}
	return true;
} 


////////Checking:for mobile number with specified length
function MobileCheckLength(objControl,strControlName)
{
if(objControl.value.length<10)
{
alert(strControlName+ ":It should be atleast 10 digits number");
objControl.focus();
objControl.select();
return false;
}

return true;
}





////Check for Multiple EMail-IDs
function CheckMultiMail(objID,sepstr,strControlName)
 { 
var Email=objID.value.split(sepstr);
for(var i=0;i<Email.length;i++)
	{
	var StrEmail=Email[i]
	var email =/[-a-zA-Z0-9_\.]+@[-a-zA-Z0-9]+\.[-a-zA-Z0-9\.]+/;
	var eflag = StrEmail.match(email);
	
	if(eflag!=StrEmail)
		{
			alert(strControlName+": should be valid.")
			objID.focus();
			objID.select();
			return false;
		}
	else if(StrEmail.indexOf(".")==0)
		{
		alert(strControlName+": should be valid.")
		objID.focus();
		objID.select();
		return false;
		}
	}
return true;
}

////Validation For Drop-Down List
function CheckDropDown(objID,strControlName)
{
	   if(objID.options[0].selected=="true" || objID.selectedIndex == 0)
	   {
		alert(strControlName+ ": Select a proper option.");
		objID.focus();
		return false;
	}
	return true;
} 

////Validation fot ListBox
function CheckList(objID,strControlName)
{
	if(objID.selectedValue=="" || objID.selectedIndex<0)
	{
		alert(strControlName+ " :Select a proper option.");
		objID.focus();
		return false;
	}
	return true;
}

////Validation For CheckBox
function CheckChBox(objID,strControlName)
{
	var ie = document.all?true:false;
    var ns = document.layers?true:false;
	var flag=false;
	var val=new Array();
	var a=0;
	if(ie){
		if(!isNaN(objID.length)){
			for(i=0;i<objID.length;i++){
				if(objID[i].checked==true){
					flag=true;
					//val[a]=chk[i].value;
					a++;
				}
			}
		}else{
			if(isNaN(objID.length)){
				if(objID.checked==true){
					flag=true;
					val[a]=objID.value;
				}
			}
		}
		
		if(flag==false){
		alert(strControlName+ ": Select atleast one value.");
			return false;
		}
		return true;			
	}
	if(ns){
		if(objID.length>0){
			for(i=0;i<objID.length;i++){
				if(chk[i].checked==true){
					flag=true;
					val[a]=objID[i];
					a++;
				}
			}
		}else{
			if(objID.length<=0){
				if(objID.checked==true){
					flag=true;
					val[a]=objID.value;
				}
			}
		}
	var i=0;
	for (i=0;i<objID.length;i++)
	{	
			if(objID[i].checked)
		{
			a = a+1;
		}		
}

if(a==0){
			alert(strControlName+ ": Select atleast one value.");
			return false;
		}
	}
} 
////Validation For CheckListBox for Atleast one value
function ChkList(objID,strControlName)
	{
		var a=0;
		var flag=false;
		for (i=0;i<document.forms[0].length;i++)
		{
			if(document.forms[0].elements[i].id==objID+"_"+a)
			{
				if(document.getElementById(objID+"_"+a).checked==true)
				{
					flag=true;
				}
				a++;
			}
		}
		if(flag==false)
			{
				alert(strControlName+ ": Select atleast one value.");
				return false;
			}
			return true;
	}

////Validation For CheckListBox for Atleast Only one value/Radiobuttnlist
function SelectOneList(objID,strControlName)
	{
		var a=0,b=0;
		for (i=0;i<document.forms[0].length;i++)
		{
			if(document.forms[0].elements[i].id==objID+"_"+a)
			{
				if(document.getElementById(objID+"_"+a).checked==true)
				{
					b++;
				}
				a++;
			}
		}
		if(b!=1)
			{
				alert(strControlName+ ": Select any one value.");
				return false;
			}
			return true;
	}
	
////Validation For RadioButton
function CkRdb(objBool,ObjID,strControlName)
{
if (objBool==false)
{
alert(strControlName+ ": Select a proper choice.");
return false;
}
return true;
}

////New Validation For Radio-Button
function CheckRdb(objID,strControlName)
{
var ie = document.all?true:false;
var ns = document.layers?true:false;
var flag=false;
var val=new Array();
var a=0;
	if(ie){
		if(!isNaN(objID.length)){
			for(i=0;i<objID.length;i++){
				if(objID[i].checked==true){
					flag=true;
					//val[a]=chk[i].value;
					a++;
				}
			}
		}else{
			if(isNaN(objID.length)){
				if(objID.checked==true){
					flag=true;
					val[a]=objID.value;
				}
			}
		}
		
		if(flag==false){
		alert(strControlName+ ": Select a proper choice.");
			return false;
		}
		return true;			
	}
	if(ns){
		if(objID.length>0){
			for(i=0;i<objID.length;i++){
				if(objID[i].checked==true){
					flag=true;
					val[a]=objID[i];
					a++;
				}
			}
		}else{
			if(objID.length<=0){
				if(objID.checked==true){
					flag=true;
					val[a]=objID.value;
				}
			}
		}
	var i=0;
	for (i=0;i<objID.length;i++)
		{	
			if(objID[i].checked)
				{
					a = a+1;
				}		
		}
		if(a==0){
				alert(strControlName+ ": Select a proper choice.");
					return false;
				}
			}	
		} 
		
////Validation For Character Limit
function CheckCharLimit(objID,str,strControlName)
{
	charlength=objID.value.length;
		if(charlength < str){
			alert(strControlName+": should have atleast " +str+ " characters.")
			objID.focus();
 			objID.select();
			return false;
	}
	return true;
}

////Validation for userid, where alphanumeric and under score is allowed
function CheckPwd(objID,strControlName){
	var usr=/[a-zA-Z0-9\_]+/;
	uidflag=objID.value.match(usr);	
	if(uidflag != objID.value){
		alert(strControlName+ ": should have valid password.")
		objID.focus();
 		objID.select();
		return false;
	}
	return true;
}

////Validation when for confirm password
function CheckConfPwd(pass, confpass,passname,confname){
	if(confpass.value != pass.value){
		alert(confname + ": should be same as " + passname);			
		confpass.focus();
		confpass.select();
		return false;
	}
	return true;
}

//validation for Address
//function CheckAdd(objID,strControlName)
//{
//	var num=/[a-zA-Z0-9.,/\;\-\"'"\s]+/
//	numflag=objID.value.match(num);	
//	if(numflag != objID.value){
//		alert(strControlName+": should have Valid Address.")
//		objID.focus();
// 		objID.select();
//		return false;
//	}
//	return true;
//}

////validation for WebSite
function CheckWeb(objID,strControlName)
{
	var web =/[w][w][w]\.+[-a-zA-Z0-9]+\.[-a-zA-Z0-9\.]+/gi;
	var eflag = objID.value.match(web);
	if(objID.value!=''){
	if(eflag!=objID.value){
		alert(strControlName+ ": should have valid Address.")
		objID.focus();
		objID.select();
		return false;
		}
	}
	return true;
}

////Fax NO validation
function CheckFaxNo(objID,strControlName)
{
	var num=/[0-9\-\+\/\"("\")"\s]+/
	numflag=objID.value.match(num);
	if(objID.value!="")
	{	
		if(numflag != objID.value){
			alert(strControlName+ ": should have valid fax number.")
			objID.focus();
 			objID.select();
			return false;
		}
	}
	return true;
}

////Check for maximum length of character
function CheckCharLimitMax(objID,strControlName)
{
	charlength=objID.value.length;
	if(objID.value!="")
		{
		if(charlength > strControlName){
			alert("Code should not be greater than "+strControlName+" characters")
			objID.focus();
 			objID.select();
			return false;
		}
	}
	return true;
}

////Check for particular length of characters
function TextBoxLength(objID,NoCharacter,strControlName)
{
	if ((objID.value.length > NoCharacter)||(objID.value.length < NoCharacter))
	{   //x1 = x1.substring(0,maxlength);
		alert(" Exactly " + NoCharacter + " chars allowed including space in " + strControlName +".");
		objID.focus();
		return false;
	}
	return true;
}

function setFocus(ObjID)
{
	ObjID=document.getElementById(ObjID);
	ObjID.focus();
}

function Checkzero(ObjID,strName)
{
	var iObj=parseInt(Ltrim_string(ObjID.value));
	if(iObj==0)
	{
		alert(strName+": can not be 0");
		ObjID.select();
		return false;
	}
	return true;
}

function CheckForSpace(ObjID,strControlName)
{
	if(ObjID.value.indexOf(' ')> -1)
	{
	
		alert(strControlName+ ": should not include space.")
		ObjID.focus();
 		ObjID.select();
		return false;
	}
	return true;
}



////Check for 4 digit year
function CheckValidYear(objID,strControlName)
{

var Temp =objID.value;
var validchars = "1234567890";
var iCount=0;


    if(Temp.length==4)
    {
        var d = new Date();
        var Year1=d.getYear();
        var Year2=d.getYear()-100;

            if(Temp>=Year2 && Temp<=Year1)
            {
                    for(var j=0;j<Temp.length ;j++)
	                {
		                if(validchars.indexOf(Temp.charAt(j)) == -1)
		                {
			                alert(strControlName+ ": should be Valid");
			                objID.focus();
 			                objID.select();
			                return false;
		                }
		                
	                }
	                return true;
	         }
	         else
	         {
	            alert(strControlName+ ": should be between ("+ Year2 +","+ Year1 +")");
                objID.focus();
                objID.select();
                return false;
	         }       
    }
    else
    {
        alert(strControlName+ ":should be Valid");
        objID.focus();
        objID.select();
        return false;
    }
}







////////////////////////////////////DATE VALIDATION////////////////
    var dtCh= "/";
    var dtyear = new Date();
//    var Year1=d.getYear();
//    var Year2=d.getYear()-100;

    var minYear = dtyear.getFullYear() - 100;
    var maxYear = dtyear.getFullYear();
 
    function isInteger(s){
        var i;
        for (i = 0; i < s.length; i++){   
        // Check that current character is number.
            var c = s.charAt(i);
            if (((c < "0") || (c > "9"))) return false;
        }
        // All characters are numbers.
        return true;
    }

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

    function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
        return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
    }
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
        } 
        return this
    }

function isDate(dtStr){

//    var minYear = dtyear.getFullYear() - 100;
//    var maxYear = dtyear.getFullYear();
    
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
//	var strMonth=dtStr.substring(0,pos1)
//	var strDay=dtStr.substring(pos1+1,pos2)
    var strDay=dtStr.substring(0,pos1)
	var strMonth=dtStr.substring(pos1+1,pos2)
	
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
		alert("The date format should be : dd/mm/yyyy") 
		return false
	}
	else if (strMonth.length<1 || month<1 || month>12){
		alert("Please enter a valid month")
		return false
	}
	else if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Please enter a valid day")
		return false
	}
	else if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
		return false
	}
	else if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Please enter a valid date")
		return false
	}
	else
	{	
    return true
    }
}

function ValidateDt(objID)
{

	if (isDate(objID.value)==false)
	{
		objID.focus()
		objID.select();
		return false
	}
    return true
 }
 
 function checkDate(dtStr)
{

    if(trimText(dtStr.value)=="dd/mm/yyyy" ||trimText(dtStr.value)=="")
    {
        alert("Please enter valid date.")
		dtStr.focus();
 		dtStr.select();
		return false;
    }
    else
    {
    return ValidateDt(dtStr);
    }
}


////////////////////////////Trim Text both left right and center
    function trimText(stringValue)
    {
        return stringValue.replace(/(^\s*|\s*$)/g, "");
    }
    
    
    
    //function to check alphabets with space
function CheckAlphabetsWithSpace(objID,strControlName)
{
	var alpha=/[a-zA-Z ]+/;
	alphaflag=objID.value.match(alpha);	
		if(alphaflag != objID.value)
		{
			alert(strControlName+ ": Should be Alphabets only.")
			objID.focus();
 			objID.select();
			return false;
	}
	return true;
}


////////////function to check minimum and maximum lenghts of charachters. 

function CheckMinMaxCharLimit(objID,MinCharacter,MaxCharachter,strControlName)
{
if(objID.value!="")
  {
    if(objID.value.length>MaxCharachter||objID.value.length<MinCharacter)
     {
		alert(strControlName+" : Should be between "+MinCharacter+" to " +MaxCharachter + " charachters");
			objID.focus();
 			objID.select();
			return false;
		}
	}
	return true;
}


/////////function to check maximum lenght of charachters.
function CheckMaximumCharLimit(objID,MaxCharachter,strControlName)
{
if(objID.value!="")
  {
    if(objID.value.length>MaxCharachter)
     {
		alert(strControlName +" : Should not be greater than " +MaxCharachter+ " charachters" );
			objID.focus();
 			objID.select();
			return false;
		}
	}
	return true;
}


/////////function to compare two dates in a way to check if one date is smaller than or equal to another date 
function DateComparison(Date1,strDate1, Date2, strDate2)
{    
    var SplitFromDate=new Array();
    var SplitToDate=new Array();
    var FromDate = new Date();
    var ToDate=new Date();
    
    SplitFromDate=Date1.value.split("/");
    SplitToDate=Date2.value.split("/");
    
    FromDate.setFullYear(SplitFromDate[2],SplitFromDate[1],SplitFromDate[0]); 
    ToDate.setFullYear(SplitToDate[2],SplitToDate[1],SplitToDate[0]);

    if (FromDate <= ToDate)            
        return true;         
    else
    {
        alert(strDate1 + " : Should be less than or equal to '" + strDate2 + "'");
        Date1.select();
        return false;
    }
}

//Function to check the birthdate
function BirthDate(date,strControlName1)
{
    var d = new Date();
    var cyear=parseInt(d.getFullYear());
    date_year = date.value.substring(date.value.length-4,date.value.length)
    date_year.value==parseInt(date_year);
	if( (date_year == cyear)==true)
	{
		alert(strControlName1+': Birth year can\'t same as current year.');
		date.focus();
		return false;
	}
	var diff = parseInt(cyear)-parseInt(date_year);
	
	if( diff<19)
	{
		alert(strControlName1+': Your age must greater or equal to 19-Yrs.');
		date.focus();
		return false;
	}
	return true;
 }

function CheckPhoneLength(objID,strControlName)
	{	
		if (objID.value!="")
		{
		   if(objID.value.length < 6)
		   {
		    alert(strControlName+ ": Should be atleast 6 digit.")
			objID.focus();
 			objID.select();
			return false;
		   }
		}
		return true;
}
//function to validate Radio Button List
  function ValidateOptions(id,msg)
     {    
            var bFlag=false;           
            var rdbOptions = document.getElementsByName(id);
            
            for(var i=0;i<rdbOptions.length;i++)
            {     
                if (rdbOptions.item(i).checked == true)
                {
                    bFlag=true;
	                break;
                }
            }
            if(!bFlag)
            {
                alert(msg);
                return false;
            }
            return true;
	 }


//Compare Password		
function ComparePassword(Password,RetypePassword)
{
 if(Password.value != RetypePassword.value)
 {
  alert("Password and RetypePassword doesn't match"); 
  Password.value= "";
  RetypePassword.value = "";
  Password.focus();
  return false;  
 }
 return true;
}


// Check the Login ID i.e Email-id & Password for not being same.
function ChkPwdAndLoginEmailID(password,loginID)
 {  
    if(password.value.toLocaleLowerCase() == loginID.value.toLocaleLowerCase())
    {
       alert("Password and Email-ID i.e Login ID cannot be same.");
       password.focus();
       password.select();
       return false;
    }
    return true;
 }
 
 
 // Check the Login Name & Password for not being same.
function ChkPwdAndLoginName(password,login)
 {  
    if(password.value.toLocaleLowerCase() == login.value.toLocaleLowerCase())
    {
       alert("Password and User Name cannot be same.");
       password.focus();
       password.select();
       return false;
    }
    return true;
 }
 
 function CheckAlphaNumericPassword(objID,strControlName)
{ 
var str;
var status1="no";
var status2="no";
var status3="no";
   if(CheckBlank(objID,strControlName))
   {
       str=objID.value;	      
             var validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" ;
            var validDigits="1234567890"
            var validSpecialChar="!@#$%^&*()_-";
            if(str.length>=6)
            {
                    for (var j=0;j<str.length;j++)
                    {
                        if( (validchars.indexOf(str.charAt(j))!= -1)  )
                        {
                        status1="ok";
                           
                        }            
                    }
                     for (var k=0;k<str.length;k++)
                    {
                        if( (validDigits.indexOf(str.charAt(k))!= -1)  )
                        {
                        status2="ok"; 
                        }
                    }
                     for (var l=0;l<str.length;l++)
                    {
                        if( (validSpecialChar.indexOf(str.charAt(l))!= -1)  )
                        {
                        status3="ok"; 
                        }
                    }
                    if(status1=="ok" && status2=="ok" && status3=="ok")
                    {
                    return true;
                    }
                    else
                    {
                    alert(strControlName+ ": should  have AlphaNumeric and atleast one special character")
                     objID.focus();
                     objID.select();
                    return false;
                    }
              }
              else
              {
                alert(strControlName+ ": should  have minimum 6 characters")
                objID.focus();
                objID.select();
                return false;
              }
    }
 }


 function CheckAlphaNumericPasswordWithOutSpecialChar(objID, strControlName) {
     var str;
     var status1 = "no";
     var status2 = "no";
     var status3 = "no";
     if (CheckBlank(objID, strControlName)) {
         str = objID.value;
         var validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
         var validDigits = "1234567890"
         //        var validSpecialChar = "!@#$%^&*()_-";
         if (str.length >= 6) {
             for (var j = 0; j < str.length; j++) {
                 if ((validchars.indexOf(str.charAt(j)) != -1)) {
                     status1 = "ok";

                 }
             }
             for (var k = 0; k < str.length; k++) {
                 if ((validDigits.indexOf(str.charAt(k)) != -1)) {
                     status2 = "ok";
                 }
             }
             //            for (var l = 0; l < str.length; l++) {
             //                if ((validSpecialChar.indexOf(str.charAt(l)) != -1)) {
             //                    status3 = "ok";
             //                }
             //            }
             if (status1 == "ok" && status2 == "ok") {
                 return true;
             }
             else {
                 alert(strControlName + ": should have AlphaNumeric characters.")
                 objID.focus();
                 objID.select();
                 return false;
             }
         }
         else {
             alert(strControlName + ": should have minimum 6 characters")
             objID.focus();
             objID.select();
             return false;
         }
     }
 }

 
 //Blank Check With Out Trim
function CheckBlankWithOutTrimForLable(objID,strControlName)
{
    
    if(objID!=null)
    {
       if (objID.innerText=="" || objID.innerText== null)
       {
		    alert(strControlName+": Cannot be left blank");
		    objID.focus();
		    return false;
	    }
	    return true;
	}
	else
	{
	        alert(strControlName+": Cannot be left blank");
		   
		    return false;
	}
}


function ClearText(objID, DefaultName) {
    var textname = document.getElementById(objID);
    if (textname.value == DefaultName)
        textname.value = "";
    // document.getElementById(objID).focus();
}

function FillText(objID, DefaultName) {
    var textname = document.getElementById(objID);
    if (textname.value == "")
        textname.value = DefaultName;
}


function SetTab(objbtnID, event) {
    var valbtn = document.getElementById(objbtnID);
    if (event.keyCode == 13) {
        ValidSearch();
        return false;
    }
}

//Check the TextBox Length
function charlencheck(objID, strControlName, NoOfCharacters) {
    charlength = Rtrim_stringLen(objID);
    if (objID.value != "") {
        if (charlength < NoOfCharacters) {
            alert(strControlName + ": Cannot be less than " + NoOfCharacters + " characters!");
            objID.focus();
            objID.select();
            return false;
        }
    }
    if (objID.value.length != charlength) {
        alert(strControlName + ": Blank spaces are not allowed.");
        objID.focus();
        objID.select();
        return false;
    }
    if (objID.value.length != Ltrim_stringLen(objID)) {
        alert(strControlName + ": Blank spaces are not allowed.");
        objID.focus();
        objID.select();
        return false;
    }
    return true;
}

//For trims value from rightside and returns orginal text length
function Rtrim_stringLen(objID) {
    var chk = 0, len = 0, newlen = 0;
    if (objID.value.length > 0) {
        len = objID.value.length;
        for (var i = len - 1; i >= 0; i--) {
            if (objID.value.charAt(i) == " ") {
                if (chk == 1)
                    newlen = newlen + 1;
            }
            else {
                newlen = newlen + 1;
                chk = 1;
            }
        }
    }
    return newlen;
}

//For trims value from leftside and returns orginal text length
function Ltrim_stringLen(objID) {
    var chk = 0, len = 0, newlen = 0;
    if (objID.value.length > 0) {
        len = objID.value.length;
        for (var i = 0; i <= len - 1; i++) {
            if (objID.value.charAt(i) == " ") {
                if (chk == 1)
                    newlen = newlen + 1;
            }
            else {
                newlen = newlen + 1;
                chk = 1;
            }
        }
    }
    return newlen;
}

function findDateDifference(x1, x2) {


    var ssdate = new String(x1.value);
    var ssdatee = new String(x2.value);

    var SDate = new Array(3);
    SDate = ssdate.split("/");
    var ssdate1 = new String(SDate[1] + "/" + SDate[0] + "/" + SDate[2]);

    var SDate1 = new Array(3);
    SDate1 = ssdatee.split("/");
    var ssdate2 = new String(SDate1[1] + "/" + SDate1[0] + "/" + SDate1[2]);

    var one_day = 1000 * 60 * 60 * 24;

    var objDate1 = new Date(ssdate1);
    var objDate2 = new Date(ssdate2);
    var diff = (objDate2.getTime() - objDate1.getTime()) / one_day;
    if (parseInt(SDate1[2] % 4) > 0) {
        diff = parseInt(diff) + 1;
    }
    return diff;
}
