<?php 
//======================================================================================================================
//
//  Compress output and set caching headers
//
// ---------------------------------------------------------------------------------------------------------------------

/*     ob_start( 'ob_gzhandler' ) ; */
/*     header( 'Content-type: text/javascript' ) ; */
/*     header ( 'Cache-Control: must-revalidate' ) ; */
/*     $offset = 60 * 60 ; */
/*     $ExpStr = 'Expires: ' .  */
/*     gmdate ( 'D, d M Y H:i:s', */
/*     time() + $offset) . ' GMT' ; */
/*     header( $ExpStr ) ; */

?>
//======================================================================================================================
//
//  Copyright (c) 2004, Creed New Media except where noted otherwise. All rights reserved.
//
// ---------------------------------------------------------------------------------------------------------------------
//
//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO 
//  THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 
//  TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 
//  THE SOFTWARE. 
//
//======================================================================================================================

    
    function setActiveStyleSheet( title ) 
    {
        var i, a, main;
        
        for ( i=0; ( a = document.getElementsByTagName("link")[i] ); i++ ) {
            if ( a.getAttribute( "rel" ) 
                 && ( a.getAttribute( "rel" ).indexOf( "style" ) != -1 && a.getAttribute( "title" ) ) 
               ) {
                a.disabled = true;
                if( a.getAttribute( "title" ) == title) a.disabled = false ;
            }
        }
    }
    
    
    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 setStylesheet ( )
    {
        var cookie = getCookie( 'style' ) ;
        var title = cookie ? cookie : getPreferredStyleSheet() ;
    
        setActiveStyleSheet( title ) ;
    }
    
    
    function saveStylesheet ( )
    {
        var title = getActiveStyleSheet() ;
    
        setCookie( 'style', title, 365 ) ;
    }
    
    
    function writeStylesheetSwitcherControls ( ) 
    {
        if ( document.getElementById( 'style-switcher-controls' ) && (document.attachEvent || document.addEventListener) )
        {
            var switchpara = document.createElement( 'p' ) ;
            switchpara.setAttribute( 'id', 'switchpara' ) ;
            
            var styledlink = document.createElement( 'a' ) ;
            var styledtext = document.createTextNode( 'Styled' ) ; 
    
            var divider = document.createTextNode( ' | ' ) ; 
    
            var plainlink = document.createElement( 'a' ) ;
            var plaintext = document.createTextNode( 'Text Only' ) ; 
     
            styledlink.setAttribute( 'id', 'styledlink' ) ;
            styledlink.setAttribute( 'href', '#' ) ;
            styledlink.setAttribute( 'title', 'Set default stylesheet.' ) ;
     
            plainlink.setAttribute( 'id', 'plainlink' ) ;
            plainlink.setAttribute( 'href', '#' ) ;
            plainlink.setAttribute( 'title', 'Set text-only stylesheet.' ) ;
    
            document.getElementById( 'style-switcher-controls' ).appendChild( switchpara ) ;
            
            document.getElementById( 'switchpara' ).appendChild( styledlink ) ;
            document.getElementById( 'styledlink' ).appendChild( styledtext ) ;
            
            document.getElementById( 'switchpara' ).appendChild( divider ) ;
            
            document.getElementById( 'switchpara' ).appendChild( plainlink ) ;
            document.getElementById( 'plainlink' ).appendChild( plaintext ) ;
            
            if ( document.attachEvent ) 
            {
                styledlink.attachEvent( 'onmouseup', setDefaultStyleSheet ) ;
                plainlink.attachEvent( 'onmouseup', setTextStyleSheet ) ;
                styledlink.attachEvent( 'onkeyup', setDefaultStyleSheet ) ;
                plainlink.attachEvent( 'onkeyup', setTextStyleSheet ) ;
            }
            else 
            {
                styledlink.setAttribute( 'onmouseup', 'setActiveStyleSheet(\'Default\');return false;' ) ;
                plainlink.setAttribute( 'onmouseup', 'setActiveStyleSheet(\'Text-only\');return false;' ) ;
                styledlink.setAttribute( 'onkeyup', 'setActiveStyleSheet(\'Default\');return false;' ) ;
                plainlink.setAttribute( 'onkeyup', 'setActiveStyleSheet(\'Text-only\');return false;' ) ;
            }
        }
    }
    
    
    function setDefaultStyleSheet ( )
    {
        setActiveStyleSheet( 'Default' ) ;
    }


    function setTextStyleSheet ( )
    {
        setActiveStyleSheet( 'Text-only' ) ;
    }


    safeAddOnload( writeStylesheetSwitcherControls ) ;
    safeAddOnload( setStylesheet ) ;


    safeAddOnUnload( saveStylesheet ) ;
    

    setStylesheet() ;

