﻿/******************************************
* JavaScript: Illinois Valley News				*
* Develop: 2006.02.22 By: Paul Snowden		*
* Created: 2006.08.30 By: Lee Eschen			*
*	Version: 2007.02.02	No:	1.00						*
* Updated: 2007.04.13 By: Lee Eschen			*
* Changed: Line 152, misspelled variable	*
*	CURRENT KNOWN BUGS: *********************
*	IE6:	Switches but doesn't show it 			*
*	IE7:	Switches but doesn't show it 			*
*******************************************************
* From Paul Sowden"s JavaScript switcher detailed on:	*
*	http://www.alistapart.com/articles/alternate/				*
******************************************************/


/*	Functions	*/


function putCookie(cookieName,cookieValue,numDays)
{
	var date = new Date();
	var cookieExpires;

  if (numDays)
  {
    date.setTime(date.getTime()+(numDays*24*60*60*1000));
    cookieExpires = date.toGMTString();
  }
  else
  {
  	cookieExpires = "";
  }
  document.cookie = cookieName + "=" + cookieValue + ";expires=" + cookieExpires + ";path=/" ;
};


function getCookie(cookieName)
{
	var i = 0;
	var cookieArray = null, cookieString = null;
  var nameEQ = cookieName + "=";
  var styleSheetName = "";

  cookieArray = document.cookie.split(";");
  for( i=0; i < cookieArray.length; i++ )
  {
    cookieString = cookieArray[i];
    while (cookieString.charAt(0) == " ")
    {
    	cookieString = cookieString.substring(1,cookieString.length);/* remove leading spaces */
    }
    if (cookieString.indexOf(nameEQ) == 0)
    {
    	styleSheetName = cookieString.substring(nameEQ.length,cookieString.length);/* get stylesheet name */
    	return styleSheetName;
    }
  }
  return null;
};


function getPreferredStyleSheet()
{
	var i = 0;
	var linkRel = "";
	var linkTitle = "";
	var linkMedia = "";
	var linkDisab = false;
	var linkStyle = null;
	var linkArray = document.getElementsByTagName("link");

  for(i=0; (linkStyle = linkArray[i]); i++)
	{
		linkRel   = linkStyle.getAttribute("rel");
		linkTitle = linkStyle.getAttribute("title");
		linkMedia = linkStyle.getAttribute("media");
		linkDisab = linkStyle.getAttribute("disabled");

    if ( ( linkRel.match(/(^| )stylesheet( |$)/) )
	   	&& ( ! linkRel.match(/(^| )alternate( |$)/) )
			&& ( linkMedia != "print" )
			&& ( linkTitle ) )
		{
			return linkTitle;
		}
  }
  return null;
};


function setActiveStyleSheet(newTitle)
{

	var success = false;
	var i = 0;
	var linkRel = "";
	var linkTitle = "";
	var linkMedia = "";
	var linkDisab = false;
	var linkStyle = null;
	var linkArray = document.getElementsByTagName("link");

	for(i=0; (linkStyle = linkArray[i]); i++)
	{
		linkRel   = linkStyle.getAttribute("rel");
		linkTitle = linkStyle.getAttribute("title");
		linkMedia = linkStyle.getAttribute("media");
		linkDisab = linkStyle.getAttribute("disabled");

		if ( ( linkRel.match(/(^| )stylesheet( |$)/) )
			&& ( linkMedia != "print" )
			&& ( linkTitle ) )
		{
			linkStyle.disabled = true;
			if ( linkTitle == newTitle )
			{
				linkStyle.disabled = false;
				putCookie("stylesheet", newTitle, 365);
				success = true;
			}
		}
	}
	return success;
};


function styleSheetRequest(event)
{
	var targetElement = null;
	var newTitle = "";
	var success = false;

	if ( typeof event == "undefined" )
	{
		event = window.event;
	}
	if ( typeof getEventTarget(event) != "undefined" )
	{
		targetElement = getEventTarget(event);
	}
	else if ( typeof currentTarget != "undefined" )
	{
		targetElement = currentTarget;
	}
	else
	{
		alert("Can't find current target!");
		return success;
	}
	newTitle = targetElement.getAttribute("id");
	success = setActiveStyleSheet(newTitle);
	return success;
};


function initTargets()
{

	var capturePhase = false;
	var targetElement = null;
	var attached1 = false;
	var attached2 = false;

	targetElement = document.getElementById("normal");

	if ( targetElement )
	{
		attached1 = attachEventListener(targetElement, "click", styleSheetRequest, capturePhase);
	}

	targetElement = document.getElementById("large");

	if ( targetElement )
	{
		attached2 = attachEventListener(targetElement, "click", styleSheetRequest, capturePhase);
	}

  return ( attached1 && attached2 );

};


/*	Initialize stylesheet and setup load listener	*/

var newTitle = "";
var success = false;

newTitle = getCookie("stylesheet");

if ( ! newTitle )
{
	newTitle = getPreferredStyleSheet();
}

if ( ! newTitle )
{
	newTitle = "normal";
}

success = setActiveStyleSheet(newTitle);
if ( ! success )
{
	alert("Unable to set StyleSheet Title: " + newTitle);
}
addLoadListener(initTargets);

/*	End of JavaScript	*/
