/* main.js, Copyright 28.01.10, Weber eBusiness Services GmbH, Jaroslav Herber */
/* Version 1.0.2 */

jQuery.noConflict();

jQuery(document).ready(function()
{
  site_url = "http://www.gemeinde-bisingen.de/";
  
  loadWesJQueryExtensions();

  loadFancyboxHandler();
  //loadCatTreeHandler();
  loadCalHandler(site_url);

});

// Handler ------------------------------------------------------------------- 


function loadFancyboxHandler() {
 
  // copy the rel-attr from <img> into <a>, because impossible in TypoScript
  jQuery('img[rel=image]').parent().parent('a').attr('rel', 'image');
  
  jQuery('a[rel=image]').fancybox({
    'transitionIn'	: 'elastic',
		'transitionOut'	: 'elastic',
		'easingIn'      : 'easeOutBack',
		'easingOut'     : 'easeInBack',
    'title'         : this.title,
    'titlePosition' : 'inside',
    // inside titlePosition
    'titleFormat'   : function(title, currentArray, currentIndex, currentOpts) {
      // empty strings, if no title-attr
      if(title == undefined) {
        title = "";
      }
      if(currentArray.length < 2) {
        // no wrap, if no title
        if(title != "") {
          return title;
        }
      } else {
        // wrap Image numbers, if title exists
        return 'Bild ' + (currentIndex + 1) + ' / ' + currentArray.length + ': ' + title;
      }
    }
  });
  
  // FE Editting iframe in fancybox
  jQuery('.edit_entry a.fe_admin').fancybox({
    'width'         : 770,
    'height'        : '75%', 
    'transitionIn'	: 'elastic',
		'transitionOut'	: 'elastic',
		'easingIn'      : 'easeOutBack',
		'easingOut'     : 'easeInBack',
		'autoScale'     : true, 
    'type'          : 'iframe' 
  });
  
  // 
  jQuery('a.fancy_iframe').fancybox({
    'width'         : 958,
    'height'        : 590, 
    'transitionIn'	: 'elastic',
		'transitionOut'	: 'elastic',
		'easingIn'      : 'easeOutBack',
		'easingOut'     : 'easeInBack',
		'autoScale'     : true,
		'titleShow'     : false,
    'type'          : 'iframe'
  });
  
}

function loadCalHandler(site_url)
{
  jQuery('.event_list_item .event_title, .event_list_item .event_text, .event_list_item .event_date_container').hover(
    function() {
      jQuery(this).parent().addClass('hover');
    },
    function() {
      jQuery(this).parent().removeClass('hover');
    }
  );

  jQuery('.event_list_item').click(
    function() {
      redirect_url = jQuery(this).children('.event_title').children('a').attr('href');
      
      //alert(redirect_url);
      jQuery(window.location).attr('href', site_url + redirect_url);
      
    }
  );
}

function loadCatTreeHandler() {
  
  var loader = '<img class="loader_image" src="/fileadmin/images/default/loader.gif" alt="loader" />';
  jQuery('.category_tree_item li a').addClass('loader').append(loader);
  
  // add class="hasSub" on the cat-link if there are sub-categories
  jQuery('.category_tree_item_sub_container').prev().addClass('hasSub');
  
  // keep the second level openned on reload
  jQuery('.category_tree_item_sub .cur').parent().show().parent().parent().parent().addClass('active_sub');

  jQuery('.category_tree_item li a').click(
    function() {
      if(jQuery(this).next().hasClass('category_tree_item_sub_container')) {
        // if already visible, then hide it
        if(jQuery(this).next().is(':visible')) {
          jQuery('.category_tree_item_sub_container').hide().parent('li').removeClass('active_tree_sub');
          
          return false;
        }
        // hide other submenues
        jQuery('.category_tree_item_sub_container').hide().parent('li').removeClass('active_tree_sub');
        jQuery(this).next().show();
        jQuery(this).parent('li').addClass('active_tree_sub');
        return false;
      } else {
        jQuery('.loader_image').fadeOut('fast');
        jQuery(this).children('.loader_image').fadeIn('fast');
        
        // remove loader-image, when finished loading
        jQuery(window).unload(
          function() {
            jQuery('.loader_image').fadeOut('fast');
          }
        );  
      }
    }
  );
  jQuery("html").click(function(event) {
    var target = jQuery(event.target);
    if (!target.is('.category_tree_item') && !target.is('.category_tree_item *')) {
      jQuery('.category_tree_item_sub_container').hide().parent('li').removeClass('active_tree_sub');
    }
  });
  
}

//window.onresize = ie6_footer_width;

// Helper Functions ------------------------------------------------------------

// Scroll to window position extension
function loadWesJQueryExtensions() {
  jQuery.fn.extend({
    scrollTo : function(speed, easing) {
      return this.each(function() {
        var targetOffset = jQuery(this).offset().top;
        jQuery('html,body').animate({scrollTop: targetOffset}, speed, easing);
      });
    }
  });
}


