var Usuario = Class.create({
  initialize: function() {
		this.usuario;
		this.nombreComercial;
		this.cifNif;
		this.email;
		this.direccion;
		this.ciudad;
		this.provincia;
		this.pais;
		this.codigoPostal;
  },
  fromJson: function(json) {
    var aux = json.evalJSON();
		this.usuario = aux["usuario"];
		this.nombreComercial = aux["nombreComercial"];
		this.cifNif = aux["cifNif"];
		this.email = aux["email"];
		this.direccion = aux["direccion"];
		this.ciudad = aux["ciudad"];
		this.provincia = aux["provincia"];
		this.pais = aux["pais"];
		this.codigoPostal = aux["codigoPostal"];
  }
});

//var Articulos = Class.create(Array,{
//  initialize: function() {
//  }
//});


var Articulo = Class.create({
  initialize: function() {
		this.idArticulo;
		this.descripcion;
		this.minCompra;
		this.precio;
  }
});

function DisplayError(error){
	$("displayErrors").update(error);
	var dimensionCapa = $("displayErrors").getDimensions();
	var dimensionVentana = document.viewport.getDimensions();
	var y = (dimensionVentana.height - dimensionCapa.height)+document.viewport.getScrollOffsets().top-20;
	var x = dimensionVentana.width - dimensionCapa.width-20;
	var styles = { position : 'absolute', top : y + 'px', left : x + 'px' };
	$("displayErrors").setStyle(styles);
	Effect.Appear('displayErrors', { duration: 3.0,from:1.0,to:0.0});
}


function LoginAjax(loginForm){
	
	var form_url = loginForm.action;
	var form_usuario = loginForm.Usuario.value;
	var form_clave = loginForm.Clave.value;

	new Ajax.Request(form_url,
	  {
	    method:'post',
	    parameters: {"Usuario":form_usuario,"Clave":form_clave},
	    onSuccess: function(transport){
	      var response = transport.responseText;
	      if (response == "BAD"){
	      	alert("Usuario o clave incorrecto.");
	      }else{
		      var usuario = new Usuario();
		      usuario.fromJson(response);
		      $("cabeceraNegraLogin").hide();
		      $("cabeceraNegraRegistrados").show();
	      }
	    },
	    onFailure: function(){ alert('La pagina solicitada no esta disponible.') }
	  });
}

function verConMiCliente(){
	document.login.VerConMiCliente.value=true;
	document.login.submit();
}

function restoreImg(element){
	element.src=element.srcorigen;
}

function cambiarImg(element,image) {
	element.srcorigen=element.src;
	element.src=image;
}

function comprobarTecla(element,event){
/*
keyCode de la tecla pulsada
**********************
0 keyCode=48...9 keyCode=57
0 keyCode=96...9 keyCode=105   (Con el teclado numerico)
A keyCode=65...Z keyCode=90
SHIFT keyCode=16, shiftKey=true
SHIFT+A keyCode=65, shiftKey=true
CTRL keyCode=17, ctrlKey=true
CTRL+Z keyCode=90, ctrlKey=true
ALT keyCode=18, altKey=true
ALT+C keyCode=67, altKey=true
F1 keyCode=112...F12 keyCode=123
Espacio keyCode=32
Enter keyCode=13
Retroceso keyCode=8
Suprimir keyCode=46
Insert keyCode=45
Re.Pag. keyCode=33
Av.Pag. keyCode=34
Fin keyCode=35
Inicio keyCode=36
Bloq.Mayus. keyCode=20

Flechas
Izquierda keyCode=37
Arriba keyCode=38
Derecha keyCode=39
Abajo keyCode=40 
*/	
	var retorno = true;
	var key = event.keyCode;
	//alert("KeyCode-->"+event.keyCode);
	if (event.shiftKey || event.ctrlKey || event.altKey){
		retorno = false;
	}else if (key >= 48 && key <= 57){
		retorno = true;
	}else if (key >= 96 && key <= 105){
		retorno = true;
	}else if (key == 37 || key == 39 || key == 46 || key == 8 ){
		retorno = true;
	}else if (key == 13){
		element.blur();
		retorno = false;
	}else{
		retorno = false;
	}
	return retorno;
}

function comprobarCantidad(formName){
		var form = document.forms[formName];
		var cantidad = parseInt(form.cantidad.value);
		var minCantidad = parseInt(form.minCantidad.value);
		if (cantidad < minCantidad){
			alert("Has introducido "+cantidad+" articulos, y no se pueden pedir menos de "+minCantidad+".");
			form.cantidad.value = minCantidad;
			form.cantidad.focus();
			return true;
		}
		return true;
}

function comprar(formName,element){
	
		setTimeout(function(){
				restoreImg(element);
			},200);

		var form = document.forms[formName];
		
		var idArticulo = formName;
		var cantidad = form.cantidad.value;
		
		new Ajax.Request("scripts/php/Comprar.php",
		  {
		    method:'post',
		    parameters: {"IdArticulo":idArticulo,"Cantidad":cantidad},
		    onSuccess: function(transport){
		      $("CarritoNum").update(transport.responseText+" Referencias");
		      DisplayError("Producto a&ntilde;adido a su cesta");
		    },
		    onFailure: function(){ alert('La pagina solicitada no esta disponible.') }
		  });
}

function actualizarCesta(element){
	
		var idArticulo = element.id;
		var cantidad = element.value;
		
		new Ajax.Request("scripts/php/ActualizarCesta.php",
		  {
		    method:'post',
		    parameters: {"IdArticulo":idArticulo,"Cantidad":cantidad},
		    onSuccess: function(transport){
		    	var respuesta = transport.responseText;
		    	var precioTotal = respuesta.split("|")[0];
		    	var numArticulos = respuesta.split("|")[1];
		      $("precioTotal_"+idArticulo).update(precioTotal);
		      $("CarritoNum").update(numArticulos+" Referencias");
		      calcularPrecioCesta();
		    },
		    onFailure: function(){ alert('La pagina solicitada no esta disponible.') }
		  });
}

function calcularPrecioCesta(){
	
	var precioTotalCesta = 0;
	$$(".precioProducto").each(function(item) {
  	precioTotalCesta = parseFloat(parseFloat(precioTotalCesta) + parseFloat(item.innerHTML));
	});
	
	$("precioTotalCesta").update(Math.round(precioTotalCesta*100)/100);
}


function subirASession(key,value){
	
		new Ajax.Request("scripts/php/lbr/SubirASession.php",
		  {
		    method:'post',
		    parameters: {"key":key,"value":value},
		    onSuccess: function(transport){},
		    onFailure: function(){}
		  });
}

function confirmarCesta(element){
		element.src="images/confirmarDisabled.gif";
		element.onclick="";
		$$(".inputCesta").each(function(item) {
	  		item.disabled = "disabled";
		});
		$$("#esconderBotones").each(function(item) {
	  		item.update("");
		});
		$("capaBotonImprimir").style.display="block";

		new Ajax.Request("scripts/php/ConfirmarCesta.php",
		  {
		    method:'post',
		    onSuccess: function(transport){
			var respuesta = transport.responseText;
			var datos = respuesta.split("|");
		    	$("numeroPedido").update("Numero pedido:"+datos[0]);
		    	$("fechaPedido").update("Fecha pedido:"+datos[1]);
		    	DisplayError("Su pedido ha sido realizado.");
		    },
		    onFailure: function(){}
		  });
}

