
/***********************************************
* Switch Content script II- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use. Last updated April 2nd, 2005.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

var enablepersist="on" //Enable saving state of content structure using session cookies? (on/off)
var memoryduration="7" //persistence in # of days

var contractsymbol='/art/btn_arrow_open.gif' //Path to image to represent contract state.
var expandsymbol='/art/btn_arrow_closed.gif' //Path to image to represent expand state.

/////No need to edit beyond here //////////////////////////

function getElementbyClass( rootobj, classname )
{
   var temparray=new Array()
   var inc=0
   var rootlength=rootobj.length
   
   for ( i = 0; i < rootlength; i++ )
   {
      if ( rootobj[ i ].className==classname )
      {
         temparray[inc++]=rootobj[ i ];
      }
   }
   
   return temparray
}

function sweeptoggle( ec )
{
   var inc=0

   while ( ccollect[ inc ] )
   {
      ccollect[inc].style.display = ( ec == "contract" ) ? "none" : "";
      inc++;
   }

   revivestatus();
}


function expandcontent( curobj, cid )
{
   if ( ccollect.length > 0 )
   {
      document.getElementById( cid ).style.display = ( document.getElementById( cid ).style.display != "none" ) ? "none" : "";
      if ( document.getElementById( cid ).style.display == "" ) {
         myGubaBlocks.draw( 'block_' + cid );
      }
      curobj.src = ( document.getElementById( cid ).style.display == "none" ) ? expandsymbol : contractsymbol;
      saveswitchstate();
   }
}

function revivecontent()
{
   selectedItem = getselectedItem();
   selectedComponents = selectedItem.split( "|" );

   for ( i = 0; i < selectedComponents.length - 1; i++ )
   {
      var settings = selectedComponents[ i ].split( '=' );
      if ( document.getElementById( settings[ 0 ] ) )
      {
         if ( settings[ 1 ] == 'true' ) {
            document.getElementById( settings[ 0 ] ).style.display = "";
           myGubaBlocks.draw( 'block_' + settings[ 0 ] );
        }
      }
   }
}

function revivestatus()
{
   var inc = 0;
   
   while ( statecollect[ inc ] )
   {
      if ( ccollect[ inc ].style.display == "none" )
      {
         statecollect[ inc ].src = expandsymbol;
      }
      else {
         statecollect[inc].src = contractsymbol;
      }
      
      inc++;
   }
}

function get_cookie( Name )
{
   var search = Name + "=";
   var returnvalue = "";

   if ( document.cookie.length > 0)
   {
      offset = document.cookie.indexOf( search );
      if ( offset != -1 )
      {
         offset += search.length;
         end = document.cookie.indexOf(";", offset);
         if ( end == -1 )
         {
            end = document.cookie.length;
         }
         returnvalue=unescape(document.cookie.substring(offset, end))
      }
   }
   
   return returnvalue;
}

function getselectedItem()
{
   if ( get_cookie( "/myguba" ) != "" )
   {
      selectedItem = get_cookie( "/myguba" );
      return selectedItem;
   }

   return "";
}

function saveswitchstate()
{
   var inc=0, selectedItem = "";

   while ( ccollect[ inc ] )
   {
      if (ccollect[inc].style.display=="none")
      {
         selectedItem += ccollect[inc].id + "=false|";
      }
      else {
         selectedItem += ccollect[inc].id + "=true|";
      }

      inc++;
   }

   if ( get_cookie( "/myguba" ) != selectedItem )
   { //only update cookie if current states differ from cookie's
      var expireDate = new Date();
      expireDate.setDate( expireDate.getDate() + parseInt( memoryduration ) );
      document.cookie = "/myguba=" + selectedItem
         + ";path=/;expires=" + expireDate.toGMTString();
   }
}

function do_onload()
{
   uniqueidn = window.location.pathname + "firsttimeload";
   var alltags = document.all ? document.all : document.getElementsByTagName( "*" );
   ccollect = getElementbyClass( alltags, "module_guts" );
   statecollect = getElementbyClass( alltags, "showstate" );

   if ( enablepersist == "on"
      && get_cookie( "/myguba" ) != ""
      && ccollect.length > 0 )
   {
      revivecontent();
   }
   else {
      var inc = 0, openedDefault = 0;
      while( ccollect[ inc ]
         && ( openedDefault < 2 ) )
      {
         if ( ccollect[ inc ].style.display == "none" )
         {
            ccollect[ inc ].style.display = "";
            myGubaBlocks.draw( 'block_' + ccollect[ inc ].id );
            openedDefault++;
         }
         inc++;
      }
      saveswitchstate();
   }

   if ( ccollect.length > 0
      && statecollect.length > 0 )
   {
      revivestatus();
   }
}

if ( window.addEventListener )
{
   window.addEventListener( "load", do_onload, false );
}
else if ( window.attachEvent )
{
   window.attachEvent( "onload", do_onload );
}
else if ( document.getElementById )
{
   window.onload = do_onload;
}

if (enablepersist=="on" && document.getElementById)
window.onunload=saveswitchstate

