/**
 * jquery.yakabox.settings.js
 *
 * Overriding jquery settings to define standard Yakabox behavior
 *
 * $Revision: 1.5 $
 * $Date: 2009/12/14 18:37:24 $
 * Last edited by: $Author: achristi $
 *
 * Last error free JSLint: 5 Nov 09 1528
 */
window.maintainDialogScrollability = function()
{
  var $dialog, $scrollableDialogContent, iAvailableHeight, aHeightDetractors, iCurrentContentHeight, iHDIndex, iEleIndex, sOverflow;

  $dialog = window.$( this ).parents( '.ui-dialog' );
  $scrollableDialogContent = $dialog.find( '.scrollableDialogContent' );

  if( $scrollableDialogContent.length > 0 )
  {
    iAvailableHeight = $dialog.innerHeight() - 15;

    if( iAvailableHeight > 0 )
    {
      aHeightDetractors = [
        $dialog.find( '.ui-dialog-titlebar:visible' ),
        $dialog.find( '.ui-tabs-nav:visible' ),
        $dialog.find( '.ui-dialog-buttonpane:visible' )
      ];

      for( iHDIndex in aHeightDetractors )
      {
        if( aHeightDetractors[iHDIndex] instanceof window.jQuery )
        {
          for( iEleIndex = 0; iEleIndex < aHeightDetractors[iHDIndex].length; iEleIndex++ )
          {
            iAvailableHeight = iAvailableHeight - window.$( aHeightDetractors[iHDIndex][iEleIndex] ).outerHeight();
          }
        }
      }

      iCurrentContentHeight = $scrollableDialogContent.height();

      $scrollableDialogContent.height( iAvailableHeight );

      sOverflow = 'auto';
      if( iCurrentContentHeight > iAvailableHeight )
      {
        sOverflow = 'scroll';
        $scrollableDialogContent.css( 'padding-bottom', '5px' );
      }
			else
			{
        sOverflow = 'none';
			}

      $scrollableDialogContent.css( 'overflow', sOverflow );
      $scrollableDialogContent.css( 'scrollWidth', $dialog.innerWidth() );
}
  }
};

window.$.extend( window.$.ui.dialog.defaults, {
  modal: true,
  bgiframe: true,
  position: 'center',
  width: 630,
  height: 530,
  dialogClass: 'contenAdd',
  overlay: {
    opacity: 0.5,
    background: 'white'
  },
  resizable: true,
  draggable: true,
  closeOnEscape: false,
  show: ( window.$.support.opacity ? 'clip' : null ),
  open: window.maintainDialogScrollability,
  resizeStop: window.maintainDialogScrollability,
  close: function()
  {
    window.$( this ).dialog( 'destroy' );
  }
} );


