// JavaScript Document

    var http_request = false;
    var httpObject   = null;
    var jsObject     = null;
    var cssObject    = null;

    var loadedobjects=""
    var rootdomain="http://"+window.location.hostname


    function loadobjs()
    {
        if (!document.getElementById) return
        for (i=0; i<arguments.length; i++) {
            var file=arguments[i]
            var fileref=""
            if (loadedobjects.indexOf(file)==-1){
                //Check to see if this object has not already been added to page before proceeding
                if (file.indexOf(".js")!=-1){
                    //If object is a js file
                    fileref=document.createElement('script')
                    fileref.setAttribute("type","text/javascript");
                    fileref.setAttribute("src", file);
                } else if (file.indexOf(".css")!=-1){
                    //If object is a css file
                    fileref=document.createElement("link")
                    fileref.setAttribute("rel", "stylesheet");
                    fileref.setAttribute("type", "text/css");
                    fileref.setAttribute("href", file);
                }
            }
            if (fileref!=""){
                document.getElementsByTagName("head").item(0).appendChild(fileref)
                //Remember this object as being already added to page
                loadedobjects+=file+" "
            }
        }
    }

    function downloadFile(group, fileName)
    {
        httpObject = getHTTPObject();
        if (httpObject != null) {
            httpObject.open("GET", "getfile.php?file=" + $fileName, true);
            httpObject.send(null);
            httpObject.onreadystatechange = setOutput;
        }
    }

    function getHTTPObject()
    { 
        var request_type;
        var browser = navigator.appName;
        if(browser == "Microsoft Internet Explorer") { 
            request_type = new ActiveXObject("Microsoft.XMLHTTP");
        } else {
            request_type = new XMLHttpRequest();
        }
        return request_type;
    }

    function setOutput()
    {
        if(httpObject.readyState == 4){
            document.getElementById('content').innerHTML = httpObject.responseText;
        }
    }

    function loadPage($class, $page)
    {
        httpObject = getHTTPObject();
        if (httpObject != null) {
            httpObject.open("GET", "http://" + window.location.hostname + "/pages.php?page=" + $page + "&class=" + $class + "&dt1="+new Date().getTime() + "&rnd=" + Math.random(), true);
            httpObject.send(null);
            httpObject.onreadystatechange = setOutput;
        }
        loadobjs("http://" + window.location.hostname + "/pages.php?page=" + $page + "&dt1="+new Date().getTime() + "&rnd=" + Math.random() + "&script=javascript.js");
        loadobjs("http://" + window.location.hostname + "/pages.php?page=" + $page + "&dt1="+new Date().getTime() + "&rnd=" + Math.random() + "&style=style.css");
    }

    function get(obj, destScript)
    {
        var getstr = "?form=" + destScript + "&";

        for (i=0; i<obj.getElementsByTagName("textarea").length; i++) {
            var sel = obj.getElementsByTagName("textarea")[i];
            getstr += sel.name + "=" + escape(encodeURI(sel.value)) + "&";
        }

        for (i=0; i<obj.getElementsByTagName("input").length; i++) {
            if (obj.getElementsByTagName("input")[i].type == "password") {
                getstr += obj.getElementsByTagName("input")[i].name + "=" + 
                escape(encodeURI(obj.getElementsByTagName("input")[i].value)) + "&";
            }
            if (obj.getElementsByTagName("input")[i].type == "hidden") {
                getstr += obj.getElementsByTagName("input")[i].name + "=" + 
                escape(encodeURI(obj.getElementsByTagName("input")[i].value)) + "&";
            }
            if (obj.getElementsByTagName("input")[i].type == "text") {
                getstr += obj.getElementsByTagName("input")[i].name + "=" + 
                escape(encodeURI(obj.getElementsByTagName("input")[i].value)) + "&";
            }
            if (obj.getElementsByTagName("input")[i].type == "checkbox") {
                if (obj.getElementsByTagName("input")[i].checked) {
                    getstr += obj.getElementsByTagName("input")[i].name + "=" + 
                    escape(encodeURI(obj.getElementsByTagName("input")[i].value)) + "&";
                } else {
                    getstr += obj.getElementsByTagName("input")[i].name + "=&";
                }
            }
            if (obj.getElementsByTagName("input")[i].type == "radio") {
                if (obj.getElementsByTagName("input")[i].checked) {
                    getstr += obj.getElementsByTagName("input")[i].name + "=" + 
                    escape(encodeURI(obj.getElementsByTagName("input")[i].value)) + "&";
                }
            }  
            if (obj.getElementsByTagName("input")[i].tagName == "SELECT") {
                var sel = obj.getElementsByTagName("input")[i];
                getstr += sel.name + "=" + escape(encodeURI(sel.options[sel.selectedIndex].value)) + "&";
            }
            if (obj.getElementsByTagName("input")[i].tagName == "TEXTAREA") {
                var sel = obj.getElementsByTagName("input")[i];
                getstr += sel.name + "=" + escape(encodeURI(sel.value)) + "&";
            }
        }

        makeRequest("pages.php", getstr);
    }

    function makeRequest(url, parameters)
    {
        http_request = false;

        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                // set type accordingly to anticipated content type
                //http_request.overrideMimeType('text/xml');
//                http_request.overrideMimeType('text/html');
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
                }
            }

            if (!http_request) {
            alert('Cannot create XMLHTTP instance');
            return false;
        }

//        alert( 'Processing Request from: ' + url + parameters );
        http_request.onreadystatechange = alertContents;
        http_request.open('GET', url + parameters, true);
        http_request.send(null);
    }

    function alertContents()
    {
        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
                //alert(http_request.responseText);
                result = http_request.responseText;
                document.getElementById('content').innerHTML = result;
            } else {
                alert( 'There was a problem with the request. EC-' + http_request.status );
            }
        }
    }

    var dhtmlgoodies_tooltip = false;
    var dhtmlgoodies_tooltipShadow = false;
    var dhtmlgoodies_shadowSize = 4;
    var dhtmlgoodies_tooltipMaxWidth = 300;
    var dhtmlgoodies_tooltipMinWidth = 100;
    var dhtmlgoodies_iframe = false;
    var tooltip_is_msie = (navigator.userAgent.indexOf('MSIE')>=0 && navigator.userAgent.indexOf('opera')==-1 && document.all)?true:false;

    function showTooltip(e,tooltipTxt)
    {
        var bodyWidth = Math.max(document.body.clientWidth,document.documentElement.clientWidth) - 20;

        if(!dhtmlgoodies_tooltip){
            dhtmlgoodies_tooltip = document.createElement('DIV');
            dhtmlgoodies_tooltip.id = 'dhtmlgoodies_tooltip';
            dhtmlgoodies_tooltipShadow = document.createElement('DIV');
            dhtmlgoodies_tooltipShadow.id = 'dhtmlgoodies_tooltipShadow';

            document.body.appendChild(dhtmlgoodies_tooltip);
            document.body.appendChild(dhtmlgoodies_tooltipShadow);

            if(tooltip_is_msie){
                dhtmlgoodies_iframe = document.createElement('IFRAME');
                dhtmlgoodies_iframe.frameborder='5';
                dhtmlgoodies_iframe.style.backgroundColor='#FFFFFF';
                dhtmlgoodies_iframe.src = '#';
                dhtmlgoodies_iframe.style.zIndex = 100;
                dhtmlgoodies_iframe.style.position = 'absolute';
                document.body.appendChild(dhtmlgoodies_iframe);
            }

        }

        dhtmlgoodies_tooltip.style.display='block';
        dhtmlgoodies_tooltipShadow.style.display='block';
        if(tooltip_is_msie)dhtmlgoodies_iframe.style.display='block';

        var st = Math.max(document.body.scrollTop,document.documentElement.scrollTop);
        if(navigator.userAgent.toLowerCase().indexOf('safari')>=0)st=0; 
        var leftPos = e.clientX + 10;

        dhtmlgoodies_tooltip.style.width = null;    // Reset style width if it's set 
        dhtmlgoodies_tooltip.innerHTML = tooltipTxt;
        dhtmlgoodies_tooltip.style.left = leftPos + 'px';
        dhtmlgoodies_tooltip.style.top = e.clientY + 10 + st + 'px';


        dhtmlgoodies_tooltipShadow.style.left =  leftPos + dhtmlgoodies_shadowSize + 'px';
        dhtmlgoodies_tooltipShadow.style.top = e.clientY + 10 + st + dhtmlgoodies_shadowSize + 'px';

        if(dhtmlgoodies_tooltip.offsetWidth>dhtmlgoodies_tooltipMaxWidth){    /* Exceeding max width of tooltip ? */
            dhtmlgoodies_tooltip.style.width = dhtmlgoodies_tooltipMaxWidth + 'px';
        }

        var tooltipWidth = dhtmlgoodies_tooltip.offsetWidth;
        if(tooltipWidth<dhtmlgoodies_tooltipMinWidth)tooltipWidth = dhtmlgoodies_tooltipMinWidth;


        dhtmlgoodies_tooltip.style.width = tooltipWidth + 'px';
        dhtmlgoodies_tooltipShadow.style.width = dhtmlgoodies_tooltip.offsetWidth + 'px';
        dhtmlgoodies_tooltipShadow.style.height = dhtmlgoodies_tooltip.offsetHeight + 'px';

        if((leftPos + tooltipWidth)>bodyWidth){
            dhtmlgoodies_tooltip.style.left = (dhtmlgoodies_tooltipShadow.style.left.replace('px','') - ((leftPos + tooltipWidth)-bodyWidth)) + 'px';
            dhtmlgoodies_tooltipShadow.style.left = (dhtmlgoodies_tooltipShadow.style.left.replace('px','') - ((leftPos + tooltipWidth)-bodyWidth) + dhtmlgoodies_shadowSize) + 'px';
        }

        if(tooltip_is_msie){
            dhtmlgoodies_iframe.style.left = dhtmlgoodies_tooltip.style.left;
            dhtmlgoodies_iframe.style.top = dhtmlgoodies_tooltip.style.top;
            dhtmlgoodies_iframe.style.width = dhtmlgoodies_tooltip.offsetWidth + 'px';
            dhtmlgoodies_iframe.style.height = dhtmlgoodies_tooltip.offsetHeight + 'px';
        }
    }

    function hideTooltip()
    {
        dhtmlgoodies_tooltip.style.display='none';
        dhtmlgoodies_tooltipShadow.style.display='none';
        if(tooltip_is_msie)dhtmlgoodies_iframe.style.display='none';
    }
