﻿function Scripts2_GetObject(obj) {
    var theObj;
    if (document.all) {
        if (typeof obj == "string") {
            return document.all(obj);
        } else {
            return obj.style;
        }
    }
    if (document.getElementById) {
        if (typeof obj == "string") {
            return document.getElementById(obj);
        } else {
            return obj.style;
        }
    }
    return null;
}

function toCount(entrance, exit, text, characters) {
    //var entranceObj=Scripts2_GetObject(entrance);
    var entranceObj = entrance;
    var exitObj = Scripts2_GetObject(exit);
    var length = characters - entranceObj.value.length;
    if (length <= 0) {
        length = 0;
        text = '<span class="disable"> ' + text + ' </span>';
        entranceObj.value = entranceObj.value.substr(0, characters);
    }
    exitObj.innerHTML = text.replace("{CHAR}", length);
}



function ExtractPhone(obj, decimalPlaces, allowNegative, oFocus, focusLength) {
    var temp = obj.value;
    var reg0Str = '[0-9]*';
    reg0Str += '\\.?[0-9]*';
    reg0Str = allowNegative ? '^-?' + reg0Str : '^' + reg0Str;
    reg0Str = reg0Str + '$';
    var reg0 = new RegExp(reg0Str);
    //	if (reg0.test(temp)) return true;
    if (oFocus != null) {
        if (temp.length >= focusLength) {
            var objFocus = document.getElementById(oFocus);
            objFocus.focus();
        }
    }
    obj.value = temp;
}
function BlockNonNumbers(obj, e, objDigit, allowDecimal, allowNegative, allowThousand) {
    var key;
    var isCtrl = false;
    var keychar;
    var reg;

    if (window.event) {
        key = e.keyCode;
        isCtrl = window.event.ctrlKey
    }
    else if (e.which) {
        key = e.which;
        isCtrl = e.ctrlKey;
    }

    if (isNaN(key)) return true;

    keychar = String.fromCharCode(key);

    if (key == 8 || isCtrl) {
        return true;
    }
    reg = /\d/;
    var isFirstN = allowNegative ? keychar == '-' && obj.value.indexOf('-') == -1 : false;
    var isFirstD = allowDecimal ? keychar == objDigit && obj.value.indexOf(objDigit) == -1 : false;
    var isFirstT = allowThousand ? keychar == objThousand && obj.value.indexOf(objThousand) == -1 : false;
    return isFirstN || isFirstD || isFirstT || reg.test(keychar);
}

function ExtractNumber(obj, objDigit, objThousand, decimalPlaces, allowNegative, allowThousand) {
    var value = obj.value.replace(/\$|\./g, '');

    value += '';
    var position = value.indexOf(objDigit);
    var valueEnd = '';

    if (position != -1) {
        valueEnd = objDigit + value.substring(position + 1, value.length);
        value = value.substring(0, position);
    }

    var regex = /(\d+)(\d{3})/;

    if (allowThousand) {
        while (regex.test(value)) {
            value = value.replace(regex, '$1' + objThousand + '$2');
        }
    }

    var splitValue = obj.value.split(",");
    splitValue = splitValue[1];

    if (splitValue != undefined) {
        if (splitValue.length > decimalPlaces) {
            valueEnd = valueEnd.substring(0, decimalPlaces + 1);
        }
    }
    obj.value = value + valueEnd;
}

function addCommas(sValue, objThousand) {
    var sRegExp = new RegExp('(-?[0-9]+)([0-9]{3})');

    while (sRegExp.test(sValue)) {
        sValue = sValue.replace(sRegExp, '$1' + objThousand + '$2');
    }
    return sValue;
}

function ismaxlength(objText,objLength) {
//    var mlength = obj.getAttribute ? parseInt(obj.getAttribute("maxlength")) : ""
    if (objText.getAttribute && objText.value.length > objLength)
        objText.value = objText.value.substring(0, objLength)
}

//fires search button click event when pressed enter while search text box is active
function CallButtonClick(btnName, event) {
    var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
    if (keyCode == 13) {
        document.getElementById(btnName).click();
        return false;
    }
    else
        return true;
}

function CalculateLength(txtControl, lblControl, nMaxLength) {
    var txtLength = 0;
    if (txtControl.value != null || txtControl.value != undefined) {
        txtLength = txtControl.value.length;

        if (txtLength > nMaxLength)
            txtLength = nMaxLength;
    }

    lblControl.innerHTML = nMaxLength - txtLength;
}

function SetUniqueRadioButton(nameregex, current) {
    re = new RegExp(nameregex);
    for (i = 0; i < document.forms[0].elements.length; i++) {
        elm = document.forms[0].elements[i]
        if (elm.type == 'radio') {
            if (re.test(elm.name)) {
                elm.checked = false;
            }
        }
    }
    current.checked = true;
}

function doBeforePaste(control) {
    maxLength = control.attributes["maxLength"].value;
    if (maxLength) {
        event.returnValue = false;
    }
}
function doPaste(control) {
    maxLength = control.attributes["maxLength"].value;
    value = control.value;
    if (maxLength) {
        event.returnValue = false;
        maxLength = parseInt(maxLength);
        var oTR = control.document.selection.createRange();
        var iInsertLength = maxLength - value.length + oTR.text.length;
        var sData = window.clipboardData.getData("Text").substr(0, iInsertLength);
        oTR.text = sData;
    }
}
function LimitInput(control) {
    if (control.value.length > control.attributes["maxLength"].value) {
        control.value = control.value.substring(0, control.attributes["maxLength"].value);
    }
    else {
        //document.getElementById(control.attributes["counter"].value).innerHTML = (control.attributes["maxLength"].value - control.value.length) + ' / ' + control.attributes["maxLength"].value;
        document.getElementById(control.attributes["counter"].value).innerHTML = control.value.length + '/' + control.attributes["maxLength"].value;
    }
};
