﻿function ValidateEmail(str) {
    //var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
    var filter = /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
    if (filter.test(str)) {
        return true;
    }
    else {
        alert("Please enter a valid email address!");
        return false;
    }
}

// JScript File
function popup(pageURL, w, h) {
    var left = (screen.width / 2) - (w / 2);
    var top = (screen.height / 2) - (h / 2);
    var targetWin = window.open(pageURL, '', 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);
    //targetWin.moveTo(0,0);
    return false;
}
function popupc(url) {
    var win_vt = window.open(url, '', 'width=500,height=350,status=1,scrollbars=yes,resizable=yes,topmargin=600,leftmargin=600');
    win_vt.moveTo(0, 0);
}
function getExtension(filename) {
    filename = filename.toLowerCase();

    fileArr = filename.split("\\");

    fname = fileArr[fileArr.length - 1];

    fnameArr = fname.split(".");

    ext = fnameArr[fnameArr.length - 1];

    return ext;
}


// Returns true if character c is an English letter (A .. Z, a..z)

function isLetter(c) {
    return (((c >= "a") && (c <= "z")) || ((c >= "A") && (c <= "Z")));
}

function dateCompare(dt1, dt2) {
    arrdt1 = dt1.split('/');
    mm1 = parseInt(arrdt1[0]);
    dd1 = parseInt(arrdt1[1]);
    yy1 = parseInt(arrdt1[2]);

    arrdt2 = dt2.split('/');
    mm2 = parseInt(arrdt2[0]);
    dd2 = parseInt(arrdt2[1]);
    yy2 = parseInt(arrdt2[2]);

    if (yy2 < yy1) {
        return false;
    }
    else {
        if (yy2 == yy1) {
            if (mm2 < mm1) {
                return false;
            }
            else {
                if (mm2 == mm1) {
                    if (dd2 < dd1) {
                        return false
                    }
                }
            }
        }
    }
    return true;

}


function isNum(Num) {
    var charpos = Num.search("[^0-9]");
    if (Num.length > 0 && charpos >= 0) {
        return false;
    }
    else {
        return true;
    }
}

function isNumberString(InString) {
    if (InString.length == 0)
        return (false);
    RefString = "1234567890,.";
    dot = 0
    for (Count = 0; Count < InString.length; Count++) {
        TempChar = InString.substring(Count, Count + 1);
        if (RefString.indexOf(TempChar, 0) == -1)
            return (false);
        if (InString.charAt(Count) == '.') {
            dot++;
        }
    }
    if (dot > 1) {
        return (false);
    }
    return (true);
}

///// Checking for image format only gif, jpg ,jpeg & bmp format is accept

//Checking for extension .gif, jpg, jpeg, bmp
function checkExt(ctl) {

    filename = ctl.value.replace("/", "//");

    if ((getExtension(filename) != "gif") && (getExtension(filename) != "jpg") && (getExtension(filename) != "jpeg") && (getExtension(filename) != "bmp")) {
        alert("Only files with extension .gif or .jpg or .jpeg or .bmp are allowed to be uploaded");
        return false;
    }
}


function getExtension(filename) {

    filename = filename.toLowerCase();

    fileArr = filename.split("\\");

    fname = fileArr[fileArr.length - 1];

    fnameArr = fname.split(".");

    ext = fnameArr[fnameArr.length - 1];

    return ext;
}

/// End here



// Function for checking value of text should be integer
function isNum(Num) {
    var charpos = Num.search("[^0-9]");
    if (Num.length > 0 && charpos >= 0) {
        return false;
    }
    else {
        return true;
    }
}


function isTime(strTime) {
    var datePattern = /^(\d{1,2})(\:|:)(\d{1,2})(\:|:)(\d{1,2})$/;
    var matchArray = strTime.match(datePattern); //check the date format ok?.
    var blnIsTime = true;


    if (matchArray == null) {
        alert("Please enter time as HH:MM:SS ");
        return false;
        blnIsTime = false;
    }

    hours = matchArray[1];
    minutes = matchArray[3];
    seconds = matchArray[5];


    if (hours < 1 || hours > 23) {
        alert("Hours must be between 1 and 23");
        return false;
        blnIsTime = false;
    }

    if (minutes < 1 || minutes > 59) {
        alert("Minutes must be between 1 and 59");
        return false;
        blnIsTime = false;
    }

    if (seconds < 1 || seconds > 59) {
        alert("Seconds must be between 1 and 59");
        return false;
        blnIsTime = false;
    }
    return true;
}

function isBlank(str) {
    if (Trim(str) != "")
        return false;
    return true;
}
function TRIM(STRING) {
    STRING = LTrim(STRING);
    return RTrim(STRING);
}

function RTrim(STRING) {
    while (STRING.charAt((STRING.length - 1)) == " ") {
        STRING = STRING.substring(0, STRING.length - 1);
    }
    return STRING;
}


function LTrim(STRING) {
    while (STRING.charAt(0) == " ") {
        STRING = STRING.replace(STRING.charAt(0), "");
    }
    return STRING;
}

function isDate(strDate) {
    var datePattern = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
    var matchArray = strDate.match(datePattern); //check the date format ok?.
    var blnIsDate = true;


    if (matchArray == null) {
        alert("Please enter date as mm/dd/yyyy ");
        return false;
        blnIsDate = false;
    }

    month = matchArray[1];
    day = matchArray[3];
    year = matchArray[5];


    if (month < 1 || month > 12) {
        alert("Month must be between 1 and 12");
        return false;
        blnIsDate = false;
    }

    if (day < 1 || day > 31) {
        alert("Day must be between 1 and 31");
        return false;
        blnIsDate = false;
    }

    if ((month == 4 || month == 6 || month == 9 || month == 11) && day == 31) {
        alert("Month " + month + " doesn't have 31 days!");
        return false;
        blnIsDate = false;
    }

    if (month == 2) {
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
        if (day > 29 || (day == 29 && !isleap)) {
            alert("February " + year + " doesn't have " + day + " days!");
            return false;
            blnIsDate = false;
        }

    }

    return true;
}


function isDate1(strDate) {
    var datePattern = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
    var matchArray = strDate.match(datePattern); //check the date format ok?.
    var blnIsDate = true;


    if (matchArray == null) {
        alert("Please enter date as dd/mm/yyyy ");
        return false;
        blnIsDate = false;
    }

    month = matchArray[3];
    day = matchArray[1];
    year = matchArray[5];

    if (day < 1 || day > 31) {
        alert("Day must be between 1 and 31");
        return false;
        blnIsDate = false;
    }

    if (month < 1 || month > 12) {
        alert("Month must be between 1 and 12");
        return false;
        blnIsDate = false;
    }



    if ((month == 4 || month == 6 || month == 9 || month == 11) && day == 31) {
        alert("Month " + month + " doesn't have 31 days!");
        return false;
        blnIsDate = false;
    }

    if (month == 2) {
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
        if (day > 29 || (day == 29 && !isleap)) {
            alert("February " + year + " doesn't have " + day + " days!");
            return false;
            blnIsDate = false;
        }

    }

    return true;
}

function isFloat(s) {
    var i;
    var seenDecimalPoint = false;
    var decimalPointDelimiter = "."
    var defaultEmptyOK = true
    if (isEmpty(s))
        if (isFloat.arguments.length == 1) return defaultEmptyOK;
    else return (isFloat.arguments[1] == true);

    if (s == decimalPointDelimiter) return false;

    // Search through string's characters one by one
    // until we find a non-numeric character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++) {
        // Check that current character is number.
        var c = s.charAt(i);

        if ((c == decimalPointDelimiter) && !seenDecimalPoint) seenDecimalPoint = true;
        else if (!isDigit(c)) return false;
    }

    // All characters are numbers.
    return true;
}
function isDigit(c) {
    return ((c >= "0") && (c <= "9"))
}

function isEmpty(s) {
    return ((s == null) || (s.length == 0))
}

function checkMoney(ctl, msgName) {


    if (isFloat(ctl.value) == false) {
        alert('"' + msgName + '"' + " is Invalid. \nPlease Enter only Numeric Data. \nDo not use any characters like ','");
        ctl.focus();
        return (false);
    }
    else {
        return (true);
    }
}

function checkBlank(ctl, msgName) {
    if (Trim(ctl.value) == "") {
        alert('"' + msgName + '"' + " Cannot be blank");
        ctl.focus();
        return (false);
    }

}

function checkSelect(ctl, msgName) {
    if (ctl.selectedIndex <= 0) {
        alert('Please Select ' + msgName);
        ctl.focus();
        return (false);
    }
    else {
        return (true);
    }
}

function confirmPassword(ctl1, ctl2) {
    if (ctl1.value != ctl2.value) {
        alert("Password and Confirm Password do not match");
        ctl1.focus();
        return (false);
    }
}

function deleteitem(theMessage, theTarget) {
    var theRadio = form1.item_nbr;
    var strRadio;
    if (theRadio.length) {
        for (var i = 0; i < theRadio.length; i++) {
            if (theRadio[i].checked) {
                strRadio = theRadio[i].value;
            }
        }
    } else {
        strRadio = theRadio.value;
    }
    if (strRadio > 0) {
        var blnConfirm;
        blnConfirm = confirm("Are you sure?");
        if (blnConfirm) {
            form1.action = theTarget + '?item_nbr=' + strRadio
            form1.submit();
        }
    } else {
        alert("Select " + theMessage + " To Delete");
    }
}

function radio_validate(formObj) {
    var isOK = false;
    for (i = 0; i < formObj.elements.length; i++) {
        currElem = formObj.elements[i]
        if (currElem.type == "radio" && currElem.checked) {
            isOK = true;
            break;
        }
    }
    if (!isOK) alert("You need to select a option !");

    return isOK;
}

function radio_validate_1(radioObj) {
    var isOK = false;
    for (i = 0; i < radioObj.length; i++) {
        currElem = radioObj[i]
        if (currElem.type == "radio" && currElem.checked) {
            isOK = true;
            break;
        }
    }
    // if (!isOK) alert("You need to select a option !");

    return isOK;
}

// Validetion for Zip code it accept upto 5 no

function Zip(s) {
    var isNot = "`!@$^*()[{]}\|/;'',<>_";

    if (s.length <= 15) {
        var i;
        var cnt = 0;
        for (i = 0; i < s.length; i++) {
            var c = s.charAt(i);
            if (isNot.indexOf(c) != -1) {
                return false;
            }

        }

    }
    else {
        return false;
    }

    return true;
}

function Ph_no(s) {
    if (s.length <= 15) {
        var i;
        var cnt = 0;
        var isNot = "`!@$^*()[{]}\|/;'',<>_";
        for (i = 0; i < s.length; i++) {
            var c = s.charAt(i);
            if (c == " ") {
                continue;
            }
            if (c == "-") {
                continue;
            }

            if (!isDigit(c)) {
                return false;
                break;
            }
            if (isLetter(c)) {
                return false;
                break;
            }
            if (isNot.indexOf(c) != -1) {
                return false;
                break;
            }

            if (c == 0) {
                cnt++;
            }
        }
        if (cnt == 15) {
            return false;
        }
        else {
            return true;
        }
    }
    else {
        return false;
    }
}

/////////////////////////////////////////////////////////////////////////////////





////////////////////////////////////////////////////////////////////////////////




//function which allow spaces,underscore, "/", "-" and character should start with alphabets only

function isName(s) {
    var i;

    for (i = 0; i < s.length; i++) {
        var c = s.charAt(i);


        if (i == 0) {

            if (c == " ") {
                return false;
                break;
            }
            /*else if(c == "/")
            {
            return false;
            break;
            }
            else if(c == "-")
            {
            return false;
            break;
            }
            else if(c == "_")
            {
            return false;
            break;
            }*/
        }
        if (isLetter(c)) {

            continue;
        }
        if (isDigit(c)) {

            continue;
        }
        else {

            switch (c) {
                case ".":
                    continue;


                case "-":
                    continue;


                case "/":
                    continue;


                case "@":
                    continue;
                case "_":
                    continue;

                default:
                    return false;
            }
        }

    }
    return true;
}


function isAlpha(s, AllowSpace, AllowUnderscore) {
    var i;
    // Search through string's chars one by one until we find a
    // non-alphanumeric char, then return false; if we don't, return true
    for (i = 0; i < s.length; i++) {
        var c = s.charAt(i);
        if (isLetter(c)) {
            continue;
        }
        else if (isDigit(c)) {
            continue;
        }
        else {
            switch (c) {
                case "_":

                    break;
                case " ":
                    if (AllowSpace == false) {
                        return false;
                    }
                    break;
                case "-":

                    break;
                case ".":

                    break;
                case "(":
                    break;
                case ")":
                    break;
                case "'":
                    break;
                case "`":
                    break;
                default:
                    return false;
            }
        }
    }

    // All characters are numbers or letters
    return true;
}


function Trim(s) {
    // Remove leading spaces and carriage returns

    while ((s.substring(0, 1) == ' ') || (s.substring(0, 1) == '\n') || (s.substring(0, 1) == '\r')) {
        s = s.substring(1, s.length);
    }

    // Remove trailing spaces and carriage returns

    while ((s.substring(s.length - 1, s.length) == ' ') || (s.substring(s.length - 1, s.length) == '\n') || (s.substring(s.length - 1, s.length) == '\r')) {
        s = s.substring(0, s.length - 1);
    }
    return s;
}


// Check for URL

function checkURL(sUrl) {
    var sUrl = Trim(sUrl);
    var url = false;
    var isNot = "`!@$^*()[{]}\|;'',<> ";
    if (sUrl.length == "") {
        return false;
    }
    else {
        if (sUrl.indexOf('://') != -1) {
            if (sUrl.indexOf('"') == -1) {
                url = true;
                if (sUrl.length <= 7) {
                    url = false;
                }
                for (i = 0; i != sUrl.length; ++i) {
                    if (isNot.indexOf(sUrl.substring(i, i + 1)) != -1) {
                        url = false;
                    }
                }
            }
        }
        return url;
    }

}

/////  function to count total number of charectors

function charCount(ctl) {
    var count_char;

    count_char = ctl.value.length;

    return count_char;
}
/* Function to check IP validation */
function isIP(IPStr) {
    var ipDomainPat = /(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/
    var matchArray = IPStr.match(ipDomainPat)
    if ('!%&\\(\\)<>@,;:\\\\\\\"\\.\\[\\]'.indexOf(IPStr.charAt(0)) >= 0) {
        return false;
    }
    var matchArray = IPStr.match(ipDomainPat)
    if (matchArray == null) {
        return false
    }
    var IPArray = IPStr.match(ipDomainPat)
    if (IPArray != null) {
        for (var i = 1; i <= 4; i++) {
            if (IPArray[i] > 255) {
                return false
            }
        }
        return true
    }
    return true;
}

function isvalidcandaZip(Num) {
    var charpos = Num.search("^[ABCEGHJKLMNPRSTVXY][0-9][A-Z] [A-Z][0-9][A-Z]$");

    //var charpos = Num.search("[ABCEGHJKLMNPRSTVXY]\d[A-Z]\s\d[A-Z]\d"); 
    if (Num.length > 0 && charpos < 0) {
        return false;
    }
    else {
        return true;
    }
}

function isAlphaNum(s) {
    //debugger
    var i;
    // Search through string's chars one by one until we find a
    // non-alphanumeric char, then return false; if we don't, return true

    if (s.length <= 15 && s.length >= 6) {
        for (i = 0; i < s.length; i++) {
            var c = s.charAt(i);
            if (isLetter(c)) {
                continue;
            }
            else if (isDigit(c)) {
                continue;
            }
            else {
                return false;
            }
        }

        // All characters are numbers or letters
        return true;
    }
    else {
        return false;
    }
}
function checkImageUpload(fileName) {
    if (document.layers && location.protocol.toLowerCase() != 'file:' && navigator.javaEnabled()) {
        netscape.security.PrivilegeManager.enablePrivilege('UniversalFileRead');
    }
    var msg = '';
    var img = new Image();
    img.src = 'file:///' + fileName;
    if (img.fileSize > 3000 || img.width > 500 || img.height > 120) {
        return false
    }
    else {
        return true
    }

}




function validateClient() {

    var txtprefix = document.getElementById("txtprefix");
    var drpcountry = document.getElementById("drpCountry");
    var drpstate = document.getElementById("drpState");
    var drpcity = document.getElementById("drpCity");
    var zip = document.getElementById("txtzip");
    if (txtprefix.value == null) {
        alert("Please Enter Prefix");
        txtprefix.focus();
        return false;
    }
    if (drpcountry.value == "0" || drpcountry.value == "") {
        alert("Please Select Country");
        drpcountry.focus();
        return false;
    }
    if (drpstate.value == "0" || drpstate.value == "") {
        alert("Please Select State");
        drpstate.focus();
        return false;
    }
    if (drpcity.value == "0" || drpcity.value == "") {
        alert("Please Select City");
        drpcity.focus();
        return false;
    }
    return true;
}

function Mobile_no(s) {
    if (s.length == 10) {
        var i;
        var cnt = 0;
        var isNot = "`!@$^*()[{]}\|/;'',<>_";
        for (i = 0; i < s.length; i++) {
            var c = s.charAt(i);
            if (c == " ") {
                continue;
            }
            if (c == "-") {
                continue;
            }

            if (!isDigit(c)) {
                return false;
                break;
            }
            if (isLetter(c)) {
                return false;
                break;
            }
            if (isNot.indexOf(c) != -1) {
                return false;
                break;
            }

            if (c == 0) {
                cnt++;
            }
        }
        //		if(cnt == 15)
        //		{
        //			return false;
        //		}
        //		else
        //		{
        //		return true;
        //		}
    }
    else {
        return false;
    }
}

//Start function to validate ucAddEditProducts control textBoxes

function validateucAddEditProduct() {
    var txtProductName;
    var txtPrice;
    txtProductName = document.getElementById("AddEditProduct1_tbProductName");
    txtPrice = document.getElementById("AddEditProduct1_tbPrice");
    if (TRIM(txtProductName.value) == "") {
        alert("Enter Product Name.");
        txtProductName.focus();
        return false;
    }
    if (TRIM(txtPrice.value) == "") {
        alert("Please Enter Price.");
        txtPrice.value = "";
        txtPrice.focus();
        return false;
    }
}

//end function
function ValidateAddEditFiles(type) {
    var txtNameValue = document.getElementById("UcAddEditFile1_tbName").value;
    if (TRIM(txtNameValue) == "") {
        alert("Please Enter Name.");
        document.getElementById("UcAddEditFile1_tbName").value = "";
        document.getElementById("UcAddEditFile1_tbName").focus();
        return false;
    }
    var upload = document.getElementById("UcAddEditFile1_attachment");
    if (type == 'Add') {
        if (upload.value == "") {
            alert("Please choose a file to attach!");
            return false;
        }
    }
}

function ValidateAddEditPostcodesFranchises() {
    var txtStartPCValue = document.getElementById("UcAddEditPostcodesFranchises1_ddlStartPC").value;
    var txtEndPCValue = document.getElementById("UcAddEditPostcodesFranchises1_ddlEndPC").value;
    if (txtStartPCValue > txtEndPCValue) {
        alert("Please Start Postcode must be less than End Postcode !");
        return false;
    }
    else {
        return true;
    }
}
function SetFocus(e, ctrid) {

    var key //= (window.event) ? event.keyCode : e.which;
    if (window.event)
        key = event.keyCode
    else
        key = e.which
    if (key == 13) {
        var Submitbtn = document.getElementById(ctrid);
        Submitbtn.click();
        return false;
    }
}

function validateucAddEditProductCategory() {
    var txtProductCat = TRIM(document.getElementById("UcAddEditProductCategory1_tbProductCategory").value);
    if (txtProductCat == "") {
        alert("Please enter product category.");
        document.getElementById("UcAddEditProductCategory1_tbProductCategory").focus();
        return false;
    }
    else {
        return true;
    }
}

function validateucAddEditFranchiseCategory() {
    var txtFranchiseCat = TRIM(document.getElementById("UcAddEditFranchiseCategory1_txtFranchiseCategory").value);
    if (txtFranchiseCat == "") {
        alert("Please enter franchise category.");
        document.getElementById("UcAddEditFranchiseCategory1_txtFranchiseCategory").value = "";
        document.getElementById("UcAddEditFranchiseCategory1_txtFranchiseCategory").focus();
        return false;
    }
    else {
        return true;
    }
}

//Function to validate add/edit admin (starts)
function validateadmincontrols(ctrlname, mode) {
    // debugger
    var m = mode;
    txtUserName = document.getElementById(ctrlname + "_txtUserName");
    txtPassword = document.getElementById(ctrlname + "_txtPassword");
    txtOldPassword = document.getElementById(ctrlname + "_txtOldPassword");
    txtNewPassword = document.getElementById(ctrlname + "_txtNewPassword");
    txtEmail = document.getElementById(ctrlname + "_txtEmail");
    if (txtUserName.value == "") {
        alert("Please Enter UserName.");
        txtUserName.focus();
        return false;
    }
    if (m == "Add") {
        if (txtPassword.value == "") {
            alert("Please Enter Password.");
            txtPassword.focus();
            return false;
        }
    }
    else {
        if (txtOldPassword.value == "") {
            alert("Please Enter Old Password.");
            txtOldPassword.focus();
            return false;
        }
        if (txtNewPassword.value == "") {
            alert("Please Enter New Password.");
            txtNewPassword.focus();
            return false;
        }
    }
    if (txtEmail.value == "") {
        alert("Please Enter EmailID.");
        txtEmail.focus();
        return false;
    }
    else {
        if (!ValidateEmail(txtEmail)) {
            alert("Please Enter valid EmailID.");
            txtEmail.value = "";
            txtEmail.focus();
            return false;
        }
    }
}
//Function to validate add/edit admin (end)

function PriceRoundUp(ControlId) {
    //debugger
    var Price = document.getElementById(ControlId);
    var cn = 0;
    if (TRIM(Price.value) != "" && Price.value.length > 0) {
        RefString = "1234567890,.";
        dot = 0
        for (Count = 0; Count < Price.value.length; Count++) {
            TempChar = Price.value.substring(Count, Count + 1);
            if (RefString.indexOf(TempChar, 0) == -1) {
                alert("Invalid Price value.");
                Price.focus();
                Price.value = "";
                return (false);
            }
            if (Price.value.charAt(Count) == '.') {
                dot++;
            }
        }
        if (dot > 1) {
            //alert("More than one dot not allowed in price value.");
            Price.value = "";
            Price.focus();
            return (false);
        }
        for (var Count = 0; Count < Price.value.length; Count++) {
            if (Price.value.charAt(Count) == '.') {
                Count++;
                cn++;
                break;
            }
        }
        if (cn > 0 && ++Count < Price.value.length) {
            Price.value = Math.round(Price.value * 100) / 100;
        }
    }
}
