﻿Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler)

var isIE = (navigator.appName == "Microsoft Internet Explorer");

function BeginRequestHandler(sender, args) {
    var elem = args.get_postBackElement();    
    DisableWhilePostBack(elem);
}

function EndRequestHandler(sender, args) {
    if (args.get_error() != undefined) {
    }
}

function SetAttribute(element, attribute, value) {
    if (isIE) {

        if (attribute == 'style') {
            element.style.cssText = value;
        }
        else {
            element.setAttribute(attribute, value);
        }
    }
    else {
        element.setAttribute(attribute, value);
    }
}

function ShowElement(element) {
    if (element) {
        SetAttribute(element, 'style', '');
    }
}

function HideElement(element) {
    if (element) {
        SetAttribute(element, 'style', 'display:none;');
    }
}

function DisableWhilePostBack(e) {
    if (e.DisableWhilePostback || e.getAttribute('DisableWhilePostback')) {
        element = e.parentNode;
        SetAttribute(element, 'class', 'button gray_button search_button');
        e.disabled = "disabled";
    }
}

function setCarretPos(element, pos) {
    var input = element;
    if (input.createTextRange) {
        var range = input.createTextRange();
        range.move("character", pos);
        range.select();
    } else if (input.selectionStart) {
        input.focus();
        input.setSelectionRange(pos, pos);
    }
}

function ToBalanceString(num) {
    num = num.toString().replace(/\$|\,/g, '');
    if (isNaN(num))
        num = "0";
    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num * 100 + 0.50000000001);
    cents = num % 100;
    num = Math.floor(num / 100).toString();
    if (cents < 10)
        cents = "0" + cents;
    for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
        num = num.substring(0, num.length - (4 * i + 3)) + ',' + num.substring(num.length - (4 * i + 3));
    return (((sign) ? '$' : '($') + num + '.' + cents + ((sign) ? '' : ')'));
}

function ToNumberString(num) {
    num = parseFloat(num);
    if (isNaN(num))
        num = 0;

    var strNum = num.toLocaleString();
    if (isIE) {
        return strNum.substring(0, strNum.length - 3);
    } else {
        return strNum;
    }
}


var xml_special_to_escaped_one_map = {
    '&': '&amp;',
    '"': '&quot;',
    '<': '&lt;',
    '>': '&gt;'
};

var escaped_one_to_xml_special_map = {
    '&amp;': '&',
    '&quot;': '"',
    '&lt;': '<',
    '&gt;': '>'
};

function encodeXml(string) {
    return string.replace(/([\&"<>])/g, function(str, item) {
        return xml_special_to_escaped_one_map[item];
    });
};

function decodeXml(string) {
    return string.replace(/(&quot;|&lt;|&gt;|&amp;)/g,
function(str, item) {
    return escaped_one_to_xml_special_map[item];
});
}

//BEGIN DEBUG ZONE
//END
