/**
* Last updated $Date: 2005/12/13 17:47:49 $
* by $Author: andy.brockhurst $
*
* This file is $Revision: 1.4 $
**/

/**
* Code courtesy of http://www.themaninblue.com/
* and thanks to Dave Shea for pointing me in that direction.
* 
* Code has been modified to suit this site please check 
* http://www.themaninblue.com/writing/perspective/2006/01/19/
* for original code.
**/

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;
};

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 > 1024){
		setStylesheet("1024 x 768");
		document.cookie = "tmib_res_layout=" + escape("1024 x 768");
	}else if(theWidth < 800){
		setStylesheet("640 x 480");
		document.cookie = "tmib_res_layout=" + escape("640 x 480");
		
	}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;
};

/**
* Suckerfish to help IE with it's hover states.
* Courtesy of HTMLdog.com
**/
function suckerfish(type, tag, parentId) {
	if (window.attachEvent) {
		window.attachEvent("onload", function() {
			var sfEls = (parentId==null)?document.getElementsByTagName(tag):document.getElementById(parentId).getElementsByTagName(tag);
			type(sfEls);
		});
	}
}

sfHover = function(sfEls) {
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp("\\bsfhover\\b"), "");
		}
	}
}

suckerfish(sfHover, "LI","nav");