/*
 * Calculator Drawers
 * ==================
 * Scripts to handle calculator drawer functionality only.
 *
 * Functions in this file depend on sidebar.js
 */

function CalculatorExpandAllDrawers( strType )
{
   var pDrawerContainer = document.getElementById('calculator_drawer_'+strType+'_container');
   if( pDrawerContainer ) {
      var aDrawers = pDrawerContainer.getElementsByTagName('div');
      if( aDrawers && aDrawers.length > 0 ) {
         for( var i=0; i < aDrawers.length; i++ ) {
            //Expand all closed drawers
            if( aDrawers[i].id ) {
               if( aDrawers[i].id.match(/calculator_drawer_.*_.*_content/) != null ) {
                  RemoveClass( aDrawers[i], 'hide' );
               } else if( aDrawers[i].id.match(/calculator_drawer_.*_.*_handle/) != null ) {
                  AddClass( aDrawers[i], 'hide' );
               }
            }
         }
      }
   }
   return false;
}

function CalculatorExpandDrawer( strType, strDrawerName )
{
   var strContentId = 'calculator_drawer_'+strType+'_'+strDrawerName+'_content';
   var strHandleId = 'calculator_drawer_'+strType+'_'+strDrawerName+'_handle';
   var pDrawerContainer = document.getElementById('calculator_drawer_'+strType+'_container');
   if( pDrawerContainer ) {
      var aDrawers = pDrawerContainer.getElementsByTagName('div');
      if( aDrawers && aDrawers.length > 0 ) {
         for( var i=0; i < aDrawers.length; i++ ) {
            //Collapse all open drawers first
            if( aDrawers[i].id ) {
               if( aDrawers[i].id.match(/calculator_drawer_.*_.*_content/) != null ) {
                  AddClass( aDrawers[i], 'hide' );
               } else if( aDrawers[i].id.match(/calculator_drawer_.*_.*_handle/) != null ) {
                  RemoveClass( aDrawers[i], 'hide' );
               }
            }
         }
      }
      //Now open our requested drawer      
      var pOurDrawerContent = document.getElementById( strContentId );


      pOurDrawerContent.parentNode.style.visibility = 'hidden';

      RemoveClass( pOurDrawerContent, 'hide' );
      AddClass( strHandleId, 'hide' );
      StartDrawerOpenLoop( pOurDrawerContent );
      
   }
   return false;
}

function CalculatorCollapseDrawer( strType, strDrawerName )
{
   var strHandleId = 'calculator_drawer_'+strType+'_'+strDrawerName+'_handle'; 
   var strContentId = 'calculator_drawer_'+strType+'_'+strDrawerName+'_content';
   var pDrawerDiv = document.getElementById( strContentId );
   if( pDrawerDiv ) {
      var iDrawerOpenHeight = CyberCoreFindHeight(pDrawerDiv);
      var iDrawerTop = CyberCoreFindPosY(pDrawerDiv);
      var aChildDivs = pDrawerDiv.getElementsByTagName('div');
      var pTmpDiv = null;
      var aSlideControls = new Array();

      //IE can't handle sliders in drawers while opening, do it in reverse so our heights are correct
      for( var i=(aChildDivs.length-1); i >= 0 ; i-- ) {
         if( HasClass( aChildDivs[i], 'slidercontainer' ) ) {
            aSlideControls.push( aChildDivs[i] );
            aChildDivs[i].originalBottom = CyberCoreFindPosY(aChildDivs[i]) + CyberCoreFindHeight(aChildDivs[i]) - iDrawerTop;
         }
      }
      pDrawerDiv.style.height = iDrawerOpenHeight + 'px';
      var pSmoothMovement = new SmoothMovement(iDrawerOpenHeight, 0, 7);

      window.setTimeout( function() {UpdateDrawerClose(pDrawerDiv, aSlideControls, pSmoothMovement, iDrawerOpenHeight, strHandleId);}, 20 );
   }
   return false;
}

