// ----------------------------------------------
// StyleSwitcher functions written by Paul Sowden
// http://www.idontsmoke.co.uk/ss/
// - - - - - - - - - - - - - - - - - - - - - - -
// For the details, visit ALA:
// http://www.alistapart.com/stories/alternate/

var sz = 9; //default stylesheet

function setActiveStyleSheet(argStylesheetsTitle, argVal)
{
	// link items - that is, stylesheets
	var li;
	var title = argStylesheetsTitle ? argStylesheetsTitle : '';
	var val = argVal ? argVal : '';

	//make sure we're under limit
	if (title == '' && 8 < sz + val && sz + val < 16)
	{
		for(var i = 0; li = document.getElementsByTagName("link")[i]; i++)
		{
			// get stylesheets
			if(li.getAttribute("rel").indexOf("style") != -1 && li.getAttribute("title"))
			{				
				if(li.getAttribute("title").indexOf("typo_size") != -1) li.disabled = true;
				// check if 1 - it's a stylesheet with a title, 2- if it is an article stylesheet, disable it
				if (li.getAttribute("title").indexOf("typo_size" + (sz + Number(val))) > -1) li.disabled = false;
				// if it's the next in line, enable it
			}	
		}
		
		//don't forget to increment the size, so we know what's next....
		sz = sz + Number(val);

		createCookie("typo_size", sz, 365);
	}
	
	if(title != '')
	{	
		for(var i = 0; li = document.getElementsByTagName("link")[i]; i++)
		{
			// get stylesheets
			if(li.getAttribute("rel").indexOf("style") != -1 && li.getAttribute("title"))
			{
				if(li.getAttribute("title").indexOf(title) != -1)
				{					
					if(val != '')
					{
						if(val.toString(val) == 'false') li.disabled = false;
					}
					else
					{
						if(li.disabled)
						{
							li.disabled = false;
						}
						else
						{
							li.disabled = true;
						}
						
						createCookie(title, li.disabled, 365);
					}
				}
			}
		}	
	}
}


function getActiveStyleSheet()
{
	var i, a;
	
	for(i=0; (a = document.getElementsByTagName("link")[i]); i++)
	{
		if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
	}
	
	return null;
}


function getPreferredStyleSheet()
{
	var i, a;
	
	for(i = 0; (a = document.getElementsByTagName("link")[i]); i++)
	{
		if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("rel").indexOf("alt") == -1 && a.getAttribute("title")) return a.getAttribute("title");
	}
	
	return null;
}


function createCookie(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=/";
}


function readCookie(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;
}

if(loadCookie)
{
	var cookie = readCookie("style");
	var tempo = cookie ? cookie : true;
	setActiveStyleSheet('style', tempo);
	
	var cookie = readCookie("typo_contrast");
	var tempo = cookie ? cookie : true;
	setActiveStyleSheet('typo_contrast', tempo);
	
	var cookie = readCookie("typo_text");
	var tempo = cookie ? cookie : true;
	setActiveStyleSheet('typo_text', tempo);
}
