/* Some Global Vars */
var NewFooterHeight       = 285;
var OriginalFooterHeight  = 65;
var NextBlockToAnimate = 0;

$(document).ready(function(){
  $(window).resize(function() {
    if($('#homepagecheck').length <= 0){
      WindowInit();
    }
  });
  
  FoldFooter();
  
  if($('.marker a').length > 0){
    $('.marker a').click(function (){
      ShowTooltip($(this));
    });
    
    $(".marker a").mouseover(function() {
      ShowTooltip($(this));
    })
    
  }

  $('#content a.close-text').click(function(){
    return CloseItem();
  });
  
  $('#content .lightbox-overlay').click(function(){
    return CloseItem();
  });
  
  $('#footer a.fold-footer').click(function(){
    return FoldFooter();
  });
  
  $('#footer h1').click(function(){
    return FoldFooter();
  });
  
  if($('.group1').hasClass('home')){
    setTimeout(function(){
      StartSlideshow($('.btn:first'));
    }, 2000);
  }
  
  if($('#challengescheck').length > 0){
    CheckChallenge();
  }
  
});

function ShowTooltip(ClickedElement){
  var XPos = parseInt(ClickedElement.parent().css('left'));
  var YPos = parseInt(ClickedElement.parent().css('top'));
  var _tooltip = $('#tooltip');
  var TooltipWidth = _tooltip.width();

  $('.body', _tooltip).html(ClickedElement.next('.tooltip').html());
  _tooltip.css({ left: ((XPos - TooltipWidth) + 10) + 'px', top:(YPos+20) + 'px', display:'block' });
  
  $('#tooltip .close-tooltip').click(function (){
    return HideTooltip();
  });
}

function HideTooltip () {
  $('#tooltip').css({display:'none'});
  console.debug('sdsa')
  return false;
}

function CheckChallenge(){
  var HashTag = window.location.hash;
  if(HashTag != ''){
    HashTag = HashTag.replace('#','');
    $('.btn a').each(function(){
      var _this = $(this);
      if(_this.attr('href') == HashTag){
        _this.click();
      }
    });
  }
}

function ShowItem(CickedElement, TypeOfAnimation, StartOffsetLeft, StartOffsetTop, EndOffsetLeft, EndOffsetTop, DivIdToLoad){
  if(!CickedElement.hasClass('active')){
    
    window.location.hash = CickedElement.attr('href');
    
    $('.lightbox-overlay').css('display', 'block');
    CickedElement.css('z-index', '11').addClass('active');
    
    var AjaxLoadUrl = '/IManager/Content/18463/GPlS/mt7751/mp0/mx' + $('#challengescheck').html().toUpperCase();
    
    SetContentBlockBeforeState(StartOffsetTop, StartOffsetLeft);
    var BlockToSet = $('#content-text-container');
    
      $('#LoadAjaxText').html('<center><img src="/pics/loader.gif" alt="Loading content..." style="margin: -3px 0px 0px 0px;" /></center>');
      if(TypeOfAnimation == 'top'){
        BlockToSet.css({ display : 'block' }).animate({
          top : EndOffsetTop
        }, function(){
          $('#LoadAjaxText').load(AjaxLoadUrl + ' #' + DivIdToLoad, function(){
            AnimateCallBack();
          });
        });
      } else {
        BlockToSet.css({ display : 'block' }).animate({
          left : EndOffsetLeft
        }, function(){
          $('#LoadAjaxText').load(AjaxLoadUrl + ' #' + DivIdToLoad, function(){
            AnimateCallBack();
          });
        });
      }
  }
  return false;
}

function AnimateCallBack(){
  var ContentTextBlock      = $('#content-text');
  var ContentPaddingHeight  = parseInt(ContentTextBlock.innerHeight());
  var ContentOriginalHeight = parseInt(ContentTextBlock[0].scrollHeight);
  
  if($.browser.msie && $.browser.version >= 8) {
    var NewHeight             = (ContentOriginalHeight - (ContentPaddingHeight / 2)); /* IE 8 Fix for crap padding calculation */
  } else {
    var NewHeight             = (ContentOriginalHeight - ContentPaddingHeight);
  }

  ContentTextBlock.animate({ height : NewHeight + 'px' });
  return false;
}

function WindowInit(){
  var FooterContainer       = $('#footer-container');
  var FooterFoldLink        = $('a.fold-footer');
  
  var FooterPadding         = 25;
  var BrowserHeight         = parseInt($(window).height());
  var ContentHeight         = parseInt($('#content').outerHeight());
  var SumOfHeights          = ContentHeight + NewFooterHeight + FooterPadding;
  
  FooterContainer.stop();
  FooterContainer.clearQueue();
  
  if(BrowserHeight > SumOfHeights){
    FooterContainer.animate({ height : NewFooterHeight + 'px'});
    FooterFoldLink.attr({ 'title' : 'COLLAPSE -' }).html('COLLAPSE -');
  } else {
    FooterContainer.animate({ height : OriginalFooterHeight + 'px'});
    FooterFoldLink.attr({ 'title' : 'EXPAND +' }).html('EXPAND +');
  }
}

function CloseItem(){
  var BlockToSet = $('#content-text-container');
  BlockToSet.fadeOut('medium', function(){
    BlockToSet.find('#content-text').css({ height : '0px' });
    if($.browser.msie){
      $('.lightbox-overlay').css('display','none');
    } else {
      $('.lightbox-overlay').fadeOut('medium');
    }
    $('#content .btn a').each(function(){
      var _this = $(this);
      if(_this.hasClass('active')){
        _this.removeClass('active').css({ zIndex : 1 });
      }
    });
  });
  window.location.hash = "";
  return false;
}

function FoldFooter(){
  var FooterContainer       = $('#footer-container');
  var FooterFoldLink        = $('a.fold-footer');
  if(FooterContainer.height() <= OriginalFooterHeight){
    FooterContainer.animate({ height : NewFooterHeight + 'px'});
    FooterFoldLink.attr({ 'title' : 'COLLAPSE -' }).html('COLLAPSE -');
  } else {
    FooterContainer.animate({ height : OriginalFooterHeight + 'px'});
    FooterFoldLink.attr({ 'title' : 'EXPAND +' }).html('EXPAND +');
  }
  return false;
}

function SetContentBlockBeforeState (TopOffset, LeftOffset){
  var BlockToSet = $('#content-text-container');
  BlockToSet.css({ left : LeftOffset,  top : TopOffset})
  return true;
}

function StartSlideshow( ElementToAnimate ){   
    if($('img:first', ElementToAnimate).css('display') == 'block') {
      $('img:first' ,ElementToAnimate).css({ zIndex : 10 });
      $('img:last', ElementToAnimate).css({ zIndex : 1, display : 'block' });
      $('img:first', ElementToAnimate).fadeOut('slow'); 
    } else {
      $('img:last', ElementToAnimate).css({ zIndex : 10 });
      $('img:first', ElementToAnimate).css({ zIndex : 1, display : 'block' });
      $('img:last' ,ElementToAnimate).fadeOut('slow');
    }
    
    NextElement = Math.floor ( Math.random ( ) * 10 + 1 )

    setTimeout(function(){ 
      StartSlideshow($('.btn.nr_' + NextElement))
    }, 2000);
}
