﻿var IE6 = false/*@cc_on || @_jscript_version < 5.7@*/;
var W3CDOM = (document.createElement && document.getElementsByTagName);

function isNumeric(aCharacter) { return (aCharacter >= '0') && (aCharacter <= '9') };
function isLowerCase(aCharacter) { return (aCharacter >= 'a') && (aCharacter <= 'z') };
function isUpperCase(aCharacter) { return (aCharacter >= 'A') && (aCharacter <= 'Z') };
function isAlpha(aCharacter) { return (isUpperCase(aCharacter) || isLowerCase(aCharacter)) };
function isAlphaNumeric(aCharacter) { return (isAlpha(aCharacter) || isNumeric(aCharacter)) };

function dgebi(id) {
    return document.getElementById(id);
}
function AttachEvent(obj, evt, fnc, useCapture) {
    if (!useCapture) { useCapture = false; }
    if (obj.addEventListener) {
        obj.addEventListener(evt, fnc, useCapture);
        return true;
    } else if (obj.attachEvent) { return obj.attachEvent("on" + evt, fnc); }
    else {
        OldschoolAttachEvent(obj, evt, fnc);
        obj['on' + evt] = function() { OldschoolFireEvent(obj, evt) };
    }
}
function OldschoolAttachEvent(obj, evt, fnc) {
    if (!obj.myEvents) { obj.myEvents = {}; }
    if (!obj.myEvents[evt]) { obj.myEvents[evt] = []; }
    var evts = obj.myEvents[evt];
    evts[evts.length] = fnc;
}
function OldschoolFireEvent(obj, evt) {
    if (!obj || !obj.myEvents || !obj.myEvents[evt]) { return; }
    var evts = obj.myEvents[evt];
    for (var i = 0, len = evts.length; i < len; i++) { evts[i](); }
}
document.getElementsByClassName = function(cl) {
    var retnode = [];
    var myclass = new RegExp('\\b' + cl + '\\b');
    var elem = this.getElementsByTagName('*');
    for (var i = 0; i < elem.length; i++) {
        var classes = elem[i].className;
        if (myclass.test(classes)) retnode.push(elem[i]);
    }
    return retnode;
}
function getElementsByAttributeOld(property, value, parentElement) {
    var allElements = document.getElementsByTagName("*");
    alert(allElements.length);
    var items = [];
    for (var i = 0, j = allElements.length; i < j; i++) {
        if (allElements[i].getAttribute(property) == value) { items.push(allElements[i]); }
    }
    return items;
}

function getElementsByAttribute(oElm, strTagName, strAttributeName, strAttributeValue) {
    if (oElm == "*") { oElm = document; }
    var arrElements = (strTagName == "*" && document.all) ? document.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = [];
    var oAttributeValue = (typeof strAttributeValue != "undefined") ? new RegExp("(^|\\s)" + strAttributeValue + "(\\s|$)") : null;
    var oCurrent;
    var oAttribute;
    for (var i = 0; i < arrElements.length; i++) {
        oCurrent = arrElements[i];
        oAttribute = oCurrent.getAttribute(strAttributeName);
        if (typeof oAttribute == "string" && oAttribute.length > 0) {
            if (typeof strAttributeValue == "undefined" || (oAttributeValue && oAttributeValue.test(oAttribute))) {
                arrReturnElements.push(oCurrent);
            }
        }
    }
    return arrReturnElements;
}

function fnMakeRequest(sURL, sMethod, bAsync, fHandler) {
    if (window.XMLHttpRequest) { // Mozilla, Safari, ...
        http_request = new XMLHttpRequest();
    } else if (window.ActiveXObject) { // IE
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
    }
    http_request.onreadystatechange = fHandler;
    http_request.open(sMethod, sURL, bAsync);
    http_request.send(null);
}

function GetWidth() {
    var x = 0;
    if (self.innerHeight) {
        x = self.innerWidth;
    } else if (document.documentElement && document.documentElement.clientHeight) {
        x = document.documentElement.clientWidth;
    } else if (document.body) {
        x = document.body.clientWidth;
    }
    return x;
}

function GetHeight() {
    var y = 0;
    if (self.innerHeight) {
        y = self.innerHeight;
    } else if (document.documentElement && document.documentElement.clientHeight) {
        y = document.documentElement.clientHeight;
    } else if (document.body) {
        y = document.body.clientHeight;
    }
    return y;
}
function AddClass(oElm, sClass) {
    RemoveClass(oElm, sClass); return oElm && (oElm.className += (oElm.className.length > 0 ? ' ' : '') + sClass);
}

function RemoveClass(oElm, sClass) {
    return oElm && (oElm.className = oElm.className.replace(new RegExp("^" + sClass + "\\b\\s*|\\s*\\b" + sClass + "\\b", 'g'), ''));
}

function ClassExists(oElm, sClass) {
    return (!oElm || !oElm.className) ? false : (new RegExp("\\b" + sClass + "\\b")).test(oElm.className);
}

function XHConn() {
    var xmlhttp, bComplete = false;
    try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
    catch (e) {
        try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
        catch (e) {
            try { xmlhttp = new XMLHttpRequest(); }
            catch (e) { xmlhttp = false; }
        }
    }
    if (!xmlhttp) return null;
    this.connect = function(sURL, sMethod, sVars, fnDone) {
        if (!xmlhttp) return false;
        bComplete = false;
        sMethod = sMethod.toUpperCase();

        try {
            if (sMethod == "GET") {
                xmlhttp.open(sMethod, sURL + "?" + sVars, true);
                sVars = "";
            }
            else {
                xmlhttp.open(sMethod, sURL, true);
                xmlhttp.setRequestHeader("Method", "POST " + sURL + " HTTP/1.1");
                xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            }
            xmlhttp.onreadystatechange = function() {
                if (xmlhttp.readyState == 4 && !bComplete) {
                    bComplete = true;
                    fnDone(xmlhttp);
                }
            };
            xmlhttp.send(sVars);
        }
        catch (z) { return false; }
        return true;
    };
    return this;
}

function loadXMLDoc(fname, bAsync) {
    var xmlDoc;
    // code for IE
    if (window.ActiveXObject) {
        xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
    }
    // code for Mozilla, Firefox, Opera, etc.
    else if (document.implementation && document.implementation.createDocument) {
        xmlDoc = document.implementation.createDocument("", "", null);
    }
    else {
        alert('Your browser cannot handle this script');
    }
    xmlDoc.async = bAsync;
    xmlDoc.load(fname);
    return (xmlDoc);
}
function wrapNode(el, wrapper) {
    var newNode = document.createelement(wrapper);
    var parent = el.parentNode;
    newNode.appendChild(el.cloneNode(true));
    parent.replaceChild(newNode, el);
}
function _prefetchImages(arrImages) {
    var arrGettingThem = new Image();
    for (x = 0; x < arrImages.length; x++) {
        arrGettingThem[x] = document.createElement("img");
        arrGettingThem[x].src = arrImages[x];
    }
}
function GetStyle(obj, styleProp) {
    if (!obj) { return false; }
    var arrProp = styleProp.split("-");
    var ie = "";
    var moz = "";
    if (arrProp.length > 1) {
        for (qq = 0; qq < arrProp.length; qq++) {
            if (qq == 0) {
                ie += arrProp[qq];
            } else {
                ie += arrProp[qq].substring(0, 1).toUpperCase() + arrProp[qq].substring(1);
            }
        }
        moz = styleProp;
    }
    if(arrProp.length == 1) {
        ie = styleProp;
        var temp = "";
        var letter = "";
        for(qq=0;qq<styleProp.length;qq++) {
            letter = styleProp.substr(qq, 1);
            if(isUpperCase(letter)) {
                temp += "-" + letter.toLowerCase();
            } else {
                temp += letter;
            }
        }
        moz = temp;
    }
    if (obj.currentStyle) {
        var y = obj.currentStyle[ie] || obj.currentStyle[moz];
    } else if (window.getComputedStyle) {
        var y = document.defaultView.getComputedStyle(obj, null).getPropertyValue(ie) || document.defaultView.getComputedStyle(obj, null).getPropertyValue(moz);
    }
    return y;
}
function GetStyleFix(obj, styleProp) {
    if (!obj) { return 0; }
    var temp = [GetStyle(obj, styleProp).replace(new RegExp("[^0-9]", "g"), ""), GetStyle(obj, styleProp).replace(new RegExp("[0-9]", "g"), "")];
    return temp;
}
