dsg.fn.prdPageCompare = function(){
	// Comparometer
	var $compareContainer = $j(".tabs-frames").addClass("js");
	var $compareStep1 = $j("#tab-comparometer div.step-1");
	var $compareStep2 = $compareStep1.next();
	var $checkBoxes = $compareStep1.find("input");
	var $labels = $compareStep1.find("label");
	var $form = $j("#tab-comparometer").find("form");
	
	$labels
		
		.bind("enable", function(){
			var $this = $j(this);
			
			$this
				.data(
					"visual",
					$j('<p class="image"><a>close</a> <img src="' + $this.next().attr("href") + '" width="100" height="89" /></p>')
					.insertBefore($compareStep2.find("p.submit"))
					.find('a').click(function(){$this.click()}).end()
				)
				.parent().addClass("active").end()
				.prev()[0].checked = "checked";
		})
		
		.bind("disable", function(){
			var $this = $j(this);
			
			if (!!$this.data("visual")){
				$this
					.parent().removeClass("active").end()
					.prev()[0].checked = "";
				$this.data("visual").remove();
			}
		})
		
		.click(function(e){
		
			e.preventDefault();
			
			if ($checkBoxes.filter(":checked").length < 3 && !$j(this).prev().is(":checked")){
				$j(this).trigger("enable");
				
			} else {
				$j(this).trigger("disable");
			}
			
			if ($checkBoxes.filter(":checked").length < 2) {
				$form.addClass("inactive").submit(function(e) {
					e.preventDefault();
				});
			} else {
				$form.removeClass("inactive").unbind("submit");
			}
			

		})
		
		.prev().each(function(){
			if (!!this.checked){
				this.checked = "";
				$j(this).next().click();
			}
			else {
				this.checked = "";
			}
		});
};

dsg.fn.prdPageCompareInit = function(){
	
	var $controler = $j("#comparometer-controler a");
	
	if ($controler.length === 0) {
		return false;
	}
	
	var compareUrl = $controler.attr("rel").slice(8);
	var $comparometer;
	
	if ($controler.length === 0) {
		return false;
	}
	
	$controler.click(function(e){
		
		e.preventDefault();
		
		$controler.addClass("active")
		.parent().siblings().find("a").removeClass("active").click(function(){
			$controler.removeClass("active");
			$comparometer.hide();
		});
		
		if ($j("#tab-comparometer").length < 1){
			
			$comparometer = $j('<div id="tab-comparometer" class="frame"></div>').appendTo("#prd-page-tabs .tabs-frame");
			
			var $loader = $j('<div class="loader">loading</div>').appendTo($comparometer);
			
			$loader.hide().fadeIn(300);
			
			$comparometer.siblings().hide();
			
			$j.get(compareUrl, function(data){
				$loader.fadeOut(300, function(){
					$loader.remove();
					$j(data).appendTo($comparometer);
					dsg.fn.prdPageCompare();
				});
			});
			
		} else {
			$comparometer.show().siblings().hide();
		}
	});
	
}; 


$j(function(){
	
	//consumer reviews
	$j("td.consumer-prod-desc").each(function(){
		var $this = $j(this);
		var $controler = $j(this).parent().next("tr").find("td:eq(0)");
		var $maxHeight = 40;
		
		if($this.height() > $maxHeight){
			$this.parent().addClass("collapsed");
			var $toggleElt = $j("<a class=\"toggle-expand\">Read more</a>").appendTo($controler);
			
			$toggleElt.toggle(
				function(){
					$this.addClass("expanded")
					.parent().removeClass("collapsed");
					$toggleElt.text("Close")
					.removeClass("toggle-expand")
					.addClass("toggle-close");
				},
				function(){
					$this.removeClass("expanded")
					.parent().addClass("collapsed");
					$toggleElt.text("Read more")
					.removeClass("toggle-close")
					.addClass("toggle-expand");
				}
			);
		}
	});
	
	// Consumer votes
	$j("td.consumer-helpful a").click(
		function(e){
			e.preventDefault();
			var $this	= $j(this);
			var ajaxUrl	= $this.attr("rel").slice(8);
			
			$j.get(ajaxUrl, function(data){
				var aResults = data.split('::');
				
				if (aResults[0] == 'true')
				{
					$this.parent().find(".useful-votes").html(aResults[2]);
					$this.parent().find(".total-votes").html(aResults[1]);
				}
			});
		}
	);
	
	//Tech specs toggle
	if($j("#tab-tech-specs div.prd-tech-info").length > 1){
		var $techToggle = $j("#tab-tech-specs div.prd-tech-info")
			.find("h3")
			.css({cursor:"pointer"})
			.wrapInner("<span></span>");
		
		$techToggle.nextAll().hide();
		
		$techToggle.click(function(){
			$j(this).toggleClass("expanded")
			.nextAll().toggle();
		})
		.eq(0).click();
	}
	
	//Init superbox
	$j.superbox.settings = {
		overlayOpacity: .6,
		closeTxt: "Close",
		nextTxt: "Next",
		prevTxt: "Previous"
	};
	
	$j.superbox();
	
	//Init tab elements
	$j("#prd-page-tabs").simpletabs({noresize: true});
	
	//Init stars notation
	$j(".notation").simpleNotation();
	
});

