// Copyright (c) 2008 shane-herrington.com (http://www.shane-herrington.com)

Effect.divSwap = function(element,container){
    var div = document.getElementById(container);
    var nodeList = div.childNodes;
    var queue = Effect.Queues.get('menuScope');

    if(queue.toArray().length<1){
        if(Element.visible(element)==false){
            for(i=0;i<nodeList.length;i++){
                if(nodeList.item(i).nodeName=="DIV" && nodeList.item(i).id!=element){
                    if(Element.visible(nodeList.item(i))==true){
                        Effect.SlideUp(nodeList.item(i),{queue:{position:'end',scope:'menuScope',limit:2}})
                    }
                }
            }
            Effect.SlideDown(element,{queue:{position:'end',scope:'menuScope',limit:2}})
       }
   }
}


Effect.Center = function(element)
{   try
    {
        element = $(element);
    }
    catch(e)
    {
        return;
    }

    var my_width  = 0;
    var my_height = 0;

    if ( typeof( window.innerWidth ) == 'number' )
    {

        my_width  = window.innerWidth;
        my_height = window.innerHeight;
    }
    else if ( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) )
    {

        my_width  = document.documentElement.clientWidth;
        my_height = document.documentElement.clientHeight;
    }
    else if ( document.body && ( document.body.clientWidth || document.body.clientHeight ) )
    {

        my_width  = document.body.clientWidth;
        my_height = document.body.clientHeight;
    }
	var scrollY = 0;
    if ( document.documentElement && document.documentElement.scrollTop )
    {
        scrollY = document.documentElement.scrollTop;
    }
    else if ( document.body && document.body.scrollTop )
    {
        scrollY = document.body.scrollTop;
    }
    else if ( window.pageYOffset )
    {
        scrollY = window.pageYOffset;
    }
    else if ( window.scrollY )
    {
        scrollY = window.scrollY;
    }
    var elementDimensions = Element.getDimensions(element);
    var setX = ( my_width  - elementDimensions.width  ) / 2;
    var setY = ( my_height - elementDimensions.height ) / 2 + scrollY;
    setX = ( setX < 0 ) ? 0 : setX;
    setY = ( setY < 0 ) ? 0 : setY;
    element.style.left = setX + "px";
    element.style.top  = setY + "px";
}

function scrollpanelSelect(spitem)
{
	$$('#scrollpanelNav div.scrollpanelLink').each(function(element){ element.removeClassName('scrollpanelSelected');});
	Element.addClassName(spitem.parentNode,'scrollpanelSelected');
}

function selectEx(seitem,spitem)
{
	Effect.divSwap(seitem,'examples');
	scrollpanelSelect(spitem);
}

function displayEx(deitem)
{
	deidx = -1;
	$$('#examples div[id]').each(
		function(e,i)
		{
			if(deitem == e.identify())
			{
				e.show();
				deidx = i;
			}
			else
			{
				e.hide();
			}
		}	
	);
	$$('#scrollpanelNav div.scrollpanelLink').each(
		function(e,i)
		{
			if(i == deidx)
			{
				e.addClassName('scrollpanelSelected');
			}
			else
			{
			 	e.removeClassName('scrollpanelSelected');
			}
		}
	);
	Effect.toggle('scrollpanel','blind');
}