// Resolution Dependent Layout adapted from Cameron Adams - http://themaninblue.com/experiment/ResolutionLayout/

function addLoadListener(fn) {
	if (typeof window.addEventListener != 'undefined') {
		window.addEventListener('load', fn, false);
	}
	else if (typeof document.addEventListener != 'undefined') {
		document.addEventListener('load', fn, false);
	}
	else if (typeof window.attachEvent != 'undefined') {
		window.attachEvent('onload', fn);
	}
	else {
		return false;
	}
	return true;
};

function attachEventListener(target, eventType, functionRef, capture) {
    if (typeof target.addEventListener != "undefined") {
        target.addEventListener(eventType, functionRef, capture);
    }
    else if (typeof target.attachEvent != "undefined") {
        target.attachEvent("on" + eventType, functionRef);
    }
    else {
        return false;
    }
    return true;
};

// end event listeners

checkBrowserWidth();
attachEventListener(window, "resize", checkBrowserWidth, false);

function checkBrowserWidth() {
	var theWidth = getBrowserWidth();
	if (theWidth == 0) {
		var resolutionCookie = document.cookie.match(/(^|;)tmib_res_layout[^;]*(;|$)/);
		if (resolutionCookie != null) {
			setStylesheet(unescape(resolutionCookie[0].split("=")[1]));
		}
		addLoadListener(checkBrowserWidth);
		return false;
	}
	if (theWidth < 960) {
		setStylesheet("lores");
		document.cookie = "tmib_res_layout=" + escape("lores");
	}
	else {
		setStylesheet("");
		document.cookie = "tmib_res_layout=";
	}
	return true;
};

function getBrowserWidth() {
	if (window.innerWidth) {
		return window.innerWidth;
	}
	else if (document.documentElement && document.documentElement.clientWidth != 0) {
		return document.documentElement.clientWidth;
	}
	else if (document.body) {
		return document.body.clientWidth;
	}
	return 0;
};

function setStylesheet(styleTitle) {
	var currTag;

	if (document.getElementsByTagName) {
		for (var i = 0; (currTag = document.getElementsByTagName("link")[i]); i++) {
			if (currTag.getAttribute("rel").indexOf("style") != -1 && currTag.getAttribute("title")) {
				currTag.disabled = true;

				if(currTag.getAttribute("title") == styleTitle) {
					currTag.disabled = false;
				}
			}
		}
	}
	return true;
};




//window height stuff //
function getWindowHeight() {
	var windowHeight = 0;
	if (typeof(window.clientHeight) == 'number') {
		windowHeight = window.clientHeight;
	}
	else {
		if (document.documentElement && document.documentElement.clientHeight) {
			windowHeight = document.documentElement.clientHeight;
		}
		else {
			if (document.body && document.body.clientHeight) {
				windowHeight = document.body.clientHeight;
			}
		}
	}
	return windowHeight;
}
function getWindowWidth() {
	var windowWidth = 0;
	if (typeof(window.clientWidth) == 'number') {
		windowWidth = window.clientWidth;
	}
	else {
		if (document.documentElement && document.documentElement.clientWidth) {
			windowWidth = document.documentElement.clientWidth;
		}
		else {
			if (document.body && document.body.clientWidth) {
				windowWidth = document.body.clientWidth;
			}
		}
	}
	return windowWidth;
}
function setFooter() {
	if (document.getElementById) {
		var windowHeight = getWindowHeight();
		if (windowHeight > 0) {
			var headerHeight = 315;
			var contentHeight = document.getElementById('content').offsetHeight;
			var footerElement = document.getElementById('footer');
			var footerHeight  = footerElement.offsetHeight;			
			//alert('set footer:'+ (windowHeight));
			//alert('winH:' + windowHeight + ', cH:' + (contentHeight) + ', hH:' + headerHeight + ', fH' + footerHeight);
			if (windowHeight - ((contentHeight + headerHeight) - 4) >= 0) {
				
				footerElement.style.position = 'absolute';
				footerElement.style.top = (windowHeight - footerHeight) + 'px';
			}
			else {
				//alert('static');
				footerElement.style.position = 'static';
			}
		}
	}
}
function setHeader() {
	if (document.getElementById) {
		var windowWidth = getWindowWidth();
		if (windowWidth > 0) {
			var headerElement = document.getElementById('flashFill');
			//alert('flashFill:'+ (windowWidth - 684));
			headerElement.style.width = (windowWidth - 684) + 'px';
		}
	}
}
window.onload = function() {
	setHeader();
	setFooter();
	
}
window.onresize = function() {
	setHeader();
	setFooter();	
}