// charset=utf-8
// $Id: ExtraNaviExtension.js 418 2011-06-27 10:01:28Z hebing $
// $$
// +----------------------------------------------------------------------+
// | mcm module: ExtraNaviExtension                                       |
// | version 1.0                                                          |
// | mcm version 5.6                                                      |
// | (c) 2002-2010 monsun media (http://www.monsun-media.com)             |
// +----------------------------------------------------------------------+

/**
* ExtraNaviExtension
*
* @author	hebing
*/
var ExtraNaviExtension = {
	
	$titleAreaTitleImages : null
	,
	$titleAreaSloganImages : null
	,
	$activeCounter : 0
	,
	$doRevert : true
	,
	/**
	*
	*
	* @return	void
	*/
	initMetaNavi : function(){

		var config = {    
			 sensitivity: 2, // number = sensitivity threshold (must be 1 or higher)    
			 interval: 100, // number = milliseconds for onMouseOver polling interval    
			 over: ExtraNaviExtension.metaNaviOver, // function = onMouseOver callback (REQUIRED)    
			 timeout: 500, // number = milliseconds delay before onMouseOut    
			 out: ExtraNaviExtension.metaNaviOut // function = onMouseOut callback (REQUIRED)
		};
	
		//$("ul#mainnavi li div.naviDropdown").css({'opacity':'0'});
		//$("ul#mainnavi li").hoverIntent(config);
		
		$('div.metaContainer div.ExtraNavi').hoverIntent(config);
		$('div.metaNaviLink ul li a').mouseover(function(event){
			ExtraNaviExtension.metaNaviOver();
			return false;
		});
	}
	,
	
	metaNaviOver : function(){ 
	  //$('div.metaContainer div.ExtraNavi').css('top','0px');
	  $('div.metaContainer div.ExtraNavi').animate({
		    top: '0px'
		  }, 400, function() {
		    // Animation complete:
		    $('<div class="closeLink"><a href="#" onclick="ExtraNaviExtension.metaNaviOut();"><span>X</span></a></div>').appendTo('div.metaContainer div.ExtraNavi');
		  }
		);
	}
	,
	
	metaNaviOut : function(){ 
	  //$('div.metaContainer div.ExtraNavi').css('top','-56px');
	  $('div.metaContainer div.ExtraNavi').animate({
		    top: '-56px'
		  }, 400, function() {
		    // Animation complete:
		    $('div.closeLink').remove();
		  }
		);
	}
	,
	/**
	*
	*
	* @return	void
	*/
	initExtraNaviTitleAreaSwitcher : function(){
		
		/** zuerst alle Bilder ausfindig machen */
		$titleAreaTitleImages = $('.TitleImage');
		$.each($titleAreaTitleImages,function(i,val){
			if(i > 0){
				$(val).css({display:'none'});
			}
		}
		);
		
		/** dann alle Slogangs ausfindig machen */
		$titleAreaSloganImages = $('.TitleSlogan');
		$.each($titleAreaSloganImages,function(i,val){
			if(i > 0){
				$(val).css({display:'none'});
			}
		}
		);
		
		/** dann die Extranavi-Links des Hautptbereichs mit icon versehen */
		$.each($('.mainbar .ExtraNavi ul li a'),function(i,val){
			$(val).append('<span class="en-icon"></span>');
		}
		);
		
		/** dann die Extranavi-Links des Hautptbereichs mit handler mouseover versehen */
		$.each($('.mainbar .ExtraNavi ul li a'),function(i,val){
			$(val).mouseover(function(event){
				ExtraNaviExtension.$doRevert = false;
				ExtraNaviExtension.switchTitleArea(i);
				return false;
			});
		}
		);
		
		/** dann die Extranavi-Links des Hautptbereichs mit handler mouseout versehen */
		$.each($('.mainbar .ExtraNavi ul li a'),function(i,val){
			$(val).mouseout(function(event){
				ExtraNaviExtension.$doRevert = true;
				window.setTimeout("ExtraNaviExtension.revertTitleArea()", 100);
				return false;
			});
		}
		);
	}
	,
	revertTitleArea : function (){
		
		if(ExtraNaviExtension.$doRevert == false){
			return;
		}
		/** die Titelbilder switchen **/
		if($titleAreaTitleImages[0]){
			$($titleAreaTitleImages[ExtraNaviExtension.$activeCounter]).stop(true, true).fadeOut(400, function() {
				//animation complete
		     });
			
			$($titleAreaTitleImages[0]).stop(true, true).fadeIn(400, function() {
				//animation complete
		     });
		}
		
		/** die Titelslogans switchen **/
		if($titleAreaSloganImages[0]){
			$($titleAreaSloganImages[ExtraNaviExtension.$activeCounter]).stop(true, true).fadeOut(400, function() {
				//animation complete
		     });
			
			$($titleAreaSloganImages[0]).stop(true, true).fadeIn(400, function() {
				//animation complete
		     });
		}
		
		/** Counter aktualisieren **/
	    ExtraNaviExtension.$activeCounter = 0;
		
	}
	,
	switchTitleArea : function (i){
		i++;
		
		/** check auf gleiches Element **/
		if(ExtraNaviExtension.$activeCounter == i){
			return;	
		}
		
		/** die Titelbilder switchen **/
		if($titleAreaTitleImages[i]){
			$($titleAreaTitleImages[ExtraNaviExtension.$activeCounter]).stop(true, true).fadeOut(400, function() {
				//animation complete
		     });
			
			$($titleAreaTitleImages[i]).stop(true, true).fadeIn(400, function() {
				//animation complete
		     });
		}
		
		/** die Titelslogans switchen **/
		if($titleAreaSloganImages[i]){
			$($titleAreaSloganImages[ExtraNaviExtension.$activeCounter]).stop(true, true).fadeOut(400, function() {
				//animation complete
		     });
			
			$($titleAreaSloganImages[i]).stop(true, true).fadeIn(400, function() {
				//animation complete
		     });
		}
		
		/** Counter aktualisieren **/
	    ExtraNaviExtension.$activeCounter = i;

	}
}
$(window).load(function () {
  ExtraNaviExtension.initExtraNaviTitleAreaSwitcher();
  ExtraNaviExtension.initMetaNavi();
});


/**
* hoverIntent r5 // 2007.03.27 // jQuery 1.1.2+
* <http://cherne.net/brian/resources/jquery.hoverIntent.html>
* 
* @param  f  onMouseOver function || An object with configuration options
* @param  g  onMouseOut function  || Nothing (use configuration options object)
* @author    Brian Cherne <brian@cherne.net>
*/
(function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY;};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY))<cfg.sensitivity){$(ob).unbind("mousemove",track);ob.hoverIntent_s=1;return cfg.over.apply(ob,[ev]);}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=0;return cfg.out.apply(ob,[ev]);};var handleHover=function(e){var p=(e.type=="mouseover"?e.fromElement:e.toElement)||e.relatedTarget;while(p&&p!=this){try{p=p.parentNode;}catch(e){p=this;}}if(p==this){return false;}var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);}if(e.type=="mouseover"){pX=ev.pageX;pY=ev.pageY;$(ob).bind("mousemove",track);if(ob.hoverIntent_s!=1){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}}else{$(ob).unbind("mousemove",track);if(ob.hoverIntent_s==1){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob);},cfg.timeout);}}};return this.mouseover(handleHover).mouseout(handleHover);};})(jQuery);



