//
// Javascript
//

// Ready State:
// 0 – Uninitialised
// 1 – Loading
// 2 – Loaded
// 3 – Interactive
// 4 – Completed

var request;

function getHttpRequest() {
    try {
        request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
        try {
            request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch(e) {
            request = new XMLHttpRequest();
        }
    }
    return request;
}

function getSoftwareLicenses(url, input) {
    /*
     * This is for getting licenses for a given softwareId.
     */
	request = getHttpRequest();
	
	request.open("GET", url + input, true);
	request.onreadystatechange = function() {
        if (request.readyState == 4) {
            if (request.status == 200) {
                // ...processing statements go here...
                response = request.responseXML.documentElement;
                result = response.getElementsByTagName('result')[0].firstChild.data;

                // Replace div area content with result.
                updateContent('softwareLicensesDiv', result);
            }
        }
    }
	request.send(null);
}

function getSoftwareByMaker(url, input) {
    /*
     * This is for getting licenses for a given softwareId.
     */
	request = getHttpRequest();
	 
 	request.open("GET", url + input, true);
	request.onreadystatechange = function() {
        if (request.readyState == 4) {
            if (request.status == 200) {
                // ...processing statements go here...
                response = request.responseXML.documentElement;
                result = response.getElementsByTagName('result')[0].firstChild.data;

                // Replace div area content with result.
                updateContent('softwareDiv', result);
            }
        }
    }
	request.send(null);
}

function getHardwareDetail(div, url, input) {
    /*
     * This is for getting licenses for a given softwareId.
     */
	request = getHttpRequest();

 	request.open("GET", url + input, true);
	request.onreadystatechange = function() {
        if (request.readyState == 4) {
            if (request.status == 200) {
                // ...processing statements go here...
                response = request.responseXML.documentElement;
                result = response.getElementsByTagName('result')[0].firstChild.data;

                // Replace div area content with result.
                div.innerHTML = result;
            }
        }
    }
	request.send(null);
}

//Chrome Drop Down Menu- Author: Dynamic Drive (http://www.dynamicdrive.com)
//Last updated: Jan 1st, 06'
var cmenu={
	offsetLeft: null,
	offsetTop: null,
	popupDiv: '',
	url: '',
    input: '',

    getposOffset:function(what, offsettype){
		var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
		var parentEl=what.offsetParent;
		while (parentEl != null) {
			totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
			parentEl=parentEl.offsetParent;
		}
		return totaloffset;
	},

	dropit:function(thisObject, input){
		this.thisDiv = getObjectByID(this.popupDiv);
        if (this.thisDiv) {
            if (this.thisDiv.style.visibility == 'visible' && (this.input == input)) {
                hideDivMenu(this.thisDiv);
            } else {
                // Clears out old result
                this.thisDiv.innerHTML = '';
                // Keeps track of last input
                this.input = input;
				// Shows div
                showDivMenu(this.thisDiv)
                this.thisDiv.x=this.getposOffset(thisObject, "left")
                this.thisDiv.y=this.getposOffset(thisObject, "top")
                this.thisDiv.style.left=this.thisDiv.x+this.offsetLeft+"px"
                this.thisDiv.style.top=this.thisDiv.y+thisObject.offsetHeight-this.offsetTop+"px"
                getHardwareDetail(this.thisDiv, this.url, input);
            }
        }
    }
}

