
/* --- INITIALIZATION --------------------------------------------------------- */

jQuery(document).ready(function() {

	// create Foomo
	window.craemer = new Craemer;

	// create ToggleBox
	window.toggleBox = new Craemer.ToggleBox;

	// create TabBox
	window.tabBox = new Craemer.TabBox;
	
	// product detail: tipp
	jQuery('#product-info-tippBtn-wrapper').mouseover(function(){
		jQuery('#product-info-tippBtn').children().css('visibility', 'hidden');
		jQuery('#product-info-tippBtn').css('background-position', '-30px');
		jQuery('#product-info-configuration').css('visibility', 'hidden');
		jQuery('#alternateWashing').css('visibility', 'hidden');
		jQuery('#product-info-tippBox').css('visibility', 'visible');
	});
	jQuery('#product-info-tippBtn-wrapper').mouseout(function(){
		jQuery('#product-info-tippBtn').children().css('visibility', 'visible');
		jQuery('#product-info-tippBtn').css('background-position', '0px 5px');
		jQuery('#product-info-configuration').css('visibility', 'visible');
		jQuery('#alternateWashing').css('visibility', 'visible');
		jQuery('#product-info-tippBox').css('visibility', 'hidden');
	});
	
	/* CRAEMERSERVICE MAIN NAVI OLD!!!
	jQuery("#naviServiceContentWrapper > div").hide();
	jQuery(".col2-service-right-bottom").show();
	jQuery("#content-1").show();
	
	var naviItems = ["#naviItem-1", "#naviItem-2", "#naviItem-3"];
	
	jQuery.each(naviItems, function(index, item){
		
		jQuery(item).click(function(){
			jQuery(".naviItem").removeClass("naviItemSelected");
			jQuery(this).addClass("naviItemSelected");
			jQuery("#naviServiceContentWrapper > div").hide();
			jQuery(".col2-service-right-bottom").show();
			jQuery("#content-"+(index+1)).show();
		});
	});*/
	
	/* CRAEMERSERVICE MAIN NAVI */
	var naviItems = ["#naviItem-1", "#naviItem-2", "#naviItem-3"];
	jQuery('#serviceContentScrollWrapper').css('overflow', 'hidden');
	jQuery('#naviItem-1')
		.click(function(){
			jQuery(".naviItem").removeClass("naviItemSelected");
			jQuery('#naviItem-1').addClass("naviItemSelected");
			jQuery('#serviceContentScrollWrapper').scrollTop(0);
			return false;
		});
	jQuery('#naviItem-2')
		.click(function(){
			jQuery(".naviItem").removeClass("naviItemSelected");
			jQuery('#naviItem-2').addClass("naviItemSelected");
			jQuery('#serviceContentScrollWrapper').scrollTop(494);
			return false;
		});
	jQuery('#naviItem-3')
		.click(function(){
			jQuery(".naviItem").removeClass("naviItemSelected");
			jQuery('#naviItem-3').addClass("naviItemSelected");
			jQuery('#serviceContentScrollWrapper').scrollTop(494*2);
			return false;
		});
	
	/* SERVICEPAUSCHALE MAIN NAVI - NOT USED
	jQuery("#naviPauschaleContentWrapper > div").hide();
	jQuery("#contentPauschale-1").show();
	
	var naviItems = ["#naviItemPauschale-1", "#naviItemPauschale-2", "#naviItemPauschale-3", "#naviItemPauschale-4", "#naviItemPauschale-5"];
	
	jQuery.each(naviItems, function(index, item){
		
		jQuery(item).click(function(){
			jQuery(".naviItem").removeClass("naviItemSelected");
			jQuery(this).addClass("naviItemSelected");
			jQuery("#naviPauschaleContentWrapper > div").hide();
			jQuery("#contentPauschale-"+(index+1)).show();
		});
	});*/
	
	/* REPAIR NAVI */
	var repairItemCount = 1;
	var repairItemSum = 10;
	
	jQuery("#repairArrows").click(function() {
		if(repairItemCount < repairItemSum){
			repairItemCount += 1;
			jQuery("#repairWrapper").css('background-image', 'url(' + Craemer.Config.imageBase + '/site/repair/repair'+repairItemCount+'_pre.png)');
			jQuery("#repairWrapper").hover(function(){
				jQuery("#repairWrapper").css('background-image', 'url(' + Craemer.Config.imageBase + '/site/repair/repair'+repairItemCount+'_post.png)');                      
			},
			function(){
				jQuery("#repairWrapper").css('background-image', 'url(' + Craemer.Config.imageBase + '/site/repair/repair'+repairItemCount+'_pre.png)');                     
			});
		} else {
			repairItemCount = 1;
			jQuery("#repairWrapper").css('background-image', 'url(' + Craemer.Config.imageBase + '/site/repair/repair1_pre.png)');
			jQuery("#repairWrapper").hover(function(){
				jQuery("#repairWrapper").css('background-image', 'url(' + Craemer.Config.imageBase + '/site/repair/repair1_post.png)');                    
			},
			function(){
				jQuery("#repairWrapper").css('background-image', 'url(' + Craemer.Config.imageBase + '/site/repair/repair1_pre.png)');                     
			});
		}
	});
	jQuery("#repairArrowsBack").click(function() {
		if(repairItemCount > 1){
			repairItemCount -= 1;
			jQuery("#repairWrapper").css('background-image', 'url(' + Craemer.Config.imageBase + '/site/repair/repair'+repairItemCount+'_pre.png)');
			jQuery("#repairWrapper").hover(function(){
				jQuery("#repairWrapper").css('background-image', 'url(' + Craemer.Config.imageBase + '/site/repair/repair'+repairItemCount+'_post.png)');                      
			},
			function(){
				jQuery("#repairWrapper").css('background-image', 'url(' + Craemer.Config.imageBase + '/site/repair/repair'+repairItemCount+'_pre.png)');                     
			});
		} else {
			repairItemCount = repairItemSum;
			jQuery("#repairWrapper").css('background-image', 'url(' + Craemer.Config.imageBase + '/site/repair/repair'+repairItemCount+'_pre.png)');
			jQuery("#repairWrapper").hover(function(){
				jQuery("#repairWrapper").css('background-image', 'url(' + Craemer.Config.imageBase + '/site/repair/repair'+repairItemCount+'_post.png)');                    
			},
			function(){
				jQuery("#repairWrapper").css('background-image', 'url(' + Craemer.Config.imageBase + '/site/repair/repair'+repairItemCount+'_pre.png)');                     
			});
		}
	});
	
	/* SHORTEN NAVI */
	var shortenCurrentView = 1;
	jQuery('#shortenScrollWrapper').css('overflow', 'hidden');
	jQuery("#shortenArrows").click(function() {
		if(shortenCurrentView==1){
			shortenCurrentView = 2;
			jQuery('#shortenScrollWrapper').scrollTop(494);
		} else if (shortenCurrentView==2){
			shortenCurrentView = 1;
			jQuery('#shortenScrollWrapper').scrollTop(0);
		}
	});
	
	/* HOMEPAGES MEN/WOMEN */
	
	var homeAnswers = [".homeMenWomenAnswer1", ".homeMenWomenAnswer2", ".homeMenWomenAnswer3"];
	var homeArrows = [".homeMenWomenArrow1", ".homeMenWomenArrow2", ".homeMenWomenArrow3"];
	var homeChoices = [".divHomeMenWomenChoice1", ".divHomeMenWomenChoice2", ".divHomeMenWomenChoice3"];
	
	jQuery.each(homeAnswers, function(index, item){
		jQuery(item).css('visibility', 'hidden');
		jQuery(homeArrows[index]).css('visibility', 'hidden');
	});
	jQuery.each(homeChoices, function(index, item){
		jQuery(item).hover(function(){
			jQuery(homeAnswers[index]).css('visibility', 'visible');
			jQuery(homeArrows[index]).css('visibility', 'visible');
		},
		function(){
			jQuery(homeAnswers[index]).css('visibility', 'hidden');
			jQuery(homeArrows[index]).css('visibility', 'hidden');
		});
	});
	
	
	/* SOCIAL BUTTONS SIDEBAR */
	
	jQuery.each(jQuery('#social-buttons-sidebar a div'), function(index, item){
		jQuery(item).mouseover(function(){
			jQuery(item).animate({ 'left': '-=10px'}, 'fast' );
		}).mouseout(function(){
			jQuery(item).animate({ 'left': '+=10px'}, 'fast' );
		});
	});

	jQuery(".toggleBox div.toogleButton").live('click', function(event) {
		scrollbar_craemer(jQuery(this).parent('.toggleBox'));
	});
	
	jQuery('.layered-nav-box').each(function(index) {
		if(jQuery(this).find('input:checked').val() !== undefined) {
			jQuery(this).children('.layered-nav-box-content').show();
			jQuery(this).children('.layered-nav-box-button').addClass('selected');
			scrollbar_craemer(jQuery(this));
		}
	});
	scrollbar_craemer(jQuery(document).find('.brandNaviWrapper'));
	scrollbar_craemer(jQuery(document).find('.brandInfoContent'));
	scrollbar_craemer(jQuery(document).find('.product-info-text-scroll'));
});


function scrollbar_craemer(elem) {
	var target = jQuery(elem),
		scrollPane = target.find('.scroll-pane:first'),
		slideElem = target.find(".slider-vertical:first"),
		scrollableHeight = scrollPane.height() - scrollPane.parent().height() || 0;
	if( (target.attr('class') == 'layered-nav-box toggleBox' && target.find('.toggleContent:first').is(':visible')) ||  target.attr('class') != 'layered-nav-box toggleBox'){
		if(scrollPane.height() > scrollPane.parent().height()) {
			slideElem.slider({
				orientation: "vertical",
				range: "max",
				min: 0,
				max: scrollableHeight,
				value: scrollableHeight,
				slide: function(event, ui) {
					scrollPane.css({top: ui.value - scrollableHeight});
				}
			}).bind("slide slidechange", function(e, ui) {
				scrollPane.css({top: ui.value - scrollableHeight});
			});
			scrollPane.mousewheel(function(e, delta) {
				slideElem.slider("value", slideElem.slider("value") + delta * 9);
				return false;
			});
		} else {
			scrollPane.parent().height(scrollPane.height()); 
		}
	} else {
		//scrollPane.unbind();
		//slideElem.unbind();
	}
}

/* --- Foomo --------------------------------------------------------- */

Craemer = function(){}


Craemer.Config = {
	imageBase : '/store/skin/frontend/default/craemer/images'
};


/* --- Toggle Box --------------------------------------------------------- */

Craemer.ToggleBox = function() {

	var a = this;
	jQuery(".toggleBox div.toogleButton").live('click', function(event) {
		a.clickHandler(event);
	});
	// @todo: find better selector eg refactor template
	jQuery(".toggleBox div.toogleButton .toggleOpenContent a, .toggleBox div.toogleButton .toggleOpenContent form").live('click', function(event) {
		a.openContentClickHandler(event);
	});

}

Craemer.ToggleBox.prototype = {

	clickHandler: function(event) {
		var target = jQuery(event.currentTarget);

		target.parent('.toggleBox').find('.toggleContent:first').toggle();

		if(target.parent('.toggleBox').find('.toggleContent:first').is(':hidden')){
			target.removeClass('selected');
		} else {
			
			target.addClass('selected');
		}
	},

	openContentClickHandler: function(event) {
		event.stopPropagation()
	}
}

/* --- Toggle Box --------------------------------------------------------- */

Craemer.TabBox = function() {

	var a = this;
	jQuery(".tabBox div.tabNavi li").live('click', function(event) {
		a.clickHandler(event);
	});

}

Craemer.TabBox.prototype = {

	clickHandler: function(event) {

		jQuery(event.currentTarget).parents('.tabNavi:first').find('li').removeClass('selected');
		jQuery(event.currentTarget).addClass('selected');

		jQuery(event.currentTarget).parents('.tabBox:first').find('.tabContentBox:first > .tabContent').hide();
		jQuery(event.currentTarget).parents('.tabBox:first').find('.tabContentBox:first > .tabContent-'+( jQuery(event.currentTarget).index()+1 )).show();
	}
}

/* --- Content Navi --------------------------------------------------------- */



// craemerService: navi
/*var serviceContentScreens = ['#serviceContent_tipps', '#serviceContent_repair', '#serviceContent_shorten'];
jQuery('#serviceNavi_tipps').click(function(){
	jQuery.each(serviceContentScreens, function() {
		alert('hello');
		jQuery(this).css('display', 'block');
	});	
});*/

