function Pedidos ()
{
}



Pedidos.Pedir = function (Articulo, Lng)
{
	var Ajax     = new TAjax ();
	var Etiqueta = document.getElementById ('Cantidad' + Articulo);
	var Cantidad = '';

	if (Etiqueta) Cantidad = Etiqueta.value.asInteger ();
	if (! Cantidad) Cantidad = 1;

	if (Cantidad)
	{	Ajax.Lng           = Lng;
		Ajax.onCargar      = Pedidos.VerPedido;
		Ajax.Vars.Articulo = Articulo;
		Ajax.Vars.Cantidad = Cantidad;
		Ajax.Vars.Lng      = Lng;
		Ajax.Cargando      = 'MsgPedido';
		Ajax.Cargar ('/fuentes/comprar.php');
		if (Etiqueta) Etiqueta.value = '';
	} else alert (Main.Idioma (Lng, 'La cantidad introducida no es correcta.',
												'La quantité introduite n´est pas correcte.', 'The quantity is not correct.'));
}



Pedidos.VerPedido = function (oPeticion)
{
	if (oPeticion.asText () == 'FAVORITOS') window.location = Extranet.Path (oPeticion.Lng) + '/extranet/misproyectos';
	else
	{	var Datos = DataSet (oPeticion.asText (), 'LINEAS', 'ACCESORIOS', 'PEDIDO');

		Pedidos.LineasDePedido (Datos [0], Datos [2]);
		if (Datos [1].RecordCount ())	Main.$ ('ListaArticulos', 'innerHTML', CargarAccesorios (Datos [1], true));
		
	}
}



Pedidos.LineasDePedido = function (oLineas, oPedido)
{
	var Lineas = Main.$ ('idLineasPedido');

	if (oLineas.RecordCount ())
	{ oLineas.First ();
		EliminarHijos (Lineas);
		while (! oLineas.Eof ())
		{	var Div = document.createElement ('div');
			var Ref = document.createElement ('div');
			var Can = document.createElement ('div');
			var a1  = document.createElement ('a');
			var a2  = document.createElement ('a');
			Div.className = 'LineaPedido';
			Ref.className = 'Referencia';
			Ref.innerHTML = oLineas.ByName ('Referencia');
			Div.appendChild (Ref);
			Can.className = 'Cantidad';
			Can.innerHTML = oLineas.ByName ('Cantidad');
			a1.href = 'javascript:Pedidos.IncCantidad ("' + oLineas.ByName ('IdItem') + '",' + oLineas.ByName ('Cantidad') + ')';
			a1.innerHTML = ' + ';
			a2.href = 'javascript:Pedidos.DecCantidad ("' + oLineas.ByName ('IdItem') + '",' + oLineas.ByName ('Cantidad') + ')';
			a2.innerHTML = ' - ';
			Can.appendChild (a2);
			Can.appendChild (a1);
			Div.appendChild (Can);
			Lineas.appendChild (Div);
			oLineas.Next ();
		}
		Main.$ ('idTotal', 'innerHTML', oPedido.ByName ('Total'));
		Main.$ ('idTicket', 'style.display', 'block')
	} else  Main.$ ('idTicket', 'style.display', 'none');
}


Pedidos.DecCantidad = function (Item, Cantidad)
{
	Pedidos.ActCantidad (Item, --Cantidad);
//	location.refresh;
}


Pedidos.IncCantidad = function (Item, Cantidad)
{
	Pedidos.ActCantidad (Item, ++Cantidad);
//	location.reload();
}


Pedidos.ActCantidad = function (Item, Cantidad)
{
	var Ajax = new TAjax ();

	Ajax.onCargar      = Pedidos.VerPedido;
	Ajax.Vars.Item     = Item;
	Ajax.Vars.Cantidad = Cantidad;
	Ajax.Vars.Lng      = Lng;
	Ajax.Cargando      = 'MsgPedido';
	Ajax.Cargar ('/fuentes/incrementarcantidad.php');
}



Pedidos.ContinuarCompra = function (path)
{
	var Ajax = new TAjax ();

	Ajax.onCargar = function (oPeticion) { window.location = '/' + path + 'extranet/c22/km-moto-reductores-de-sinfin-corona'; }
	Ajax.Formulario (document.DatosDeEnvio);
	Ajax.Cargar ('fuentes/continuarcompra.php');
}


Pedidos.ActivarDireccionEnvio = function ()
{
	var Desactivado = ! document.DatosDeEnvio.DireccionDeEnvio.checked;

	document.DatosDeEnvio.NombreEnvio.disabled       = Desactivado;
	document.DatosDeEnvio.DomicilioEnvio.disabled    = Desactivado;
	document.DatosDeEnvio.LocalidadEnvio.disabled    = Desactivado;
	document.DatosDeEnvio.CodigoPostalEnvio.disabled = Desactivado;
	document.DatosDeEnvio.ProvinciaEnvio.disabled    = Desactivado;
	document.DatosDeEnvio.PaisEnvio.disabled         = Desactivado;
	document.DatosDeEnvio.TelefonoEnvio.disabled     = Desactivado;

	if (document.DatosDeEnvio.DireccionDeEnvio.checked)
		document.DatosDeEnvio.chkDocumentacion.checked = true;
}



Pedidos.TerminarPedido = function (iLng)
{
	var Submit  = false;
	var Almacen = document.DatosDeEnvio.Almacen.value;
	var almacenPedidos = document.DatosDeEnvio.almacenPedidos.value;
	
	if ((! Almacen || almacenPedidos) && document.DatosDeEnvio.DireccionDeEnvio.checked)
	{	if (document.DatosDeEnvio.NombreEnvio.value.Trim () == '')
		{	alert (Main.Idioma (iLng, "Tiene que indicar un nombre\nen la dirección de envío.",
										   				  "Please, enter a name\nin the delivery address.",
										 						"Vous devez indiquer un nom\ndans l´address d´envoi."));
			document.DatosDeEnvio.NombreEnvio.focus ();
		} else if (document.DatosDeEnvio.DomicilioEnvio.value.Trim () == '')
		{	alert (Main.Idioma (iLng, "Tiene que indicar un domicilio \nen la dirección de envío.",
										  				 "Please, enter an address\nin the delivery address.",
										  				 "Vous devez indiquer une address\n dans l´address d´envoi."));
			document.DatosDeEnvio.DomicilioEnvio.focus ();
		} else if (document.DatosDeEnvio.LocalidadEnvio.value.Trim () == '')
		{	alert (Main.Idioma (iLng, "Tiene que indicar una localidad \nen la dirección de envío.",
										 					 "You must enter a locality\nin the delivery address.",
										 					 "Vous devez indiquer une localité \n dans l´address d´envoi."));
			document.DatosDeEnvio.LocalidadEnvio.focus ();
		} else if (document.DatosDeEnvio.ProvinciaEnvio.value.Trim () == '')
		{	alert (Main.Idioma (iLng, "Tiene que indicar una provincia \nen la dirección de envío.",
										 					  "You must enter a province\nin the delivery address.",
										 					  "Vous devez indiquer un département \n dans l´address d´envoi."));
			document.DatosDeEnvio.ProvinciaEnvio.focus ();
		} else if (document.DatosDeEnvio.PaisEnvio.value.Trim () == '')
		{	alert (Main.Idioma (iLng, "Tiene que indicar un país \nen la dirección de envío.",
										 						"You must enter a country in the delivery address.",
										 						"Il faut indiquer une pays \ndans l´adress d´envoi."));
			document.DatosDeEnvio.PaisEnvio.focus ();
		} else if (document.DatosDeEnvio.TelefonoEnvio.value.Trim () == '')
		{	alert (Main.Idioma (iLng, "Tiene que indicar un teléfono \nen la dirección de envío.",
										 					  "You must enter a phone number\nin the delivery address.",
										 					  "Vous devez indiquer téléphone \ndans l´address d´envoi."));
			document.DatosDeEnvio.TelefonoEnvio.focus ();
		} else Submit = true;
	} else Submit = true;

	if (Submit)
	{	if (document.DatosDeEnvio.SuPedido.value.Trim () == '')
		{	alert (Main.Idioma (iLng, 'Tiene que indicar el número de su pedido.',
									 	  					'You must enter your order number.',
									 	  					'Vous devez indiquer le nombre de votre demande.'));
										
			document.DatosDeEnvio.SuPedido.focus ();
		} else if (! Almacen && document.DatosDeEnvio.Portes1.value.Trim () == '')
		{	alert (Main.Idioma (iLng, "Tiene que indicar una agencia de transportes.",
										 					  "You must enter a transport agency.",
										 					   "Il faut indiquer une agence de transport."));
			document.DatosDeEnvio.Portes1.focus ();
		} else if ( ! Almacen && (document.DatosDeEnvio.Portes1.value == 99 && document.DatosDeEnvio.Portes2.value.Trim () == ''))
		{	alert (Main.Idioma (iLng, "Tiene que indicar una agencia de transportes.",
																"You must enter a transport agency.",
										 						"Il faut indiquer une agence de transport."));
			document.DatosDeEnvio.Portes2.focus ();
		}	else document.DatosDeEnvio.submit ();
	}
}

