//Style Sheet Switcher version 1.0 Nov 9th, 2005
//Author: Dynamic Drive: http://www.dynamicdrive.com
//Usage terms: http://www.dynamicdrive.com/notice.htm

function getCookie(Name) { 
var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair
if (document.cookie.match(re)) //if cookie found
return document.cookie.match(re)[0].split("=")[1] //return its value
return null
}

function setCookie(name, value, days) {
var expireDate = new Date()
//set "expstring" to either future or past date, to set or delete cookie, respectively
var expstring=(typeof days!="undefined")? expireDate.setDate(expireDate.getDate()+parseInt(days)) : expireDate.setDate(expireDate.getDate()-5)
document.cookie = name+"="+value+"; expires="+expireDate.toGMTString()+"; path=/";
}

function deleteCookie(name){
setCookie(name, "moot")
}

function setStylesheet(title)
{
    var i, cacheobj
    for(i=0; (cacheobj=document.getElementsByTagName("link")[i]); i++) 
    {
        if(cacheobj.getAttribute("rel").indexOf("style") != -1 && cacheobj.getAttribute("title")) 
        {
            if(title=='textOnly')
            {
                //CLEARING ALL STYLES   
                for(i=0;i<document.styleSheets.length;i++)
                {void(document.styleSheets.item(i).disabled=true); }
                el=document.getElementsByTagName('*');
                for(i=0;i<el.length;i++)
                {void(el[i].style.cssText='');}
            }            
            cacheobj.disabled = true
            if(cacheobj.getAttribute("title") == title)
            cacheobj.disabled = false //enable chosen style sheet
        }
    }
}

function resetStyle(styletitle, days)
{
    chooseStyle(styletitle, days);
    document.location.reload();
}

function chooseStyle(styletitle, days)
{
    if (document.getElementById)
    {
        setStylesheet(styletitle)
        setCookie("mysheet", styletitle, days)
    }
}

function indicateSelected(element){ //Optional function that shows which style sheet is currently selected within group of radio buttons or select menu 
var i
if (selectedtitle!=null && (element.type==undefined || element.type=="select-one")){ //if element is a radio button or select menu
var element=(element.type=="select-one") ? element.options : element
for (i=0; i<element.length; i++){
if (element[i].value==selectedtitle){ //if match found between form element value and cookie value
if (element[i].tagName=="OPTION") //if this is a select menu
element[i].selected=true
else //else if it's a radio button
element[i].checked=true
break
}
}
}
}

var selectedtitle=getCookie("mysheet")
if (document.getElementById && selectedtitle!=null) //load user chosen style sheet if there is one stored
setStylesheet(selectedtitle)