// Erweiterte JS Datei von general.js
// Datei muss nach der general.js geladen werden
//
jQuery.noConflict();

function fontReplace(){
	Cufon.replace('.step-menu a, #footer h3, .zur_label h5,  .black-btn, .orange-btn, .zuruk-btn h5, .weiter-button h5, .weiter-button-mline h5, .zuruk-btn-mline h5, .andern-btn, .black_btn , .black_btn16, .weiter-button h5 , .black_btnsmaller, .black_eli, .pro_detailhead, .size_finder h1, .container .kundenkonto .button_skin1, .container .weiter .button_skin1, .container .button_skin1 span, a#topcontrol', { fontFamily: 'Helvetica LT Std'}); 
	Cufon.replace('.service_item h2, .product .pro_name, .neu_label, .sale_label, .headline_label', {fontFamily: 'SoulMission'});
	Cufon.replace('.tag_header , .outfitpro_head , .prodiscription_list .tag_detail', {fontFamily: 'Magda'}); 
	//Cufon.replace('.prodiscription_list .detail h4 a', {fontFamily: 'Helvetica Neue LT Std'});
	Cufon.replace('.cstmblog p.headline, .cstmblog h1, .desc_box .pro_detail, .prodiscription_list .detail h6, .prodiscription_list .detail h4, .service_point h4 , .service_item h3, .service_item p, .nav li a, #explore_now', {fontFamily: 'Helvetica Neue LT Std'});
	Cufon.replace('.cat_descr, .prodetail_label a, .weiter-button h5 a , .zuruk-btn h5 a , .zur_label h5 a , .weiter-button-mline h5 a , .zuruk-btn-mline h5 a, .weiter-button, .weiter-button-small, .zurueck-button, #SEOText', {fontFamily: 'Helvetica Neue LT Std'});
	Cufon.replace('.hint_box ul li span', {fontFamily: 'Helvetica Neue LT Std'});
} 

function fontReplacePopUp(){
	Cufon.replace('.pop_mid .zuruk-btn h5, .pop_mid .zuruk-btn h5 a, .pop_mid .weiter-button', {fontFamily: 'Helvetica Neue LT Std', hover: false});
}

function colorboxResize(){
	var iOffSet = 0; //(jQuery.browser.msie) ? 0 : 0; 
    var iW = jQuery(document).width(); 
    var iH = jQuery(document.body).height() + iOffSet; 
    // debug: use alert below to get calc dimensions on load 
    // alert("iframe: (w:" + iW + ", h:" + iH + ")"); 
    // adjust size 
    parent.jQuery.fn.colorbox.myResize(iW, iH); 
}

function imagePreview() {
	var xOffset = 50;
	var yOffset = -170;
	
	jQuery('.product_variants a').hover( 
		function(e)	{
			if ( jQuery(this).parent('li').hasClass('last') ) {
				yOffset = 35;
			}
			else {
				yOffset = -170;
			}
			// <br />"+jQuery(this).attr('rel')+"
			jQuery("body").append("<div id='preview'><img src='"+ jQuery(this).children('img').attr('src')+"' alt='"+jQuery(this).attr('title')+"' /></div>");								 
			jQuery("#preview").css("top",(e.pageY - xOffset) + "px")
			                  .css("left",(e.pageX + yOffset) + "px")
			                  .fadeIn("fast");						
		},
		function() {
			jQuery("#preview").remove();
		}
	);	

	jQuery('.product_variants a').mousemove( function(e) {
		jQuery("#preview").css("top",(e.pageY - xOffset) + "px")
		                  .css("left",(e.pageX + yOffset) + "px");
	});			
}

function showVariantImage( elem, variant ) {
	// Bild anzeigen, wenn Variante zugewiesen 
	variant = variant.replace('.','\\.');
	
	if ( jQuery('#'+variant).length == 1 ) {
		jQuery('#'+variant).trigger('click');
	}
}

function selectVariantFromImage( variant ) {
	// passende Variante in Dropdown auswählen, wenn zugewiesen
	variant = variant.replace('.','\\.');
	
	if ( variant ) {
		jQuery('#jgd_dd_select_size li.'+variant+':not(.selected) a').click();
	}
}

function checkDataPrivacy( elem, value ) {
	// wenn Newsletter abbestellt wird, keine Datenschutz-Box anzeigen
	if ( value == '-1' ) {
		jQuery('#dpacheckboxdiv').slideUp();
	}
	else if ( jQuery('#dpacheckboxdiv:hidden') ) {
		jQuery('#dpacheckboxdiv').slideDown();
	}
}

function startUp(){
	if( jQuery("ul.select_list").length > 0 ){
		jQuery("select#custom-ddselect1").jgdDropdown({initTitle: jQuery('#custom-ddselect1 option').eq(0).html()});
		jQuery("select#custom-ddselect2").jgdDropdown({initTitle: jQuery('#custom-ddselect2 option').eq(0).html()});
		jQuery("select#custom-ddselect3").jgdDropdown({initTitle: jQuery('#custom-ddselect3 option').eq(0).html()});
	}
	
	if( jQuery(".dropdownbox select#select_size").length > 0 ){
		jQuery("select#select_size").jgdDropdown({callback: showVariantImage});
	}
	
	if( jQuery(".dropdownbox select#select_size2").length > 0 ){
		jQuery("select#select_size2").jgdDropdown();
	}
	
	jQuery("select#custom-ausselect").jgdDropdown({callback: function(){storeFinderChangeCity();}});
	jQuery("select#sCountry").jgdDropdown();
	jQuery("select#sDispatch").jgdDropdown();
	jQuery("select.changeQuantity").jgdDropdown();
	
	jQuery("select#anrede").jgdDropdown();
	
	// sizefinder
	if ( jQuery('.size_finder').length > 0 ) {
		jQuery('#trWidth').jgdDropdown({initTitle:jQuery('#trWidth option').eq(0).html(), callback: function(){recalcTrousers();}});
		jQuery('#trLength').jgdDropdown({initTitle:jQuery('#trLength option').eq(0).html(), callback: function(){recalcTrousers();}});
		jQuery('#jeansWidth').jgdDropdown({initTitle:jQuery('#jeansWidth option').eq(0).html(), callback: function(){recalcJeans();}});
		jQuery('#jeansLength').jgdDropdown({initTitle:jQuery('#jeansLength option').eq(0).html(), callback: function(){recalcJeans();}});
		jQuery('#chest').jgdDropdown({initTitle:jQuery('#chest option').eq(0).html(), callback: function(){recalcChest();}});
		jQuery('#collar').jgdDropdown({initTitle:jQuery('#collar option').eq(0).html(), callback: function(){recalcCollar();}});
	}
	
	//Registrierungsprozess //
	jQuery("select#salutation").jgdDropdown();
	jQuery("select#country").jgdDropdown();
	jQuery("select#birthday").jgdDropdown();
	jQuery("select#birthmonth").jgdDropdown();
	jQuery("select#birthyear").jgdDropdown();
	
	// Newsletterformular
	jQuery("select#chkmail").jgdDropdown({callback: checkDataPrivacy});
	
	// Bewerbungsformular
	jQuery("select#bdaytag").jgdDropdown();
	jQuery("select#bdaymonat").jgdDropdown();
	jQuery("select#bdayjahr").jgdDropdown();
	

	jQuery("select#eintag").jgdDropdown();
	jQuery("select#einmonat").jgdDropdown();
	jQuery("select#einjahr").jgdDropdown();
	jQuery("select#jobnr").jgdDropdown({callback: function(){activateNewBox();}});
	
	// Gewinnspielformular
	jQuery("select[name=size]").jgdDropdown();
	
	//StoreSelect //
	jQuery("select#Ortauswahl").jgdDropdown({callback: function(){selectStoreChangeCity();}});

	
	//Größenangaben //
	if ( jQuery("select#smPreferredVariantGroup_1").length > 0 )
	{
		jQuery("select#smPreferredVariantGroup_1").jgdDropdown();
		jQuery("select#smPreferredVariantGroup_2").jgdDropdown();
		jQuery("select#smPreferredVariantGroup_3").jgdDropdown();
		jQuery("select#smPreferredVariantGroup_4").jgdDropdown();
		jQuery("select#smPreferredVariantGroup_5").jgdDropdown();
	}
	
	jQuery("form.basketItem .jgd-dropdown dd a").click(function(){
		jQuery(this).parents("form.basketItem").submit();
	});
	
	jQuery("#recalcShipping .jgd-dropdown dd a").click(function(){
		jQuery("#recalcShipping").submit();
	});
	
	jQuery("select.select_size").jgdDropdown();
	
	jQuery('#mycarousel').jcarousel({ scroll:1 });
	jQuery('#mycarouse2').jcarousel({ scroll:1 });
	jQuery('#companycarousel').jcarousel({
		scroll:1,
		wrap: 'circular',
		buttonNextHTML: '<div><div class="arrow"></div></div>',
		buttonPrevHTML: '<div><div class="arrow"></div></div>'
	});
	
	jQuery('#sAddToBasket .submitform').click(function(e){
		e.preventDefault();
		var doSubmit = true;
		
		if(jQuery('#select_size').length>0){
			if(jQuery('#select_size option:selected').val() === 'select-size'){
				doSubmit = false;
				jQuery('#select_size').parent().addClass('error');
			}
		}
		if(doSubmit){
			//jQuery('#sAddToBasket').submit();
			basketUrl = jQuery('#sAddToBasket').serialize();
			//alert(smBasefile + '?containerOnly=true&' + basketUrl); 
			//?containerOnly=true&sViewport=basket&sActionIdentifier=34959116e1f74a9e9cb17c3eb37f1c4e&sAddAccessories=&sAdd=10204-03
			
			jQuery.colorbox({
				href: smBasefile + '?containerOnly=true&' + basketUrl,
				width: 681,
				opacity: '0.5',
				iframe: false,
				scrolling: false,
				onComplete: function(){fontReplacePopUp();}
			});
			return false;

		}
		return false;	
	});
	
	jQuery('#sAddToBasketOutfits .weiter-button').click( function(e){
		e.preventDefault();
		var doSubmit = true;
		var toorder = '';
		
		// prüfen, ob Artikel markiert ist
		jQuery('.relatedOrdernumber').each( function(){
			var ordernr = jQuery(this).val();
			
			if ( jQuery('#'+ordernr+'_related_checkbox').is(':checked') )
			{
				toorder += jQuery('#'+ordernr+'_select_size option:selected').val() + ';';
				if ( jQuery('#'+ordernr+'_select_size option:selected').val() === 'select-size' )
				{
					doSubmit = false;
					jQuery('#'+ordernr+'_select_size').parents('.dropdownbox').addClass('error');
				}
				else
				{
					jQuery('#'+ordernr+'_select_size').parents('.dropdownbox').removeClass('error');	
				}
			}
			else {
				jQuery('#'+ordernr+'_select_size').parents('.dropdownbox').removeClass('error');
			}
		});

		if ( toorder === '' )
		{
			jQuery('.errorBox').html(sOutfitErrorMinPurchase).slideDown();
		}
		else if ( doSubmit )
		{
			jQuery('.errorBox').slideUp();
			jQuery('#sRelatedOrdernumbers').val( toorder );
			jQuery('#sAddToBasketOutfits').submit();
		}
		else {
			jQuery('.errorBox').html(sOutfitErrorNoSize).slideDown();
		}
		
		return false;
	});
	
	
	jQuery("#narrowcolumn .ajaxLoaderImg").animate({opacity: 0}); 
	jQuery("#narrowcolumn .category_cantrol .category_list li a, #narrowcolumn .category_cantrol .dropdownbox dl dd li a").click(function(){
		var loader = jQuery("#narrowcolumn .ajaxLoaderImg");
		var productList = jQuery('#widecolumn');
		var slideList = jQuery('#products_slider #products_sliderlist');
		var catControl = jQuery('#narrowcolumn .category_cantrol');
		var searchDesc = jQuery('.search div.product_desc');
		var searchHeader = jQuery('.search h3.pro_head');
		var loaderH = catControl.innerHeight();
		var ajaxUrl = jQuery(this).attr('href');
		var categoriefilter = jQuery(this).parents('ul').hasClass('category_list');
		
		if( ajaxUrl !== '#' && ajaxUrl !== '' ){
			loader.css('height', loaderH).show().animate({opacity: 0.5});
			jQuery.ajax({
				contentType: "application/x-www-form-urlencoded;charset=UTF-8",
				type: 'POST',
				data: {'containerOnly':'1'},
				url: ajaxUrl,
				success: function(result){
					var loadProductList = jQuery('#widecolumn', result).html();
					var loadCatControl = jQuery('#narrowcolumn .category_cantrol', result).html();
					var loadSlideList = jQuery('#products_slider #products_sliderlist', result).html();
					var loadSearchDesc = '';

					if(searchHeader.length > 0){
						loadSearchDesc = jQuery('h3.pro_head', result).html();
						searchHeader.fadeOut('fast').html(loadSearchDesc).fadeIn('fast');
					}
					if(searchDesc.length > 0){
						loadSearchDesc = jQuery('div.product_desc', result).html();
						searchDesc.fadeOut('fast').html(loadSearchDesc).fadeIn('fast');
					}
					catControl.html(loadCatControl);
					
					if ( categoriefilter )
					{
						slideList.children('li').stop().fadeOut('fast',function(){
							jQuery(this).remove();
							slideList.html(loadSlideList);
							productSliderBanner();
						});
					}
					productList.fadeOut('fast', function(){
						jQuery(this).html(loadProductList).fadeIn('fast');
						fontReplace();
						startUp();
					});
				},
				complete: function(){
					loader.animate({opacity: 0}).hide();
				}
			});
		}
		return false;
	});
	
	jQuery('.moreproduct li.size a, a#zoom1').click(function(){
		var zoomSrc = jQuery(this).attr('href');
		jQuery.colorbox({
			href: zoomSrc,
			maxWidth: 800,
			photo: true,
			opacity: '0.5',
			rel: 'pro_details',
			onOpen: function(){
				jQuery('#cboxContent').addClass('picture_zoom');
			},
			onClosed: function(){
				jQuery('#cboxContent').removeClass('picture_zoom');
			}
		});
		return false;
	});
	
	jQuery('.zoomo').click(function(){
		jQuery.colorbox({
			href: '#zoomo',
			width: 740,
			innerHeight: 700,
			inline: true,
			opacity: '0.5'
		});
		return false;
	});
	
	jQuery('.prolink_nav a.sizefinder, a#form').click(function(){
		var url = jQuery(this).attr('href');
		jQuery.colorbox({
			href: url,
			width: 800,
			innerHeight: 370,
			padding: 10,
			opacity: '0.5',
			iframe:true
		});
		return false;
	});
	
	jQuery('.prothumb_list .thumb a').click(function(){
		var zoomSrc = jQuery(this).attr('href');
		jQuery('.moreproduct li.size a').attr("href", zoomSrc);
		
		// passende Variante in Dropdown auswählen, wenn zugewiesen
		selectVariantFromImage( jQuery(this).attr('id') );
		
		return false;
	});
	
	jQuery('#searchform a').click(function(){
		if ( jQuery('#searchform .search_input').val() !== 'Ihr Suchbegriff' )
		{
			jQuery('#searchform').submit();
		}
		return false;
	});
	
	if ( jQuery('#outfit_carousel').size() > 0 ) {
		jQuery('#outfit_carousel').cycle({ 
			fx:     'fade', 
			speed:  'fast', 
			timeout: 0, 
			next:   '#stripNavR0', 
			prev:   '#stripNavL0' 
		});
	}
	
	jQuery('#support h5 a').click(function(){ jQuery('#support').submit(); });
	
	jQuery('#sAddToBasketOutfits .pro_content *').css("display", "inline");
	jQuery('#sAddToBasketOutfits .pro_content').jTruncate({
		length: 250,
        minTrail: 0,
        moreText: "Mehr Details",
        lessText: "Weniger Details",
        ellipsisText: "&nbsp;&nbsp;&nbsp;",
        moreAni: "fast",
        lessAni: "fast"
    });

	jQuery('.more-info h3').hover(
		function(){
			jQuery(this).css({cursor:'pointer'});
		},
		function(){
			jQuery(this).css({cursor:'normal'});
		}
	);
	jQuery('.more-info h3').click(function(){
		if ( jQuery(this).parent('li').hasClass('active') ) {
			jQuery(this).siblings('p').slideUp().parent('li').removeClass('active');
		}
		else {
			jQuery(this).siblings('p').slideDown().parent('li').addClass('active');			
		}
	});
	
	if ( jQuery('.more-info').size() > 0 ) {
		hash = window.location.hash.replace('#','');

		if ( hash ) {
			jQuery('#help_'+hash+' h3').siblings('p').slideDown().parent('li').addClass('active');
		}
	}
	
	jQuery('a.colorbox').click(function(e){
		e.preventDefault();
		var url = jQuery(this).attr('href');
		var height = 400;
		var i = 0;
		
		// Prüfen, ob Höhe in URL angegeben wurde
		hashes = url.slice(url.indexOf('?')+1).replace(/&amp;/i,'&').split('&');
		for ( i=0; i<hashes.length; i++ )
		{
			if ( hashes[i].split('=')[0] === 'height' )
			{
				height = hashes[i].split('=')[1];
			}
		}
		
		jQuery.colorbox({
			href: url+'&smAJAX=1',
			width: 681,
			innerHeight: height,
			opacity: '0.5',
			iframe: true,
			scrolling: false,
			onComplete: function(){
//				jQuery.colorbox.resize({width:681});
			}
		});
	});
	jQuery('div.hint_box ul li').mouseenter(function(e){
		jQuery(this).addClass('active').removeClass('inactive').children('span.dropbox').show();
	});
	jQuery('div.hint_box ul li').mouseleave(function(e){
		jQuery(this).removeClass('active').addClass('inactive').children('span.dropbox').hide();
	});
}

jQuery(document).ready(function() {
	fontReplace();
	startUp();
	imagePreview();
	jQuery('#slideshow').cycle({
			fx: 'fade' // choose your transition type, ex: fade, scrollUp, shuffle, etc...
		});
});
