// Hash Map fuer OnChange Events von Select Elementen
var changes = new Object;

$(document).ready(function(){

/**
 * Externe Links in einem neuen Fenster oeffnen
 */
$(".external-link").each(function(){
	$(this).attr("target", "_blank");
});

 /**
 * Prueft, ob Objekte im Dom vorhanden sind
 * z.B. $('div.eineclass').exists();
 * Falls vorhanden wird true zurueckgegeben.
 */
  $.fn.exists = function(){return $(this).is('*');};

 /**
 * Liest das rel-Attribut aus und erstellt daraus ein Array oder Object
 * Object = z.B. ... rel="position:12px;name:meier"
 * Array = z.B. ... rel="rot,gruen,blau" benoetigt das Argument serial = true
 */
  $.fn.relarray = function(serial,attrtype){
  		if(attrtype == null || attrtype == false)attrtype = 'rel';
		var Option_String = $(this).attr(attrtype);
		if(attrtype == 'text'){
  			Option_String = $(this).text();
  		}

		var Options = new Object();
		var Options_Values = Option_String.split(';');

		$.each( Options_Values, function(i,n){
			var old_string = n;
			var n = old_string.replace(':', "|");
			var Value_Array = n.split('|');
			Options[Value_Array[0]] = Value_Array[1];
		});
		if(serial == true){
			return Options_Values;
		}else{
			return Options;
		}
  };

 /**
 * Sucht nach einer CSS-Klasse anhand einer Wildcard
 * z.B. In Attribut "class" befindet sich die Klassen 'eineKlasse-1, einObject, eineKlasse-2'
 * mit $(this).wcclass('eineKlasse') findet man dann die Klassen 'eineKlasse-1' und 'eineKlasse-2'
 */
  $.fn.wcclass = function(wc_class){
  		var Class_String = $(this).attr('class');
  		if(Class_String){
	  		var Class_Array = Class_String.split(' ');
	  		var Return_Array = new Array();
	  		var get_classes;
	  		var z = 0;
			$.each( Class_Array, function(i,classes){
				var isClass = classes.search(wc_class);
				if(isClass != '-1'){
					z = z + 1;
					//Return_Array[z] = classes;
					get_classes = classes;
				}
			});
			return get_classes;
		}
  };

 /**
 * Sucht nach Elementen und gibt diese mit allen Eigenschaften in einen Array zurueck.
 * z.B. var input_array = $('#action-layer-filter').findobject('.ajax-filter-input');
 */
  $.fn.findobject = function(find_element){
  		var find_elements = $(this).find(find_element);
		var find_elements_array = jQuery.makeArray(find_elements);
		return find_elements_array;
  };

/**
* Sucht nach einem Element und setzt die darin enthaltenen Elemente auf dieselbe Hoehe
* Diese koennen wiederum eungeschraenkt werden
* Beispiel: $('Id/Class/Tag').equalHeights('Id/Class/Tag');
*/

$.fn.equalHeights = function(elem) {
	$(this).each(function(){
		var currentTallest = 0;
		$(this).children().each(function(i){
			if ($(this).height() > currentTallest) { currentTallest = $(this).height(); }
		});

		$(this).children(elem).css({'min-height': currentTallest});
	});
	return this;
};

$('#mydata-shipping-addresses').equalHeights('.overview-item');

/**
* Ende
*/

  $('div.product-dock-element').hover(function () {
	  $(this).find('.product-dock-out').css('display','none');
      $(this).css('z-index','200');
      $(this).find('.product-dock-over').css('display','block');
  }, function(){
	  $(this).css('z-index','100');
      $('.product-dock-over').css('display','none');
      $(this).find('.product-dock-out').css('display','block');
  });

  $('div.teaser-element').hover(function(){
    var height_teaserelement = $(this).height();
    var height_captionelement = $('.teaser-caption', this).height();
    var slide_top = height_teaserelement - height_captionelement - 10;
    $('.teaser-caption', this).stop().animate({top:slide_top},{queue:false,duration:200});
  }, function() {
    $('.teaser-caption', this).stop().animate({top:'140px'},{queue:false,duration:200});
  });

  $('div.brand-element').hover(function(){
	    var height_teaserelement = $(this).height();
	    var height_captionelement = $('.brand-caption', this).height();
	    var slide_top = height_teaserelement - height_captionelement-2;
	    $('.brand-caption', this).stop().animate({top:slide_top},{queue:false,duration:200});
		$(this).find(".brand-image").hide();
	  }, function() {
	    $('.brand-caption', this).stop().animate({top:'86px'},{queue:false,duration:200});
		$(this).find(".brand-image").show();
	  });


  $('div.brand-link').click(function(){
 	window.location.href = $(this).find('span.brand-link').text();
  });

/* Begin Product-Sorting Info - Layer */
  $('div.product-sorting-element').hover(function(){
  		if( $('.is-over-element').exists() == false){
		    $(this).css('z-index','600');
		    $(this).addClass('is-over-element');
		    $('div.product-sorting-element-over').find('span.product-sorting-name').html($(this).find('span.product-sorting-name').html());
		    $('div.product-sorting-element-over').find('span.product-sorting-price').html($(this).find('span.product-sorting-price').html());
		    $('div.product-sorting-element-over').find('span.product-sorting-throughprice').html($(this).find('span.product-sorting-throughprice').html());
			$('div.product-sorting-element-over').find('span.product-sorting-saleprice').html($(this).find('span.product-sorting-saleprice').html());


			if($(this).find('span.product-sorting-bookmarklink').text() != 0){
			    $('div.product-sorting-element-over').find('span.bookmarklink').html(
			    		'<a href="#" class="open-dialog product-sorting-bookmarklink">'+$('div.product-sorting-element-over').find('span.product-sorting-defaulttext').html()+'</a>'
			    	);
				$('div.product-sorting-element-over').find('a.product-sorting-bookmarklink').attr("onClick","ajax_set_bookmark('"+$(this).find('span.product-sorting-bookmarklink').text()+"','"+$(this).find('span#product_id').text()+"')");
			}else{
				$('div.product-sorting-element-over').find('span.bookmarklink').html('<span class="icons bookmark-info">' + $('div.product-sorting-element-over').find('span.product-sorting-bookmarkedtext').html() + '</span>');
			}

			var detaillink = $(this).find('span.product-sorting-detaillink').text();

			$('div.product-sorting-element-over').find('a.product-sorting-detaillink').attr('href',detaillink);
			$('div.product-sorting-element-over').find('span.product-sorting-assessment').html($(this).find('span.product-sorting-assessment').html());
			$('div.product-sorting-element-over').find('span.product-sorting-assessment').css('display','block');
			$('div.product-sorting-element-over').clone().appendTo($(this).find('div.product-sorting'));
		    if($(this).find('span.product-sorting-price').html()){
				$(this).find('span.product-sorting-throughprice').remove();
				$(this).find('span.product-sorting-saleprice').remove();
		    }else{
				$(this).find('a.product-sorting-price').remove();
		    }
		    $(this).find('div.product-sorting-element-over').css('display','block');

		    $(this).find('.js-detaillink').click(function(){window.location.href = detaillink;});
		}

  }, function(){

  		$('div.is-over-element').find('div.product-sorting-element-over').remove();
		$(this).removeClass('is-over-element');
		$(this).find('div.product-sorting').css('z-index','200');
		$(this).removeAttr('style');

  });

 /* End Product-Sorting Info - Layer */

 /* Begin Topseller-Produkt in Product-sorting verlinkung */
	$(this).find('.product-sorting-topseller').click(function(){
		window.location.href = $(this).find('span.product-sorting-detaillink').text();
	});
  /* Begin Topseller-Produkt in Product-sorting verlinkung */

/* Begin Setzt Teaserlink im Teaserslider */
	$('div.teaser-link').click(function(){
	 	window.location.href = $(this).find('span.teaser-link').text();
	});
/* End Setzt Teaserlink im Teaserslider */

/* Begin Kreiert CSS-Dropdowns auf Basis von Selectboxen */

	$(this).find('select').each(function(i, select){
		if(!select.id){
			return false;
		}
		/* Besitzt das Element die Klasse .limited, dadurch wird das Auswahlfenster in der Hoehe
		 * begrenzt, wir diese weitergereicht
		 */
		if($(select).hasClass('limited')){
			var limitClass = 'limit-height';
		}
		/* Besitzt das Element die Klasse .errormsg, wir diese weitergereicht */
		if($(select).hasClass('errormsg')){
			var errormsgClass = 'select-errormsg';
		}

		/* Wenn das Select Element einen OnChange Handler hat, wird dieser in der
		 * Hash Map changes gespeichert, so dass er spaeter ausgefuehrt werden kann.
		 */
		if ($(select).attr("onchange") != "" && $(select).attr("onchange") != "undefined") {
			changes[select.id] = $(select).attr("onchange");
		}

		var options = '';
		var selected_text;
		selected_text = $('#' + select.id + ' :selected').text();
		selected_value = $('#' + select.id + ' :selected').attr('value');
		$(this).find('option').each(function(i, option){

			if($(option).attr('title')){
				var set_link = ' onClick="' + $(option).attr('title') + '"';
			}else{
				var set_link = '';
			}

			if($(option).attr('disabled')){
				var set_disabled = 'disabled';
			}else{
				var set_disabled = '';
			}

			if(selected_text == $(this).text()) var selected = ' class="active"'; else var selected = '';
			options = options + '<li ' + selected  + set_link + '><span id=optid_' + $(this).attr('value') + '" rel="' + $(this).attr('value') + '" class="value ' + set_disabled + '">' + $(this).text() + '</span></li>';
		});

		var width = $('#' + $(this).attr('id')).css('width');

		var css_dropdown = '<div  id="' + $(this).attr('id') + '">' +
								'<div style="width: ' + width + ';" class="dropdown-box" onclick="css_dropdown(this,\'' + $(this).attr('id') + '\',\'' + $(this).attr('id') + '-value\');">' +
											'<div style="width: ' + width + ';" class="dropdown-aktive ' + errormsgClass +'"><span class="value">' + selected_text + '</span></div>' +
											'<div style="width: ' + width + ';" class="dropdown-content ' + limitClass +'">' +
												'<ul>' + options + '</ul>' +
											'</div>' +
											'<input type="hidden" id="' + $(this).attr('id') + '-value" name="' + $(this).attr('name') + '" value="' + selected_value +'"/>' +
										'</div>' +
									'</div>';

		$('#' + $(this).attr('id')).replaceWith(css_dropdown);
	});

/* End Kreiert CSS-Dropdowns auf Basis von Selectboxen */




/* Begin Action-Layer aus- und einklappen */
	if($('a.subnav-button').hasClass('subnav-button-on')){
		$('#action-layer-animate').css('display','block');
	}else if($('a.subnav-button').hasClass('subnav-button-off')){
		$('#action-layer-animate').css('display','none');
	}

	$(this).find('.subnav-button').click(function(){
		if($('#action-layer-animate').css('display') == 'none'){
	  		$('#action-layer-overlay').css('display','block');
	  		$(this).addClass('subnav-button-on');
	  		$(this).text(localeFold);
	  		$('#action-layer-animate').animate({height:'toggle'}, 600);
	  		$('#action-layer-animate').ready(function() {
			  $('#action-layer-overlay').css('display','none');
			});
	  		$.ajax({
	  		   type: "GET",
	  		   url: "/siemes/Category.action",
	  		   data: "actionLayerExpand=true"
	  		 });
	  	}else{
	  		$(this).removeClass('subnav-button-on');
	  		$(this).text(localeExpand);
	  		$('#action-layer-animate').animate({height:'toggle'},600);
	  		$("#action-layer-animate").css('clear','both');
	  		$.ajax({
	  		   type: "GET",
	  		   url: "/siemes/Category.action",
	  		   data: "actionLayerExpand=false"
	  		 });
	  	}

	 });

/* End Action-Layer aus- und einklappen */

/* Begin Mouseover Logos Subnavi */
	if($('div.action-layer-navigation').find('a').hasClass('active')){
		var load_object_id = $('div.action-layer-navigation').find('a.active');
		var load_relArray = load_object_id.relarray();
			$.each( load_relArray, function(i,set_class){
				if(i != ''){
					var del_class = load_object_id.parent().parent().find("div." + i).wcclass('box-brand');
					if(del_class){
						load_object_id.parent().parent().find('div.' + i).removeClass(del_class);
					}
					load_object_id.parent().parent().find('div.' + i).addClass('box-brand-' + set_class);
				}
			});
		$('div.action-layer-navigation').find('span.orginal_brands').text(load_object_id.attr('rel'));
	}

	$('div.action-layer-navigation').find('a').hover(function(){
		var relArray = $(this).relarray();
		var object_id = this;
			$.each( relArray, function(i,set_class){
				var del_class = $(object_id).parent().parent().find('div.' + i).wcclass('box-brand');
				if(del_class){
					$(object_id).parent().parent().find('div.' + i).removeClass(del_class);
				}
				$(object_id).parent().parent().find('div.' + i).addClass('box-brand-' + set_class);
			});
	},function(){
		if($(this).parent().find('span.orginal_brands').text() != '' || $(this).parent().find('span.orginal_brands').text() != 'none'){
			var relArray = $(this).parent().parent().find('span.orginal_brands').relarray(false,'text');
			var object_id = this;
			$.each( relArray, function(i,set_class){
					var del_class = $(object_id).parent().parent().find('div.' + i).wcclass('box-brand');
					if(del_class){
						$(object_id).parent().parent().find('div.' + i).removeClass(del_class);
					}
					$(object_id).parent().parent().find('div.' + i).addClass('box-brand-' + set_class);
			});
		}
	});
/* End Mouseover Logo Subnavi*/

/* Begin Action-Layer Filterelemente Funktionalitaet */
	$('#action-layer-filter').find('.filter-element').hover(function(){
		$('#action-layer').css('z-index','1000');
		$(this).css('z-index','1000');
		$(this).find('div.filter-value').css('z-index','1');
		$(this).find('a.filter-button').css('z-index','2');
		$(this).find('div.filter-value').css('display','block');

		if($(this).find('.isfilter').exists() == true){
			$(this).find('span.filter-clear').css('display','block');
		}
	},function(){
		$('#action-layer').css('z-index','');
		$(this).css('z-index','');
		$(this).find('div.filter-value').css('z-index','');
		$(this).find('a.filter-button').css('z-index','');
		$(this).find('div.filter-value').css('display','none');
	});


	$('#action-layer-filter').find('.filter-clear').click(function(){
		$(this).parent().parent().parent().find('a.filter-button').removeAttr('rel');
		$(this).parent().parent().parent().find('a.filter-button').removeClass('filter-active');
		$(this).parent().parent().parent().find('.ajax-filter-input').text('');
		$(this).parent().parent().parent().find('span.filter-value-field').text('');
		$(this).parent().parent().parent().find('span.filter-value-field').removeClass('isfilter');
		$(this).parent().parent().parent().find('div.filter-content a').removeClass('element-active');

		$('#action-layer').css('z-index','');
		$(this).parent().parent().parent().parent().css('z-index','');
		$(this).parent().parent().parent().find('div.filter-value').css('z-index','');
		$(this).parent().parent().parent().find('a.filter-button').css('z-index','');
		$(this).parent().parent().parent().find('div.filter-value').css('display','none');
		$(this).css('display','none');

		if( $('.isfilter').exists() == false){
			$(this).parent().parent().parent().parent().parent().parent().find('a.filter-reset').css('display','none');
			$(this).parent().parent().parent().parent().parent().parent().find('a.filter-reset').removeClass('filter-reset-active');
		}

	});

	$('#action-layer-filter').find('a.filter-reset').click(function(){
		$('#action-layer-filter').find('span.filter-value-field').text('');
		$('#action-layer-filter div.filter-element, #action-layer-filter div.price-range').find('.ajax-filter-input').text('');
		$('#action-layer-filter div.filter-element').find('a.filter-button').removeClass('filter-active');
		$('#action-layer-filter div.filter-element').find('a.filter-button').removeAttr('rel');
		$('#action-layer-filter div.filter-element div.filter-value div.filter-content').find('a').removeClass('element-active');
		$(this).removeClass('filter-reset-active');
		$(this).css('display','none');
		$('#action-layer-filter').find('.isfilter').removeClass('isfilter');

		$("#slider-range").slider("values", 0, parseInt($(this).relarray().minprice));
		$("#slider-range").slider("values", 1, parseInt($(this).relarray().maxprice));
		$("#ui-slider-price-from").html($(this).relarray().minprice + ' &euro;');
		$("#ui-slider-price-to").html($(this).relarray().maxprice + ' &euro;');

	});



	$('div.filter-content a.filter-bt, div.product-detail div.filter-size a').click(function(){
			$(this).parent().find('a').removeClass('element-active');
			$(this).parent().find('a').removeClass('color-element-active');
			if($(this).hasClass('filter-color-element')){
				$(this).addClass('color-element-active');
			}else{
				$(this).addClass('element-active');
			}
			$(this).parent().parent().parent().find('.ajax-filter-input').text($(this).attr('rel'));
			$(this).parent().parent().parent().find('.filter-size input').val($(this).attr('rel'));
			/*$(this).parent().parent().parent().find('span.filter-value-field').text($(this).text());*/
			$(this).parent().parent().parent().find('span.filter-value-field').addClass('isfilter');
			$(this).parent().parent().parent().find('a.filter-button').attr('rel','selected');
			$(this).parent().parent().parent().find('a.filter-button').addClass('filter-active');
			$(this).parent().parent().parent().parent().find('a.filter-reset').css('display','block');
			$(this).parent().parent().parent().parent().find('a.filter-reset').addClass('filter-reset-active');

			$('#action-layer').css('z-index','');
			$(this).parent().parent().parent().find('div.filter-value').css('display','none');
			$(this).parent().parent().parent().find('div.filter-value').css('z-index','');
			$(this).parent().parent().parent().find('div.filter-element').css('z-index','');
			$(this).parent().parent().parent().find('.filter-clear').css('display','inline');

	});

	if($('.isfilter').exists() == true){
		$('#action-layer-filter').find('a.filter-reset').css('display','block');
	}

	$('div.product-detail div.filter-size').find('.filter-size-element').click(function(){
		$(this).parent().find('div.product-infobox').css('display','block');
	});
/* End Action-Layer Filterelemente Funktionalitaet */

/* Begin Filter-Size Infolayer */
	$('.filter-size-element').hover(function(){
		$(this).find('.size-info').css('display','block');
	}, function(){
		$(this).find('.size-info').css('display','none');
  	});
/* End Filter-Size Infolayer */


/* Begin Dialog oeffnen */
	$('.open-dialog').click(function(){
			if($("#dialog").dialog( 'isOpen' ) == false){
				$("#dialog").dialog('destroy');
			}
			$("#dialog").dialog({
				bgiframe: false,
				modal: true,
				width: 355,
				minHeight: 90
			});

			return false;
	});

	$('.open-dialog-size-error').click(function(){
			if($("#dialog-size-error").dialog( 'isOpen' ) == false){
				$("#dialog-size-error").dialog('destroy');
			}
			$("#dialog-size-error").dialog({
				bgiframe: false,
				modal: true,
				width: 355,
				minHeight: 90
			});

			return false;
	});

	$('.open-dialog-685').click(function(){
			if($("#dialog-685").dialog( 'isOpen' ) == false){
				$("#dialog-685").dialog('destroy');
			}
			$("#dialog-685").dialog({
				bgiframe: false,
				modal: true,
				width: 691,
				minHeight: 90
			});

			return false;
	});

	$('.open-dialog-492').click(function(){
			if($("#dialog-492").dialog( 'isOpen' ) == false){
				$("#dialog-492").dialog('destroy');
			}
			$("#dialog-492").dialog({
				bgiframe: false,
				modal: true,
				width: 498,
				minHeight: 90
			});

			return false;
	});

	$('.open-dialog-share').click(function(){
			if($("#dialog-share").dialog( 'isOpen' ) == false){
				$("#dialog-share").dialog('destroy');
			}
			$("#dialog-share").dialog({
				bgiframe: false,
				modal: true,
				width: 502,
				minHeight: 90
			});

			return false;
	});

	$('.open-dialog-cvc').click(function(){
			if($("#dialog-cvc").dialog( 'isOpen' ) == false){
				$("#dialog-cvc").dialog('destroy');
			}
			$("#dialog-cvc").dialog({
				bgiframe: false,
				modal: true,
				width: 691,
				minHeight: 90
			});

			return false;
	});

	$('.open-dialog-agb').click(function(){
			if($("#dialog-agb").dialog( 'isOpen' ) == false){
				$("#dialog-agb").dialog('destroy');
			}
			$("#dialog-agb").dialog({
				bgiframe: false,
				modal: true,
				width: 691,
				minHeight: 90
			});

			return false;
	});


	$('.open-dialog-lottery').click(function(){
			openJsLayer($("#get-dialog-lottery-header-img").text(),$("#get-dialog-lottery-header-height").text(),true);

			/*$(".brand-cloud").css('display', 'none');
			if($("#dialog-lottery").dialog( 'isOpen' ) == false){
				$("#dialog-lottery").dialog('destroy');
			}
			$("#dialog-lottery").dialog({
				bgiframe: false,
				modal: true,
				width: 700,
				height: 321
			});
			$('#participation_agb_link').click(function(){
				$('#participation_form').animate({
					"margin-top": "-311"
				}, 500);
			});

			$('#participation_back_to_lottery').click(function(){
				$('#participation_form').animate({
					"margin-top": "0"
				}, 500);
			});

			return false;*/

	});


/* End Dialog oeffnen */

/* Begin Dialog schliessen */
	$('.modal-close').click(function(){
		$("#dialog").dialog('destroy');
	});

	$('.modal-close').click(function(){
		$("#dialog-size-error").dialog('destroy');
	});


	$('.modal-close').click(function(){
		$("#dialog-685").dialog('destroy');
	});

	$('.modal-close').click(function(){
		$("#dialog-492").dialog('destroy');
	});

	$('.modal-close').click(function(){
		$("#dialog-share").dialog('destroy');
	});

	$('.modal-close').click(function(){
		$("#dialog-cvc").dialog('destroy');
	});

	$('.modal-close').click(function(){
		$("#dialog-agb").dialog('destroy');
	});

	$('.modal-close').click(function(){
		$("#dialog-lottery").dialog('destroy');
		$(".brand-cloud").css('display', 'block');
	});
/* End Dialog schliessen */

/* Begin Inputfelder leeren */

	$('input:text.text').each(function(i, elm){
    $(elm).data('storedValue', $(elm).attr('value'))
    .focus(function(){
        if($(elm).attr('value') != $(elm).data('storedValue')){
            return false;
        }
        $(elm).attr('value','');
    })
    .blur(function(){
        if ($(elm).attr('value') == '') {
            $(elm).attr('value',$(elm).data('storedValue'));
        }
    });
});

/* End Inputfelder leeren */

/* Suche nur starten, wenn die Form nicht "Schlagwort" oder leer ist */
$('#nav-search-form').submit(function() {
	var searchform = $("input:first");
	if (searchform.val() == searchform.data('storedValue') || searchform.val() == "") {
		searchform.get()[0].focus();
		return false;
	}
	return true;
});
/* End Suche starten */

/* Begin Validierung Produktdetailseiten */

/*	$('input.shoppingcard-submitbutton').click(function(){
		if(!$('input#filter-size-value').val()){
			if($("#dialog-size-error").dialog( 'isOpen' ) == false){
				$("#dialog-size-error").dialog('destroy');
			}
			$("#dialog-size-error").dialog({
				bgiframe: false,
				modal: true,
				width: 355,
				minHeight: 90
			});
			return false;
		}
	}); */

/* End Validierung Produktdetailseiten */
/* Begin Star-Rating */
	$('div.star-rating a').hover(function(){
		if($(this).parent().attr('rel') != 'selected'){
			$('#' + $(this).parent().attr('id')).css('background-position', '0 ' + $(this).relarray().position);
		}
	}, function(){
		if($(this).parent().attr('rel') != 'selected'){
			$('#' + $(this).parent().attr('id')).css('background-position', '0 1px');
		}
  	});

	$('div.star-rating a').click(function(){

		var value_field = '#' + $(this).parent().attr('id') + '-value';

		if($(this).parent().attr('rel') != 'selected'){
			$('#' + $(this).parent().attr('id')).attr('rel','selected');
			$(value_field).val($(this).relarray().value);
		}else{
			$('#' + $(this).parent().attr('id')).removeAttr('rel');
			$(value_field).val('');
		}
	});
/* End Star-Rating */

/* Begin More-Image fuer Magic-Zoom */
	$('div.product-image').hover(function(){
		$(this).find('span.product-image-logo').css('display','block');
	});

	$(this).find('div.more-image-view').mouseup(function(){
		$('div.more-image').find('div.more-image-view').removeClass('more-image-view-active');
		$(this).addClass('more-image-view-active');
	});

/* End More-Image fuer Magic-Zoom */



/* Begin Merkzettel Produktdetailseite */
	if($('div.product-detail').find('span.product-sorting-bookmarklink').text() == 0){
		$('div.product-detail').find('span.bookmarklink').html('<span class="icons bookmark-info">' + $('div.product-detail').find('span.product-sorting-bookmarkedtext').html() + '</span>');
	}
/* Begin Merkzettel Produktdetailseite */

/* Bebin Bestellstrecke */

	// Zeigt das Lieferadresse-Formular an
	$('#order-shipping-link').click(function() {
		$(".active-link").removeClass("active-link");
		$(this).addClass("active-link");

		$('#order-dhl-container').slideUp('fast');
		$('#order-shipping-container').slideDown('fast');

		return false;
	});

	// Schliesst das Lieferadresse-Formular
	$('#order-shipping-close').click(function() {

		// Checkboxen aufheben
		$(".order-shipping-select:checked").attr("checked", false);

		$('#order-shipping-container').slideUp('fast');
		$(".active-link").removeClass("active-link");
		return false;
	});

	// Zeigt das DHL-Packstation-Formular an
	$('#order-dhl-link').click(function() {
		$(".active-link").removeClass("active-link");
		$(this).addClass("active-link");

		$('#order-shipping-container').slideUp('fast');
		$('#order-dhl-container').slideDown('fast');

		return false;
	});

	// Schliesst das DHL-Packstation-Formular
	$('#order-dhl-close').click(function() {

		// Checkboxen aufheben
		$(".order-shipping-select:checked").attr("checked", false);

		$('#order-dhl-container').slideUp('fast');
		$(".active-link").removeClass("active-link");
		return false;
	});

	// Auswahlboxen fuer die Lieferadresse
	$(".order-shipping-select").click(function() {
		var checked = $(this).attr("checked");
		$(".order-shipping-select:checked").attr("checked", false);
		$(this).attr("checked", checked);
	});

	// Zeigt den zur ausgewaehlten Zahlungsmethode passenden Layer an
	$(".payment-method").click(function() {
		// Zugehoerigen layer auswaehlen
		var layer = $(this).attr("id")+"-container";
		var currentLayer = $(".payment-container:visible");

		if (layer == currentLayer.attr("id")) {
			return true;
		}

		currentLayer.slideUp("fast");
		$("#"+layer).slideDown("fast");
	});

	// Aendert die Rechnungsadresse
	$("#change-billing-address").click(function() {

		if($("#dialog-billing-address").dialog( 'isOpen' ) == false){
			$("#dialog-billing-address").dialog('destroy');
		}
		$("#dialog-billing-address").dialog({
			bgiframe: false,
			modal: true,
			width: 541,
			minHeight: 90
		});

		return false;
	});

	// Schliesst den Layer zu Aenderung der Rechnungsadresse
	$(".dialog-billing-address-close").click(function() {
		$("#dialog-billing-address").dialog('destroy');
	});



	// Oeffnet den Layer zum Loeschen einer Lieferadresse
	$("#order-shipping-container").delegate(".delete-shipping-address-link", "click", deleteShippingAddress);
	$("#myshop-current-data").delegate(".delete-shipping-address-link", "click", deleteShippingAddress);
	$("#mydata-shipping-addresses").delegate(".delete-shipping-address-link", "click", deleteShippingAddress);

	/**
	 * Zeigt den Layer zum Loeschen einer Lieferadresse an
	 */
	function deleteShippingAddress() {
		if($("#dialog-delete-address").dialog( 'isOpen' ) == false){
			$("#dialog-delete-address").dialog('destroy');
		}

		// ID der zu loeschenden Adresse setzen
		$("#shipping-address-delete-id").val($(this).attr("rel"));

		$("#dialog-delete-address").dialog({
			bgiframe: false,
			modal: true,
			width: 355,
			minHeight: 90
		});

		return false;
	}

	// Schliesst den Layer zum Loeschen einer Lieferadresse
	$(".dialog-delete-close").click(function() {
		$("#dialog-delete-address").dialog('destroy');
	});

	// Zeigt den Layer zum Hinzufuegen einer Lieferadresse an
	$("#add-shipping-address-link").click(function(){

		// Felder leeren
		$("#shipping-address-form-title").val("");
		$("#shipping-address-form-firstname").val("");
		$("#shipping-address-form-lastname").val("");
		$("#shipping-address-form-street").val("");
		$("#shipping-address-form-nr").val("");
		$("#shipping-address-form-zipcode").val("");
		$("#shipping-address-form-city").val("");

		if($("#dialog-add-shipping-address").dialog( 'isOpen' ) == false){
			$("#dialog-add-shipping-address").dialog('destroy');
		}
		$("#dialog-add-shipping-address").dialog({
			bgiframe: false,
			modal: true,
			width: 541,
			minHeight: 90
		});

		return false;
	});

	// Schliesst den Layer zum Hinzufuegen einer Lieferadresse
	$(".dialog-add-shipping-address-close").click(function() {
		$("#dialog-add-shipping-address").dialog('destroy');
	});

	// Oeffnet den Layer zum Loeschen einer Packstation
	$("#order-dhl-container").delegate(".delete-dhl-link", "click", deleteDhlStation);
	$("#mydata-footer").delegate(".delete-dhl-link", "click", deleteDhlStation);

	/**
	 * Zeigt den Layer zum Loeschen einer DHL Packstation an
	 */
	function deleteDhlStation() {
		if($("#dialog-delete-dhl").dialog( 'isOpen' ) == false){
			$("#dialog-delete-dhl").dialog('destroy');
		}

		// ID der zu loeschenden Adresse setzen
		$("#dhl-delete-id").val($(this).attr("rel"));

		$("#dialog-delete-dhl").dialog({
			bgiframe: false,
			modal: true,
			width: 355,
			minHeight: 90
		});

		return false;
	}

	// Schliesst den Layer zum Loeschen einer Packstation
	$(".dialog-delete-dhl-close").click(function() {
		$("#dialog-delete-dhl").dialog('destroy');
	});

	// Zeigt den Layer zum Anlegen einer neuen Packstation an
	$("#add-dhl-link").click(function() {

		// Felder leeren
		$("#add-dhl-firstname").val("");
		$("#add-dhl-lastname").val("");
		$("#add-dhl-postnumber").val("");
		$("#add-dhl-number").val("");
		$("#add-dhl-zipcode").val("");
		$("#add-dhl-city").val("");

		if($("#dialog-add-dhl").dialog( 'isOpen' ) == false){
			$("#dialog-add-dhl").dialog('destroy');
		}
		$("#dialog-add-dhl").dialog({
			bgiframe: false,
			modal: true,
			width: 541,
			minHeight: 90
		});

		return false;
	});

	// Schliesst den Layer zum Anlegen einer neuen Packstation
	$(".dialog-add-dhl-close").click(function() {
		$("#dialog-add-dhl").dialog('destroy');
	});



/* End Bestellstrecke */

/* Begin Service */
	$(".faq-open-link").click(function() {

		if ($(this).hasClass("faq-link-active")) {
			$(this).removeClass("faq-link-active");
			$(".faq-container:visible").slideUp("fast");
			return false;
		}

		$(".faq-open-link").removeClass("faq-link-active");
		$(this).addClass("faq-link-active");

		$(".faq-container:visible").slideUp("fast");
		$("#faq-container-" + $(this).attr("rel")).slideDown("fast");

		return false;
	});

	$(".faq-close").click(function() {
		$(".faq-open-link").removeClass("faq-link-active");
		$(".faq-container:visible").slideUp("fast");
	});

/* End Service */

	// Wird ausgeloest, wenn das Video auf der Markenseite abgespielt wird und
	// fuegt dem Element eine neue Klasse hinzu, damit die Groesse angepasst wird.
	$("#video-player-play-button").click(function() {
		$(this).addClass("video-player-play-button-playing");
	});

	$(".product-video-player-button").click(function() {
		$(".product-video-player-button").removeClass("video-player-play-button-playing");
		$(this).addClass("video-player-play-button-playing");
	});


	$("a[id=redeem_coupon_link]").click( function(){
		$(this).parents("form").submit();
	});

	// Ist die Postleitzahl schon korrekt vorausgefuellt ist,
	// wird das iframe generiert
	if ($("#finder_input").exists() == true) {
		var zip = $("#finder_input").val();
		if (zip == "" || zip == localeInputZip) {
			return false;
		} else {
			$('#storefinderbox').after('<div class="main-container" id="searchResult"><iframe src="https://www.siemes.de/filialfinder/filialen.php?action=listLocations&zipcode=' + zip + '" width="100%" height="480px" name="SELFHTML_in_a_box"></iframe></div>');
		}
	};

	// Wird bei Klick auf den Filialfinder Submit-Button ausgeloest
	// und sendet das Formular ab
	$("#finder_form_0").click(function() {
		$("#finder_form").submit();
		return false;
	});

	// Wird ausgeloest, wenn das Filialfinder Fomular abgeschickt wird
	// und verhindert das abschicken. Oeffnet statt dessen ein neues
	// Fenster
	$("#finder_form").submit(function() {
		var zip = $("#finder_input").val();
		if (zip == "" || zip == localeInputZip) {
			alert(localeInputEmpty);
			return false;
		}

		if($('#searchResult').length){
			$('#searchResult iframe').replaceWith('<iframe src="https://www.siemes.de/filialfinder/filialen.php?action=listLocations&zipcode=' + zip + '" width="100%" height="480px" name="SELFHTML_in_a_box"></iframe>')
		} else {
			$('#storefinderbox').after('<div class="main-container" id="searchResult"><iframe src="https://www.siemes.de/filialfinder/filialen.php?action=listLocations&zipcode=' + zip + '" width="100%" height="480px" name="SELFHTML_in_a_box"></iframe></div>')
		}


		// Google Analytics tracking
		// pageTracker._trackPageview('http://www.siemes.de/finder.php');

		return false;
	});

/* Ende document ready */
});



/**
 * Waehlt den zum Parameter value_to_select passenden Eintrag in dem Select Element
 * mit der ID select_id aus.
 *
 * @param String select_id
 * @param String value_to_select
 */
function set_selected_item(select_id, value_to_select) {

	var input_field = $("#" + select_id).find("input");
	var value_span = $("#" + select_id+" .dropdown-aktive").find("span.value");

	$("#" + select_id).find("li").each(function() {
		var current_span = $(this).find("span");
		var current_value = current_span.text();

		if (current_value == value_to_select) {
			$(this).addClass("active");

			input_field.val(current_span.attr("rel"));

			value_span.attr("rel", current_span.attr("rel"));
			value_span.text(current_value);
		} else {
			$(this).removeAttr("class");
		}
	});
}

/**
 * Liefert den textuellen Wer des Select Elements mit der ID select_id zurueck.
 * @param String select_id
 */
function get_selected_item(select_id) {
	return $("#" + select_id+" .dropdown-aktive").find("span.value").text();
}

function ajax_set_bookmark(link, product_id){
		$.ajax({
			beforeSend: function(){$('.is-over-element').find('span.product-sorting-bookmarklink').html('<div class="ajax-loader-image">L&auml;dt</div>');},
			type: "GET",
			url: link,
			success: function(msg){
				$('.is-over-element').find('span.product-sorting-bookmarklink').html(msg);
				$('.product-sorting-element').css('z-index','200');
				if(msg){msg=1};

				if($('span.link').exists() && $('span.bookmarklink').exists()){
					if($('div.product-detail').find('span.product-sorting-bookmarklink').text() != 0){
						$('div.product-detail').find('span.bookmarklink').html('<span class="icons bookmark-info">' + $('div.product-detail').find('span.product-sorting-bookmarkedtext').html() + '</span>');
					}
					if($('div.product-sorting-content').find('div#'+product_id).find('span#product_id').text()==product_id){
						$('div.product-sorting-content').find('div#'+product_id).find('span.product-sorting-bookmarklink').text('0');
						$('div.product-sorting-content').find('div#'+product_id).find('span.bookmarklink').html('<span class="icons bookmark-info">' + $('div.product-detail').find('span.product-sorting-bookmarkedtext').html() + '</span>');
					}
				}
				if($("#dialog").dialog( 'isOpen' ) == false){
					$("#dialog").dialog('destroy');
				}
				$("#dialog").dialog({
					bgiframe: false,
					modal: true,
					width: 355,
					minHeight: 90
				});
			}
		});

}

function get_all_filter(){
	var input_array = $('#action-layer-filter').findobject('.ajax-filter-input');
	var request_values = '';
	$.each(input_array, function(i,input_element){
		if($(input_element).text() != 'none' && $(input_element).text() != ''){
			request_values += '&' + $(input_element).attr('id') + '=' + $(input_element).text();
		}
	});
	return request_values;
}


function ajax_set_slider(minvalue,maxvalue,d_minvalue,d_maxvalue){
	if(!d_minvalue){d_minvalue = minvalue;}
	if(!d_maxvalue){d_maxvalue = maxvalue;}
	$(function() {
		$("#slider-range").slider({
			range: true,
			step:1,
			min: minvalue,
			max: maxvalue,
			values: [d_minvalue, d_maxvalue],
			slide: function(event, ui) {
				$("#ui-slider-price-from").html(ui.values[0] + ' &euro;');
				$("#ui-slider-price-to").html(ui.values[1] + ' &euro;');
				$("#action-filter-pricefrom-value").text(ui.values[0]);
				$("#action-filter-priceto-value").text(ui.values[1]);

				$("#slider-range").addClass('isfilter');
				if( $('a.filter-reset-active').exists() == false){
					$('#action-layer-filter').find('a.filter-reset').css('display','block');
					$('#action-layer-filter').find('a.filter-reset').addClass('filter-reset-active');
				}

				if(ui.values[0] == minvalue && ui.values[1] == maxvalue){
					$('#action-layer-filter').find('a.filter-reset').css('display','none');
					$('#action-layer-filter').find('a.filter-reset').removeClass('filter-reset-active');
					$("#action-filter-pricefrom-value").text('');
					$("#action-filter-priceto-value").text('');
					$("#slider-range").removeClass('isfilter');
				}
			},
			stop: function(event, ui) {
				var $_targetForm = $('form[name="searchForm"]');
				$('input[name="priceFrom"]').remove();
				$('input[name="priceTo"]').remove();
				$_targetForm.append('<input type="hidden" name="priceFrom" value="' + ui.values[0] + '">');
				$_targetForm.append('<input type="hidden" name="priceTo" value="' + ui.values[1] + '">');
				$_targetForm.submit();
			}

		});
		$("#ui-slider-price-from").html($("#slider-range").slider("values", 0) + ' &euro;');
		$("#ui-slider-price-to").html($("#slider-range").slider("values", 1) + ' &euro;');
	});
}

/* Begin Funktion CSS Dropdown-Box */
function css_dropdown(dropdown,elementname,elementvalue){
  	$(dropdown).mouseleave(function(){
  		$(dropdown).find('div.dropdown-content').slideUp('fast');
  		$(dropdown).find('div.dropdown-aktive').removeClass('dropdown-up');
      });

	if($(dropdown).find('div.dropdown-content').css('display') == 'none'){
  		$('div.dropdown-content').slideUp('fast');
  		$('div.dropdown-aktive').removeClass('dropdown-up');
  		$(dropdown).find('div.dropdown-content').slideDown('fast');
  		$(dropdown).find('div.dropdown-aktive').addClass('dropdown-up');
		$(dropdown).find('li').click(function(){
		    if(!$(this).find('span').hasClass('disabled')){
    			$(dropdown).find('li').removeAttr('class');
    			$(this).addClass('active');
    			$('#'+ elementname +' div.dropdown-aktive').find('span.value').text($(this).find('span.value').text());
    			$('#'+ elementname +' div.dropdown-aktive').find('span.value').attr('rel',$(this).find('span.value').attr('rel'));
    			$('#'+ elementvalue).val($('#' + elementname + ' div.dropdown-aktive').find('span.value').attr('rel'));
    		}
		});

  		// OnChange Event der Select Box ausfuehren
  		if (changes[elementname]) {
  			$(dropdown).find('li').click(eval(changes[elementname]));
  		}
  	}else{
  		$(dropdown).find('div.dropdown-content').slideUp('fast');
  		$(dropdown).find('div.dropdown-aktive').removeClass('dropdown-up');
  	}

}

/* End Funktion CSS Dropdown-Box */


// Setzt den VideoPlayer wieder zurueck
function resetVideoPlayer() {
	$("#video-player-play-button").removeClass("video-player-play-button-playing");
}

function changeSku(id, url, selectedSize, mastersku){
	var selectedcolor = $("#product-color-value").val();
	var optid = "optid_" + selectedcolor;
	var optelement = $("#" + optid);
	//document.location.href = 'ProductDetail.action?productCode=' + mastersku + '&selectedColor=' + selectedcolor + '&selectedSize=' + selectedSize ;
	url = url.split("NEW_COLOR_CODE").join(selectedcolor);
	document.location.href = url;
	return false;
}

function changeEntrySize(selectboxid, url){
	var selectedEntrySize = $("#" + selectboxid + "-value").val();
	document.location.href = url + '&selectedEntrySize=' + selectedEntrySize ;
	return false;
}

function changeEntryQuantity(selectboxid, url){
	var selectedEntryQuantity = $("#" + selectboxid + "-value").val();
	document.location.href = url + '&selectedEntryQuantity=' + selectedEntryQuantity ;
	return false;
}

$.extend({
	  getUrlVars: function(){
	    var vars = [], hash;
	    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
	    for(var i = 0; i < hashes.length; i++)
	    {
	      hash = hashes[i].split('=');
	      vars.push(hash[0]);
	      vars[hash[0]] = hash[1];
	    }
	    return vars;
	  },
	  getUrlVar: function(name){
	    return $.getUrlVars()[name];
	  }
});

$(document).ready( function(){
	$("a[id=redeem_coupon_link]").click( function(){
		$(this).parents("form").submit();
	});
});

$(document).ready( function(){
	$("a[id=choosedeladdrlink]").click( function(){
		$("form[id=delcheckoutform]").submit();
	});
});

$(document).ready( function(){
	$("a[id=choosepaymentrlink]").click( function(){
		$("form[id=dopaymentform]").submit();
	});
	$(":radio, :checkbox").uniform();
});

$(document).ready( function(){
    $(".brand-teaser").find(".teaser-caption,.teaser-caption-nohover").click(function(){
        window.location.href = $(this).parent().find("a").attr('href');
        return false;
    });
    $("#teaser").find(".teaser-caption").click(function(){
    	//alert($(this).parent().find("a").attr('href'));
        window.location.href = $(this).parent().find("a").attr('href');
        return false;
    });
    $(".product-dock-over").find(".product-dock-logo").click(function(){
    	window.location.href = $(this).parent().find("a").attr('href');
    	return false;
    });
    $(".product-sorting-image").find(".product-sorting-logo").click(function(){
    	window.location.href = $(this).parent().find("a").attr('href');
    	return false;
    });
    $(".product-sorting-image").find(
    	".product-sorting-corner-sale",
    	".product-sorting-corner-topseller",
    	".product-sorting-corner-new",
    	".product-sorting-corner-topseller-big",
    	".product-sorting-corner-new-big",
    	".product-sorting-corner-sale-big").click(function(){
			window.location.href = $(this).parent().find("a").attr('href');
    	return false;
    });

});

/* Function for Lottery-Layer */
function getUrlVars()
{
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}

function openJsLayer(grafikUrl,setHeight,setautoload){
		var urlParam = getUrlVars();
		if(setHeight == 0 || isNaN(setHeight) || grafikUrl == '') {
			setHeight = 0;
		}



		$("#dialog-lottery").find(".lotter-header-img").remove();
		$('#participation_form').css('margin-top',setHeight + 'px');
		if(grafikUrl != ''){
			$("#dialog-lottery").css('margin-top','-' + parseInt(setHeight) + 'px');
			$("#dialog-lottery").prepend('<div class="lotter-header-img" style="width: 100%; height: ' + setHeight + 'px; background: #e0e0e0;"><img src="' + grafikUrl + '" width="100%" height="' + setHeight + '" border="0"/></div>');
			$("#dialog-lottery").find('a.modal-close').css('top',parseInt(setHeight) + 4);
		}
		if(urlParam['jsLayer']=="true"){
			var autoLoad = true;
			$(".brand-cloud").css('display', 'none');
		} else {
			var autoLoad = false;
		}
		if(setautoload==true){
			var autoLoad = true;
			$(".brand-cloud").css('display', 'none');
		}
		if($("#dialog-lottery").dialog( 'isOpen' ) == false){
			$("#dialog-lottery").dialog('destroy');
		}

		$("#dialog-lottery").dialog({
			autoOpen: autoLoad,
			bgiframe: false,
			modal: true,
			width: 700,
			height: 321 + parseInt(setHeight)
		});


		$('#participation_agb_link').click(function(){
			$('#participation_form').animate({
				"margin-top": "-" + (parseInt(311))
			}, 500);
			$('#participation_agb_container').css('margin-top',parseInt(setHeight) + 'px');
		});

		$('#participation_back_to_lottery').click(function(){
			$('#participation_form').animate({
				"margin-top": parseInt(setHeight)
			}, 500);
		});


		$("#dialog-lottery").find(".lotter-header-img").css('position','absolute');
		$("#dialog-lottery").find(".lotter-header-img").css('z-index','100');

		/*$('#participation_agb_link').click(function(){
			$('#participation_form').animate({
				"margin-top": "-" + (parseInt(311) + parseInt(setHeight))
			}, 500);
			$('#participation_agb_container').css('margin-top',parseInt(setHeight) + 'px');
		});

		$('#participation_back_to_lottery').click(function(){
			$('#participation_form').animate({
				"margin-top": "0"
			}, 500);
		});*/

		//$("#dialog-lottery").dialog( "option", "position", 'center' );
		//alert(parseInt($("div.ui-dialog").css('top')) + '....' + (300 + parseInt(setHeight)));

		offset = $("div.ui-dialog").offset();
		$("div.ui-dialog").css('top',(offset.top + (parseInt(setHeight)/2)) + 'px');


		if(jQuery.browser.msie && jQuery.browser.version.substr(0,2)=="7."){
			$('#participation_newsletter').css('top','220px');
			$('#participation_agb').css('top','240px');
		}

		if(offset.top < 350){
			$("div.ui-dialog").css('top',(350 + (parseInt(setHeight)/2)) + 'px');
		}
		return false;
}

function setProductSelectedImgInd(ind){
	var indelement = document.getElementById('productSelectedImgInd');
	if(indelement != null){
		indelement.innerHtml = ind;
	}
}

function printProduct(URL) {
	day = new Date();
	id = day.getTime();
	var indelement = document.getElementById('productSelectedImgInd');
	URL = URL + '&printImgInd=' + document.getElementById('productSelectedImgInd').innerHtml;
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=615,height=800');");
}