// JavaScript Document
var tiempo_retardo;
var global_idprovincia = 0;


function pasar_por_caja(  )
{
	if( document.getElementById('gastos').value > 0 )
	{
		document.location.href = '../datos_cliente.php';
	}
	else
	{
		alert("Indique la provincia de destino del pedido, para hacer el cálculo de los portes");
	}
}

/*----------------------------UNIDADES CARRITO-----------------------------------*/
function unidades_carrito( idproducto , accion )
{
	if ( accion == "inc" )
	{
		document.getElementById('unidades_'+idproducto).value = parseInt(document.getElementById('unidades_'+idproducto).value) + 1;
	}
	else
	{
		if ( document.getElementById('unidades_'+idproducto).value > 1 )
		{
			document.getElementById('unidades_'+idproducto).value = parseInt(document.getElementById('unidades_'+idproducto).value) - 1;
		}
		//si borran el número ponemos un uno
		if( document.getElementById('unidades_'+idproducto).value == "" )
		{
			document.getElementById('unidades_'+idproducto).value = 1;
		}
	}
	
	clearTimeout(tiempo_retardo);
	tiempo_retardo = setTimeout('ejecuta_cambio_unidades( '+idproducto+' );', 750);
}

/*----------------------------EDICIÓN MANUAL DE UNIDADES---------------------------*/
function edicion_manual_unidades( evento , idproducto )
{
	var charCode = ( evento.which ) ? evento.which : event.keyCode
	if ( charCode > 47 && charCode < 58  )
	{
		clearTimeout(tiempo_retardo);
		tiempo_retardo = setTimeout('ejecuta_cambio_unidades('+idproducto+');',750);

		return true;
	}
	else
	{
		return false; 
	}
}

/*-------------------------EJECUTA CAMBIO UNIDADES AFECTA AL INPUT Y AL MAS MENOS------------------------------*/
function ejecuta_cambio_unidades( idproducto )
{
	var con_edicion_unidades_carrito = new XHConn();
	cargando_carrito();
	var fin_edicion_unidades_carrito = function (oXML) { carga_carrito(); };
	con_edicion_unidades_carrito.connect("actualiza_unidades_carrito.php", "GET", "idproducto="+idproducto+"&unidades="+document.getElementById("unidades_"+idproducto).value , fin_edicion_unidades_carrito);
}
/*-------------------------- CARGAR DATOS EN CARRITO ---------------------------*/
function cargando_carrito()
{
	var cargando = "<img src=\"../img/cargando3.gif\" />";
	document.getElementById('total_unidades').innerHTML = cargando;
	document.getElementById('total_subtotal').innerHTML = cargando;
	document.getElementById('imp_portes').innerHTML = cargando;
	//document.getElementById('total_iva').innerHTML =  cargando;
	document.getElementById('total').innerHTML =  cargando;	
}

function carga_carrito()
{
	var con_carga_carrito = new XHConn();
	var fin_carga_carrito = function (oXML)
	{
		xml_carrito = oXML.responseXML;
		//Obtenemos del xml los elementos con etiquetas "producto"
		var producto = xml_carrito.getElementsByTagName("producto");
		for (var i = 0; i < producto.length; i++)
		{
			var idproducto = producto[i].getElementsByTagName('idproducto')[0].childNodes[0].nodeValue;
			var precio_unidad = producto[i].getElementsByTagName('precio_unidad')[0].childNodes[0].nodeValue;
			var unidades = producto[i].getElementsByTagName('unidades')[0].childNodes[0].nodeValue;
//			document.getElementById('unidades_'+idproducto).value = unidades;
			document.getElementById('carrito_imp_'+idproducto).innerHTML =  formatea_importe(precio_unidad*unidades);
			document.getElementById('unidades_'+idproducto).value =  unidades;
			
		}
		//Obtenemos del xml la totalización
		var totalizacion = xml_carrito.getElementsByTagName("totalizacion");
		for (var i = 0; i < totalizacion.length; i++)
		{
			var total_unidades = totalizacion[i].getElementsByTagName('unidades')[0].childNodes[0].nodeValue;
			var total_subtotal = totalizacion[i].getElementsByTagName('subtotal')[0].childNodes[0].nodeValue;
			var portes = totalizacion[i].getElementsByTagName('portes')[0].childNodes[0].nodeValue;
			//var total_iva = totalizacion[i].getElementsByTagName('iva')[0].childNodes[0].nodeValue;
			var total = totalizacion[i].getElementsByTagName('total')[0].childNodes[0].nodeValue;
			document.getElementById('total_unidades').innerHTML = total_unidades;
			document.getElementById('total_subtotal').innerHTML =  formatea_importe(total_subtotal);
			document.getElementById('imp_portes').innerHTML =  formatea_importe(portes);
			//document.getElementById('total_iva').innerHTML =  formatea_importe(total_iva);
			document.getElementById('total').innerHTML =  formatea_importe(total);
		}
		set_mini_carrito();
	};
	con_carga_carrito.connect("xml_carrito.php", "GET", "idprovincia="+global_idprovincia, fin_carga_carrito);
}


/*-----------------------------------------DAMOS FORMATO A LOS PRECIOS----------------------------------------*/
function formatea_importe(num) { 
	num = num.toString().replace(/$|,/g,''); 
	if(isNaN(num)) 
	num = "0"; 
	sign = (num == (num = Math.abs(num))); 
	num = Math.floor(num*100+0.50000000001); 
	cents = num%100; 
	num = Math.floor(num/100).toString(); 
	if(cents<10) 
	cents = "0" + cents; 
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) 
	num = num.substring(0,num.length-(4*i+3))+'.'+ 
	num.substring(num.length-(4*i+3)); 
	return (((sign)?'':'-') + num + ',' + cents + ' &euro;'); 
}

function comprueba_compra()
{
	//Si ha seleccionado su talla
	if( document.getElementById('idproducto').value > 0 )
	{
		document.getElementById('selector_tallaje').submit();
	}
	else
	{
		alert("Debe seleccionar una talla");
	}
	
}

// Establece datos relevantes del pedido en el mini-carrito (en cabecera)

function set_mini_carrito()
{
	var fin_mini_carrito = function (oXML) {
		var responseXml = oXML.responseXML;
		var articulo = responseXml.documentElement.getElementsByTagName("datos");	
		var importe = parseFloat(articulo[0].getAttribute("importe"));
		var unidades = parseFloat(articulo[0].getAttribute("unidades"));
		document.getElementById('minicarrito_imp_total').innerHTML = '<b>' + formatea_importe(importe) + '</b>';
		document.getElementById('minicarrito_total_unidades').innerHTML = '<p class="mini_carrito_unidades">' + unidades + '</p><p>art&iacute;culos seleccionados</p>';
		if (importe > 0){ global_carrito_vacio = 0; } else { global_carrito_vacio = 1; }
	};
	new XHConn().connect("http://www.tuvinoencasa.com/carrito/set_mini_carrito.php", "GET", "", fin_mini_carrito);
}

// Función para establecer los gastos de envío en función del número de unidades y la zona de envío seleccionada
function set_portes(idprovincia)
{
	document.getElementById('imp_portes').innerHTML = "<img src=\"../img/cargando3.gif\" />";
	var fin_portes = function (oXML)
	{
		var responseXml = oXML.responseXML;
		var xml_portes = responseXml.documentElement.getElementsByTagName("portes");	
		var coste_portes = parseFloat(xml_portes[0].getAttribute("coste"));
		document.getElementById('imp_portes').innerHTML = formatea_importe(coste_portes);
		global_idprovincia = idprovincia;
		
		carga_carrito();
	}
	new XHConn().connect("http://www.tuvinoencasa.com/carrito/portes.php", "GET", "idprovincia="+idprovincia, fin_portes);
}
