﻿

//action
function submitAction(url,answerMode) {

    var phonePrefix = $("select[id*=m_ddlBezeqPhonePrefix]")[0];
    var phoneNumber = $("input[id*=m_txtBezeqPhone]")[0];

    if ($(phonePrefix).val() == "" || !validateIsPhonePopupMode($(phoneNumber).val())) {
        alert("יש להזין טלפון חוקי");
        return false;
    }

    try {
        dcsMultiTrack('DCS.dcsuri', url, 'WT.ti', 'NGN test was submitted');
    }
    catch (e)
    { }

    if (answerMode.toLowerCase() == "normal") {
         // normal mode
        return true;
    } else {
        //popup mode
        window.open(url + (url.indexOf("?") > 0 ? "&" : "?" ) + "Check=1&Phone=" + $(phonePrefix).val() + $(phoneNumber).val());
        return false;
    }
}


// field validation
function validateRequiredField(sender, args) {
    var bIsValid = args.Value.length > 0;
    SetValidOrInvalidUI(sender, args, bIsValid);
}

function validateDropDownRequiredField(source, arguments) {
    arguments.IsValid = (source.selectedIndex > 0);
}


function validateEmailField(sender, args) {
    var regx = /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
    var bIsValid = regx.test(args.Value);
    SetValidOrInvalidUI(sender, args, bIsValid);
}

function validateIsDigit(sender, args) {
    var regx = /^[\d ]+$/;
    var bIsValid = regx.exec(args.Value);
    SetValidOrInvalidUI(sender, args, bIsValid);
}

function validateIsPhone(sender, args) {
    var regx = /(^\d{7}$)/;
    var bIsValid = regx.exec(args.Value);
    SetValidOrInvalidUI(sender, args, bIsValid);
}

function validateIsPhonePopupMode(val) {
    var regx = /(^\d{7}$)/;
    var bIsValid = regx.exec(val);
    return bIsValid;
}

function validateIsTaz(sender, args) {
    var regx = /(^\d{9}$)/;
    var bIsValid = regx.exec(args.Value);
    SetValidOrInvalidUI(sender, args, bIsValid);
}

function validateIsChars(sender, args) {
    var regx = /\d/;
    var bIsValid = regx.exec(args.Value);
    SetValidOrInvalidUI(sender, args, !bIsValid);
}

function SetValidOrInvalidUI(sender, args, IsValid) {
    var labelId = sender.controltovalidate + "_label";
    var fieldId = sender.controltovalidate;
    var field = document.getElementById(fieldId);
    var label = document.getElementById(labelId);

    if (IsValid) {
        try {
            field.style.borderColor = '#2B348F';
        }
        catch (e) { }

        if (label != null)
            label.style.color = '#000000';

        args.IsValid = true;
    }
    else {
        try {
            field.style.borderColor = 'red';
        }
        catch (e) { }

        if (label != null)
            label.style.color = 'red';

        args.IsValid = false;
    }
}


function ClickApplyButton() {
    var elems = document.getElementsByTagName("INPUT");

    for (var i = 0; i < elems.length; i++)
        if (elems[i].name.indexOf("_AppBtn") > 0) {
            elems[i].click();
        }
}

function ShowMessage(wp, msgid) {
    var dv = document.getElementById("dv_" + wp)
    dv.style.display = "block";

    eval("document.getElementById(\"dv_" + wp + "\").innerText = " + msgid);
}


//------------------------------------------------------------------------
//---- VALIDATING JAVA SCRIPT UTILITIES ----------------------------------
//------------------------------------------------------------------------

function validatePhone(strValue) {
    var objRegExp = /(^\d{7}$)/;
    return objRegExp.test(strValue);
}

function validateEmail(strValue) {
    if (strValue == "")
        return true;

    var objRegExp = /(^[a-z]([a-z_\.]*)@([a-z_\.]*)([.][a-z]{3})$)|(^[a-z]([a-z_\.]*)@([a-z_\.]*)(\.[a-z]{3})(\.[a-z]{2})*$)|(^[a-z]([a-z_\.]*)@([a-z_\.]*)(\.[a-z]{2})(\.[a-z]{2})*$)/i;
    return objRegExp.test(strValue);
}

function validateNotEmpty(strValue) {
    var strTemp = strValue;
    strTemp = trimAll(strTemp);
    if (strTemp.length > 0) {
        return true;
    }
    return false;
}

function validateDate(strValue) {
    var objRegExp = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/

    //check to see if in correct format
    if (!objRegExp.test(strValue))
        return false; //doesn't match pattern, bad date
    else {
        return true;

        var strSeparator = strValue.substring(2, 3) //find date separator
        var arrayDate = strValue.split(strSeparator); //split date into day, month, year
        //create a lookup for months not equal to Feb.
        var arrayLookup = { '01': 31, '03': 31, '04': 30, '05': 31, '06': 30, '07': 31,
            '08': 31, '09': 30, '10': 31, '11': 30, '12': 31
        }
        var intDay = parseInt(arrayDate[1]);

        //check if month value and day value agree
        if (arrayLookup[arrayDate[1]] != null) {
            if (intDay <= arrayLookup[arrayDate[1]] && intDay != 0)
                return true; //found in lookup table, good date
        }

        //check for February (bugfix 20050322)
        var intMonth = parseInt(arrayDate[1]);
        if (intMonth == 2) {
            var intYear = parseInt(arrayDate[2]);
            if (((intYear % 4 == 0 && intDay <= 29) || (intYear % 4 != 0 && intDay <= 28)) && intDay != 0)
                return true; //Feb. had valid number of days
        }
    }
    return false; //any other values, bad date
}

function rightTrim(strValue) {
    var objRegExp = /^([\w\W]*)(\b\s*)$/;

    if (objRegExp.test(strValue)) {
        //remove trailing a whitespace characters
        strValue = strValue.replace(objRegExp, '$1');
    }
    return strValue;
}

function leftTrim(strValue) {
    var objRegExp = /^(\s*)(\b[\w\W]*)$/;

    if (objRegExp.test(strValue)) {
        //remove leading a whitespace characters
        strValue = strValue.replace(objRegExp, '$2');
    }
    return strValue;
}

function trimAll(strValue) {
    var objRegExp = /^(\s*)$/;

    //check for all spaces
    if (objRegExp.test(strValue)) {
        strValue = strValue.replace(objRegExp, '');
        if (strValue.length == 0)
            return strValue;
    }

    //check for leading & trailing spaces
    objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;
    if (objRegExp.test(strValue)) {
        //remove leading and trailing whitespace characters
        strValue = strValue.replace(objRegExp, '$2');
    }

    var reg = /"/g;
    strValue = strValue.replace(reg, "&quot;");
    return strValue;
}