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;
};

// Resolution 

checkBrowserSize();

attachEventListener(window, "resize", checkBrowserSize, false);

function checkBrowserSize()
{
	var theWidth = getBrowserWidth();
		
	if (theWidth == 0)
	{
		var resolutionCookie = document.cookie.match(/(^|;)tmib_res_layout[^;]*(;|$)/);

		if (resolutionCookie != null)
		{
			setStylesheet(unescape(resolutionCookie[0].split("=")[1]));
		}
		
		addLoadListener(checkBrowserSize);
		
		return false;
	}

// Detect Opera //

if (/Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent)){
	var opera=1;
}
else {
	var opera=0;
}

	
	// Narrow Layout
	
	if (theWidth < 1000)
	{
		if (opera == 1) {
			setStylesheet("operathin");
			document.cookie = "tmib_res_layout=" + escape("operathin");
		}
			else {
				setStylesheet("thin");
				document.cookie = "tmib_res_layout=" + escape("thin");
			}
	}	
	// HiRes  Layout
	else if (theWidth > 1260)
	{
		if (opera == 1) {
			setStylesheet("operawide");
			document.cookie = "tmib_res_layout=" + escape("operawide");
			}
		else {
		setStylesheet("wide");
		document.cookie = "tmib_res_layout=" + escape("wide");
			}
	}
	// Normal  Layout
		else	
	{
		if (opera ==1) {
			setStylesheet("operamed");
			document.cookie = "tmib_res_layout=" + escape("operamed");
			}
		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 + 14;
	}
	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;
};


