﻿
    function setActiveStyleSheetByType( sheetType, title ) 
    {
       var i, a, main;
       for ( i=0; (a = document.getElementsByTagName( "link" )[i]); i++ ) 
       {
         if ( a.getAttribute("rel").indexOf("style") != -1 && 
              a.getAttribute("title") && a.getAttribute("title").indexOf( sheetType ) != -1 ) 
         {
             a.disabled = true;
             if ( a.getAttribute("title") == title ) 
                a.disabled = false;
         }
       }
    }

    function getActiveStyleSheetByType( sheetType ) 
    {
        var i, a;
        for ( i=0; (a = document.getElementsByTagName("link")[i]); i++)
        {
          if ( a.getAttribute("rel").indexOf("style") != -1 && 
               a.getAttribute("title") && a.getAttribute("title").indexOf( sheetType ) != -1 &&
               !a.disabled)
           return a.getAttribute("title");
        }
        return null;
    }

    
    function getPreferredStyleSheetByType( sheetType ) 
    {
        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") && a.getAttribute("title").indexOf( sheetType ) != -1
               )

               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;
    }

    window.onload = function (e) {
        var cookie = readCookie("textStyle");
        var title = cookie ? cookie : getPreferredStyleSheetByType("Text");
        setActiveStyleSheetByType("Text", title);

        cookie = readCookie("backColor");
        title = cookie ? cookie : getPreferredStyleSheetByType("Color");
        setActiveStyleSheetByType("Color", title);

        cookie = readCookie("pageWidth");
        title = cookie ? cookie : getPreferredStyleSheetByType("Page");
        setActiveStyleSheetByType("Page", title);
    }
     
    window.onunload = function(e) 
    {
        var title = getActiveStyleSheetByType( "Text" );
        createCookie( "textStyle", title, 365 );

        title = getActiveStyleSheetByType( "Color");
        createCookie( "backColor", title, 365 );

        title = getActiveStyleSheetByType( "Page");
        createCookie( "pageWidth", title, 365 );
    }

    var cookie = readCookie( "textStyle" );
    var title = cookie ? cookie : getPreferredStyleSheetByType( "Text" );
    setActiveStyleSheetByType( "Text", title );

    cookie = readCookie( "backColor" );
    title = cookie ? cookie : getPreferredStyleSheetByType( "Color" );
    setActiveStyleSheetByType( "Color", title );

    cookie = readCookie( "pageWidth" );
    title = cookie ? cookie : getPreferredStyleSheetByType( "Page" );
    setActiveStyleSheetByType( "Page", title );

