jQuery(function(){

	$('ul.main_navigation li').mouseout(function(){
		$(this).children('div.sub_navi').hide();
	});
		
	$('ul.main_navigation li').mouseover(function(){
		$('.sub_navi').hide();
		$(this).children('div.sub_navi').show();
	});
	
		$('#settingtext_text').css('opacity','0.75');
		$('#settingtext_ausblenden img').click(function(){
				$('#settingtext_text').animate(
						{left: parseInt($('#settingtext_text').css('left'),10) == 0 ? -$('#settingtext_text').outerWidth() : 0},
						500
				);
				$('#settingtext_ausblenden').animate(
						{left: parseInt($('#settingtext_text').css('left'),10) == 0 ? -$('#settingtext_text').outerWidth() : 0},
						500
				);
				if($('#settingtext_ausblenden img').attr('src') == '/fileadmin/templates/_images/content/settings/button_minus.png')
				{
						$('#settingtext_ausblenden img').attr('src','/fileadmin/templates/_images/content/settings/button_plus.png');
				}
				else
				{
						$('#settingtext_ausblenden img').attr('src','/fileadmin/templates/_images/content/settings/button_minus.png');
				}
		});

});





/* Verticales Scroll Menü */
function makeScrollable(wrapper, scrollable){
	    if(typeof scrollablemenu != 'undefined'){
	    
	    
	    // Get jQuery elements
	    var wrapper = $(wrapper), scrollable = $(scrollable);
	    
	    
	    
	    
	    // Hide images until they are not loaded
	    scrollable.hide();
	    var loading = $('<div class="loading">Lädt...</div>').appendTo(wrapper);
	    
	    // Set function that will check if all images are loaded
	    var interval = setInterval(function(){
		    var images = scrollable.find('img');
		    var completed = 0;
		    
		   /* $('.menu_wrapper').css('margin-top','0px').css('height','363px');
		    images.eq(0).parent().css('margin-top','0').css('padding-top','0');
		    $('.aktiv').css('margin-top','2px').css('padding-top','1px');
		    images.eq(0).parent().filter('.aktiv').parent().css('margin-top','-4px').css('height','394px');
		 */
			if(images.eq(0).parent().is('.aktiv')){
				$('.menu_wrapper').css('margin-top','-4px').css('height','367px');
				images.eq(0).parent().css('margin-top','2px').css('padding-top','1px');
				if( scrollablemenu != 'nein'){
				if( !scrollablemenu ){
					$('.menu_wrapper').css('height','371px');
				}
				}
			}else{
				$('.menu_wrapper').css('margin-top','0px').css('height','363px');
				images.eq(0).parent().css('margin-top','0').css('padding-top','0');
				if( !scrollablemenu ){
					$('.menu_wrapper').css('height','367px');
				}
			}

		    images.eq(0).parent().mouseenter(function(){
			$('.menu_wrapper').css('margin-top','-4px').css('height','367px');
			images.eq(0).parent().css('margin-top','2px').css('padding-top','1px');
			if( !scrollablemenu ){
				$('.menu_wrapper').css('height','371px');
			}
		    });
		    
		    images.eq(0).parent().mouseleave(function(){
			if(images.eq(0).parent().is('.aktiv')){
				$('.menu_wrapper').css('margin-top','-4px').css('height','367px');
				images.eq(0).parent().css('margin-top','2px').css('padding-top','1px');
				if( !scrollablemenu ){
					$('.menu_wrapper').css('height','371px');
				}
			}else{
				$('.menu_wrapper').css('margin-top','0px').css('height','363px');
				images.eq(0).parent().css('margin-top','0').css('padding-top','0');
				if( !scrollablemenu ){
					$('.menu_wrapper').css('height','367px');
				}
			}

		    });	    
		    // Counts number of images that are succesfully loaded
		    images.each(function(){
			    if (this.complete) completed++;	
		    });
		    
		    if (completed == images.length){
			    clearInterval(interval);
			    // Timeout added to fix problem with Chrome
			    setTimeout(function(){
				    
				    loading.hide();
				    // Remove scrollbars	
				    wrapper.css({overflow: 'hidden'});						
				    
				    scrollable.slideDown('slow', function(){
					    if( scrollablemenu ){
						enable(images);
					    }
				    });					
			    }, 1000);	
		    }
	    }, 100);
	    
	    function enable(images){
		    // height of area at the top at bottom, that don't respond to mousemove
		    var inactiveMargin = 99;					
		    // Cache for performance
		    var wrapperWidth = wrapper.width();
		    var wrapperHeight = wrapper.height();
		    // Using outer height to include padding too
		    var scrollableHeight = scrollable.outerHeight() + 2*inactiveMargin;
		    // Do not cache wrapperOffset, because it can change when user resizes window
		    // We could use onresize event, but it's just not worth doing that 
		    // var wrapperOffset = wrapper.offset();
		    
			
		    
		    var lastTarget;
		    
		    
		    var zaehler = 0;
		    var vorzeichen = 'plus';
		    if( scrollablemenu != 'nein'){
		$(document).everyTime(60, function(i){
			
			var wrapper = $("div.menu_wrapper");
			var scrollable = $("div.produkt_menu");
			
			var wrapperOffset = wrapper.offset();
			var inactiveMargin = 99;
			var scrollableHeight = scrollable.outerHeight();
			var wrapperWidth = wrapper.width();
			var wrapperHeight = wrapper.height();
			

			    if(vorzeichen == 'plus'){
				zaehler = zaehler + 1;
			    }else{
				zaehler = zaehler - 1;
			    }
			    // Scroll menu
			    var top = (zaehler);
			    if (top < 0 ){
				    top = 0;
				    zaehler = 0;
				    vorzeichen = 'plus';
			    }

			    if(top > (scrollableHeight - wrapperHeight)){
				top = (zaehler);
				vorzeichen = 'minus';
			    }

			    wrapper.scrollTop(top);
			    if(images.eq(0).parent().is('.aktiv')){
				if (top > 4){
				    $('.menu_wrapper').css('margin-top','0px').css('height','363px');
				    images.eq(0).parent().css('margin-top','0').css('padding-top','0');
				}else if (top > 3){
				    $('.menu_wrapper').css('margin-top','-1px').css('height','364px');
				    images.eq(0).parent().css('margin-top','2px').css('padding-top','1px');
				}else if (top > 2){
				    $('.menu_wrapper').css('margin-top','-2px').css('height','365px');
				    images.eq(0).parent().css('margin-top','2px').css('padding-top','1px');
				}else if (top > 1){
				    $('.menu_wrapper').css('margin-top','-3px').css('height','366px');
				    images.eq(0).parent().css('margin-top','2px').css('padding-top','1px');
				}else if (top > 0){
				    $('.menu_wrapper').css('margin-top','-4px').css('height','367px');
				    images.eq(0).parent().css('margin-top','2px').css('padding-top','1px');
				}
			    }
		});
		
		
		wrapper.mouseleave(function(f){
				$(document).everyTime(60, function(i){
						
						var wrapper = $("div.menu_wrapper");
						var scrollable = $("div.produkt_menu");
						
						var wrapperOffset = wrapper.offset();
						var inactiveMargin = 99;
						var scrollableHeight = scrollable.outerHeight();
						var wrapperWidth = wrapper.width();
						var wrapperHeight = wrapper.height();
						
			
							if(vorzeichen == 'plus'){
							zaehler = zaehler + 1;
							}else{
							zaehler = zaehler - 1;
							}
							// Scroll menu
							var top = (zaehler);
							if (top < 0 ){
								top = 0;
								zaehler = 0;
								vorzeichen = 'plus';
							}
			
							if(top > (scrollableHeight - wrapperHeight)){
							top = (zaehler);
							vorzeichen = 'minus';
							}
			
							wrapper.scrollTop(top);
							if(images.eq(0).parent().is('.aktiv')){
							if (top > 4){
								$('.menu_wrapper').css('margin-top','0px').css('height','363px');
								images.eq(0).parent().css('margin-top','0').css('padding-top','0');
							}else if (top > 3){
								$('.menu_wrapper').css('margin-top','-1px').css('height','364px');
								images.eq(0).parent().css('margin-top','2px').css('padding-top','1px');
							}else if (top > 2){
								$('.menu_wrapper').css('margin-top','-2px').css('height','365px');
								images.eq(0).parent().css('margin-top','2px').css('padding-top','1px');
							}else if (top > 1){
								$('.menu_wrapper').css('margin-top','-3px').css('height','366px');
								images.eq(0).parent().css('margin-top','2px').css('padding-top','1px');
							}else if (top > 0){
								$('.menu_wrapper').css('margin-top','-4px').css('height','367px');
								images.eq(0).parent().css('margin-top','2px').css('padding-top','1px');
							}
							}
					});
		});
		    
		    
		    //When user move mouse over menu			
		    wrapper.mousemove(function(e){
			$(document).stopTime();
			    // Save target
			    lastTarget = e.target;
    
			    var wrapperOffset = wrapper.offset();
		    
			    
				
			    // Scroll menu
			    var top = (e.pageY -  wrapperOffset.top) * (scrollableHeight - wrapperHeight) / wrapperHeight - inactiveMargin;
			    
				if (top < 0){
				    top = 0;
			    }
				zaehler = top;
			    //wrapper.scrollTop(top);
			    wrapper.animate({scrollTop: top},1);
			    if(images.eq(0).parent().is('.aktiv')){
				if (top > 4){
				    $('.menu_wrapper').css('margin-top','0px').css('height','363px');
				    images.eq(0).parent().css('margin-top','0').css('padding-top','0');
				}else if (top > 3){
				    $('.menu_wrapper').css('margin-top','-1px').css('height','364px');
				    images.eq(0).parent().css('margin-top','2px').css('padding-top','1px');
				}else if (top > 2){
				    $('.menu_wrapper').css('margin-top','-2px').css('height','365px');
				    images.eq(0).parent().css('margin-top','2px').css('padding-top','1px');
				}else if (top > 1){
				    $('.menu_wrapper').css('margin-top','-3px').css('height','366px');
				    images.eq(0).parent().css('margin-top','2px').css('padding-top','1px');
				}else if (top > 0){
				    $('.menu_wrapper').css('margin-top','-4px').css('height','367px');
				    images.eq(0).parent().css('margin-top','2px').css('padding-top','1px');
				}
			    }
		    });
		    
		    }
	    
		    
	    }
	    
	    function autoscroll(images){
		    // height of area at the top at bottom, that don't respond to mousemove
		    var inactiveMargin = 99;					
		    // Cache for performance
		    var wrapperWidth = wrapper.width();
		    var wrapperHeight = wrapper.height();
		    // Using outer height to include padding too
		    var scrollableHeight = scrollable.outerHeight() + 2*inactiveMargin;
		    // Do not cache wrapperOffset, because it can change when user resizes window
		    // We could use onresize event, but it's just not worth doing that 
		    // var wrapperOffset = wrapper.offset();
		    
			
		    
		    var lastTarget;
		    //When user move mouse over menu			
		    wrapper.mousemove(function(e){
			    // Save target
			    lastTarget = e.target;
    
			    var wrapperOffset = wrapper.offset();
		    
			    
				
			    // Scroll menu
			    var top = (320 -  wrapperOffset.top) * (scrollableHeight - wrapperHeight) / wrapperHeight - inactiveMargin;
			    if (top < 0){
				    top = 0;
			    }			
			    wrapper.scrollTop(top);
			    if(images.eq(0).parent().is('.aktiv')){
				if (top > 4){
				    $('.menu_wrapper').css('margin-top','0px').css('height','363px');
				    images.eq(0).parent().css('margin-top','0').css('padding-top','0');
				}else if (top > 3){
				    $('.menu_wrapper').css('margin-top','-1px').css('height','364px');
				    images.eq(0).parent().css('margin-top','2px').css('padding-top','1px');
				}else if (top > 2){
				    $('.menu_wrapper').css('margin-top','-2px').css('height','365px');
				    images.eq(0).parent().css('margin-top','2px').css('padding-top','1px');
				}else if (top > 1){
				    $('.menu_wrapper').css('margin-top','-3px').css('height','366px');
				    images.eq(0).parent().css('margin-top','2px').css('padding-top','1px');
				}else if (top > 0){
				    $('.menu_wrapper').css('margin-top','-4px').css('height','367px');
				    images.eq(0).parent().css('margin-top','2px').css('padding-top','1px');
				}
			    }
		    });
		    

		    		
		    
	    }
	    }
    }


    $(function(){	
	    makeScrollable("div.menu_wrapper", "div.produkt_menu");
    });

