// - - - - - - - - - - - - - - - - - - - - -
//
// Title : Dynamic Resolution Dependent Layout Demo
// Author : Kevin Hale
// URL : http://particletree.com
//
// Description : This is a demonstration of a dynamic
// resolution dependent layout in action. Change your browser
// window size to see the layout respond to your changes. To
// preserve the separation of the presentation and behavior
// layers, this implementation delegates all the presentation
// details to external CSS stylesheets instead of changing
// each style property through JavaScript.
//
// Created : July 30, 2005
// Modified : November 15, 2005
//
// - - - - - - - - - - - - - - - - - - - - -

// getBrowserWidth is taken from The Man in Blue Resolution Dependent Layout Script
// http://www.themaninblue.com/experiment/ResolutionLayout/
/*
	function getBrowserWidth(){
		if (window.innerWidth){
			return window.innerWidth;}
		else if (document.documentElement && document.documentElement.clientWidth != 0){
			return document.documentElement.clientWidth;	}
		else if (document.body){return document.body.clientWidth;}
			return 0;
	}
 */

// dynamicLayout by Kevin Hale
function dynamicLayout()
{
    var browserWidth = getFrameSize().width;

    //Load Thin CSS Rules
    if ( browserWidth < 800 )
    {
        changeLayout( "thin" );
    }
    else
    {
        changeLayout( "normal" );
    }
    /*
    //Load Wide CSS Rules
    if ((browserWidth >= 750) && (browserWidth <= 950)){
    changeLayout("wide");
    }
    //Load Wider CSS Rules
    if (browserWidth > 950){
    changeLayout("wider");
    }
     */
}

// changeLayout is based on setActiveStyleSheet function by Paul Sowdon
// http://www.alistapart.com/articles/alternate/
function changeLayout( description )
{
    if ( description == dynamiclayout_layout )
    {
        return;
    }

    dynamiclayout_layout = description;

    var i, a, title;

    for ( i = 0; ( a = document.getElementsByTagName( "link" )[ i ] ); i++ )
    {
        title = a.getAttribute( "title" );

        /*
        On IE, it's not null, but rather an empty string.
         */
        if ( title == null || title == '' )
        {
            continue;
        }

        a.disabled = true;

        if ( title == description || title == "default" )
        {
            // alert( "changeLayout keeping title:  " + title );
            a.disabled = false;
        }
        /*
           else if ( title != "default" )
           {
        // alert( "changeLayout title:  " + title );
        a.disabled = true;
        }
         */
    }
}

/*
//addEvent() by John Resig
	function addEvent( obj, type, fn ){
	   if (obj.addEventListener){
	      obj.addEventListener( type, fn, false );
	   }
	   else if (obj.attachEvent){
	      obj["e"+type+fn] = fn;
	      obj[type+fn] = function(){ obj["e"+type+fn]( window.event ); }
	      obj.attachEvent( "on"+type, obj[type+fn] );
	   }
	}
 */

var dynamiclayout_layout = "";

//Run dynamicLayout function when page loads and when it resizes.
// addLoadEvent(dynamicLayout);
dynamicLayout();
addEvent(window, 'resize', dynamicLayout);
