$(document).ready(function() {
	
	go_to_resumen = false;
	
	$('div.image_gallery a.ersoftImage').lightBox({
		'imageBtnPrev': '/img/lightbox/lightbox-btn-prev.gif',
		'imageBtnNext': '/img/lightbox/lightbox-btn-next.gif',
		'imageBtnClose': '/img/lightbox/lightbox-btn-close.gif',
		'imageLoading': '/img/lightbox/lightbox-loading.gif',
		'imageBlank': '/img/lightbox/lightbox-blank.gif'
	});
	
	if (window.direct_download != undefined) {
		location.href=direct_download;		
	}
	
	$dialog = $("#dialog_pedido");
	if ($dialog.size()) {
		
		var timer = null;
		var xhr = null;
		
		var $table = $("div.product_table", $dialog);
		var $actualizando = $("span.actualizando", $dialog);
		var $help_text = $(".help_text", $dialog);
		
		$dialog.dialog({
			autoOpen: false,
			width: wide == "1" ? 1080 : 880,
			height: 500,
			modal: true,
			resizable: false,
			title: "Añadir producto al presupuesto"		
		}).removeClass("none");
		
		$("a#open_dialog").click(function() {
			$dialog.dialog('open');
			return false;
		});
		
		$("a#cerrar_dialog", $dialog).click(function() {
					
			if (open_dialog) {
				location.href = resumen_url;
			} else {
				$dialog.dialog('close');
			}
			return false;
		});
		
		var request_presupuesto = function(no_wait) {
			if (timer) {
				clearTimeout(timer);
			}
			if (xhr) {				
				xhr.abort();
				xhr = null;
			}
			
			$actualizando.removeClass("none");
			
			if (no_wait == undefined) {
				timer = setTimeout(do_request_presupuesto, 1200);
			} else {
				do_request_presupuesto();
			}
			

			$("a#aniadir_volver", $dialog).hide();
			$("a#aniadir_resumen", $dialog).hide();
			
			//$help_text.hide();
		}
		
		var do_request_presupuesto = function() {
			var quant = $input.val();
			
			if (quant.length == 0 || parseInt(quant) == 0) {				
				$actualizando.addClass("none");
				$table.empty();
				//$help_text.show();
				return;
			}			
			var url = presupuesto_request_url + quant;
					
			xhr = $.get(url, receive_request_presupuesto);
		}
		var receive_request_presupuesto = function(data) {
					
			xhr = null;
			
			$table.html(data);
			
			$actualizando.addClass("none");
			$("a#aniadir_volver", $dialog).show();
			$("a#aniadir_resumen", $dialog).show();				
			
		}
		
		
		var $input = $("input", $dialog);
		request_presupuesto(true);
		$input.keydown(function(event) {
			
			var code = event.keyCode;
			
			if (code >= 48 && code <= 57) 
				return request_presupuesto();
			if (code == 8 || code == 46 || code == 37 || code == 39)
				return request_presupuesto();
			
			return false;

		});
		
		
		
		
		
		var aniadir_resumen = function() {
			go_to_resumen = true;
			aniadir_volver();
			return false;
		};
		
		var aniadir_volver = function() {
			
			$(".error_message", $dialog).hide();
			
			var quant = $input.val();
			
			if (quant.length == 0 || parseInt(quant) == 0) {				
				return false;
			}
			if (xhr) {
				return false;
			}
			
			$actualizando.removeClass("none");
			
						
			$input.attr("disabled", true);
			
			$.ajax({
				type: 'POST',
				dataType: 'json',
				data: {
					quant: quant
				},
				url: presupuesto_add_url,
				complete: function() {
					$input.removeAttr("disabled");
					$actualizando.addClass("none");
				},
				error: receive_aniadir_error,
				success: receive_aniadir_ok
			});
			
			return false;
			
		};
		
		var receive_aniadir_error = function() {
			
			$(".error_message", $dialog).fadeIn(100);
			
			
		}
		
		var receive_aniadir_ok = function(data) {
			if (!data.ok) {
				return receive_aniadir_error();
			}
			if (data.ok) {
				transfer(data.products);
			}
			
		}
		
		var transfer = function(number_of_products) {
			
			if (open_dialog) {
				location.href = resumen_url;
				return;
			}
			
			var position = $('ul.top_menu li.pedido').position();
			var container_position = $("div.container").position();
			
			var left = position.left + container_position.left + 50;
			var top = position.top + 10;
			
			$("div.ui-dialog").animate({"left": left, 
										"top": top,
										"height" : 0,
										"width": 0,
										"opacity": 0
										}, 600, "swing", function() {
											
											$actualizando.addClass("none");
											 $input.val("");
											 $table.empty();
											 $("a#aniadir_volver", $dialog).hide();
											 $("a#aniadir_resumen", $dialog).hide();
											$dialog.dialog('close');
											$(this).css("opacity", 1);
																						
											$("ul.top_menu #pedido_num_productos").text(number_of_products);
											
											if (go_to_resumen) {
												location.href = resumen_url;
											}
										});
			
			
			return false;
		};		
		$("a#aniadir_volver", $dialog).hide().click(aniadir_volver);
		
		$("a#aniadir_resumen", $dialog).hide().click(aniadir_resumen);
		
		$(".error_message", $dialog).hide();
		
		if (open_dialog) {
			$dialog.dialog('open');
		}
		
	}
});
