function checkForFlash()
{
  // detect if the user has flash or not
  var hasFlash = 0;
  var playerVersion = swfobject.getFlashPlayerVersion();
  if(playerVersion.major >= 9)
  {
    var hasFlash = 1;
  }
  
  return hasFlash;
    
}

function engagementLaunch( engagementName, requestId )
{
  var ajaxURL = '/apps/engagements/AJAX/launchEngagement';
  var engagementWidth = $('#engagementWidth').val();
  var transition = $('#transition').val();
  var overlayClass = $('#overlayClass').val();
  if ( overlayClass == '' )
  {
    overlayClass = 'dragonTransparent';
  }
  if ( engagementName == 'AboveTheInfluenceFireworks' )
  {
    var engagementWidth = '800';
  }

  if ( typeof( requestId ) == 'undefined' )
  {
    var requestId = '';
  }

  if ( $('#engagementLaunch').length < 1 )
  {
    contentStr = '<div id="launchEngagementPopup" style="text-align:center;font-size:12px;padding:10px;"><br><br><img src="'+IMAGE_URL+'/ajaxload_circ2.gif"><br>Launching...</div>';
    profileWidgetPopup = $('<div />').appendTo('body').dragonDrop({ width:240, title:'Launching...', content:contentStr, enableMinMax:false, curtain: false });
    
    $.ajax({
      type:'POST',
      url:ajaxURL,
      dataType:'json',
      data:'engagementName='+engagementName+'&engagementWidth='+engagementWidth+'&transition='+transition+'&overlayClass='+overlayClass+'&requestId='+requestId+'&hasFlash='+checkForFlash(),
      success:function(data){
      
        if(data.error)
        {
          $('#launchEngagementPopup').html(data.error);
          return false;
        }
        else
        {
      	  $( 'iframe,embed,object' ).css({ 'visibility': 'hidden' });
          $( '.FriendsFeed' ).css( { 'overflow-y': 'hidden' } );
          $( '.quizWrapper' ).css( { 'display': 'none' } );
          $( '.postText' ).css( { 'overflow': 'hidden' } );
          $( '#HALFounderBulletins .msg' ).css( { 'overflow': 'hidden' } );
          
          profileWidgetPopup.fadeOut(200,function(){$(this).remove();});
          $('<div id="engagementLaunch" />').appendTo('body').dragonDrop({
            type: 'window',
            curtain: true,
            curtainColor: '#FFF',
            curtainOpacity: '0',
            enableClose: false,
            displayClass: data.overlayClass,
            content: unescape( data.output.replace(/\+/g, ' ') ),
            enableMinMax: false,
            top: 0,
            centerTopEdge: true,
            draggable: false,
            callbackClose: function(e) { $('#dragonCurtain').slayDragon(); }
          });
          eval( data.flashScript );

          if ( data.transition == 'slide' )
          {
            $('#engagementLaunch').slideDown('normal', function(){
              $('#engagementLaunch .FlashObject').show();
            });
          }
          else if ( data.transition == 'fade' )
          {
            $('#engagementLaunch').fadeIn('normal', function(){
              $('#engagementLaunch .FlashObject').show();
            });
          }
          else
          {
            $('#engagementLaunch').show( function(){
              $('#engagementLaunch .FlashObject').show();
            });
          }
          if ( requestId != '' )
          {
            $('#engagementLaunch .engagementOptOut').show();
            $('#engagementLaunch .engagementOptOut').click(function(){
              engagementOptOut( $('.engagementName').text() );
              return false;
            });
          }

          $('.engagementClose').unbind( 'click' ).click(function(){
            engagementClose( );
            return false;
          });

          if( engagementName == 'SixFlagsRollerCoasterRide' )
          {
            initSixFlags(requestId);
          }

          if( engagementName == 'GIJoeAttack' )
          {
            initGIJoe(requestId, data.requestData);
          }

          if( engagementName == 'BringItOnCheerleader' )
          {
            initBringItOnCheerleader(requestId);
          }
          
        }

      }
    });
  }
  else
  {

   $.ajax({
      type:'POST',
      url:ajaxURL,
      dataType:'json',
      data:'engagementName='+engagementName+'&engagementWidth='+engagementWidth+'&transition='+transition+'&overlayClass='+overlayClass,
      success:function(data){

      	$('#engagementLaunch .dragonContent').html( unescape( data.output.replace(/\+/g, ' ') ) );
      	$('#engagementLaunch .FlashObject').show();
        $('.engagementClose').unbind( 'click' ).click(function(){
          engagementClose( );
          return false;
        });
        if( engagementName == 'AboveTheInfluenceFireworks' )
        {
          eval( data.flashScript );
        }

        if( engagementName == 'GIJoeAttack' )
        {
          initGIJoe( null, null );
        }
      }
    });

  }
}

function engagementClose( removeCurtain )
{
  RequestsSender.reset( );
  if ( removeCurtain != 'keep' )
  {
    $.dragonCurtainRemove();
  }
  $( '#engagementLaunch' ).fadeOut( 300, function(){ $( this ).remove(); });
  $( 'iframe,embed,object' ).css({ visibility: 'visible' });
  $( '.FriendsFeed' ).css( { 'overflow-y': 'scroll' } );
  $( '.quizWrapper' ).css( { 'display': 'block' } );
  $( '.postText' ).css( { 'overflow': 'auto' } );
  $( '#HALFounderBulletins .msg' ).css( { 'overflow': 'auto' } );  
  return false;
}

function hideOptOut ( )
{
  $('.engagementOptOut').hide( );
  return false;
}

function engagementFriendSelector( fireworkNum, messageNum, maxFriends )
{
  var ajaxURL = '/apps/engagements/AJAX/friendSelector';
  var maxFriends = 5;
  var engagementName = $('.engagementName').text();

  engagementData = '{ "fireworkNum": "'+fireworkNum+'", "messageNum": "'+messageNum+'" }';

  $.ajax({
    type:'POST',
    url:ajaxURL,
    dataType:'json',
    data:'engagementData='+engagementData+'&maxFriends='+maxFriends+'&engagementName='+engagementName,
    success:function(data){
	  $('.fireworkNum').text( fireworkNum );
	  $('.messageNum').text( messageNum );
      $('#EngagementContentArea').html( unescape( data.output.replace( /\+/g, ' ' ) ) );

      if ( engagementName == 'AboveTheInfluenceFireworks' )
      {
        clickTags = [ 'http://media.nyadmcncserve-05y06a.com/click?spacedesc=1232057_1076626_1x1_1127990_1232057', 'http://media.nyadmcncserve-05y06a.com/click?spacedesc=1232064_1076626_1x1_1127992_1232064' ];
        var clickTag = clickTags[ Math.floor( Math.random() * clickTags.length ) ];
        $('.ATIContentArea').append( '<a href=" ' + clickTag + ' " target="_blank"><img src="http://movies.myyearbook.com/images/abovetheinfluence/engagement/ati_logo_up.gif" class="ATILogo" alt="Above The Influence" /></a>' );
        $('.ATILogo').hover(
          function()
          {
            this.src = this.src.replace('_up','_over');
          },
          function()
          {
            this.src = this.src.replace('_over','_up');
          }
        );
      }

      RequestsSender.initialize();
      $('.sendNotification').unbind( 'click' ).click( engagementSend );
    }
  });
}

function engagementSend( )
{
  if ( RequestsSender.selectedCount == 0 )
  {
    RequestsSender.displayError( 'You must select at least 1 friend!', 3000 );
    return false;
  }
  else
  {
    var ajaxURL = '/requests/send';
    if ( typeof( SERVICE_NAME ) == 'undefined' )
    {
      ajaxURL = '/apps' + ajaxURL;
    }

    $.ajax({
      url: ajaxURL,
      data: { friends: RequestsSender.buildFriendsString(), uniqueID: $('#RequestSender .rid').text(), message: '' },
      type: 'post',
      dataType: 'json',
      success: function(data) {
        RequestsSender.reset( );
        engagementConfirmation( );
      }
    });
  }
  return false;
}

function engagementConfirmation( )
{
    var ajaxURL = '/engagements/AJAX/confirmationEngagement';
    if ( typeof( SERVICE_NAME ) == 'undefined' )
    {
      ajaxURL = '/apps' + ajaxURL;
    }

    $.ajax({
      url: ajaxURL,
      data:'engagementName='+$('.engagementName').text(),
      type: 'post',
      dataType: 'json',
      success: function(data) {
        $('#RequestSender *').fadeOut(500);
        $('#EngagementContentArea').css( 'background', '#000 url(http://movies.myyearbook.com/images/abovetheinfluence/engagement/ati-background-confirm.jpg) no-repeat scroll 0 0' );
        $('#EngagementContentArea').html( unescape( data.output.replace(/\+/g, ' ') ) );
        $('#engagementLaunch .FlashObject').show();
        $('.addBadgeButton').click( addBadge );
        $('.sendMoreButton').click( function(){
          engagementLaunch( $('.engagementName').text() );
        });
        $('.ATILogo').hover(
          function()
          {
            this.src = this.src.replace('_up','_over');
          },
          function()
          {
            this.src = this.src.replace('_over','_up');
          }
        );

      }
    });
  return false;
}

function engagementOptOut( engagementName )
{
  var ajaxURL = '/apps/engagements/AJAX/optOutEngagement';

  $.ajax({
    type:'POST',
    url:ajaxURL,
    dataType:'json',
    data:'engagementName='+engagementName,
    success:function(data){
      engagementClose( 'keep' );
      contentStr = '<div id="optOutPopup" style="text-align:center;font-size:12px;padding:10px;"><br /><br />You have opted out.</div>';
      optOutPopup = $('<div />').appendTo('body').dragonDrop({ width:240, title:'Opt Out', content:contentStr, enableMinMax:false });
      setTimeout(function(){
        optOutPopup.fadeOut(200,function(){
          $(this).remove();
        });
        $( '#dragonCurtain' ).slayDragon( );
      }, 1000);
    }
  });
}

function engagementOptOutConfirm( engagementName )
{
  var ajaxURL = '/apps/engagements/AJAX/optOutEngagement';

  $.ajax({
    type:'POST',
    url:ajaxURL,
    dataType:'json',
    data:'engagementName='+engagementName,
    success:function(data){
      engagementClose( 'keep' );
      contentStr = '<div id="optOutPopup" style="text-align:center;font-size:12px;padding:10px;"><br /><br />You have been opted out</div>';
      optOutPopup = $('<div />').appendTo('body').dragonDrop({ width:240, title:'Opt Out', content:contentStr, enableMinMax:false });
      setTimeout(function(){
        optOutPopup.fadeOut(200,function(){
          $(this).remove();
        });
        $( '#dragonCurtain' ).slayDragon( );
      }, 1000);
    }
  });
}

function setBadge ( badgeNum )
{
  var i = 1;
  for (i = 1; i <= 5; i++)
  {
    if ( i == badgeNum )
    {
      $('#ATIBadge' + i).addClass( 'badgeSelected' );
    }
    else
    {
      $('#ATIBadge' + i).removeClass( 'badgeSelected' );
    }
    $('.badgeNum').text( badgeNum );
  }
}

function addBadge ( )
{
  var badgeNum = $('.badgeNum').text( );
  var badgeCode = '<object width="520" height="117" id="atibadge' + badgeNum + '" type="application/x-shockwave-flash" data="http://movies.myyearbook.com/custom_eng/ati/ati_badge.swf"><param name="movie" value="http://movies.myyearbook.com/custom_eng/ati/ati_badge.swf" /><param name="wmode" value="window" /><param name="allowscriptaccess" value="always"/><param name="allownetworking" value="all" /><param name="flashvars" value="badgeNum=' + badgeNum + '"><param name="scale" value="noscale" /><param name="salign" value="tl" /><param name="base" value="http://movies.myyearbook.com/custom_eng/ati/" /></object>';
  if ( badgeNum == '' )
  {
    $('.badgeErrorMessage').fadeIn( 'normal', function(){  
      setTimeout(function(){
        $('.badgeErrorMessage').fadeOut( 'normal' );
      }, 1000);
    });
    return false;
  }
  else
  {
    var ajaxURL = '/ajax/abovetheinfluence/widget.php';

    $.ajax({
      type:'POST',
      url:ajaxURL,
      dataType:'json',
      data:'wiwContent='+badgeCode,
      success:function(data){
    	$('#ATIBadge' + badgeNum).removeClass( 'badgeSelected' );
    	$('.badgeNum').text( '' );
        $('.badgeAddedMessage').fadeIn( 'normal', function(){  
          setTimeout(function(){
            $('.badgeAddedMessage').fadeOut( 'normal' );
          }, 1000);
        });
      }
    });
  }
}

function var_dump(obj) {
   if(typeof obj == "object") {
      return "Type: "+typeof(obj)+((obj.constructor) ? "\nConstructor: "+obj.constructor : "")+"\nValue: " + obj;
   } else {
      return "Type: "+typeof(obj)+"\nValue: "+obj;
   }
}