gastos_de_envio = 0.06;
iva = 0.16;

function format_number_comparativa(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++)
//delimitamos los miles ->	num = num.substring(0,num.length-(4*i+3))+','+
	num = num.substring(0,num.length-(4*i+3))+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + num + '.' + cents);
}

function existe_frames()
{
//	if ( typeof(top.frames.frame1) == "undefined" )
//		top.document.location="/paginas/default.html";

/*
	if ( typeof(top.frames.frame1) == "undefined" )
	{
		//alert("redireccionar");

		pag = new String(document.location);

		array_pag = pag.split("/");

		for ( i = 3, pagina = ""; i < array_pag.length; i++ )
		{
			pagina += "/" + array_pag[i];
		}

		top.document.location="/paginas/default.asp?pagina=" + escape(pagina);
	}
*/
}

//funcion que ocultar los frames
function ocultar_barra_inferior()
{
	if ( typeof(top.frames.padre) != "undefined" )
	{
		//Cambiamos el alto de fla segunda fila
		parent.frames.padre.rows="0,450";
	}
}

//funcion que cambia muestra los frames
function mostrar_barra_inferior()
{
	
	if ( typeof(top.frames.padre) != "undefined" )
	{
		//Cambiamos el alto de fla segunda fila
		parent.frames.padre.rows="0,415,18";
	}
}

//funcion que comprueba que el valor es entero
function entero(campo)
{
	cadena = new String(eval("document.formulario." + campo + ".value"));

	if ( isNaN(parseInt(cadena,10)) )
	{
		alert("El campo CANTIDAD debe ser numérico");
		eval("document.formulario." + campo + ".value=''")
		eval("document.formulario." + campo + ".focus()")
		return false;
	}
	else if ( parseInt(cadena,10) < 1 )
	{
		alert("La CANTIDAD mínima es 1");
		eval("document.formulario." + campo + ".value='1'")
		eval("document.formulario." + campo + ".focus()")
		return false;
	}

	return true;
}
	
//************************************************************
//function: anadir: funcion que redirecciona la pagina a la accion=1 de compra.asp
// la cual anyade a la cookie el articulo con su correspondiente cantidad 
// PARAMETROS: id_modelo->identificador del articulo.
// PROGRAMACION: redireccionamos la pagina pasandole el parametro id_modelo, y capturando del formulario
//				la cantidad.
// RETURN:la pagina se redirecciona a compra.asp?accion=1
//***************************************************************
function anadir(id_modelo)
{	
	if ( typeof(top.frames.frame1) == "undefined" )
	{
		pagina = "/paginas/anadir_articulo.asp?id_modelo=" + id_modelo + "&cantidad=" + eval(document.formulario.cantidad.value) + "&cadena=";
		top.document.location="/paginas/default.asp?pagina=" + escape(pagina);
	}
	else
	{			
		if ( entero("cantidad") )
			document.location = "/paginas/anadir_articulo.asp?id_modelo=" + id_modelo + "&cantidad=" + eval(document.formulario.cantidad.value) + "&cadena=";
	}
}

function anadir_agrupado()
{	
	id_modelo = document.all.id_modelo_actual.value;

	if ( document.all.precio_detalle_modelo.innerHTML == "" )
		alert("Debe calcular el precio antes de comprar")
	else
	{
//		alert(ids_rel);

		ids_sel = ""

		if ( typeof(ids_rel) != "undefined" )
		{
			array_rel = ids_rel.split(",");

			for(i=0, ids_seleccionados=""; i < array_rel.length-1; i++)
			{
				if ( eval("document.formulario.id_rel_" + array_rel[i] + ".checked") )
				{
					ids_seleccionados += array_rel[i] + ",";
				}
			}

			ids_sel = ( ids_seleccionados != "" ) ? "&ids_modelos_relacionados=" + ids_seleccionados : "";
		}

		if ( typeof(top.frames.frame1) == "undefined" )
		{
			pagina = "/paginas/anadir_articulo.asp?id_modelo=" + id_modelo + "&cantidad=" + eval(document.formulario.cantidad.value) + "&cadena=" + ids_sel;
			top.document.location="/paginas/default.asp?pagina=" + escape(pagina);
		}
		else
		{			
			if ( entero("cantidad") )
				document.location = "/paginas/anadir_articulo.asp?id_modelo=" + id_modelo + "&cantidad=" + eval(document.formulario.cantidad.value) + "&cadena=" + ids_sel;
		}
	}
}

//***********************************************************************
//function: borrar_seleccionados: funcion que borra los articulos seleccionados del carrito
// PROGRAMACION: se consiguen los id de los articulos seleccionados para borrar a partir del 
//   formulario mostrado en la funcion mostrar_carrito.				
// RETURN:la pagina se redirecciona a compra.asp?
//**************************************************************************
function borrar_seleccionados()
{
	num_cookies=readCookie("carrito"); 
	
	if ( num_cookies != null )
	{
		num_cookies=num_cookies.split("&");

		for ( i = 0, encontrado = false; ( ( i < num_cookies.length ) && ( !encontrado ) ); i++ )
		{
			array_articulos = num_cookies[i].split("=");

			if ( eval("document.formulario.checkedbox_" + array_articulos[0] + ".checked == true") )
				encontrado = true;
		}
		
		if ( !encontrado )
		{
			alert("Seleccione el/los artículos que desee eliminar");
		}
		else
		{
			for ( i = 0, listado = ""; ( i < num_cookies.length ); i++ )
			{
				array_articulos = num_cookies[i].split("=");

				if ( eval("document.formulario.checkedbox_" + array_articulos[0] + ".checked == false") )
				{
					id_articulo = eval("document.formulario.checkedbox_" + array_articulos[0] + ".value");
					cantidad = eval("document.all.cant_" + id_articulo + ".value");

					listado += id_articulo + "=" + cantidad + "&";
				}
			}

			deleteCookie("carrito");
			listado = listado.substring(0, listado.length-1);
			saveCookie("carrito",listado,1);

			document.location = "/paginas/mostrar_carrito.asp";
		}
	}
}


//***********************************************************************
//function: borrar_seleccionados_reserva: funcion que borra los articulos seleccionados del carrito
// PROGRAMACION: se consiguen los id de los articulos seleccionados para borrar a partir del 
//   formulario mostrado en la funcion mostrar_carrito.				
// RETURN:la pagina se redirecciona a compra.asp?
//**************************************************************************
function borrar_seleccionados_reserva()
{
	num_cookies=readCookie("carritoReserva"); 
	
	if ( num_cookies != null )
	{
		num_cookies=num_cookies.split("&");

		for ( i = 0, encontrado = false; ( ( i < num_cookies.length ) && ( !encontrado ) ); i++ )
		{
			array_articulos = num_cookies[i].split("=");

			if ( eval("document.formulario.checkedbox_reserva_" + array_articulos[0] + ".checked == true") )
				encontrado = true;
		}
		
		if ( !encontrado )
		{
			alert("Seleccione el/los artículos que desee eliminar");
		}
		else
		{
			for ( i = 0, listado = ""; ( i < num_cookies.length ); i++ )
			{
				array_articulos = num_cookies[i].split("=");

				if ( eval("document.formulario.checkedbox_reserva_" + array_articulos[0] + ".checked == false") )
				{
					id_articulo = eval("document.formulario.checkedbox_reserva_" + array_articulos[0] + ".value");
					cantidad = eval("document.all.cant_reserva_" + id_articulo + ".value");

					listado += id_articulo + "=" + cantidad + "&";
				}
			}

			deleteCookie("carritoReserva");
			listado = listado.substring(0, listado.length-1);
			saveCookie("carritoReserva",listado,1);

			document.location = "/paginas/mostrar_carrito.asp";
		}
	}
}



//***********************************************************************
//function: borrar_todos_seleccionados: funcion que borra los articulos seleccionados del carrito
// PROGRAMACION: se consiguen los id de los articulos seleccionados para borrar a partir del 
//   formulario mostrado en la funcion mostrar_carrito.				
// RETURN:la pagina se redirecciona a compra.asp?
//**************************************************************************
function borrar_todos_seleccionados()
{
	num_cookies=readCookie("carrito"); 
	num_cookies_reserva=readCookie("carritoReserva"); 
	//alert(num_cookies);
	//alert(num_cookies_reserva);

	encontrado = false;
	encontrado_reserva = false;

	if ( num_cookies != null  || num_cookies_reserva != null)
	{
		if ( num_cookies != null  )
		{
			num_cookies=num_cookies.split("&");

			for ( i = 0, encontrado = false; ( ( i < num_cookies.length ) && ( !encontrado ) ); i++ )
			{
				array_articulos = num_cookies[i].split("=");

				if ( eval("document.formulario.checkedbox_" + array_articulos[0] + ".checked == true") )
				{
					encontrado = true;
					//alert("encontrado=true");
				}
			}
		}

		//num_cookies_reserva=readCookie("carritoReserva"); 
		
		if ( num_cookies_reserva != null )
		{
			num_cookies_reserva=num_cookies_reserva.split("&");

			for ( i = 0, encontrado_reserva = false; ( ( i < num_cookies_reserva.length ) && ( !encontrado_reserva ) ); i++ )
			{
				array_articulos = num_cookies_reserva[i].split("=");

				if ( eval("document.formulario.checkedbox_reserva_" + array_articulos[0] + ".checked == true") )
					encontrado_reserva = true;
			}
		}
		
		if ( ( !encontrado ) && ( !encontrado_reserva ) )
		{
			alert("Seleccione el/los artículos que desee eliminar");
		}
		else
		{
			if ( confirm("¿Seguro que desea eliminar el/los artículos seleccionados?") )
			{
				if (num_cookies!=null)
				{
					for ( i = 0, listado = ""; ( i < num_cookies.length ); i++ )
					{
						array_articulos = num_cookies[i].split("=");

						if ( eval("document.formulario.checkedbox_" + array_articulos[0] + ".checked == false") )
						{
							id_articulo = eval("document.formulario.checkedbox_" + array_articulos[0] + ".value");
							cantidad = eval("document.all.cant_" + id_articulo + ".value");

							listado += id_articulo + "=" + cantidad + "&";
						}
					}

					deleteCookie("carrito");
					listado = listado.substring(0, listado.length-1);
					saveCookie("carrito",listado,1);
				}

				//RESERVA
			//alert(num_cookies_reserva);
			//	alert(typeof(num_cookies_reserva));
			//	alert(isnull(num_cookies_reserva));

				if (num_cookies_reserva!=null)
				{
					for ( i = 0, listado = ""; ( i < num_cookies_reserva.length ); i++ )
					{
						array_articulos = num_cookies_reserva[i].split("=");

						if ( eval("document.formulario.checkedbox_reserva_" + array_articulos[0] + ".checked == false") )
						{
							id_articulo = eval("document.formulario.checkedbox_reserva_" + array_articulos[0] + ".value");
							cantidad = eval("document.all.cant_reserva_" + id_articulo + ".value");

							listado += id_articulo + "=" + cantidad + "&";
						}
					}

					deleteCookie("carritoReserva");
					listado = listado.substring(0, listado.length-1);
					saveCookie("carritoReserva",listado,1);
				}

				document.location = "/paginas/mostrar_carrito.asp";
			}
		}
	}
}

//***********************************************************************
//function: decrementar: funcion que decrementa la cantidad de un producto
// PARAMETROS: id_->identificador del articulo.
//			   precio->precio del articulo
// PROGRAMACION: actualizamos todos los valores que salen por pantalla dp de 
//		decrementar una unidad
// RETURN:
//**************************************************************************
function decrementar(id,precio)
{	
//	alert("PRECIO: " + precio);
	precio_original = precio;
	precio = comas_por_puntos(precio);
//	alert("COMAS_POR_PUNTOS(PRECIO): " + precio);

	cant = eval("document.all.cant_" + id + ".value");
	
	if (cant>0)
	{
		cant--;
		//decrementamos cantidad en pantalla
		eval("document.all.cant_" + id + ".value = " + cant);
		precio_total = eval(precio*cant);
		//actualizamos el precio del producto
		eval("document.all.precio_total_" + id + ".value = '" + format_number(precio_total) + "'");
		tot = puntos_por_comas(document.all.precio_subtotal_compra.value);
		//precio total del carrito
		tot = eval(tot) - eval( precio);

		document.all.precio_subtotal_compra.value = format_number(tot);
		p_gastos = tot*gastos_de_envio;
		document.all.precio_gastos_envio.value = format_number(p_gastos);
		p_iva = (tot+(tot*gastos_de_envio))*iva;
		document.all.precio_iva.value = format_number(p_iva);
		document.all.precio_total_compra.value = format_number(eval(tot + p_gastos + p_iva));

		//actualizamos datos del frame inferior
		if ( typeof(parent.frame2.document.all) != "undefined" )
		{
			//actualizamos datos del frame inferior
			parent.frame2.document.all.precio_total.value = document.all.precio_total_compra.value;
			parent.frame2.document.all.cantidad_total.value = parseInt(parent.frame2.document.all.cantidad_total.value) - 1;
		}
	}

	actualizar_valor_cookie();

	if ( cant == 0 )
	{
		if(confirm("La cantidad del artículo seleccionado es 0, ¿desea mantener el artículo en el carrito?"))
		{
			incrementar(id,"'" + precio_original + "'");
		}
		else
		{
			num_cookies=readCookie("carrito"); 
			
			if ( num_cookies != null )
			{
				num_cookies=num_cookies.split("&");

				for (i = 0; ( i < num_cookies.length ); i++ )
				{
					array_articulos = num_cookies[i].split("=");

					eval("document.formulario.checkedbox_" + array_articulos[0] + ".checked=false");

					if ( id == array_articulos[0] )
						eval("document.formulario.checkedbox_" + array_articulos[0] + ".checked=true");
					else
						eval("document.formulario.checkedbox_" + array_articulos[0] + ".checked=false");
				}
			}
/*			
			for ( i=0; (i<document.all.total_articulos.value); i++)
			{
				eval("document.formulario.checkedbox_" + i + ".checked = false;");

				if ( eval("document.formulario.checkedbox_" + i + ".value == id") )
					eval("document.formulario.checkedbox_" + i + ".checked = true;");
			}
*/
			borrar_seleccionados();
		}
	}
	else
		desseleccionar(id);

	actualizar_total_pedido();
}


//***********************************************************************
//function: decrementar: funcion que decrementa la cantidad de un producto
// PARAMETROS: id_->identificador del articulo.
//			   precio->precio del articulo
// PROGRAMACION: actualizamos todos los valores que salen por pantalla dp de 
//		decrementar una unidad
// RETURN:
//**************************************************************************
function decrementar_reserva(id,precio)
{	
	precio_original = precio
	precio = comas_por_puntos(precio);

	cant = eval("document.all.cant_reserva_" + id + ".value");
	
	if (cant>0)
	{
		cant--;
		//decrementamos cantidad en pantalla
		eval("document.all.cant_reserva_" + id + ".value = " + cant);
		precio_total = eval(precio*cant);
		//actualizamos el precio del producto
		eval("document.all.precio_total_reserva_" + id + ".value = '" + format_number(precio_total) + "'");
		tot = puntos_por_comas(document.all.precio_total_reserva.value);

		//precio total del carrito
		tot = eval(tot) + eval(precio);
		document.all.precio_total_reserva.value = format_number(tot);
	}

	actualizar_valor_cookie_reserva();

	if ( cant == 0 )
	{
		if(confirm("La cantidad del artículo seleccionado es 0, ¿desea mantener el artículo para reservalo?"))
		{
			incrementar_reserva(id,"'" + precio_original + "'");
		}
		else
		{
			num_cookies=readCookie("carritoReserva"); 
			
			if ( num_cookies != null )
			{
				num_cookies=num_cookies.split("&");

				for (i = 0; ( i < num_cookies.length ); i++ )
				{
					array_articulos = num_cookies[i].split("=");

					eval("document.formulario.checkedbox_reserva_" + array_articulos[0] + ".checked=false");

					if ( id == array_articulos[0] )
						eval("document.formulario.checkedbox_reserva_" + array_articulos[0] + ".checked=true");
					else
						eval("document.formulario.checkedbox_reserva_" + array_articulos[0] + ".checked=false");
				}
			}
/*
			for ( i=0; (i<document.all.total_articulos.value); i++)
			{
				eval("document.formulario.checkedbox_" + i + ".checked = false;");

				if ( eval("document.formulario.checkedbox_" + i + ".value == " + id) )
					eval("document.formulario.checkedbox_" + i + ".checked = true;");
			}
*/
			borrar_seleccionados_reserva();
		}
	}
	else
		desseleccionar_reserva(id);

	actualizar_total_pedido();
}

function incrementar(id,precio)
//***********************************************************************
//function: incrementar: funcion que incrementa la cantidad de un articulo
// PARAMETROS: id_->identificador del articulo.
//			   precio->precio del articulo
// PROGRAMACION: actualizamos todos los valores que salen por pantalla dp de 
//	incrementar una unidad.
// RETURN:
//**************************************************************************
{//la cantidad del articulo puede incrementarse infinitamente

//	alert("INCREMENTAR -> precio: " + precio);
	precio = comas_por_puntos(precio);
//	alert("INCREMENTAR -> comas_por_puntos(precio): " + precio);

	cant = eval("document.all.cant_" + id + ".value");
	cant++;
	
	//augmentamos la cantidad en pantalla
	eval("document.all.cant_" + id + ".value = " + cant);
	precio_total_modelo = eval(precio*cant);

//	alert(precio+"*"+cant+"="+precio_total_modelo);
//	alert("format_number(precio_total_modelo): " + format_number(precio_total_modelo));

	//actualizamos el precio del producto
	eval("document.all.precio_total_" + id + ".value = '" + format_number(precio_total_modelo) + "'");
	tot = puntos_por_comas(document.all.precio_subtotal_compra.value);

//	alert("TOT: " + tot + " | eval(tot): " + eval(tot) + " | precio: " + precio + " | eval(precio): " + eval(precio));

	//precio total del carrito
	tot = eval(tot) + eval(precio);

	document.all.precio_subtotal_compra.value = format_number(tot);
	p_gastos = tot*gastos_de_envio;
	document.all.precio_gastos_envio.value = format_number(p_gastos);
	p_iva = (tot+(tot*gastos_de_envio))*iva;
	document.all.precio_iva.value = format_number(p_iva);
	document.all.precio_total_compra.value = format_number(eval(tot + p_gastos + p_iva));

	//actualizamos datos del frame inferior
	parent.frame2.document.all.precio_total.value = document.all.precio_total_compra.value;
	parent.frame2.document.all.cantidad_total.value = parseInt(parent.frame2.document.all.cantidad_total.value) + 1;

	actualizar_valor_cookie();
	desseleccionar(id);
	actualizar_total_pedido();
}

function incrementar_reserva(id,precio)
//***********************************************************************
//function: incrementar: funcion que incrementa la cantidad de un articulo
// PARAMETROS: id_->identificador del articulo.
//			   precio->precio del articulo
// PROGRAMACION: actualizamos todos los valores que salen por pantalla dp de 
//	incrementar una unidad.
// RETURN:
//**************************************************************************
{//la cantidad del articulo puede incrementarse infinitamente
	
	precio = comas_por_puntos(precio);

	cant = eval("document.all.cant_reserva_" + id + ".value");
	cant++;
	
	//augmentamos la cantidad en pantalla
	eval("document.all.cant_reserva_" + id + ".value = " + cant);
	precio_total_modelo = eval(precio*cant);

//	alert(precio+"*"+cant+"="+precio_total_modelo);
//	alert("format_number(precio_total_modelo): " + format_number(precio_total_modelo));

	//actualizamos el precio del producto
	eval("document.all.precio_total_reserva_" + id + ".value = '" + format_number(precio_total_modelo) + "'");
	tot = puntos_por_comas(document.all.precio_total_reserva.value);

	//precio total del carrito
	tot = eval(tot) + eval(precio);
	document.all.precio_total_reserva.value = format_number(tot);

	actualizar_valor_cookie_reserva();
	desseleccionar_reserva(id);
	actualizar_total_pedido();
}


//***********************************************************************
//function: desseleccionar: si augmento o decremento la cantidad de un articulo lo deselecciono
// PROGRAMACION: se consigue el id del articulo incrementado o decrementado para deseleccionarlo
//   formulario mostrado en la funcion mostrar_carrito.				
// RETURN:
//**************************************************************************
function desseleccionar(id)
{
	num_cookies=readCookie("carrito"); 
	
	if ( num_cookies != null )
	{
		num_cookies=num_cookies.split("&");

		for (i = 0, encontrado = false; ( ( i < num_cookies.length ) && ( !encontrado ) ); i++ )
		{
			array_articulos = num_cookies[i].split("=");

			if ( id == array_articulos[0] )
			{
				eval("document.formulario.checkedbox_" + array_articulos[0] + ".checked=false");
				encontrado = true;
			}
		}
	}
/*
	for ( i=0, encontrado = false; ( (i<document.formulario.total_articulos.value) && (!encontrado) ); i++)
	{
		if ( id == eval("document.formulario.checkedbox_" + i + ".value") )
		{
			eval("document.formulario.checkedbox_" + i + ".checked = false");
			encontrado = true;
		}
	}
*/
}


//***********************************************************************
//function: desseleccionar_reserva: si augmento o decremento la cantidad de un articulo lo deselecciono
// PROGRAMACION: se consigue el id del articulo incrementado o decrementado para deseleccionarlo
//   formulario mostrado en la funcion mostrar_carrito.				
// RETURN:
//**************************************************************************
function desseleccionar_reserva(id)
{
	num_cookies=readCookie("carritoReserva"); 
	
	if ( num_cookies != null )
	{
		num_cookies=num_cookies.split("&");

		for (i = 0, encontrado = false; ( ( i < num_cookies.length ) && ( !encontrado ) ); i++ )
		{
			array_articulos = num_cookies[i].split("=");

			if ( id == array_articulos[0] )
			{
				eval("document.formulario.checkedbox_reserva_" + array_articulos[0] + ".checked=false");
				encontrado = true;
			}
		}
	}
}
//***********************************************************************
//function: actualizar_valor_cookie: cambiamos la cantidad del articulo en la cookie("carrito")
// PROGRAMACION: se borra la cookie y seguidamente se crea una nueva con los valores de los inputs del carrito
//   				
// RETURN:
//**************************************************************************
function actualizar_valor_cookie()
{
	if ( typeof(document.all.precio_subtotal_compra) != "undefined" )
	{
		// ------------------------------------------------------------------------------------
		// CAMBIAMOS EL VALOR DE LA COOKIE

		//alert("ANTES: " + document.cookie);
		num_cookies=readCookie("carrito"); 
		//alert("actualizar_valor_cookie(): " + num_cookies);

		if ( num_cookies != null )
		{
			num_cookies=num_cookies.split("&");

			for (i = 0, listado = ""; ( i < num_cookies.length ); i++ )
			{
				array_articulos = num_cookies[i].split("=");

				id_articulo = eval("document.formulario.checkedbox_" + array_articulos[0] + ".value");
				cantidad = eval("document.all.cant_" + id_articulo + ".value");

				listado += id_articulo + "=" + cantidad + "&";
			}

			listado = listado.substring(0, listado.length-1);
		}

		/*
		deleteCookie("carrito");

		for ( i = 0, listado = ""; i < document.formulario.total_articulos.value; i++ )
		{
			id_articulo = eval("document.formulario.checkedbox_" + i + ".value");
			cantidad = eval("document.all.cant_" + id_articulo + ".value");

			listado += id_articulo + "=" + cantidad + "&";
		}
		*/

		saveCookie("carrito",listado,1);

		precio_tot_compra = ( typeof(document.all.precio_total_compra) != "undefined" ) ? document.all.precio_total_compra.value : 0;
		saveCookie("precio_total_carrito",precio_tot_compra,1);
	}
}

//***********************************************************************
//function: actualizar_valor_cookie: cambiamos la cantidad del articulo en la cookie("carrito")
// PROGRAMACION: se borra la cookie y seguidamente se crea una nueva con los valores de los inputs del carrito
//   				
// RETURN:
//**************************************************************************
function actualizar_valor_cookie_reserva()
{
	// ------------------------------------------------------------------------------------
	// CAMBIAMOS EL VALOR DE LA COOKIE

	//alert("ANTES: " + document.cookie);
	num_cookies=readCookie("carritoReserva"); 
	//alert("actualizar_valor_cookie_reserva(): " + num_cookies);
	
	if ( num_cookies != null )
	{
		num_cookies=num_cookies.split("&");

		for (i = 0, listado = ""; ( i < num_cookies.length ); i++ )
		{
			array_articulos = num_cookies[i].split("=");

			id_articulo = eval("document.formulario.checkedbox_reserva_" + array_articulos[0] + ".value");
			cantidad = eval("document.all.cant_reserva_" + id_articulo + ".value");

			listado += id_articulo + "=" + cantidad + "&";
		}

		listado = listado.substring(0, listado.length-1);
	}

	saveCookie("carritoReserva",listado,1);
}

// COOKIE FUNCTIONS

//***********************************************************************
//function: saveCookie: funcion que escribe la cookie con los parametros pasados
// PARAMETROS:	name:nombre de la cookie
//				value:valores de la cookie
//				days:indica la cantidad en milisegundos 
//  				
// RETURN:
//**************************************************************************
function saveCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000))
		var expires = "; expires="+date.toGMTString()
	}
	else expires = ""
	document.cookie = name+"="+value+expires+"; path=/"
}

//***********************************************************************
//function: readCookie: funcion que lee la cookie.
// PARAMETROS:	name:nombre de la cookie
//  				
// RETURN: si la cookie no existe retorna null, si existe retorna los valores de ésta
//**************************************************************************
function readCookie(name) {
	var nameEQ = name + "="
	var ca = document.cookie.split(';')
	for(var i=0;i<ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length)
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length)
	}
	return null
}

//***********************************************************************
//function: deleteCookie: funcion que borra la cookie.
// PARAMETROS:	name:nombre de la cookie
//  				
// RETURN: 
//**************************************************************************
function deleteCookie(name) {
	saveCookie(name,"",-10);
}

//***********************************************************************
//function: modificar_cantidad: funcion que modifica la/s cantidad/es de producto/s
// PARAMETROS: num_cookies->numero de articulos de la cookie.
//			   tipo->opciones de redireccionamiento de la pagina dp de actualizar
//					=0 solo la actualiza, dp muestra el carrito
//					=1 actualiza y dp comenzamos con el pedido
//					=2 actualiza y dp me voy al link
// PROGRAMACION: Primero controlamos que existan articulos en la cookie. Hay que tratar
//  de forma especial el caso donde solo existe un articulo en la cookie.
// RETURN:
//**************************************************************************
function cambiar_provincia()
{
	if ( document.formulario.pais.value == "España" ) 
	{
		document.all.provincia.style.visibility='visible';
	}
	else
	{
		document.all.provincia.style.visibility='hidden';	
		document.formulario.provincia.value = "";
	}
}


function ocultar_precio()
{
	document.all.precio_detalle_modelo.style.visibility = "hidden";
	document.all.pvp_sin_iva.style.visibility = "hidden";
	document.all.span_boton_calcular.style.visibility = "visible";
}


function cambiar_precio_caracteristicas()
{
	// Si hay algún campo vacio da error, no calcula su precio
	error = false;
	i = 0;
	while (i < (matriz_selects_js.length)&&(!error))
	{
		if ( eval("document.formulario.select_" + matriz_selects_js[i] + ".options.selectedIndex") == 0 )
		{
			error = true;
		}
		i++;

	}
	if ( !error )
	{
		parar = false;
		i = 0;
		while ((!parar)&&(i < matriz_modelos_agrupados_js.length))
		{
			
			//alert("id actual comparado: " + matriz_modelos_agrupados_js[i]);
			j = i + 5;
			saltar = false;
			while (j < ( i + 5 + (matriz_selects_js.length * 2))&&(!saltar))
			{
				indice_seleccionado = eval("document.formulario.select_" + matriz_modelos_agrupados_js[j] + ".options.selectedIndex");
				//alert("nº selección en select_" + matriz_modelos_agrupados_js[j] + ": " + indice_seleccionado);
				valor = eval("document.formulario.select_" + matriz_modelos_agrupados_js[j] + ".options[" + indice_seleccionado + "].value");
				//alert("comparo " + valor + " con: " + matriz_modelos_agrupados_js[(j + 1)]);
				if (valor!=(matriz_modelos_agrupados_js[(j + 1)]))
				{
					saltar = true;
					//alert("diferentes, paso al siguiente");
				}
				j = j + 2;
			}
			if ((j == (i + 5 + (matriz_selects_js.length * 2)))&&(!saltar))
			{
				parar = true;
				id_modelo_seleccionado = matriz_modelos_agrupados_js[(i)];
				//alert(matriz_modelos_agrupados_js[(i+1)]);
				precio_seleccionado = matriz_modelos_agrupados_js[(i+1)];
				pvp_sin_iva_seleccionado = matriz_modelos_agrupados_js[(i+2)];
				//alert("precio: " + precio_seleccionado);
			}
			i = i + 5 + (matriz_selects_js.length * 2);
		}
		if (parar)
		{
			if ( pvp_sin_iva_seleccionado != "" )
			{
				document.all.pvp_sin_iva.innerHTML = "<span class='texto'>Precio tarifa: " + format_number(pvp_sin_iva_seleccionado) + " € + IVA</span>"
			}

			if ( precio_seleccionado == "" )
			{
				precio = "<span class='precio'>A Consultar</span>"
				si_mostrar_boton_comprar = "hidden"
			}
			else
			{
				precio = format_number(precio_seleccionado) + "&nbsp;€&nbsp;</span><span class='texto'>+ IVA"
				si_mostrar_boton_comprar = "visible"
			}

			document.all.precio_detalle_modelo.innerHTML = "<span class='leyenda-destacada'>Precio SDW:</span>&nbsp;<span class='precio'>" + precio + "</span>"
			document.all.span_boton_calcular.style.visibility = "hidden";
			document.all.pvp_sin_iva.style.visibility = "visible";
			document.all.precio_detalle_modelo.style.visibility = "visible";
			document.all.boton_comprar.style.visibility = si_mostrar_boton_comprar;
			document.formulario.boton_calcular.value = "Recalcular precio";
		}
		else
		{
			alert("La selección no se corresponde con ningún modelo. Realícela de nuevo.");
		}
	}
	else
	{
		alert("Faltan características por especificar");
		document.all.precio_detalle_modelo.innerHTML = "";
	}
}

function cambiar_foto_caracteristicas(id_caracteristica,valor)
{
	parar = false;
	i = 0;
	while ((!parar)&&(i < matriz_modelos_agrupados_js.length))
	{
		j = i + 5;
		while (j < ( i + 5 + (matriz_selects_js.length * 2)))
		{
			if ((matriz_modelos_agrupados_js[j] == id_caracteristica)&&(matriz_modelos_agrupados_js[(j + 1)] == valor))
			{
				parar = true;
				id_foto = matriz_modelos_agrupados_js[i + 4];
			}
			j = j + 2;
		}
		i = i + 5 + (matriz_selects_js.length * 2);
	}

	document.all.foto_modelo.src = "/imagenes/productos/detalle/" + id_foto + ".jpg";
}

function reasignar_id_modelo(id_caracteristica)
{
	document.all.id_modelo_actual.value = eval("document.all.select_" + id_caracteristica + ".options[document.all.select_" + id_caracteristica + ".selectedIndex].idmodelo")
}

//***********************************************************************
//function: seleccion_todos(num_cookie): funcion que selecciona todos los modelos del carrito para ser borrados
// PARAMETROS: num_cookie->numero de modelos k existen en el carrito.
//
// RETURN:
//**************************************************************************
function seleccion_todos()
{
	num_cookies=readCookie("carrito"); 
	
	if ( num_cookies != null )
	{
		num_cookies=num_cookies.split("&");

		for (i = 0; i < num_cookies.length; i++ )
		{
			array_articulos = num_cookies[i].split("=");
			eval("document.formulario.checkedbox_" + array_articulos[0]  +".checked=true");
		}
	}
}

//***********************************************************************
//function: seleccion_todos_reserva(num_cookie): funcion que selecciona todos los modelos del carrito para ser borrados
// PARAMETROS: num_cookie->numero de modelos k existen en el carrito.
//
// RETURN:
//**************************************************************************
function seleccion_todos_reserva()
{
	num_cookies=readCookie("carritoReserva"); 
	//alert(num_cookies);

	if ( num_cookies != null )
	{
		num_cookies=num_cookies.split("&");

		for (i=0;i<num_cookies.length ;i++ )
		{
			array_articulos = num_cookies[i].split("=");
			eval("document.formulario.checkedbox_reserva_" + array_articulos[0] + ".checked=true");
		}
	}
}

function pre_anadir(evento, id_modelo)
{
	if (evento.keyCode==13 )
		document.formulario.submit();
	else
	{
		if (evento.keyCode< 48 || evento.keyCode> 57 ) 
			evento.returnValue = false;
	}
}

function buscar_carac_unicas()
{
	for ( i = 0; ( i < carac.length); i++)
	{
		for ( j = 3, k = 0; j < carac[i].length; j+=2 )
		{
			id_carac = carac[i][j];

			array_elementos = eval("document.formulario.carac_" + id_carac);
			
			if ( array_elementos.length == 2 ) 
			{
				if(array_elementos.options[0].value == "")		
				{		
					for(jj=0; jj<array_elementos.length-1; jj++)		
					{			
						array_elementos.options[jj].value = array_elementos.options[jj+1].value;
						array_elementos.options[jj].text = array_elementos.options[jj+1].text;
						array_elementos.options[jj].selected = false;
					}		

					array_elementos.length--;	
				}
			}
		}
	}
}

function replace(myString, toReplace, replacedBy)
{
	return(myString.replace(new RegExp(toReplace, 'gi'), replacedBy));
}

function comas_por_puntos(valor)
{
	tmp = valor;
	
	tmp = replace("'" + tmp + "'", "\.", "");
	tmp = replace("'" + tmp + "'", "\'", "");
	tmp = replace("'" + tmp + "'", ",", ".");
	valor = replace("'" + tmp + "'", "\'", "");

	return valor;
}

function puntos_por_comas(valor)
{
	tmp = valor;

//	alert("TMP antes: " + tmp);
	tmp = replace(tmp, "\.", "");
//	alert("TMP quitar puntos: " + tmp);
 	tmp = replace(tmp, ",", ".");
//	alert("TMP puntos por comas: " + tmp);

//	alert("TMP después del replace: " + tmp);

	return tmp;
}

function format_number(num) 
{  
	tmp = format_currency(num);

//	alert("TMP: " + tmp);
 
 	tmp = replace(tmp, ",", "#");
 	tmp = replace(tmp, "\.", ",");
 	tmp = replace(tmp, "#", "\.");

//	alert("TMP después del replace: " + tmp);

	return tmp;
}

function format_currency(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);
}  

function validar_barra_inferior()
{
	if ( (readCookie("carrito") == null) && (readCookie("carritoReserva") == null) )
	{
		ocultar_barra_inferior();

		if ( typeof(parent.frame2) != "undefined" )
		{
			parent.frame2.document.formulario.cantidad_total.value = "";
			parent.frame2.document.formulario.precio_total.value = "";
		}
	}
	else
		mostrar_barra_inferior();
}

function total_pedido(total)
{
	if ( typeof(parent.frame1) != "undefined" )
		parent.frame1.document.formulario.total_articulos.value = total;
}

function actualizar_total_pedido()
{
	total_compra = ( typeof(document.all.precio_total_compra) != "undefined" ) ? comas_por_puntos(document.all.precio_total_compra.value) : 0;
	total_reserva = ( typeof(document.all.precio_total_reserva) != "undefined" ) ? comas_por_puntos(document.all.precio_total_reserva.value) : 0;

	tot = eval(total_compra) + eval(total_reserva);
	document.all.precio_total_pedido.value = format_number(tot);
}

function cambiar_comparativa(seleccion)
{
	marca = "";
	precio = "";

	valor = seleccion.value;

	nombre = seleccion.name;
	num_comparativa = nombre.substring(nombre.length-1,nombre.length);

	ids_carac = document.all.ids_carac.value;
	array_ids_carac = ids_carac.split(",");

	//Inicializar
	for ( i = 0; i < array_ids_carac.length; i++ )
	{
		eval("document.all.carac_comparativa_" + num_comparativa + "_" + array_ids_carac[i] + ".innerHTML = ''");
	}

	eval("document.all.modelo_comparativa" + num_comparativa + ".innerHTML = ''");
	eval("document.all.tabla_foto_comparativa" + num_comparativa + ".style.visibility = 'hidden'");
	eval("document.all.carac_comparativa_" + num_comparativa + "_marca.innerHTML = ''");
	eval("document.all.carac_comparativa_" + num_comparativa + "_precio.innerHTML = ''");

	if ( valor != "" )
	{
		tmp_comparativa = valor.split("@@");

		marca = tmp_comparativa[0];

		precio = format_currency(tmp_comparativa[2]);

		//DEBUG alert(tmp_comparativa[0] + "|" + tmp_comparativa[1] + "|" + tmp_comparativa[2] + "|" + tmp_comparativa[3] + "|" + tmp_comparativa[4]);

		if ( tmp_comparativa[3] != "")
			if ( tmp_comparativa[2] != tmp_comparativa[3] )
				precio = "de " + format_currency(tmp_comparativa[2]) + " € a " + format_currency(tmp_comparativa[3]) + " €";

		eval("document.all.modelo_comparativa" + num_comparativa + ".innerHTML = document.all.select_comparativa" + num_comparativa + ".options[document.all.select_comparativa" + num_comparativa + ".selectedIndex].text");

		eval("document.all.tabla_foto_comparativa" + num_comparativa + ".style.visibility = 'visible'");


		if ( num_comparativa == 1 )
			comparativa1 = tmp_comparativa[4];
		else
			comparativa2 = tmp_comparativa[4];			

		eval("document.all.foto_modelo_comparativa" + num_comparativa + ".src = '/imagenes/productos/listado/' + comparativa" + num_comparativa + " + '.jpg'");

		//Inicializar
		for ( i = 0; i < array_ids_carac.length; i++ )
		{
			eval("document.all.carac_comparativa_" + num_comparativa + "_" + array_ids_carac[i] + ".innerHTML = '-'");
		}

		eval("document.all.carac_comparativa_" + num_comparativa + "_marca.innerHTML = marca");
		eval("document.all.carac_comparativa_" + num_comparativa + "_precio.innerHTML = precio");


		indice = seleccion.selectedIndex;
		tmp_comparativa = document.all.carac_comparativa.value;

	//	alert("tmp_comparativa: " + tmp_comparativa);

		articulos = tmp_comparativa.split("%%");

	//	alert("articulos[seleccion.selectedIndex]: " + articulos[seleccion.selectedIndex]);

		if ( typeof(articulos[seleccion.selectedIndex]) != "undefined" )
		{
			filas = articulos[seleccion.selectedIndex-1].split("##");

			for ( i = 0; ( i < filas.length-1 ); i++ )
			{
				columnas = filas[i].split("@@");
				eval("document.all.carac_comparativa_" + num_comparativa + "_" + columnas[0] + ".innerHTML = '" + columnas[1] + "'");
			}
		}
	}
}
