function GetPreferredStyleSheet()
{
	var i, linkelement;
	
	for (i=0; (linkelement = document.getElementsByTagName("link")[i]); i++)
	{
		var rel = (linkelement.getAttribute("rel") + "");
		if (rel.indexOf("style") > -1)
		{
			if (rel.indexOf("alt") == -1)
			{
				if (linkelement.getAttribute("title"))
				{
					return linkelement.getAttribute("title");
				}
			}
		}
	}
	
	return null;
}

function GetActiveStyleSheet()
{
	var i, linkelement;

	for (i=0; (linkelement = document.getElementsByTagName("link")[i]); i++)
	{
		var rel = (linkelement.getAttribute("rel") + "");
		if (rel.indexOf("style") > -1)
		{
			if (linkelement.getAttribute("title"))
			{
				if (!linkelement.disabled)
				{
					return linkelement.getAttribute("title");
				}
			}
		}
	}

	return null;
}

function SetActiveStyleSheet(title)
{
	var i, linkelement;
	
	for (i=0; (linkelement = document.getElementsByTagName("link")[i]); i++)
	{
		var rel = (linkelement.getAttribute("rel") + "");
		if (rel.indexOf("style") != -1)
		{
			if (linkelement.getAttribute("title"))
			{
				linkelement.disabled = true;

				if (linkelement.getAttribute("title") == title)
				{
					linkelement.disabled = false;
				}
			}
		}
	}
	
	UpdateStyleSwitcherButtons(title);
}

function UpdateStyleSwitcherButtons(styletitle)
{
	var i, buttonelement;
	
	for (i=0; (buttonelement = document.getElementsByTagName("a")[i]); i++)
	{
		if (buttonelement.getAttribute("onclick"))
		{
			var onclick = (buttonelement.getAttribute("onclick") + "");
			if (onclick.indexOf("SetActiveStyleSheet") > -1)
			{
				if (onclick.indexOf(styletitle) > -1)
				{
					buttonelement.style.display = "none";
				}
				else
				{
					buttonelement.style.display = "inline";
				}
			}
		}
	}
}


function GetCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');

	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];

		while (c.charAt(0)==' ')
		{
			c = c.substring(1,c.length);
		}

		if (c.indexOf(nameEQ) == 0)
		{
			return c.substring(nameEQ.length,c.length);
		}
	}

	return null;
}

function SetCookie(name, value, days)
{
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else
	{
		expires = "";
	}
	
	document.cookie = name+"="+value+expires+"; path=/";
}


window.onload = function (e)
{
	var cookie = GetCookie("style");
	var title = ((cookie != null && cookie != "") ? cookie : GetPreferredStyleSheet());
	SetActiveStyleSheet(title);
	SetActiveStyleSheet('Normal');
}

window.onunload = function (e)
{
	var title = GetActiveStyleSheet();
	SetCookie("style", title, 365);
}

