﻿function CheckBlank(objID, strControlName) {

    if (Ltrim_string(objID.value) == "") {
        alert(strControlName + ": Cannot be left blank");
        objID.value = "";
        if (objID.type != "textarea") {
            objID.focus();
        }
        return false;
    }
    return true;
}

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 CheckDecimal(objID, strControlName) {
    if (!objID.isDisabled) {
        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 have Decimal values only");
                objID.focus();
                objID.select();
                return false;
            }
            else if (Temp.charAt(j) == ".")
                iCount++;
        }
        if (iCount > 1) {
            alert(strControlName + ": Should have Decimal values only");
            objID.focus();
            objID.select();
            return false;
        }
        if (objID.value <= 0) {
            alert(strControlName + ": can not be zero.")
            objID.focus();
            return false;
        }
    }
    return true;
}
function CheckDecimalForAAmt(objID, strControlName) {
    if (!objID.isDisabled) {
        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 have Decimal values only");
                objID.focus();
                objID.select();
                return false;
            }
            else if (Temp.charAt(j) == ".")
                iCount++;
        }
        if (iCount > 1) {
            alert(strControlName + ": Should have Decimal values only");
            objID.focus();
            objID.select();
            return false;
        }
    }
    return true;
}

function CheckMail(objID, strControlName) {
    if (objID.value != "") {
        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 in proper format.")
            objID.focus()
            objID.select()
            return false
        }
        var LastIndex = objID.value.lastIndexOf(".")
        var FirstIndex = objID.value.indexOf(".")
        if ((LastIndex - FirstIndex) == 1 || (objID.value.length - 1 == LastIndex)) {
            alert(strControlName + ": Should be in proper format.")
            objID.focus()
            objID.select()
            return false
        }
        if (objID.value.indexOf("..") >= 1) {
            alert(strControlName + ": Should be in proper format.")
            objID.focus()
            objID.select()
            return false
        }

        if (objID.value.indexOf("@-") >= 1) {
            alert(strControlName + ": Should be in proper format.")
            objID.focus()
            objID.select()
            return false
        }
        if (objID.value.indexOf("-.") >= 1) {
            alert(strControlName + ": Should be in proper format.")
            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 ");
    }
    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 except: [ " + spstr + " ]")
        objID.focus();
        objID.select();
        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;
        }
    }
    return true;
}

function MobileCheckLength(objControl, strControlName) {
    if (objControl.value.length > 0) {
        if (objControl.value.length > 12 || objControl.value.length < 10 || objControl.value.length == 11) {
            alert(strControlName + ":It should be 10 or 12 digits number");
            objControl.focus();
            objControl.select();
            return false;
        }
    }
    return true;
}

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;
}

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 ((objID.value.length < 6) || (objID.value.length > 15)) {
            alert(strControlName + ": Should be valid phone number")
            objID.focus();
            objID.select();
            return false;
        }
        var trimNum = Ltrim_string(objID);
        if (trimNum.value.charAt(0) == "-") {
            alert(strControlName + ": Should be valid phone number")
            objID.focus();
            objID.select();
            return false;
        }
    }
    return true;
}

function CheckTwoDate(objID1, objID2, strControlName1, strControlName2) {

    var FromDate = GetDate(objID1.value);
    var ToDate = GetDate(objID2.value);

    if (FromDate > ToDate) {

        alert(strControlName1 + " Cannot be greater than " + strControlName2);

        return false;
    }

    return true;

}

function GetDate(strDate) {
    var arrDate = strDate.split("-");
    var tDate = new Date(arrDate[2], arrDate[1], arrDate[0]);
    return tDate;

}

function CheckNumeric(objID, strControlName) {
    if (objID.value != "") {
        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;
        }
    }
    return true;
}

function LengthCheck(objControl, strControlName, strlength) {
    if (objControl.value.length > 0) {
        if (objControl.value.length != strlength) {
            alert(strControlName + ": Should be " + strlength + " digits number");
            objControl.focus();
            return false;
        }
    }
    return true;
}

function CheckAlphaNumeric(objID, strControlName) {
     
    var alpha = /[a-zA-Z0-9\'\-\/&\s]+/;
    alphaflag = objID.value.match(alpha);
    if (alphaflag != objID.value) {
        if (objID.value.length > 0) {
            alert(strControlName + ": Should be AlphaNumeric characters only.")
            objID.focus();
            objID.select();
            return false;
        }
        else {
            return true;
        }
    }
    else {
        return true;
    }
}
function OpenReferFriendWindow() {
    window.open('ReferAFriend.aspx?title=' + document.title + '&url=' + window.location, "ReferFriend", "top=0,left=0,width=580,height=500,toolbar=no,status=no,menubar=no,address=no");
}
function OpenPopUpWindow(strPage, strHeading,strWidth,strHeight) {
    window.open(strPage + '?title=' + document.title + '&url=' + window.location, strHeading, "top=100,left=100,width="+strWidth+",height="+strHeight+",toolbar=no,status=no,menubar=no,address=no");
}
function OpenPopUpWindow(strPage, strHeading, strWidth, strHeight, strProperty) {
    window.open(strPage + '?title=' + document.title + '&url=' + window.location, strHeading, "top=100,left=100,width=" + strWidth + ",height=" + strHeight + ",toolbar=no,status=no,menubar=no,address=no,scrollbars=" + strProperty);
}
function OpenPopUpWindow_Common(strPage, strHeading, strWidth, strHeight) {    
    window.open(strPage, strHeading, "top=100,left=100,width=" + strWidth + ",height=" + strHeight + ",toolbar=no,status=no,menubar=no,address=no");
}
function DisplayBlankMessage(objID, strControlName,lblmessage) {

    if (Ltrim_string(objID.value) == "") {
        lblmessage.innerHTML = strControlName + "is required.";
        objID.value = "";
        return false;
    }
    else {
        lblmessage.innerHTML = "&nbsp;";
    }
    return true;
}

function DisplayDropDownMessage(objID, strControlName, lblmessage) {

    if (objID.options[0].selected == "true" || objID.selectedIndex == 0) {
        lblmessage.innerHTML = strControlName + ": Select a proper option.";
        return false;
    }
    else {
        lblmessage.innerHTML = "&nbsp;";
    }
    return true;
}


function DisplayAlphaSpecialCharMessage(objID, strControlName, spstr, lblmessage) {
    var str = objID.value;
    var validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" + 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) {
            lblmessage.innerHTML = strControlName + " should not have any special characters or numbers except: [ " + spstr + " ]";
        return false;
    }
    else {
        if (lblmessage != null) {
            lblmessage.innerHTML = "&nbsp;";
        }
    }
    return true;

}


function DisplayAlphaNumericMessage(objID, strControlName, lblmessage) {

    var alpha = /[a-zA-Z0-9\'\-\/&\s]+/;
    alphaflag = objID.value.match(alpha);
    if (alphaflag != objID.value) {
        if (objID.value.length > 0) {
            lblmessage.innerHTML = strControlName + ": Should be AlphaNumeric characters only.";
            return false;
        }
        else {
            lblmessage.innerHTML = "&nbsp;";
            return true;
        }
    }
    else {
        lblmessage.innerHTML = "&nbsp;";
        return true;
    }
}

function DisplayMobileMessage(objID, strControlName, lblmessage) {
    var num = /[0-9\+]+/
    numflag = objID.value.match(num);
    if (objID.value != "") {
        if (numflag != objID.value) {
            lblmessage.innerHTML = strControlName + " should be valid Mobile number"
            return false;
        }
        else {
            lblmessage.innerHTML = "&nbsp;";
        }
    }
    return true;
}

function DisplayMobileLengthMessage(objControl, strControlName, lblmessage) {
    if (objControl.value.length > 0) {
        if (objControl.value.length > 12 || objControl.value.length < 10 || objControl.value.length == 11) {
            lblmessage.innerHTML = strControlName + " should be 10 or 12 digits number"
            return false;
        }
        else {
            lblmessage.innerHTML = "&nbsp;";
        }
    }
    return true;
}

function DisplayMailMessage(objID, strControlName, lblmessage) {
    if (objID.value != "") {
        var email = /[-a-zA-Z0-9_''\.]+@[-a-zA-Z0-9_'']+\.[-a-zA-Z0-9\.]+/
        var eflag = objID.value.match(email)
        
        var LastIndex = objID.value.lastIndexOf(".")
        var FirstIndex = objID.value.indexOf(".")
        if (eflag != objID.value) {
            lblmessage.innerHTML = strControlName + " should be in proper format."
            return false
        }
        else if (objID.value.indexOf(".") == 0) {
            lblmessage.innerHTML = strControlName + " should be in proper format."
            return false
        }
        else if ((LastIndex - FirstIndex) == 1 || (objID.value.length - 1 == LastIndex)) {
            lblmessage.innerHTML = strControlName + " should be in proper format."
            return false
        }
        else if (objID.value.indexOf("..") >= 1) {
            lblmessage.innerHTML = strControlName + " should be in proper format."
            return false
        }

        else if (objID.value.indexOf("@-") >= 1) {
            lblmessage.innerHTML = strControlName + " should be in proper format."
            return false
        }
        else if (objID.value.indexOf("-.") >= 1) {
            lblmessage.innerHTML = strControlName + " should be in proper format."
            return false
        }
        else {
            lblmessage.innerHTML = "&nbsp;";
        }
        
    }
    return true
}

function DisplayTwoDateMessage(objID1, objID2, strControlName1, strControlName2, lblmessage) {

    var FromDate = GetDate(objID1.value);
    var ToDate = GetDate(objID2.value);

    if (FromDate > ToDate) {
        lblmessage.innerHTML = strControlName1 + " Cannot be greater than " + strControlName2;
        return false;
    }
    else {
        lblmessage.innerHTML = "&nbsp;";
    }
    return true;
}

//parameter taken same as DisplayTwoDateMessage function. only message is changed.
function DisplayDateComparison_lessThanMsg(objID1, objID2, strControlName1, strControlName2, lblmessage) {

    var FromDate = GetDate(objID1.value);
    var ToDate = GetDate(objID2.value);

    if (FromDate > ToDate) {
        lblmessage.innerHTML = strControlName2 + " cannot be less than " + strControlName1;
        return false;
    }
    else {
        lblmessage.innerHTML = "&nbsp;";
    }
    return true;
}

function DisplayDecimalMessage(objID, strControlName, lblmessage) {
    if (!objID.isDisabled) {
        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) {
                lblmessage.innerHTML = strControlName + ": Should have Decimal values only";
                return false;
            }
            else if (Temp.charAt(j) == ".") {
            lblmessage.innerHTML = "&nbsp;";
                iCount++;
            }
        }
        if (iCount > 1) {
            lblmessage.innerHTML = strControlName + ": Should have Decimal values only";
            return false;
        }
        else {
            lblmessage.innerHTML = "&nbsp;";
        }
        if (objID.value <= 0) {
            lblmessage.innerHTML = strControlName + ": can not be zero.";
            return false;
        }
        else {
            lblmessage.innerHTML = "&nbsp;";
        }
    }
    return true;
}

function DisplayNumericMessage(objID, strControlName, lblmessage) {
    if (objID.value != "") {
        var num = /[0-9]+/
        numflag = objID.value.match(num);
        if (numflag != objID.value) {
            lblmessage.innerHTML = strControlName + ": Should be Numeric only."
            return false;
        }
        else {
            lblmessage.innerHTML = "&nbsp;";
        }
    }
    return true;
}

function DisplayLengthCheckMessage(objControl, strControlName, strlength, lblmessage) {
    if (objControl.value.length > 0) {
        if (objControl.value.length != strlength) {
            lblmessage.innerHTML = strControlName + ": Should be " + strlength + " digits number";
            return false;
        }
        else {
            lblmessage.innerHTML = "&nbsp;";
        }
    }
    return true;
}

function DisplayPhoneMessage(objID, strControlName, lblmessage) {
    var num = /[0-9\-\+\/\"("\")"\s]+/
    numflag = objID.value.match(num);
    if (objID.value != "") {
        if (numflag != objID.value) {
            lblmessage.innerHTML = strControlName + ": Should be valid phone number";
            return false;
        }
        else {
            lblmessage.innerHTML = "&nbsp;";
        }
        if ((objID.value.length < 6) || (objID.value.length > 15)) {
            lblmessage.innerHTML = strControlName + ": Should be valid phone number";
            return false;
        }
        else {
            lblmessage.innerHTML = "&nbsp;";
        }
        var trimNum = Ltrim_string(objID);
        if (trimNum.value.charAt(0) == "-") {
            lblmessage.innerHTML = strControlName + ": Should be valid phone number";
            return false;
        }
        else {
            lblmessage.innerHTML = "&nbsp;";
        }
    }
    return true;
}

function DisplayDecimalForAAmtMessage(objID, strControlName,lblmessage) {
    if (!objID.isDisabled) {
        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) {
                lblmessage.innerHTML = strControlName + ": Should have Decimal values only";
                objID.focus();
                objID.select();
                return false;
            }
            else if (Temp.charAt(j) == ".") {
            lblmessage.innerHTML = "&nbsp;";
                iCount++;
            }
        }
        if (iCount > 1) {
            lblmessage.innerHTML = strControlName + ": Should have Decimal values only";
            objID.focus();
            objID.select();
            return false;
        }
        else {
            lblmessage.innerHTML = "&nbsp;";
        }
    }
    return true;
}
