/*****************************
 * Azur Akkordeon
 *****************************/

(function($){
	
	$(document).ready(function(){
		
		externallink_add_cssclass();
		widgets_init_tabs();
		alternate_table_rows();
		add_event_tooltips();
		form_page_nav();
		ie_mainmenu_fix();
		
		/* init colorbox */
		$("a.thickbox, a.colorbox").each(function(){
			$(this).colorbox({
                "opacity" : 0.75,
                "maxHeight" : $(window).height(),   
                "maxWidth" : $(window).width()-50,
                "title" : $(this).text(),
                "onComplete" : alternate_table_rows,
                "href" : function() {
                	var href = $(this).attr("href");
                	if(href.search("getContent") != -1) {
                		href += (href.search("\\?") != -1) ? "&" : "/?";
                		href += "isColorbox";
                	}
                	return href;
                }
			})
		});
		
		/* colorbox für iframes */
		$("a.colorbox_iframe").each(function(){
            $(this).colorbox({
                    "opacity" : 0.75,
                    "maxHeight" : $(window).height(),
                    "width" : 900,
                    "height" : $(window).height(),
                    "iframe" : true
            });
		});
		
	});
	
	// Setze CSS-Klasse bei externen Links
	function externallink_add_cssclass() {
		var host = window.location.host;
		$('#content_wrapper a:not([href*=fotos.juve.de], [href*='+host+'], [href^=javascript], [href^=/], [href^=?], [href^=#], .submit, .button, .spbutton)').each(
			function() {
				if ($(this).find('*:not(span)').length > 0 || $(this).text() == '') return;
				$(this).addClass('external-link');
			}
		);
	}
	
	function alternate_table_rows() {
		
		if($("#cboxContent:has(table)").size() > 0) { 
			$.colorbox.resize({
	            "width" :  $("#cboxContent table").width() + 30
			})
		}

		if(jQuery.browser.msie) {
			$("table.ranking-number:not(.alternate_rows)").each(function(){
				$(this).addClass("alternate_rows")
				$(this).children("tbody").children("tr:odd").addClass("even");
				$(this).children("tbody").children("tr").children("td:first-child").addClass("number");
				$(this).children("tbody").children("tr").children("td:nth-child(2)").addClass("name");
			});
			$("table.ranking:not(.alternate_rows)").each(function(){
				$(this).addClass("alternate_rows")
				$(this).children("tbody").children("tr:odd").addClass("even");
				$(this).children("tbody").children("tr").children("td:first-child").addClass("name");
			});
		}
	}
	
	function widgets_init_tabs() {
		
		$("#sidebar .tabbar .tab").click(function(){
			if($(this).hasClass("active")) return;
			
			var index = $($(this).parent().children()).index(this);
			var obj_tab_content = $(this).closest(".content").find(".tabcontent-"+index);
			
			$(this).closest(".content").find(".active").removeClass("active");
			$(obj_tab_content).add(this).addClass("active");
			
		});
		
	}
	
	function form_page_nav() {
		
		$("#inner_content .pagenav a.submitform").click(function(event){
			var url = $(this).attr("href");
			var form = $("#inner_content form").get(0);
			form.action = url;
			$(form).submit();
			event.preventDefault();
			return false;
		});
		
	}
	
	function ie_mainmenu_fix() {
		
		if($.browser.msie && $.browser.version == "7.0") {
			
			$("#navi_main .sub-menu").each(function(){
				var min_width = $(this).width();
				var elements = jQuery.makeArray($(this).children("li"));
				for(var i=0; i<elements.length; i++) {
					if(elements[i].scrollWidth > min_width) min_width = elements[i].scrollWidth;
				}
				$(elements).css("width", (min_width + 20) + "px");
			});
			
		}
		
	}
	
	top.add_event_tooltips = function() {
		
		$('.em-calendar-wrapper .fullcalendar tbody td:has(".event-info")').each(function(){
			
			var position = "bottom";
			
			if($.browser.msie && $.browser.version == "7.0") {
				if($(this).parent().nextAll().length < 3 && $(this).closest("#sidebar").length == 0) position = "top";
			}
		
			$(this).bt({
				  contentSelector: "$(this).children('.event-info')",
				  fill: '#edeaec',
				  cssStyles: {color: 'white', fontWeight: 'bold'},
				  shrinkToFit: true,
				  padding: 10,
				  cornerRadius: 0,
				  spikeLength: 5,
				  spikeGirth: 7,
				  strokeStyle: '#8B0E13',
				  positions: [position],
				  shadow: false, 
				  shadowBlur: 2,
				  shadowOffsetX: 0,
				  shadowOffsetY: 0,
				  
				  showTip: function(box){
					  	$(".bt-wrapper").not(box).remove();
					  	$(".em-calendar-wrapper .fullcalendar td.active").not(this).removeClass("active");
					  	
					  	if($.browser.msie) {
					  		$(box).find("canvas").bind("mouseout", {"box" : box, "td" : this}, function(event){
						  		if (!event) var event = window.event;
						  		var relTarg = event.relatedTarget || event.fromElement;
						  		
						  		if($(event.data.box).closest('.em-calendar-wrapper').has(relTarg).length == 0 && $(event.data.box).find("canvas").get(0) != relTarg) {
						  			$(this).parent().remove();
						  			$(event.data.td).removeClass("active");
						  		}
						  	})
					  	} else {
						  	$(box).find(".bt-content").bind("mouseout", {"box" : box, "td" : this}, function(event){
						  		if($(event.data.box).find(".bt-content").has(event.relatedTarget).length == 0 && $(event.data.box).find(".bt-content").get(0) != event.relatedTarget) {
						  			$(this).parent().remove();
						  			$(event.data.td).removeClass("active");
						  		}
						  	})
					  	}
					  	
					  	$(box).show()
				  },
				  
				  hideTip: function(box, callback) {
					  
				  },
				  
				  preShow: function() {
					  $(this).addClass("active");
				  },
				  
				  postHide: function() {
				    $(this).removeClass("active");
				  }
					  
			});
			
			$(this).bind("mouseout", function(event){
				$(this).btOff();
			});
			
		})
		
		$('.em-calendar-wrapper .fullcalendar tbody td:not(:has("a"))').bind("mouseover", function(){
			$(".bt-wrapper").remove();
		  	$(".em-calendar-wrapper .fullcalendar td.active").removeClass("active");
		});
		
	}
	
	
})(jQuery);


/*****************************
 * Flash-Wrapper Klick-Event
 *****************************/

function clicky(id, url) {
	if(id && pageTracker) pageTracker._trackEvent("banner", "click", id, 1);
	if(url) window.open(url);
}


/*
 * Akkordeon
 */

(function($){
	
	$(document).ready(function(){
		
		$(".journal_akkordeon .block").bind("click", journal_akkordeon_block_click);
		$(".journal_akkordeon .block").bind("open", journal_akkordeon_block_open);
		$(".journal_akkordeon .block").bind("close", journal_akkordeon_block_close);
		$(".journal_akkordeon .block .teaser").bind("mouseenter", journal_akkordeon_block_colorIn);
		$(".journal_akkordeon .block .teaser").bind("mouseleave", journal_akkordeon_block_colorOut);
		
		journal_check_blocks();
		
	});
	
	function journal_check_blocks() {
		
		var blocks = $.makeArray($(".journal_akkordeon .block"));
		var blocks_to_show = new Array();
		
		for(var i in blocks) {
			cover_url = $(blocks[i]).find(".teaser .image img").attr("src");
			if(cover_url != undefined && cover_url.indexOf("/dummy_cover.gif") == -1) {
				blocks_to_show.push(blocks[i]);			
				journal_add_links(blocks[i]);
			}
		}

		if($.browser.msie && $.browser.version == "6.0") {
			$(blocks_to_show[blocks_to_show.length - 1]).removeClass("closed").addClass("opened");
		} else {
			$(blocks_to_show[0]).removeClass("closed").addClass("opened");
		}
		$(blocks_to_show).show();
		
	}
	
	function journal_add_links(block) {
		$(block).find(".teaser").append("<a class='link_order' href='/magazin/einzelheftbestellung'>Zum Bestellformular</a>");
		$(block).find(".teaser").append("<span class='link_open'>Inhalt Anzeigen</span>");
	}
	
	function journal_akkordeon_block_click(event) {
		
		var block = event.currentTarget;
		var is_opened = jQuery(block).hasClass("opened");
	
		if(!is_opened) {
			journal_akkordeon_block_close_all();
			$(block).trigger("open");
		}
		
	}
	
	function journal_akkordeon_block_open(event) {
		
		$(this).find(".link_open").fadeOut(200);

		$(this).find(".content").slideDown(function(){
			var block = $(this).parents(".block:first");
			$(block).addClass("opened").removeClass("closed");
			$(block).find(".teaser").removeAttr("style");
			$(block).find(".link_order").fadeIn(200);
			$.scrollTo(block, 500);
		});
		$(this).find(".teaser").animate({height: "130px", padding: "10px"});
		$(this).find(".teaser img").animate({height: "130px", width: "90px"});
		
		$(".journal_akkordeon .block").not(this).find(".teaser").trigger("mouseleave");
		
	}
	
	function journal_akkordeon_block_close(event) {
		
		$(this).find(".link_order").fadeOut(200);
		
		$(this).find(".content").slideUp(function(){
			$(this).parents(".block:first").removeClass("opened").addClass("closed");
			$(this).parents(".block:first").find(".link_open").fadeIn(200);
		});
		$(this).find(".teaser").animate({height: "73px", padding: "5px"});
		$(this).find(".teaser img").animate({height: "73px", width: "52px"});
		
	}
	
	function journal_akkordeon_block_close_all(event) {
		$(".journal_akkordeon .block:not(.closed)").trigger("close");
	}
	
	function journal_akkordeon_block_colorIn(event) {
		var block = $(this).parents(".block:first");
		var is_opened = $(block).hasClass("opened");
		if(is_opened) return false;
		$(this).stop(true,true).animate({backgroundColor : "#fbece1"}, 300);
	}
	
	function journal_akkordeon_block_colorOut(event) {
		var block = $(this).parents(".block:first");
		var is_opened = $(block).hasClass("opened");
		if(is_opened) return false;
		$(this).stop(true,true).animate({backgroundColor : "#ffffff"}, 300);
	}
	
	top.em_ajaxify = function(url) {
		if ( url.search('em_ajax=0') != -1){
			url = url.replace('em_ajax=0','em_ajax=1');
		}else if( url.search(/\?/) != -1 ){
			url = url + "&em_ajax=1";
		}else{
			url = url + "?em_ajax=1";
		}
		return url;
	}
	
})(jQuery);

