//2009 (c) iCasque.com

var m = new Moteur;

$(document).ready(function() {
	if($(".pagination_next").length) {
		$(".pagination_next").removeAttr("href").click(function() {
			$("#MOTEUR_page").val(parseInt($("#MOTEUR_page").val())+1);
			$("#MOTEUR_paginate").val(1);
			m.updResults();
		});
	}
	if($(".pagination_previous").length) {
		$(".pagination_previous").removeAttr("href").click(function() {
			$("#MOTEUR_page").val(parseInt($("#MOTEUR_page").val())-1);
			$("#MOTEUR_paginate").val(1);
			m.updResults();
		});
	}
	if($("#sorter").length) {
		if($("#MOTEUR_sort").val()) $("#sorter").val($("#MOTEUR_sort").val());
		$("#sorter").change(function(){
			$("#MOTEUR_sort").val($("#sorter").val());
			$("#MOTEUR_page").val(1);
			$("#MOTEUR_paginate").val(1);
			m.updResults();
		});
	}
	$("#moteurIn li").click(function() {
		$(this).toggleClass("on");
		$("#MOTEUR_page").val(1);
		m.updResults();
	});
	if($("#moteur").length) {
		$("#marques li a").removeAttr("href").click(function() {
			$(this).toggleClass("on");
			$("#MOTEUR_page").val(1);
			m.updResults();
		});
		if($("#MOTEUR_manufacturers").length && $("#MOTEUR_manufacturers").val()) {
			$("#marques li a[id$=-"+$("#MOTEUR_manufacturers").val()+"]").addClass("on");
			$("#MOTEUR_manufacturers").val("");
		}
	}
	$("#right_btns span").mouseover(function() {
		$(this).stop().animate({width: 58}, 300);
	}).mouseout(function() {
		$(this).stop().animate({width: 0}, 300);
	});
	$("ul.colors li").each(function() {
		$(this).attr("title",$(this).text());
	});
	$("#reset").click(function(){m.reset();});
	$("#lexique").click(function(){$("#popup").removeClass("aide");ajxWnd("/pages/popup_lexique.html","#popup");});
	$("#aide").click(function(){$("#popup").addClass("aide");ajxWnd("/pages/popup_aide.html","#popup");});
	if($("#MOTEUR_data").length && $("#MOTEUR_data").val()!="") m.restore();
	if($("img.main").length) {
		$("img.main").css("cursor","pointer").click(function() {photoZoom();});
		$("#prodPhoto li:first").click(function() {photoZoom();return false;});
	}
	if($("#manufacturer").length) {
		$("#manufacturer").change(function(){
			$("#MOTEUR_manufacturers").val($(this).val());
			$("#MOTEUR_page").val(1);
			m.updResults();
		});
	}
});

function photoZoom() {
	var src = $("img.main").attr("src");
	if(src.match(/-s3\.jpg$/)) src = src.replace(/-s3\.jpg$/,"-s6.jpg");
	if(!$("#photoZoom").length) { $("#prodPhotoZoom").draggable({opacity:0.8}).append('<a href="#" onClick="$(\'#prodPhotoZoom\').fadeOut();return false;">Fermer</a><br/><img id="photoZoom" />'); }
	$("#photoZoom").attr("src",src);
	$("#prodPhotoZoom").fadeIn();
}
function ajxWnd(what,where) {
	$(where).fadeIn("slow");
	$.ajax({
		type: "GET",
		url: what,
		cache: true,
		success: function(msg){
			$(where).html(msg);
		}
	});
} 
function sScroll(target) {
	if($(target).length) {
		$('html,body').animate({scrollTop: $(target).offset().top}, 500);
	}
}

function Moteur() {
	this.p=[];
}

Moteur.prototype.updResults = function() {
	sScroll("#moteurAnc");
	this.getParams();
	this.makeRequest();
}

Moteur.prototype.getParams = function() {
	this.p=[];
	this.p["MOTEUR_page"]=$("#MOTEUR_page").val();
	this.p["MOTEUR_cPath"]=$("#MOTEUR_cPath").val();
	this.p["MOTEUR_manufacturers"]=$("#MOTEUR_manufacturers").val();
	this.p["MOTEUR_paginate"]=$("#MOTEUR_paginate").val();
	this.p["MOTEUR_sort"]=$("#MOTEUR_sort").val();
	this.p["MOTEUR_url"]=$("#MOTEUR_url").val();
	$("#moteurIn li.on").each(function() {
		if(this.id) m.p[this.id]="on";
	});
	$("#marques a.on").each(function() {
		if(this.id) m.p[this.id]="on";
	});
	if($("#MOTEUR_extra").length) this.p["MOTEUR_extra"]=$("#MOTEUR_extra").val();
}

Moteur.prototype.updPagination = function() {
	if($("#ajx_total").length) {
		$(".pagination_pages").text($("#ajx_page_max").val());
		if($("#ajx_total").val()=="0") {
			$(".resultats").text("Aucun modèle trouvé");
			$("#pagination").hide();
		}
		else {
			$(".resultats").text($("#ajx_total").val()+" modèles trouvés");
			$("#pagination").show();
		}
	}
	if($("#ajx_page").length) $("#MOTEUR_page").val($("#ajx_page").val());
	$(".pagination_page").text($("#MOTEUR_page").val());
	if($("#ajx_page_max").length) { $(".pagination_pages").text($("#ajx_page_max").val()); $("#MOTEUR_page_max").val($("#ajx_page_max").val()); }
	if(parseInt($("#MOTEUR_page").val()) > 1) $(".pagination_previous").removeClass("vh").addClass("vv"); else $(".pagination_previous").removeClass("vv").addClass("vh");
	if(parseInt($("#MOTEUR_page").val()) >= parseInt($("#MOTEUR_page_max").val())) $(".pagination_next").removeClass("vv").addClass("vh"); else $(".pagination_next").removeClass("vh").addClass("vv");
	$("#MOTEUR_paginate").val(0);
}

Moteur.prototype.makeRequest = function() {
	var qs="";
	for(i in this.p) qs+=i+'='+this.p[i]+"&";
	//console.log(qs);
	$.ajax({
		type: "POST",
		url: "/ajax/moteur.php",
		/*cache: false,*/
		data: qs,
		beforeSend: function() {
			if(!$("#loading").length) $("#productsList").before('<div id="loading"><img src="/gfx/loading.gif" width="333" height="76" /></div>');
			$("#loading").height($("#productsList").height()+19);
			$("#loading").show();
		},
		success: function(msg){
			$("#loading").hide();
			$("#productsList").html(msg);
			m.updPagination();
		}
	});
}

Moteur.prototype.reset = function() {
	$("#moteurIn li.on").removeClass("on");
	$("#marques a.on").removeClass("on");
	this.updResults();
}

Moteur.prototype.restore = function() {
	var a = []; var b = $("#MOTEUR_data").val().split("&");
	for(i in b)
	{
		var c = b[i].split("=");
		a[c[0]]=c[1];
	}
	for(i in a)
	{
		if(a[i]=="on") $("#"+i).addClass("on");
		//else $("#"+i).val(a[i]);
	}
}
