var i = 0;
var AJAX_ARTICLE_ID = 5;
var COLORBOX_MAX_HEIGHT = 3000;
var COLORBOX_SMALL_MAX_HEIGHT = 300;
var COLORBOX_SMALL_MIN_HEIGHT = 145;
var lastEvent = false;

Hyphenator.config({
  minwordlength : 4
});
Hyphenator.run();

$('document').ready(function() {

  $('ul#flipBoxen > li').css('opacity', '0').delay(1000).fadeInSequence(1000);
  
  $('nav#arbeitsrecht')
    .hover(
      function()
      {
	lastEvent = 'mouseenter';
// 	console.log('drauf');
        $(this)
          .children('ul')
          .filter(':not(:animated)')
          .first()
          .slideDown('slow', function(){ 
	    if (lastEvent == 'mouseenter') {
// 	      console.log('Queue leeren');
	      $(this).clearQueue();
	    }
	  });
      },
      function()
      {
	lastEvent = 'mouseleave';
// 	console.log('runter');
        $(this)
          .children('ul')
          .first()
          .slideUp('slow'/*, function(){console.log('runter wurde gerade ausgeführt');}*/);
      });
    
  $('nav#arbeitsrecht a')
    .click(function(){
      $(this).siblings('ul').first().slideToggle();
    });
  
  if ($('#quotation > p').length > 1) {
    $('#quotation').cycle({
      timeout: 5000,
      random: true
    });
  }

  function mySideChange(front) {
    if (front) {
        $(this).find('div.front').show();
        $(this).find('div.back').hide();
        $(this).unbind('click').css('cursor', 'default');
    } else {
        $(this).find('div.front').hide();
        $(this).find('div.back').show();
        var $link_id = ($(this).metadata().linked_id ? $(this).metadata().linked_id : -1);
        var $this = $(this);
        if ($link_id > -1) {
          $(this).click(function(event) {
            openArticleInColorbox($link_id);
          }).css('cursor', 'pointer');
        } else if ($(this).find('div.popup_content').length > 0) {
          $(this).click(function(event) {
            $this.parent().find('div.flipBox, div.imageFlipBox').fadeTo('fast', 0);
            if ($(this).find('div.popup_content').text().length > 420) {
              openFlipContentInColorboxBig($this.find('div.popup_content').html(), $this);
            } else {
              openFlipContentInColorbox($this.find('div.popup_content').html(), $this);
            }
          }).css('cursor', 'pointer');
        }
    }
  }
  
  $('ul#flipBoxen li, ul#flipBoxenArbeitsrecht li').hover(
    function ()
    {
      $(this)
        .find('div.flipBox')
        .stop()
        .rotate3Di('flip', 'slow', {direction: 'counter-clockwise', sideChange: mySideChange});
      $(this)
        .find('div.imageFlipBox')
        .stop()
        .rotate3Di('flip', 'slow', {direction: 'counter-clockwise'});
    },
    function ()
    {
      $(this)
        .find('div.flipBox')
        .stop()
        .rotate3Di('unflip', 'slow', {sideChange: mySideChange});
      $(this)
        .find('div.imageFlipBox')
        .stop()
        .rotate3Di('unflip', 'slow');
    }
  );
  
  //POPUP PAGE JS
  $(window).bind('load', function() {
    iOffSet = 20;
    if ($('body.PopupPage').length > 0) {
      if ($('body.autoresize').length > 0 && typeof parent.$.fn.colorbox != 'undefined') {
        //var iOffSet = ($.browser.msie) ? 0 : 20; 
        var iW = $(document).width();
        var iH = $(document.body).height() + iOffSet;
        if (iH > COLORBOX_MAX_HEIGHT) {
          $('body').addClass('scrolling');
          parent.$.fn.colorbox.myResize(522, COLORBOX_MAX_HEIGHT, true);
        } else {
          $('body').removeClass('scrolling');
          parent.$.fn.colorbox.myResize(522, iH, false);
        }
      }
      $('a').each(function() {
        $(this).attr('target', '_top');
      });
    }
  });
  
});

function openInColorbox($url, $options) {
  var $opts = {
    width: $options.width || '564px',
    height: $options.height || COLORBOX_MAX_HEIGHT+'px',
    initialWidth: $options.initialWidth || '522px',
    initialHeight: $options.initialHeight || '100px',
    top: $options.top || false,
    right: $options.right || false,
    bottom: $options.bottom || false,
    left: $options.left || false,
    additionalClass: $options.additionalClass || '',
    html: $options.html || false,
    onOpen: $options.onOpen || false,
    onLoad: $options.onLoad || false,
    onComplete: $options.onComplete || false,
    onCleanup: $options.onCleanup || false,
    onClosed: $options.onClosed || false
  };
  var $ = jQuery;
  $.colorbox({
    opacity: "0.62",
    iframe: $url !== false,
    fastIframe: false,
    initialWidth: $opts.initialWidth,
    width: $opts.width,
    height: $opts.height,
    initialHeight: $opts.initialHeight,
    scrolling: ($.browser.msie) ? true : false,
    fixed: false,
    overlayClose: true,
    top: $opts.top,
    left: $opts.left,
    right: $opts.right,
    bottom: $opts.bottom,
    href: $url,
    additionalClass: $opts.additionalClass,
    html: $opts.html,
    onOpen: $opts.onOpen,
    onLoad: $opts.onLoad,
    onComplete: $opts.onComplete,
    onCleanup: $opts.onCleanup,
    onClosed: $opts.onClosed
  });
}

function openArticleInColorbox($article_id) {
  if (typeof $article_id == 'undefined' || $article_id === null || $article_id < 0 || $article_id == '') return false;
  var $ = jQuery;
  $('#colorbox').removeClass('small');
  openInColorbox('/index.php?article_id='+AJAX_ARTICLE_ID+'&id='+$article_id, {
    top: '55px',
    height: '200px',
    //initialHeight: '145px',
    initialHeight: '45px',
    left: ($('#main > article:first').length > 0) ? $('#main > article:first').offset().left : (($('#flipBoxenArbeitsrecht').length > 0) ? $('#flipBoxenArbeitsrecht').offset().left  : false)
  });
}

function openFlipContentInColorbox($content, $flipbox) {
  if (typeof $content == 'undefined' || $content === null || $content == '') return false;
  var $ = jQuery;
  openInColorbox(false, {
    top: $($flipbox).offset().top,
    height: '200px',
    width: '250px',
    initialHeight: '45px',
    initialWidth: '215px',
    left: $($flipbox).offset().left - 194,
    html: $content,
    onOpen: function() {
      $($flipbox).parent().find('div.flipBox, div.imageFlipBox').fadeTo('fast', 0);
    },
    onComplete: function() {
      var iW = $('#colorbox').width() - 42;
      var iH = 0;
      $('#cboxLoadedContent > *').each(function() {
        iH += $(this).outerHeight(true);
      });
      if (iH > COLORBOX_SMALL_MAX_HEIGHT) {
        $.fn.colorbox.myResize(iW, COLORBOX_SMALL_MAX_HEIGHT, true);
        $('#cboxLoadedContent').css('overflow', 'auto');
      } else {
        if (iH < COLORBOX_SMALL_MIN_HEIGHT) {
          iH = COLORBOX_SMALL_MIN_HEIGHT;
        }
        $.fn.colorbox.myResize(iW, iH, false);
        $('#cboxLoadedContent').css('overflow', 'initial');
      }
      if ($.browser.msie) {
        var iW = $('#colorbox').width();
        var iH = 0;
        $('#cboxLoadedContent > *').each(function() {
          iH += $(this).outerHeight(true);
        });
        if (iH > COLORBOX_SMALL_MAX_HEIGHT) {
          $.fn.colorbox.myResize(iW, COLORBOX_SMALL_MAX_HEIGHT, true);
          $('#cboxLoadedContent').css('overflow', 'auto');
        } else {
          if (iH < COLORBOX_SMALL_MIN_HEIGHT) {
            iH = COLORBOX_SMALL_MIN_HEIGHT;
          }
          $.fn.colorbox.myResize(iW, iH, false);
          $('#cboxLoadedContent').css('overflow', 'initial');
        }
      }
    },
    onCleanup: function() {
      $($flipbox).parent().find('div.flipBox, div.imageFlipBox').stop().fadeTo(500, 1);
    }
  });
  $('#colorbox').addClass('small');
}

function openFlipContentInColorboxBig($content, $flipbox) {
  if (typeof $content == 'undefined' || $content === null || $content == '') return false;
  var $ = jQuery;
  $('#colorbox').removeClass('small');
  openInColorbox(false, {
    top: '55px',
    height: '200px',
    initialHeight: '45px',
    left: ($('#main > article:first').length > 0) ? $('#main > article:first').offset().left : (($('#flipBoxenArbeitsrecht').length > 0) ? $('#flipBoxenArbeitsrecht').offset().left  : false),
    html: $content,
    onOpen: function() {
      $($flipbox).parent().find('div.flipBox, div.imageFlipBox').fadeTo('fast', 0);
    },
    onComplete: function() {
      var iW = $('#colorbox').width() - 42;
      var iH = 0;
      $('#cboxLoadedContent > *').each(function() {
        iH += $(this).outerHeight(true);
      });
      if (iH > COLORBOX_MAX_HEIGHT) {
        $.fn.colorbox.myResize(iW, COLORBOX_MAX_HEIGHT, true);
        $('#cboxLoadedContent').css('overflow', 'auto');
      } else {
        $.fn.colorbox.myResize(iW, iH, false);
        $('#cboxLoadedContent').css('overflow', 'initial');
      }
      if ($.browser.msie) {
        var iW = $('#colorbox').width();
        var iH = 0;
        $('#cboxLoadedContent > *').each(function() {
          iH += $(this).outerHeight(true);
        });
        if (iH > COLORBOX_MAX_HEIGHT) {
          $.fn.colorbox.myResize(iW, COLORBOX_MAX_HEIGHT, true);
          $('#cboxLoadedContent').css('overflow', 'auto');
        } else {
          $.fn.colorbox.myResize(iW, iH, false);
          $('#cboxLoadedContent').css('overflow', 'initial');
        }
      }
    },
    onCleanup: function() {
      $($flipbox).parent().find('div.flipBox, div.imageFlipBox').stop().fadeTo(500, 1);
    }
  });
}

