function stopCarousel() {
  if(window.mainCarousel) {
    window.mainCarousel.stopAuto();
    $(window).unbind('resize', window.mainCarousel.funcResize);
  }
}


window.initShadowBox = function(iskaruselis) {
  if ( ! iskaruselis) {
    $('.pp_pic_holder').remove();
    $('.pp_overlay').remove();
    $('.ppt').remove();
    window.pretty = $("a.shpic").prettyPhoto({theme:'foldlife'});
  }
  else {
    if (typeof window.pretty != 'undefined') {
      window.pretty.reloadPhotos($("#slideshowpics a.shpic"));
    }
  }


  /*
  Shadowbox.clearCache();
  Shadowbox.setup("a.shpic", {
    slideshowDelay: 5,
    continuous: true,
    players:    ["img", "flv", "swf", "iframe"]
  });*/
}



function flItemlistPost(id, query, url, component, redrawpages) {
  if (!ajax_ready) return false;

  stopCarousel();

  options = { id: id, query: query, url: url, wait_content: false }
  data = {}
  $('#'+id).css({"opacity": 0.7});
  componentPost(component, 'getOutput', data, options, function(data) {
    $('#'+id).html(data);
    initCarrousel();
    window.initShadowBox();
    $('#'+id).css({"opacity": 1});
  });

  if(redrawpages)
  {
    $('#pagesdiv').css({"opacity": 0.7});
    componentPost(component, 'getPageOutput', data, options, function(data)
    {
      $('#pagesdiv').html(data);
      $('#pagesdiv').css({"opacity": 1});
    });
  }

  return false;
}

function flCreativeItemlistPost(id, query, url, component, redrawpages)
{
  flItemlistPost(id, query, url, component, redrawpages);

  //comments
  options = { id: id, query: query, url: url, wait_content: false }
  data = {}
  $('#commentslink').hide();
  componentPost(component, 'getCommentLink', data, options, function(data)
  {
    $('#commentslink').replaceWith(data);
    $('#commentslink').show();
  });

  return false;
}


function menuclick(e)
{
  if(window.mainOpenMenu && window.mainOpenContent)
  {
    var newMenu = e.target.parentNode.parentNode;
    var newContent = $("#" + e.target.parentNode.id.replace("mainmenuhref_", "content_")).get(0);
    var newHref = e.target.parentNode.href;

    if(newMenu != window.mainOpenMenu)
    {
      window.newOpenMenu = newMenu;
      window.newOpenContent = newContent;

      MM_swapImgRestore();
      $(window.mainOpenMenu).children().children().get(0).src = $(window.mainOpenMenu).children().children().get(0).src.replace('_over', '');
      $(window.mainOpenMenu).children().children().get(0).oSrc = $(window.mainOpenMenu).children().children().get(0).src;
      if (e.target.src.indexOf('_lv.gif') == -1)
        e.target.oSrc = e.target.src.replace('.gif', '_over.gif');
      else
        e.target.oSrc = e.target.src.replace('_lv.gif', '_over_lv.gif');
      e.target.src = e.target.oSrc;

      stopCarousel();

      //load new content to new opendiv
      //if(!window.newOpenContent.hasLoaded)
      {
        componentPost('contentdivs', 'GetPageContent', {}, {
          "url": newHref,
          "id": newContent.id,
          "wait_content": true
        }, setnewcontent);
      }

      $(window.mainOpenContent).animate(
      {
        "height": "0px",
        "opacity": 0
      }, "slow");

      $(window.mainOpenMenu).animate(
      {
        "marginBottom": "0px"
      }, "slow", opennewcontent);

    }

    return false;
  }
}


function setnewcontent(html)
{
  if(window.newOpenContent)
  {
    $(window.newOpenContent).html(html);
    window.newOpenContent.hasLoaded = true;
    initCarrousel();
    window.initShadowBox();
  }
}


function opennewcontent()
{
  $(window.mainOpenContent).html('');
  $(window.mainOpenContent).css({"visibility": "hidden"});
  window.initShadowBox(); //reinit shadowbox to remove old pics

  if(window.newOpenMenu && window.newOpenContent)
  {
    $(window.newOpenContent).css({"height": "0px", "opacity": 0, "visibility": "visible"});
    $(window.newOpenMenu).css({"margin-bottom": "0px"});

    $(window.newOpenContent).animate(
    {
      "height": "304px",
      "opacity": 1
    }, "slow");

    $(window.newOpenMenu).animate(
    {
      "marginBottom": "329px"
    }, "slow");

    window.mainOpenMenu = window.newOpenMenu;
    window.mainOpenContent = window.newOpenContent;
  }
}


function carousel_initCallback(carousel, state)
{
  window.mainCarousel = carousel;
}

function mycarousel_itemVisibleInCallback(carousel, item, i, state, evt)
{
    // The index() method calculates the index from a
    // given index who is out of the actual item range.
    if(mycarousel_itemList && mycarousel_size)
    {
      var idx = carousel.index(i, mycarousel_itemList.length);
      carousel.add(i, mycarousel_getItemHTML(mycarousel_itemList[idx - 1], i));
      window.initShadowBox(true);
    }
};

function mycarousel_itemVisibleOutCallback(carousel, item, i, state, evt)
{
    var link = $(item).children("a[id^='pic']").get(0);
    var num = link.id.substr(3, link.id.length);
    num = parseInt(num, 10);
    if(num < 1 || num > mycarousel_itemList.length)
    {
      carousel.remove(i);
      window.initShadowBox(true);
    }
};

function mycarousel_getItemHTML(item, i)
{
    return '<a href="' + item.bigpic + '" class="shpic" rel="shadowbox[caro]" id="pic'+i+'"><div class="slideshowpicwrapper-'+window.mycarousel_size+'"><img src="' + item.url + '" alt="' + item.title + '" /></div></a>';
};


function initCarrousel()
{  
  jQuery(document).ready(function()
    {
      if(mycarousel_itemList && mycarousel_size)
      {
        //jQuery('.jcarousel-skin-tango-big, .jcarousel-skin-tango-small').css({"display": "block"});
        jQuery('.jcarousel-skin-tango-big, .jcarousel-skin-tango-small, .jcarousel-skin-tango-huge, .jcarousel-skin-tango-tiny').jcarousel(
          {
            "scroll"   : 1,
            "visible"  : (mycarousel_size == "small" ? 2 : 1),
            "wrap"     : "circular",
            "auto"     : 5,
            initCallback: carousel_initCallback,
            itemVisibleInCallback: {onBeforeAnimation: mycarousel_itemVisibleInCallback},
            itemVisibleOutCallback: {onAfterAnimation: mycarousel_itemVisibleOutCallback}
          }
        );
      }
    }
  );
}


//shadowbox
Shadowbox.init({
  skipSetup: true,
  slideshowDelay: 5,
  continuous: true,
  players:    ["img", "flv", "swf", "iframe"]
});

mycarousel_itemList = false;
mycarousel_size = 0;


$(document).ready(function () {
  
  //find open menu item
  $(".mainmenudiv").each(function()
    {
      if($(this).margin().bottom > 100)
      {
        window.mainOpenMenu = this;
      }
    }
  )

  //find open content item
  $(".content").each(function()
    {
      if($(this).css("visibility") == "visible")
      {
        window.mainOpenContent = this;
      }
    }
  )

  //bind events
  $(".mainmenuhref").bind("click", menuclick);

  //carrousel
  initCarrousel();

  //shadowbox
  jQuery(document).ready(function()
  {
    window.initShadowBox();
  });

});

