 $(document).ready(function() {

	// extract main domain for cookie
	var p1  = window.location.hostname.lastIndexOf(".");
	var tld = window.location.hostname.substring(p1+1);
	var sub = window.location.hostname.substring(0,p1);
	var p2  = sub.lastIndexOf(".");
	var dom = window.location.hostname.substring(p2+1);

	// history back link
	$("a.i-backward").click(function() {
		history.back();
		return false;
 	});

 	// productlist.phtml
	$("form[name=product_sorting] select").change(function() {
		$("form[name=product_sorting]").submit();
	});

	// productfilter.phtml
	$("form[name=product_price] input").click(function() {
		$(this).attr("checked","checked")
		$("form[name=product_price]").submit();
	});
	$("form[name=product_checkbox] input").click(function() {
		if($('#selected_'+$(this).attr('id')).attr("value") == $(this).attr('id')) {
			$(this).removeAttr("checked");
			$('#selected_'+$(this).attr('id')).attr("value", '');
		} else {
			$(this).attr("checked","checked");
			$('#selected_'+$(this).attr('id')).attr("value", $(this).attr('id'));
		}
		$("form[name=product_checkbox]").submit();
	});

	// productabstract.phtml
	$("ul#pr-mediaselect a").click(function() {
		$("ul#pr-mediaselect li").removeClass('active');
		$(this).parent().addClass('active');
		switch ($(this).attr('class')) {
			case 'pr-mediaselect-video':
				var flashvars = {
					file: $(this).attr('href'),
					image: $('#pr-image').attr('src'),
					autostart: "true",
					plugins:"googlytics-1"
				}

				var params = {
					allowfullscreen: "true",
					allowscriptaccess: "always",
					bufferlength: "1",
					wmode: 'opaque'
				}

				var attributes = {
					id: "pr-video",
					name: "pr-video"
				}
				swfobject.embedSWF("/lib/portal/flash/skinned-player.swf", "pr-video", "386", "335", "9.0.115", false, flashvars, params, attributes);

				$("#pr-image").hide();
				$("#pr-video").show();
			break;
			case 'pr-mediaselect-image':
				$("#pr-image").attr('src', $(this).attr('href'));
				$("#pr-video").hide();
				$("#pr-image").show();
			break;
		}

		return false;
	});

	// move mediaselect slider right
	$(".pr-mediaselect-div #sl-forward").click(function(){
		if ($(".pr-mediaselect-div #sl-forward").hasClass('inactive')) {
			return false;
		}
		if ($(".pr-mediaselect-div #sl-forward").hasClass('click')) {
			return false;
		}

		$(".pr-mediaselect-div #sl-forward").addClass('click');
		$("#pr-mediaselect").animate({"left": "-=97px"}, "slow", 'linear', function() {
				$(".pr-mediaselect-div #sl-forward").removeClass('click');
			});

		count = $("#pr-mediaselect .rounded").length;
		position = $("#pr-mediaselect").position();

		if (Math.round((position.left+0) / 97)-2 < 3-count) {
			$(".pr-mediaselect-div #sl-forward").addClass('inactive');
			$(".pr-mediaselect-div #sl-back").removeClass('inactive');
		} else {
			$(".pr-mediaselect-div #sl-back").removeClass('inactive');
		}

	});

	// move mediaselect slider left
	$(".pr-mediaselect-div #sl-back").click(function(){
		if ($(".pr-mediaselect-div #sl-back").hasClass('inactive')) {
			return false;
		}
		if ($(".pr-mediaselect-div #sl-back").hasClass('click')) {
			return false;
		}

		$(".pr-mediaselect-div #sl-back").addClass('click');
		$("#pr-mediaselect").animate({"left": "+=97px"}, "slow", 'linear', function() {
				$(".pr-mediaselect-div #sl-back").removeClass('click');
			});
		position = $("#pr-mediaselect").position();

		if (Math.round((position.left+0) / 97)+1 >= 0) {
			$(".pr-mediaselect-div #sl-back").addClass('inactive');
			$(".pr-mediaselect-div #sl-forward").removeClass('inactive');
		} else {
			$(".pr-mediaselect-div #sl-forward").removeClass('inactive');
		}
	});

	//comments.phtml
	$("ol.rating a").click(function() {

		$("form[name=productcomment] input[name=rating]").val($(this).text());
		$("ol.rating").removeClass('null');
		$("ol.rating").removeClass('one');
		$("ol.rating").removeClass('two');
		$("ol.rating").removeClass('three');
		$("ol.rating").removeClass('four');
		$("ol.rating").removeClass('five');

		switch($(this).text()) {
			case '1': {
				$("ol.rating").addClass('one');
				break;
			}
			case '2': {
				$("ol.rating").addClass('two');
				break;
			}
			case '3': {
				$("ol.rating").addClass('three');
				break;
			}
			case '4': {
				$("ol.rating").addClass('four');
				break;
			}
			case '5': {
				$("ol.rating").addClass('five');
				break;
			}
		}

		return false;
	});

	$("form[name=productcomment]").submit(function() {

		$.post(
			$(this).attr('action'),
			{
				rating: $("input[name=rating]", this).val(),
				comment: $("input[name=comment]", this).val()
			},
			function(data){
				for(var i in data) {
					$(i).html(data[i]);
				}
			},
		"json");

		return false;
	});


	/* product attribute */

	// toogle attribute selector
	$(".pr-attr-legend-toogle-new").click(function() {
		$(".pr-attr-legend-toogle-new").toggle();
		$(".pr-attr-group .pr-attr-all").text('alle');
		$(".pr-attr-group").removeClass('pr-attr-group-active-plus');
		$(".pr-attr-group-plus").hide();

		if ($("#pr-attr-sl").css('display')=='none') {
			document.cookie = "attrBoxShow=1; domain="+dom+"; path=/";
		} else {
			document.cookie = "attrBoxShow=0; domain="+dom+"; path=/";
		}

		$("#pr-attr-sl").slideToggle();
	});

	// move attribute slider right
	$(".pr-attr #sl-forward").click(function(){

		if ($(".pr-attr #sl-forward").hasClass('inactive')) {
			return false;
		}
		if ($(".pr-attr #sl-forward").hasClass('click')) {
			return false;
		}
		$(".pr-attr-group .pr-attr-all").text('alle');
		$(".pr-attr-group").removeClass('pr-attr-group-active-plus');
		$(".pr-attr-group-plus").hide();

		$(".pr-attr #sl-forward").addClass('click');
		$(".pr-attr-items").animate({"left": "-=189px"}, "slow", 'linear', function() {
				$(".pr-attr #sl-forward").removeClass('click');
			});

		count = $(".pr-attr-items .pr-attr-group").length;
		position = $(".pr-attr-items").position();

		if (Math.round((position.left+0) / 189)-2 < 3-count) {
			$(".pr-attr #sl-forward").addClass('inactive');
			$(".pr-attr #sl-back").removeClass('inactive');
		} else {
			$(".pr-attr #sl-back").removeClass('inactive');
		}

	});

	// move attribute slider left
	$(".pr-attr #sl-back").click(function(){
		if ($(".pr-attr #sl-back").hasClass('inactive')) {
			return false;
		}
		if ($(".pr-attr #sl-back").hasClass('click')) {
			return false;
		}
		$(".pr-attr-group .pr-attr-all").text('alle');
		$(".pr-attr-group").removeClass('pr-attr-group-active-plus');
		$(".pr-attr-group-plus").hide();

		$(".pr-attr #sl-back").addClass('click');
		$(".pr-attr-items").animate({"left": "+=189px"}, "slow", 'linear', function() {
				$(".pr-attr #sl-back").removeClass('click');
			});
		position = $(".pr-attr-items").position();

		if (Math.round((position.left+0) / 189)+1 >= 0) {
			$(".pr-attr #sl-back").addClass('inactive');
			$(".pr-attr #sl-forward").removeClass('inactive');
		} else {
			$(".pr-attr #sl-forward").removeClass('inactive');
		}
	});

	// open/close extra attribute box
	$(".pr-attr .pr-attr-all").click(function(){

		idplus = 'pr-attr-' + $(this).attr('id').replace('-plus2-', '-plus-');
		id = idplus.replace('-plus-', '-');

		if ($("#" + idplus).css('display') == 'none') {
			position = $(this).position();
			positionItems = $(".pr-attr-items").position();
			height = $("#" + idplus + ' fieldset').length * 25;
			left =  position.left + positionItems.left;
			topPos = $("#pr-attr-sl").position().top;

			$("#" + idplus).css('background-position', '-' + left + 'px top')
			$("#" + idplus).css('left', left + 367);
			$("#" + idplus).css('height', height + 30);
			$("#" + idplus).css('top', topPos + 185);

			$(".pr-attr-group .pr-attr-all").text('alle');
			$(".pr-attr-group").removeClass('pr-attr-group-active-plus');
			$(".pr-attr-group-plus").hide();
			$(".pr-attr-group .pr-attr-all").removeClass('pr-attr-all-active');
			$(".pr-attr-group .pr-attr-all").addClass('pr-attr-all-inactive');
			$("#" + id).addClass('pr-attr-group-active-plus');
			$("#" + id).prev().addClass('pr-attr-group-active-plus');
			$(this).text('weniger');
			$(this).removeClass('pr-attr-all-inactive');
			$(this).addClass('pr-attr-all-active');
			$("#" + idplus).show();
		} else {

			$(".pr-attr-group .pr-attr-all").text('alle');
			$(".pr-attr-group").removeClass('pr-attr-group-active-plus');
			$(".pr-attr-group-plus").hide();
			$(".pr-attr-group .pr-attr-all").removeClass('pr-attr-all-active');
			$(".pr-attr-group .pr-attr-all").addClass('pr-attr-all-inactive');
		}

		return false;
	});

	// select attribute
	$(".pr-attr input:checkbox").click(function(){
		name = $(this).attr('name').substring(5).replace('[]', '');

		if ($(this).attr('id').substring(0, 4) == 'plus') {
			if ($(this).attr('checked')) {
				$("#" + $(this).attr('id').substring(5)).val($(this).val());
			} else {
				$("#" + $(this).attr('id').substring(5)).val('');
			}
		}

        // @since 2010/04/08 #1477 new filter change indicator by value hash
        vhash = new Array();
        $('input[name="attr_' + name + '[]"]:checked').each(function(){
            vhash.push(this.value);
        });
		weight = (vhash.join("-") != $('a[name="'+name+'-vhash"]').attr('rel')) ? 'bold' : 'normal';

	    $("#pr-attr-group-"+ name + " .pr-attr-submit a").css('font-weight', weight);
		$("#pr-attr-group-plus-"+ name + " .pr-attr-submit a").css('font-weight', weight);
	});

	// select color attribute
	$(".pr-attr label.pr-attr-color").click(function(){

		if ($(this).find('span.i-color').hasClass('active')) {
			$(this).find('span.i-color').removeClass('active');
			$('input#'+$(this).attr('for')).val('');
		} else {
			$(this).find('span.i-color').addClass('active');
			$('input#'+$(this).attr('for')).val($(this).attr('title'));
		}

		name = $('#' + $(this).attr('for')).attr('name').substring(5).replace('[]', '');

        // @since 2010/04/08 #1477 new filter change indicator by value hash
        vhash = new Array();
        $('input[name="attr_' + name + '[]"]').each(function(){
            if ($(this).attr('value')!="")
                vhash.push(this.value);
        });
		weight = (vhash.join("-") != $('a[name="'+name+'-vhash"]').attr('rel')) ? 'bold' : 'normal';

		$("#pr-attr-group-"+ name + " .pr-attr-submit a").css('font-weight', weight);
	});

	// submit attribute form
	$('.pr-attr-submit a').click(function(){
		name = $(this).attr('rel');

        // #1481: check if at least one color selected
        haveColor = false;
        $('input[name="attr_' + name + '[]"]').each( function(){ if ($(this).attr('value')!="") haveColor=true; } );

        // #1478: if all attributes were deselected, use reset link instead of submitting form; #1481: not for color (has no checkboxes)
        if (name!='farbe' && $('form[name="product_attr_' + name +'"] .pr-attr-reset a').attr('href') != null && $('input[name="attr_' + name + '[]"]:checked').val() == null) {
            location.href = $('form[name="product_attr_' + name +'"] .pr-attr-reset a').attr('href');
        } else if (name=='farbe' && $('form[name="product_attr_' + name +'"] .pr-attr-reset a').attr('href') != null && !haveColor) {
            location.href = $('form[name="product_attr_' + name +'"] .pr-attr-reset a').attr('href');
        } else {
		    $('form[name="product_attr_' + name +'"]').submit();
        }

		return false;
	});
 });