function toggleShouts()
{
  try
  {
    var shoutBox = jQuery( '#shouts' );

    if ( shoutBox )
    {
      if ( shoutBox.hasClass( 'shouts-hide-me' ) )
      {
        shoutBox.removeClass( 'shouts-hide-me' );
        shoutBox.addClass( 'shouts-show-me' );
      }
      else
      {
        shoutBox.removeClass( 'shouts-show-me' );
        shoutBox.addClass( 'shouts-hide-me' );
      }
    }

    return false;
  }
  catch ( e ) {
//    alert( e );
  }
}

function showShouts()
{
  try
  {
    var shoutBox = jQuery('#shouts');

    shoutBox.removeClass( 'shouts-hide-me' )
    shoutBox.addClass( 'shouts-show-me' )

    return false;
  }
  catch ( e ) {}
}

function hideShouts()
{
  try
  {
    var shoutBox = jQuery( '#shouts' );

    shoutBox.removeClass( 'shouts-show-me' );
    shoutBox.addClass( 'shouts-hide-me' );

    return false;
  }
  catch ( e ) {}
}

// submenu / subsubmenu
var wasActive = false;

function showSub( elem, subm, active )
{
  try
  {
    var subMenu = jQuery( '#' + subm );
    var pos = jQuery( elem ).offset();
    var mLink = jQuery( elem ).children('a');

    wasActive = false;

    if ( active != '' )
    {
      wasActive = true;
    }

    subMenu.css( { visibility: 'visible', left: pos.left, top: ( pos.top + 24 ) } );
    mLink.addClass( 'active' );
  }
  catch (e)
  {
    //alert(e);
  }
}

function hideSub( elem, subm )
{
  try
  {
    var subMenu = jQuery( '#' + subm );
    var mLink = jQuery( elem ).children( 'a' );

    subMenu.css( { visibility: 'hidden' } );

    if ( !wasActive )
    {
      mLink.removeClass( 'active' );
    }
  }
  catch (e)
  {
    //alert(e);
  }
}

function showSubsub( elem, subsubm, active )
{
  try
  {
    var subsubMenu = jQuery( '#' + subsubm );
    var mLink = jQuery( elem ).children('a');
    var posP = jQuery( elem ).parent().offset();
    var pos = jQuery( elem ).offset();

//    subsubMenu.css( { visibility: 'visible', top: ( ( pos.top - posP.top ) + 7 ), left: ( jQuery( elem ).width() - 8 ) } );
    subsubMenu.css( { visibility: 'visible', top: ( pos.top - posP.top ), left: ( jQuery( elem ).width() ) } );
    mLink.addClass( 'active2' );
  }
  catch (e)
  {
//    alert(e);
  }
}

function hideSubsub( elem, subm )
{
  try
  {
    var subMenu = jQuery( '#' + subm );
    var mLink = jQuery( elem ).children( 'a' );

    subMenu.css( { visibility: 'hidden' } );
    mLink.removeClass( 'active2' );
  }
  catch (e)
  {
    //alert(e);
  }
}

// stop other players logic
var idVideoplayers = 'Videoplayer';
var idMusicplayers = 'musicPlayer';

function stopOtherPlayers( elem )
{
  try
  {
    var elemId = '';

    if ( elem )
    {
      if ( typeof elem == 'string' )
      {
        elemId = elem;
      }
      else
      {
        elemId = jQuery( elem ).attr( 'id' );
      }
    }

//    alert( elemId );

    switch ( elemId )
    {
      case idVideoplayers:
//        alert( elem.state );
        if ( elem.state != false )
        {
          stopMusic();
          stopRadio();
        }
        break;

      case idMusicplayers:
        stopVideo();
        stopRadio();
        break;

      default:
        stopVideo();
        stopMusic();
        break;
    }
  }
  catch (e)
  {
//    alert(e);
  }
}

function stopVideo()
{
  try
  {
    var videoplayers = jQuery( '#' + idVideoplayers );
    videoplayers.each( function() { this.sendEvent( 'PLAY', 'false' ); } );
  }
  catch ( e ) {}
}

function stopMusic()
{
  try
  {
    var musicplayers = jQuery( '#' + idMusicplayers );

    if ( musicplayers.length > 0 )
    {
      musicplayers.each( function() { this.stopTrack(); } );
    }

    if ( windowMusicPlayer )
    {
      windowMusicPlayer.close();
    }
  }
  catch ( e ) {
//    alert(e);
  }
}

function stopRadio()
{
  try
  {
    parent.frames[0].stopILRPlayer();
  }
  catch ( e ) {}
}

function lighten( obj, opacity )
{
  if ( !opacity )
  {
    opacity = '1.0';
  }

  setOpacity( obj, opacity );
}

function darken( obj, opacity )
{
  if ( !opacity )
  {
    opacity = '0.6';
  }

  setOpacity( obj, opacity );
}

// opacit helper
function setOpacity( obj, opacity )
{
  try
  {
    if ( jQuery )
    {
      var elem = jQuery( obj );

      if ( elem )
      {
        if ( !opacity )
        {
          opacity = '1.0';
        }

        elem.css( 'opacity', opacity );
      }
    }
  }
  catch ( e ) {}
}

function getSubcategories( params )
{
  try
  {
    var selectId = params.selectId;
    var category = params.category;

    if ( !selectId )
    {
      throw 'Parameter selectId is missing.';
    }

    if ( !category || category == 'community' )
    {
      jQuery( '#' + selectId ).html( '' );
      jQuery( '.subcategory' ).hide();
      return;
    }

    var url = '/callback/ajax/video_subcategories/category:' + category + '?' + String( Math.floor( Math.random() * 100000 ) );

    jQuery.post(
      url,
      function( data ) {
        var select = jQuery( '#' + selectId );

        if ( data )
        {
          select.html( data );
          jQuery( '.subcategory' ).show();
        }
        else
        {
          select.html( '' );
          jQuery( '.subcategory' ).hide();
        }
      }
    );
  }
  catch ( e ) {
//    alert( e );
  }
}
