// JavaScript Document
//Copyright (C) 2008 Andrew Topp <andrewt@tasotones.com> for TASO Tones Pty Ltd. 

function getXHR() {
	req = false;
    // branch for native XMLHttpRequest object
    if(window.XMLHttpRequest && !(window.ActiveXObject)) {
    	try {
			req = new XMLHttpRequest();
        } catch(e) {
			req = false;
        }
    // branch for IE/Windows ActiveX version
    } else if(window.ActiveXObject) {
       	try {
        	req = new ActiveXObject("Msxml2.XMLHTTP");
      	} catch(e) {
        	try {
          		req = new ActiveXObject("Microsoft.XMLHTTP");
        	} catch(e) {
          		req = false;
        	}
		}
    }

	return req;
}

function loadContent(resource, destDOM, newTitle) {
	if (typeof(destDOM) == "string") {
		destDOM = document.getElementById(destDOM);
	}

	var req = getXHR();
	if (req) {
		req.onreadystatechange  = 
		function () {
			if (req.readyState == 4) {
				destDOM.innerHTML = req.responseText;
				document.title = 'TASO Tones : ' + newTitle;
				resetCol();
				fixCol();
			}
		};
		req.open("GET", 'content/' + resource, true);
		req.send("");
	} else {
		destDOM.innerHTML = '<p>Your browser is not yet supported. This site is a work in progress, and support will be coming soon. Please email the webmaster at <a href="mailto:webmaster@tasotones.com>webmaster@tasotones.com</a> if this causes any inconvenience.</p>'	;
		resetCol();
		fixCol();
	}
}

function resetCol() {
	var colObj = document.getElementById('columnPadding');
	var divObj = document.getElementById('contentBg');

	if (colObj.originalHeight) {
		colObj.style.height = colObj.originalHeight + 'px';
	}
	
	if (divObj.originalHeight) {
		divObj.style.height = divObj.originalHeight + 'px';
	}
}

function fixCol(resetc) {
	if (resetc) 
		resetCol();
		
	var colObj = document.getElementById('columnPadding');
	var divObj = document.getElementById('contentBg');
	var tblObj = document.getElementById('contentTable');
	
	if (divObj.offsetHeight < (tblObj.offsetTop + tblObj.offsetHeight)) {
		divObj.originalHeight = divObj.offsetHeight;
		divObj.style.height = (tblObj.offsetTop + tblObj.offsetHeight + 5) + 'px';
	}
	
	colObj.originalHeight = colObj.offsetHeight;
	colObj.style.height = (colObj.offsetParent.offsetHeight - colObj.offsetTop) + 'px';
}
