/*
author:   Michael Eichelsdoerfer, www.michael-eichelsdoerfer.de
version:  1.5
date:     2009-08-23
client:   BayernSPD, www.bayernspd.de
about:    global JavaScript file;
          - link control
          - lightboxes
          - countdown(s)
          - tooltips
          - hide and toggle elements
          - jquery tabs for web 2.0 content (sidebar)
*/

$(document).ready(function(){

	// new windows for outbound links
	$("a[href^=http]").each(function(){
		if (window.location.hostname != this.hostname){
			$(this).attr("target","_blank");
		}
	});

	// new windows for certain file suffixes
	$("a[href$='.pdf'], a[href$='.PDF']").attr("target","_blank");

	// new windows for certain classes
	$("a.plakatshop").attr("target","_blank");

	// new windows triggerd by class names
	// $("a.search-result-url").attr("target","_blank");

	// lightboxes, future proof 'horizon coding'
	$(".lightbox").each(function(){
		$(this).find("a[rel*=lightbox]").lightBox({
			imageLoading:  '/workspace/assets/jquery-lightbox/images/ajax-loader.gif',
			imageBtnClose: '/workspace/assets/jquery-lightbox/images/close.gif',
			imageBtnPrev:  '/workspace/assets/jquery-lightbox/images/prev.gif',
			imageBtnNext:  '/workspace/assets/jquery-lightbox/images/next.gif',
			imageBlank:    '/workspace/assets/jquery-lightbox/images/lightbox-blank.gif',
			containerResizeSpeed: 600,
			txtImage: 'Bild',
			txtOf: 'von'
		});
	});

	// navigation: hover
	$("#nav > li").mouseenter(function(){
		$("#nav ul").css("left", "-999em");
		$(this).addClass("hover").children("ul").css("left", "0");
	});
	$("#nav > li").mouseleave(function(){
		$(this).removeClass("hover");
	});
	$("#nav").mouseleave(function(){
		$("#nav ul").css("left", "-999em");
		$("#nav li.activeparent ul").css("left", "0");
	})

	// newsletter-anmeldung
	if ($("input#fields-spd-mitglied:checked").size() == 0){
		$("#mitglieds-infos").hide();
	};
	$("input#fields-spd-mitglied").live("click", function(){
		$("#mitglieds-infos").toggle();
	});

	// // init countdown(s)
	// var liftoffTime = new Date(2009, 8, 27, 18, 00, 00);
	// $('#countdown-wahl').countdown({until: liftoffTime, onExpiry: liftOff});
	// function liftOff() {
	// 	$('#countdown-text').text('Die Bundestagswahl ist entschieden.');
	// }

	// tooltips for (all) image maps
	$("img[class='map']").removeAttr("alt"); // ie
	simple_tooltip("area","tooltip");

	// // initial hide elements
	// $(".bundestagswahl #main .page-section-text").hide();

	// // toggle single 'page-section-text' element
	// $(".bundestagswahl #main h2.page-section-label").css({ 'cursor': 'pointer' }).click(function(){
	// 	$(this).siblings(".page-section-text").slideToggle("normal");
	// });

	// logbuch
	// $("#logbuch-header").toggleVisibility("#logbuch-list",{
	// 	// speed: 'fast',
	// 	useSlideEffect: true
	// });

	// jquery tabs for web-2.0
	// auskommentiert nach Fehlermeldung Start
	// $("#web20-sidebar").tabs();
	// $("#web20-sidebar h2").hide();

	// $(".tabs").accessibleTabs({
	//	currentInfoText: 'aktueller Tab: ', 
	//	currentInfoClass: 'hidden',
	//	tabhead:'h3',
	//	tabheadClass: 'hidden',
	//	fx:"fadeIn"
	//});
	// auskommentiert nach Fehlermeldung Ende
});

// (function($){
// 	$.fn.toggleVisibility = function(targetElements, options){
// 		var defaults = {
// 			speed: '',
// 			showItemsClass: 'show-items',
// 			hideItemsClass: 'hide-items',
// 			useSlideEffect: false
// 		};
// 		var options = $.extend(defaults, options);
// 		return this.each(function(){
// 			if($(targetElements).length != 0){
// 				$(targetElements).hide();
// 				$(this).addClass(options.showItemsClass).css({ 'cursor':'pointer' }).click(function(){
// 					if($(this).hasClass(options.showItemsClass) == true){
// 						if(options.useSlideEffect == true){
// 							$(targetElements).slideDown(options.speed);
// 						}
// 						else{
// 							$(targetElements).show(options.speed);
// 						}
// 						$(this).removeClass(options.showItemsClass).addClass(options.hideItemsClass);
// 					}
// 					else{
// 						if(options.useSlideEffect == true){
// 							$(targetElements).slideUp(options.speed);
// 						}
// 						else{
// 							$(targetElements).hide(options.speed);
// 						}
// 						$(this).removeClass(options.hideItemsClass).addClass(options.showItemsClass);
// 					}
// 				});
// 			}
// 		});
// 	};
// })(jQuery);

function simple_tooltip(target_items, name){
	$(target_items).each(function(i){
		$("body").append("<div class='"+name+"' id='"+name+i+"'><p>"+$(this).attr('title')+"</p></div>");
		var my_tooltip = $("#"+name+i);
		if($(this).attr("title") != "" && $(this).attr("title") != "undefined" ){
			$(this).removeAttr("title").removeAttr("alt").mouseover(function(){
				my_tooltip.css({'opacity': '1.0', 'display': 'none'}).fadeIn(200);
			}).mousemove(function(e){
				var border_top = $(window).scrollTop();
				var border_right = $(window).width();
				var left_pos;
				var top_pos;
				var offset = 15;
				if(border_right - (offset *2) >= my_tooltip.width() + e.pageX){
					left_pos = e.pageX+offset;
					} else{
					left_pos = border_right - my_tooltip.width() - offset;
					}
				if(border_top + (offset *2) >= e.pageY - my_tooltip.height()){
					top_pos = border_top + offset;
					} else{
					top_pos = e.pageY - my_tooltip.height() - offset;
					}
				my_tooltip.css({'left': left_pos, 'top': top_pos});
			}).mouseout(function(){
				my_tooltip.css({'left': '-9999px'});
			});
		}
	});
}

