﻿var ns6 = false; // modern firefox
var ns4 = false; 
var ie5 = false;
var ie4 = false;
var op5 = false;

var isOnlyIe6 = false;

init();

function init() {
    ns6 = (document.getElementById && !document.all) ? true : false;
    ns4 = (!document.getElementById && !document.all) ? true : false;
    ie5 = (document.all && document.getElementById) ? true : false;
    ie4 = (document.all && !document.getElementById) ? true : false;
    op5 = ((typeof window.opera != "undefined") && (/opera[\/ ][5]/.test(navigator.userAgent.toLowerCase()))) ? true : false;

    var agt = navigator.userAgent.toLowerCase();
    var appVer = navigator.appVersion.toLowerCase();
    var is_minor = parseFloat(appVer);
    var is_major = parseInt(is_minor);
    var iePos = appVer.indexOf('msie');
    if (iePos != -1) {
        is_minor = parseFloat(appVer.substring(iePos + 5, appVer.indexOf(';', iePos)))
        is_major = parseInt(is_minor);
    }
    var is_getElementById = (document.getElementById) ? "true" : "false";
    var is_getElementsByTagName = (document.getElementsByTagName) ? "true" : "false";
    var is_documentElement = (document.documentElement) ? "true" : "false";
    var is_ie = ((iePos != -1));
    var is_ie3 = (is_ie && (is_major < 4));
    var is_ie4 = (is_ie && is_major == 4);
    var is_ie4up = (is_ie && is_minor >= 4);
    var is_ie5 = (is_ie && is_major == 5);
    var is_ie5up = (is_ie && is_minor >= 5);
    var is_ie5_5 = (is_ie && (agt.indexOf("msie 5.5") != -1));
    var is_ie5_5up = (is_ie && is_minor >= 5.5);
    isOnlyIe6 = (is_ie && is_major == 6);
    var is_ie6up = (is_ie && is_minor >= 6);    
}

function htd_getElement(elementId) {
    var element;
    if (ns4) {
        element = getObjNN4(document, elementId);
    } else if (document.all) {
        element = document.all[elementId];
    } else if (document.getElementById) {
        element = document.getElementById(elementId); 
    }
    return element;
}

function htd_getHttpRequestObject() {
    var requestObject;
    var browser = navigator.appName;
    if (browser == "Microsoft Internet Explorer") {
        requestObject = new ActiveXObject("Microsoft.XMLHTTP");        
    } else {
        requestObject = new XMLHttpRequest();
    }
    return requestObject;
}

function htd_getPosition(oElement) {
    if (typeof (oElement.offsetParent) != 'undefined') {
        for (var posX = 0, posY = 0; oElement; oElement = oElement.offsetParent) {
            if (isOnlyIe6) {
                if ((oElement.currentStyle.borderTopWidth != "") && (oElement.currentStyle.borderTopStyle != "none")) {
                    var borderWidth = parseInt(oElement.currentStyle.borderTopWidth);
                    if (!isNaN(borderWidth)) {
                        posY += borderWidth;
                    }
                }
                if ((oElement.currentStyle.borderLeftWidth != "") && (oElement.currentStyle.borderLeftStyle != "none")) {
                    var borderWidth = parseInt(oElement.currentStyle.borderLeftWidth);
                    if (!isNaN(borderWidth)) {
                        posX += borderWidth;
                    }
                }
            }
            posX += oElement.offsetLeft;
            posY += oElement.offsetTop;
        }
        
        return [posX, posY];
    } else {
        return [oElement.x, oElement.y];
    }
}



