// JavaScript Document


// Cufon ----------------------------------------------------------------

Cufon.set('fontFamily', 'Kozuka Gothic Pro el');
Cufon.replace('ul#navigation li a, h2 , h3, h4, h5, span.claim', {hover: true});

Cufon.set('fontFamily', 'Kozuka Gothic Pro H');
Cufon.replace('h2 span.bold, h4 span.bold, span.claim span.bold');


// End of Cufon ---------------------------------------------------------

// Tooltip --------------------------------------------------------------

jQuery(document).ready(function(){	
	noSpam();
	jQuery("a").easyTooltip();
	jQuery("a[rel*=lightbox]").fancybox({
		'titlePosition' 	: 'over',
		'opacity'		: false,
		'overlayShow'	: true,
		'showNavArrows' : true,
		'showCloseButton' : true,
		'transitionIn' : 'fade',
		'transitionOut' : 'fade',
		'easingIn' : 'swing',
		'easingOut' : 'swing',
		'overlayOpacity'	: 0.6,
		'titleFormat'		: function(title, currentArray, currentIndex, currentOpts) {
			return '<span id="fancybox-title-over">Bild ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' &nbsp; ' + title : '') + '</span>';
		}
	});
	jQuery("#slider-header").easySlider({
		auto: true, 
		continuous: true
	});
	jQuery("ul#navigation").lavaLamp({ fx: "backout", speed:1300 });
});

function noSpam(){
	jQuery('a.escape').each(function(){
		jQuery(this).find('span').first().html('@');
		jQuery(this).attr('href','mailto:'+jQuery(this).text());
	});
};


jQuery.fn.easyTooltip = function(options){
  
	// default configuration properties
	var defaults = {	
		xOffset: 22,		
		yOffset: 0,
		tooltipId: "easyTooltip",
		clickRemove: false,
		content: "",
		useElement: ""
	}; 
		
	var options = jQuery.extend(defaults, options);  
	var content;
			
	this.each(function() {  				
		var title = jQuery(this).attr("title");				
		jQuery(this).hover(function(e){											 							   
			content = (options.content != "") ? options.content : title;
			content = (options.useElement != "") ? jQuery("#" + options.useElement).html() : content;
			jQuery(this).attr("title","");									  				
			if (content != "" && content != undefined){			
				jQuery("body").append("<div id='"+ options.tooltipId +"'>"+ content +"</div>");		
				jQuery("#" + options.tooltipId)
					.css("position","absolute")
					.css("top",(e.pageY - options.yOffset) + "px")
					.css("left",(e.pageX + options.xOffset) + "px")						
					.css("display","none")
					.fadeIn("fast")
			}
		},
		function(){	
			jQuery("#" + options.tooltipId).remove();
			jQuery(this).attr("title",title);
		});	
		jQuery(this).mousemove(function(e){
			jQuery("#" + options.tooltipId)
				.css("top",(e.pageY - options.yOffset) + "px")
				.css("left",(e.pageX + options.xOffset) + "px")					
		});	
		if(options.clickRemove){
			jQuery(this).mousedown(function(e){
				jQuery("#" + options.tooltipId).remove();
				jQuery(this).attr("title",title);
			});				
		}
	});
  
};

	

// End of Tooltip -------------------------------------------------------

// Fancybox ------------------------------------------------------------




function tabSlider(){
	var self = this;

	var sliderID = 'list2'; //ID
	var containerID = 'slider-content'; //ID
	var prev = 'prevBtn'; //ID
	var next = 'nextBtn1'; //ID
	var controlButtons = 'tab-slider-button'; //class
	var slideSpeed = 600; //ms
	var slidingTabs = 1; //how many tabs are to be slide
	var tabWidth = 206; //width incl. margin, padding and border, this has nothing to do with your css file
	var visibleTabs = 4;
	var autoPlay = false;
	var autoPlayDelay = 3000;//ms
	var prevTop = 55;//px
	var prevLeft = 0;//px
	var nextTop = 55;//px
	var nextLeft = 927;//px
	
	var containerWidth = tabWidth*visibleTabs;
	var containerHeight = jQuery('#'+containerID).height();
	var tabs = jQuery('#'+sliderID).children('li').length;
	visibleTabs = visibleTabs > tabs ? tabs : visibleTabs;
	slidingTabs = slidingTabs > visibleTabs ? visibleTabs : slidingTabs;
	var sliderWidth = tabs*tabWidth*3;
	var interval_autoSlide;
	
	tabSlider.prototype.checkPosition = function(current){
		var current = jQuery('#'+sliderID).css('margin-left');
		var leftMin = parseInt('-'+sliderWidth*2/3);
		var leftMax = parseInt('-'+(sliderWidth/3))+tabWidth;

		if(parseInt(current) <= leftMin){
			jQuery('#'+sliderID).css('margin-left','-'+parseInt(sliderWidth/3)+'px');
		}else if(parseInt(current) >= leftMax){
			jQuery('#'+sliderID).css('margin-left','-'+parseInt((sliderWidth*2/3)-tabWidth)+'px');
		};
	};
	
	tabSlider.prototype.slideNext = function(){
		jQuery('#'+sliderID).stop(true,true);
		jQuery('#'+sliderID).animate({
				marginLeft: '-='+ (tabWidth*slidingTabs)
			},slideSpeed,function(){self.checkPosition();}
		);
		autoPlay=true;
	};
	
	tabSlider.prototype.slidePrev = function(){
		jQuery('#'+sliderID).stop(true,true);
		jQuery('#'+sliderID).animate({
				marginLeft: '+='+ (tabWidth*slidingTabs)
			},slideSpeed,function(){self.checkPosition();}
		);
		autoPlay=true;
	};
	
	tabSlider.prototype.slide = function(){
		jQuery('#'+containerID).css('width',containerWidth);
		var offset = jQuery('#'+containerID).offset();
		jQuery('#'+containerID).after('<span id="'+prev+'" class="'+controlButtons+'">&laquo;</span><span id="'+next+'" class="'+controlButtons+'">&raquo;</span>');
		var ul = jQuery('#'+sliderID).html();
		jQuery('#'+sliderID)
			.append(ul)
			.prepend(ul)
			.css({
				'margin-left':'-'+sliderWidth/3+'px',
				'width':sliderWidth
			});
		if(jQuery('#'+prev).css('top'))
		jQuery('#'+prev)
			.css({
				'top':prevTop,
				'left':prevLeft,
				'text-align':'center'
			})
			.click(function(){
				window.clearInterval(interval_autoSlide);
				self.slidePrev();
			});
		jQuery('#'+next)
			.css({
				'top':nextTop,
				'left': nextLeft,
				'text-align':'center'
			})
			.click(function(){
				window.clearInterval(interval_autoSlide);
				self.slideNext();
			});
		if(autoPlay){interval_autoSlide = window.setInterval(function(){self.slideNext();},autoPlayDelay);}
	};
};

