//alert("in Javascript File");
//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 = "";
}

////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 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;
    //	    }

}
////
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;
    }
}



//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;
}




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 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;
}

////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 --- Modified By Abhijit
function CheckSpecialChar(objID, strControlName, spstr)
{
    var str = objID.value;
    var validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" + spstr;

    if (spstr.toString().indexOf(" ") >= 0)
    {
        spstr = spstr.toString().replace(" ", "Space");
    }

    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 except: [ " + spstr + " ]")
            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 = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" + spstr;
//    if (spstr.toString().indexOf(" ") >= 0)
//    {
//        spstr = spstr.toString().replace(" ", "Space");
//    }

//    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 numbers or special characters except: [ " + spstr + " ]")
//            objID.focus();
//            objID.select();
//            return false;
//        }
//        return true;

//    }

//}



function CheckAlphaSpecialChar(objID, strControlName, spstr) {
    var str = objID.value;


    var validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" + spstr;

      if (spstr.toString().indexOf(" ") >= 0) {
        spstr = spstr.toString().replace(" ", "Space");
    } 


    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 numbers or special characters except: [ " + spstr + " ]")
            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;

    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")
        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 Decimal values only.");
            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 + ": should be Decimal values only.");
                objID.focus();
                objID.select();
                return false;
            }
            else if (Temp.charAt(j) == ".")
                iCount++;
        }
        if (iCount > 1)
        {
            alert(strControlName + ": should be Decimal values only.");
            objID.focus();
            objID.select();
            return false;
        }
        return true;
    }

}

function CheckDecimalPositions(objID, strControlName)
{

    var iCount = 0,newno="", newval="",chk = 0, len = 0;
    Temp = objID.value;
    if (Temp.length == 0)
    {
        Temp = 0;
        return true;
    }
    var validchars = "1234567890.";
    if(CheckDecimal(objID, strControlName))
    {
        len= Temp.length;
        for(var i=len-1; i>=0; i--)
	    {
            if(Temp.charAt(i)==".")
		    {
		        chk = 1; 
    	    }
		    else
		    {
		        if(chk == 0)
		            newval = Temp.charAt(i) + newval; // decimal value
		         if(chk == 1)
    		        newno = Temp.charAt(i) + newno; //value previous to decimal
    		   
		    }
	    }
	    if(chk == 1) // checks value have decimal point
	    {
	        if(newval.length > 0) // as value should be rounded upto 2 digits
	        {
	            if(newno=="")
	            {
	               alert(strControlName + " : should be in #.00 Decimal format");
                    objID.focus();
                    objID.select();
                    return false; 
	            }
    	    
	            if(newno.length > 4)
                 {
                    alert(strControlName + " : Value is too large.");
                    objID.focus();
                    objID.select();
                    return false;
                 }
    	        
	            if(newval.length > 4)
	            {
                     alert(strControlName + ": should be in #.0000 Decimal format");
                     objID.focus();
                     objID.select();
                     return false;
                 }
                 if(newval.length == 1)
                 {
                    objID.value = Temp + "0";
                 }
                 
            }
             else
	        {
	           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[0].length > 4)
                        {
                            alert(strControlName + " : Value is too large.")
                            objID.focus();
                            objID.select();
                            return false;
                        }
                        if (sarray[1].length <= 0)
                        {
                            alert(strControlName + ": should be in #.00 Decimal format");
                            objID.focus();
                            objID.select();
                            return false;
                        }
                        if (sarray[1].length > 4) 
                        {
                            alert(strControlName + ": should be in #.0000 Decimal format");
                            objID.focus();
                            objID.select();
                            return false;
                        }
                        if(sarray[1].length == 1)
                        {
                          objID.value = sElementValue + "0";
                        }
                   }
                 }
              }   
         }
         else if((newval.length <= 4))
         {
            objID.value = Temp + ".00";
            
         }
         else
         {
             alert(strControlName + " : Value is too large.")
            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.";

    if (Temp <= 0) {
        alert(strControlName + ": cannot be zero");
        objID.focus();
        objID.select();
        return false;
    }
    if (Temp > 100) {
        alert(strControlName + ": should not be greater than 100");
        objID.focus();
        objID.select();
        return false;
    }
    
    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 = /[-a-zA-Z0-9_\"'".]+@[-a-zA-Z0-9]+\.[-a-zA-Z0-9\.]+/; //=/[-0-9a-zA-Z_\.]+@[0-9a-zA-Z-]+\.[0-9a-zA-Z\.\-]+/;

    var IsValid = objID.value.match(validchars);
    if (IsValid != objID.value)
    {
        alert(strDisplay + " : Should be proper Email");
        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;
}


function CheckCombinationAlphaNumeric(objID, strControlName)
{
    if (objID.value != "")
    {
        var num = /[a-zA-Z]+/
        numflag = objID.value.match(num);
        if (numflag == objID.value)
        {
            alert(strControlName + ": Should be AlphaNumeric.")
            objID.focus();
            objID.select();
            return false;
        }
    }
    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;
        }
    }
}

//function that checks for the blank space at starting
function CheckLSpace(objID, strControlName)
{
    var chk = 0, len = 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)
                {
                    alert(strControlName + " : Spaces at the start are not allowed");
                    objID.focus();
                    objID.select();
                    return false;
                }
            }
            else
                chk = 1;
        }
    }
    return true;

}
////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.getFullYear();
        var Year2 = d.getFullYear() - 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.getYear() - 100;
var maxYear = dtyear.getYear();

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 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 + " characters");
            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;
        }
    }
}


//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 CheckForSpace(ObjID, strControlName) {
    if (ObjID.value.indexOf(' ') > -1) {
        alert(strControlName + ": should not include space.")
        ObjID.focus()
        ObjID.select()
        return false
    }
    return true
}
 
