var findPosition = function(obj) {
	offset=$(obj).offset();
	return [offset.left,offset.top];
}

var gestorCesta = {
	options: {
		dialogoAddId: "dialogo-cesta-add",
		dialogoAddUrl: "/ajax/producto.php?products_id=%prod_id%",
		dialogoAddCaller: false,
		dialogoAdd: false
	},
	dialogoAdd: function(id,caller) {
		var self=this;
		if (caller==self.options.dialogoAddCaller) {
			self.dialogoAddRemove();
			return;
		}
		self.dialogoAddRemove();
		// Caller
			self.options.dialogoAddCaller=caller;
			$(self.options.dialogoAddCaller).addClass("loading");
		// Dialogo
			$("body").append("<div id='"+self.options.dialogoAddId+"'><div class='inner'><span class='loading'><span>Cargando...</span></span></div></div>");
			self.options.dialogoAdd=$("#"+self.options.dialogoAddId).hide();
			self.dialogoAddReposition();
		$.ajax({
			type: "GET",
			url: self.options.dialogoAddUrl.split("%prod_id%").join(escape(id)),
		   	success:
		   		function(respuesta){
		   			$("#"+self.options.dialogoAddId).show();
					$("#"+self.options.dialogoAddId+" .inner").html(respuesta);
					$(self.options.dialogoAddCaller).removeClass("loading").addClass("opened");
					if(NiftyCheck()) {
						Rounded("div#right_up","all","#FFF","#EEF0E9");
						Rounded("div#right_down","all","#FFF","#EEF0E9");
					}
					self.dialogoAddReposition();
					setTimeout("gestorCesta.dialogoAddReposition()",250);
					setTimeout("gestorCesta.dialogoAddReposition()",500);
					setTimeout("gestorCesta.dialogoAddReposition()",1000);
				},
		   	error:
			   	function(){
			   		alert("Se ha producido un error.\n\nNo se han podido cargar los precios del producto "+id+".");
					self.dialogoAddRemove();
			   	}
		});
	},
	dialogoAddRemove: function() {
		var self=this;
		if (typeof self.options.dialogoAdd=="object") {
			self.options.dialogoAdd.remove();
		}
		self.options.dialogoAdd=false;
		$(self.options.dialogoAddCaller).removeClass("opened").removeClass("loading");
		self.options.dialogoAddCaller=false;
	},
	dialogoAddReposition: function(){
		var self=this;
		if (!self.options.dialogoAdd) return;
		pos=findPosition(self.options.dialogoAddCaller); // Obtenemos las coordenadas x e y del caller (el boton de aņadir a la cesta)
		dimension=[self.options.dialogoAdd.width(),self.options.dialogoAdd.height()];
		cdimension=[$(self.options.dialogoAddCaller).width(),$(self.options.dialogoAddCaller).height()];
		self.options.dialogoAdd.css({
			left: (pos[0] - (dimension[0] - cdimension[0])) + "px",
			top: (pos[1] - (dimension[1])) + "px"
		});
	}
}
$(document).ready(function() {
	$("a.cesta").addClass("loading");
	$("a.cesta").removeClass("loading");
});

