﻿// JScript File
var needToConfirm = true;
var hasChanged = false;
function setUnloader() {
    //window.onbeforeunload = question;
}
function question() {

    if (needToConfirm) {
        if (isFormModified(document.aspnetForm, null, 'ctl00$content$ButtonReset,ctl00$content$ButtonSubmit') && hasChanged) {

            needToConfirm = false;
            return "You still didn't save the changes you made.";
        }
    }
}
function isFormModified(theform, hidden_fields, ignore_fields) {
    if (hidden_fields == null) { hidden_fields = ""; }
    if (ignore_fields == null) { ignore_fields = ""; }
    var hiddenFields = new Object();
    var ignoreFields = new Object();
    var i, field;
    var hidden_fields_array = hidden_fields.split(',');
    for (i = 0; i < hidden_fields_array.length; i++) {
        hiddenFields[Trim(hidden_fields_array[i])] = true;
    }
    var ignore_fields_array = ignore_fields.split(',');
    for (i = 0; i < ignore_fields_array.length; i++) {
        ignoreFields[Trim(ignore_fields_array[i])] = true;
    }
    for (i = 0; i < theform.elements.length; i++) {
        var changed = false;
        var name = theform.elements[i].name;
        if (!isBlank(name)) {
            var type = theform.elements[i].type;
            if (!ignoreFields[name]) {
                if (type == "hidden" && hiddenFields[name]) { changed = isChanged(theform[name]); }
                else if (type == "hidden") { changed = false; }
                else { changed = isChanged(theform[name]); }
            }
        }
        if (changed) { return true; }
    }
    return false;
}
function LTrim(str) {
    if (str == null) { return null; }
    for (var i = 0; str.charAt(i) == " "; i++);
    return str.substring(i, str.length);
}
function RTrim(str) {
    if (str == null) { return null; }
    for (var i = str.length - 1; str.charAt(i) == " "; i--);
    return str.substring(0, i + 1);
}
function Trim(str) { return LTrim(RTrim(str)); }
function isBlank(val) {
    if (val == null) { return true; }
    for (var i = 0; i < val.length; i++) {
        if ((val.charAt(i) != ' ') && (val.charAt(i) != "\t") && (val.charAt(i) != "\n") && (val.charAt(i) != "\r")) { return false; }
    }
    return true;
}

function isChanged(obj) { return (getInputValue(obj) != getInputDefaultValue(obj)); }
function getInputValue(obj, delimiter) {
    var use_default = (arguments.length > 2) ? arguments[2] : false;
    if (isArray(obj) && (typeof (obj.type) == "undefined")) {
        var values = new Array();
        for (var i = 0; i < obj.length; i++) {
            var v = getSingleInputValue(obj[i], use_default, delimiter);
            if (v != null) { values[values.length] = v; }
        }
        return commifyArray(values, delimiter);
    }
    return getSingleInputValue(obj, use_default, delimiter);
}
function getInputDefaultValue(obj, delimiter) { return getInputValue(obj, delimiter, true); }
function isArray(obj) { return (typeof (obj.length) == "undefined") ? false : true; }
function getSingleInputValue(obj, use_default, delimiter) {
    switch (obj.type) {
        case 'radio': case 'checkbox': return (((use_default) ? obj.defaultChecked : obj.checked) ? obj.value : null);
        case 'text': case 'hidden': case 'textarea': return (use_default) ? obj.defaultValue : obj.value;
        case 'password': return ((use_default) ? null : obj.value);
        case 'select-one':
            if (obj.options == null) { return null; }
            if (use_default) {
                var o = obj.options;
                for (var i = 0; i < o.length; i++) { if (o[i].defaultSelected) { return o[i].value; } }
                return o[0].value;
            }
            if (obj.selectedIndex < 0) { return null; }
            return (obj.options.length > 0) ? obj.options[obj.selectedIndex].value : null;
        case 'select-multiple':
            if (obj.options == null) { return null; }
            var values = new Array();
            for (var i = 0; i < obj.options.length; i++) {
                if ((use_default && obj.options[i].defaultSelected) || (!use_default && obj.options[i].selected)) {
                    values[values.length] = obj.options[i].value;
                }
            }
            return (values.length == 0) ? null : commifyArray(values, delimiter);
    }
    alert("FATAL ERROR: Field type " + obj.type + " is not supported for this function");
    return null;
}
function commifyArray(obj, delimiter) {
    if (typeof (delimiter) == "undefined" || delimiter == null) {
        delimiter = ",";
    }
    var s = "";
    if (obj == null || obj.length <= 0) { return s; }
    for (var i = 0; i < obj.length; i++) {
        s = s + ((s == "") ? "" : delimiter) + obj[i].toString();
    }
    return s;
}
function onKeyPressBlockNumbers(e, type) {
    if (!e.cancelBubble) {
        e.cancelBubble = true;
    }
    var key = window.event ? e.keyCode : e.which;
    var keychar = String.fromCharCode(key);
    switch (type) {
        case 1: //without [.] [,] [numbers]
            reg = /[\d<>!"·$%&\/\\()=?¿ªº|@#¬'¡,.\-;:_\*\+ç¨`\[\]\{\}~~]/;
            break;
        case 2: //with [.] [,] [/] [numbers]
            reg = /[<>!"·$%&\\()=?¿ªº|@¬'¡,\-;:_\*\+ç¨`\[\]\{\}~~]/;
            break;
        case 3: //just letters and numbers
            reg = /[<>!"·$%&\\()=?¿ªº|@¬'¡,.\-;:_\*\+ç¨`\[\]\{\}~~´\/]/;
            break;

        case 4: //just letters without spaces
            reg = /[\d<>!"·$%&\\()=?¿ªº|@¬'¡,.\-;:_\*\+ç¨`\[\]\{\}~~´\/]/;
            break;
        case 5: //just letters and numbers
            reg = /[<>!"·$%&\\()=?¿ªº|¬'¡,\;:_\^\*\ç¨`\[\]\/.@#€{\}~~]/;
            break;
        case 6: //just letters and numbers long way
            reg = /[<>!"·$%&\\()=?¿ªº|¬'¡,\;:\*\ç¨`\[\]\/._Ç^@#€{\}~~]/;
            break;
        case 7: //just numbers
            reg = /[ <>!"·$€ƒ║£╚§æΦ⌂Ç♀ÅÆ¢₧%&\\()=?¿ªº|#@¬'¡,.\-;:_\*\+ç¨`\[\]\{\}~~´\/áéíóúýàèìòùäëïöüÿÁÉÍÓÚÝÀÈÌÒÙÄËÏÖÜÂÊÎÔÛâêîôûabcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ]/;
            break;
    }
    var res = !reg.test(keychar);
    return res;
}


function checkValue(menu, txtField, isSpec, errorSpan) {
    var field = document.getElementById(txtField);
    var error = document.getElementById(errorSpan);
    var value;
    if (isSpec) { value = 'OS'; }
    else { value = '1'; }
    if (menu.value == value) {
        field.style.display = 'inline';
        field.style.visibility = 'visible';
        field.focus();
    }
    else {
        field.style.display = 'none';
        field.style.visibility = 'hidden';
        field.value = '';
        if (error.style.visibility == 'visible') {
            error.style.visibility = 'hidden';
        }
    }
}
function checkSelect(select, arguments) {
    if (arguments.Value == 0) {
        arguments.IsValid = false;
    }
    else {
        arguments.IsValid = true;
    }

}
function checkPrySelect(object, arguments) {

    var select = document.getElementById("ctl00_content_primarySpecialty");
    if (select.value == 'OS') {
        if (Trim(arguments.Value) == '') {
            arguments.IsValid = false;
        }

    }
    else {
        arguments.IsValid = true;
    }

}
function checkSecSelect(object, arguments) {

    var select = document.getElementById("ctl00_content_secondSpecialty");
    if (select.value == 'OS') {
        if (Trim(arguments.Value) == '') {
            arguments.IsValid = false;
        }

    }
    else {
        arguments.IsValid = true;
    }

}
function checkLiabSelect(object, arguments) {

    var select = document.getElementById("ctl00_content_liability");
    if (select.value == 1) {
        if (Trim(arguments.Value) == '') {
            arguments.IsValid = false;
        }

    }
    else {
        arguments.IsValid = true;
    }

}

function CheckReenteredEmail(object, arguments) {
    var primaryEmail = document.getElementById("ctl00_content_primaryEmail");
    if (arguments.Value == primaryEmail.value) {
        arguments.IsValid = true;
    }
    else {
        arguments.IsValid = false;
    }
}
//  NCCPA number must be a 7 digits number, it must allow '0's in front of the number
function checkNCCPANumber(object, arguments) {
    checkNumberLength(object, arguments, 7);
}
//  NPI number must be a 10 digits number, it must allow '0's in front of the number
function checkNPINumber(object, arguments) {
    checkNumberLength(object, arguments, 10);
}

function checkNumberLength(object, arguments, len) {
    if (arguments.Value != '') {
        var text = "" + arguments.Value;
        arguments.IsValid = (text.length == len);
    }
    else {
        arguments.IsValid = true;
    }
}

//  Verifies if page is valid and then disables the button, tries to call to the postback and
//  if the postback fails, the button gets enabled again.
function doPostBack(button) {
    if (typeof (Page_ClientValidate) == 'function') {
        Page_ClientValidate();
    }

    if (Page_IsValid) {
        button.disabled = true;

        var ret = true;
        try {
            __doPostBack(button.name, '');
        } catch (ex) {
            ret = false;
        }

        if (ret == false) {
            button.disabled = false;
        }

        return ret;
    }
    else {
        return false;
    }
}

function doPostBack2(button1, buttonName2) {
    var button2 = document.getElementById('ctl00_content_' + buttonName2);

    if (typeof (Page_ClientValidate) == 'function') {
        Page_ClientValidate();
    }

    if (Page_IsValid) {
        button1.disabled = true;
        button2.disabled = true;

        var ret = true;
        try {
            __doPostBack(button1.name, '');
        } catch (ex) {
            ret = false;
        }

        if (ret == false) {
            button1.disabled = false;
            button2.disabled = false;
        }

        return ret;
    }
    else {
        return false;
    }
}

function doPostBack3(button) {
    button.disabled = true;

    var ret = true;
    try {
        __doPostBack(button.name, '');
    } catch (ex) {
        ret = false;
    }

    if (ret == false) {
        button.disabled = false;
    }

    return ret;
}

function doPostBack4(button1, buttonName2) {
    var button2 = document.getElementById('ctl00_content_' + buttonName2);

    button1.disabled = true;
    button2.disabled = true;
    
    var ret = true;
    try {
        __doPostBack(button1.name, '');
    } catch (ex) {
        ret = false;
    }

    if (ret == false) {
        button1.disabled = false;
        button2.disabled = false;
    }

    return ret;
}

function ValidateAcceptTOSCheckBox(source, args) {
    args.IsValid = document.getElementById("ctl00_content_cAccept").checked;
}

//function SelectMenuIndex(index) {
//    var menuId = "ctl00_Menu2n" + index;
//    var element = document.getElementById(menuId);

//    if (element != null) {
//        
//    }
//}