//
// Heath Books 
//
// Javascript for web site ...
//
function getHTTPObject() {
	var xhr = false;
	if (window.XMLHttpRequest ) {
		xhr = new XMLHttpRequest();
	}
	else if ( window.ActiveXObject ) {
		try {
			xhr = new ActiveXObject("msxml2.XMLHTTP");
		}
		catch(e) {
			try {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e) {
				xhr = false;
			}
		}
	}
	return xhr;
}

function parseResponse(request) {
	if ( request.readyState == 4 ) {
		if ( request.status == 200 || request.status == 304 ) {
			var details = document.getElementById("category_list");
			details.innerHTML = request.responseText;
		}
	}
}

function updateCategories(file, subject, category) {
	var request = getHTTPObject();
	if (request) {
		var details = document.getElementById("category_list");
		details.innerHTML = '<img src="/modules/heathbooks/bar.gif">';
		request.onreadystatechange = function() {
			parseResponse(request);
		}
		request.open("GET", file + "?catgroup=" + subject + "&category=" + category, true);
		request.send(null);
	}
}

function popupPage(width, height, page) {
	popupHeight = height + 15;
	popupWidth = width + 15;
	windowprops = "height="+popupHeight+",width="+popupWidth+",location=no,"
+ "scrollbars=no,menubars=no,toolbars=no,resizable=yes";

	window.open(page, "Popup", windowprops);
}

function parsePublishers(request) {
	if ( request.readyState == 4 ) {
		if ( request.status == 200 || request.status == 304 ) {
			showPubComplete();
			
			var details = document.getElementById("pubcomplete");
			details.innerHTML = request.responseText;
			
			var main = document.getElementById("automain");
			var head = document.getElementById("autohead");
			var list = document.getElementById("publist");
			
			var totalheight = head.offsetHeight + main.offsetHeight;
			
			if ( totalheight < 200 ) {
				details.style.height = totalheight + 'px';
			}
			else {
				details.style.height = '200px';
				main.style.height = (200 - head.offsetHeight) + 'px';
			}
		}
	}
}

function completePublishers (value) {
		var request = getHTTPObject();
		if (request) {
			request.onreadystatechange = function() {
				parsePublishers(request);
			}
			request.open("GET", "/modules/heathbooks/getpubs.php?search_string=" + value, true);
			request.send(null);
		}
}

function hidePubComplete() {
	var obj = document.getElementById("pubcomplete");
	obj.style.visibility = "hidden";
	obj.style.height = "0px";
	obj.style.width = "0px";
}

function getXPos(obj) {
        var curNode = obj;
        var left    = 0;

        do {
            left += curNode.offsetLeft;
            curNode = curNode.offsetParent;

        } while(curNode.tagName.toLowerCase() != 'body');

        return left;
}

function getYPos(obj) {
        var curNode = obj;
        var top    = 0;

        do {
            top += curNode.offsetTop;
            curNode = curNode.offsetParent;

        } while(curNode.tagName.toLowerCase() != 'body');

        return top;
}

function showPubComplete() {
	var pubbox = document.getElementById("publisher");
	var pubheight = pubbox.offsetHeight;
	
	var obj = document.getElementById("pubcomplete");
	obj.style.visibility = "visible";
	obj.style.width = pubbox.offsetWidth + 'px';
	obj.style.top = (getYPos(pubbox) + pubheight) + 'px';
	obj.style.left = (getXPos(pubbox) + 5) + 'px';
}

function completeField(value) {
	var publisher = document.getElementById('publisher');
	publisher.value = value;
	hidePubComplete();
}
