// depende de la opcion seleccionada devuelve el estilo
function estiloEstado(estadoActual,fila){
	if (estadoActual==fila) return "class=\"activo\"";
	else if (estadoActual>fila) return "class=finalizado";
	else return "class=porFinalizar";
}

//Escribo el filete del estado de la compra
function fileteEstadoCompra(estadoActual,estados){
	document.write("<ul>");
        document.write("<li class=\"titulo\">Proceso de compra</li>");
	for (i=0;i<interStrings.length;i++){
	j=i+1;
	document.write("<li  "+estiloEstado(estadoActual,j)+" >"+estados[i]+"</li>");
	}
	document.write("</ul>");
}

//funciones para el carrito de la compra 13 de Julio 2004
function comprarCarrito(formu,act,codProducto,cantidad,precio,soloWeb,maxUnidCompra){
    formu.accion.value='anadir_prod_vc_obligatoria';
    //formu.accion.value='anadir_prod';
    formu.cantidad.value=cantidad;
    formu.precioProd.value=precio;
    formu.codProducto.value=codProducto;
    formu.soloWeb.value=soloWeb;
    formu.maxUnidCompra.value=maxUnidCompra;
    formu.action=act;
    formu.submit();
}

//funcion para la compra de accesorios
/*function comprarAccesorio(formu,act,accesorio,codProducto,cantidad,precio,soloWeb,maxUnidCompra){
    formu.accion.value='anadir_acces';
    formu.cantidad.value=cantidad;
    formu.precioProd.value=precio;
    formu.codProducto.value=accesorio;
    formu.codPadre.value=codProducto;
    formu.soloWeb.value=soloWeb;
    formu.maxUnidCompra.value=maxUnidCompra;
    //formu.soloWebPadre.value=soloWebPadre;
    //formu.maxUnidCompraPadre.value=maxUnidCompraPadre;
    formu.action=act;
    formu.submit();
}*/

//funcion para la compra de accesorios para venta cruzada
function comprarAccesorioVC(formu,act,codAccesorio,codPadre,cantidadAccesorio,precioAccesorio,cantPadre,precioProdPadre,soloWeb,maxUnidCompra){
    formu.accion.value='anadir_prod_vc';
    formu.cantidad.value=cantidadAccesorio;
    formu.precioProd.value=precioAccesorio;
    formu.codProducto.value=codAccesorio;
    formu.codPadre.value=codPadre;
    formu.cantidadPadre.value=cantPadre;
    formu.precioProdPadre.value=precioProdPadre;
    formu.soloWeb.value=soloWeb;
    formu.maxUnidCompra.value=maxUnidCompra;
    //formu.soloWebPadre.value=soloWebPadre;
    //formu.maxUnidCompraPadre.value=maxUnidCompraPadre;    
    var reg = "carrito.jsp";
    if(act.indexOf(reg)==-1) window.open('popUpVCOK.jsp', this.target, 'width=312,height=390,toolbar=no,scrollbars=no,location=0,statusbar=no,status=no,menubar=no,resizable=no,directories=0,left = 445,top = 160');
    formu.action=act;
    formu.submit();
}

function borrarCarrito(formu,act,index){
    formu.accion.value='borrar_prod';
    formu.indexProd.value=index;
    formu.action=act;
    formu.submit();

}

function anadirCheque(formu,act){
    if (formu.cheque.value=="") alert(errorStrings[0]);
    else {
    formu.accion.value='anadir_cheque';
    formu.action=act;
    formu.submit();
    }
}

function vaciarCarrito(formu,act){
    formu.accion.value='vaciar_carrito';
    formu.action=act;
    formu.submit();
}

function modificarCarrito(formu,act,index,field){
    formu.accion.value='modificar_prod';
    formu.cantidad.value=field.value;
    formu.indexProd.value=index;
    formu.action=act;
    formu.submit();
}

//funcion para la compra de packs
function comprarPack(formu,act){
    //formu.accion.value='comprar_pack';
    formu.accion.value='comprar_pack_vc_obligatoria';
    var reg = "carrito.jsp";
    if(act.indexOf(reg)==-1) window.open('popUpVCOK.jsp', this.target, 'width=312,height=390,toolbar=no,scrollbars=no,location=0,statusbar=no,status=no,menubar=no,resizable=no,directories=0,left = 445,top = 160');
    enviarFormulario(formu,act);
}

function creaFormulario(name, parametro) {
	//Recuperamos el nombre del formulario para pasársele a la función RecursiveGet
	var auxiliar = document.getElementById('formulario_pack');
    var datos = RecursiveGet(auxiliar);
    datos = datos.substring(0, datos.length - 1);
    
    
    //Creamos un array por cada variable de tipo hidden que hemos creado dentro del formulario que contiene los precios del producto 0 (el producto padre)
    
    var arrayCodigoPrincipal = document.getElementsByName('codAccesorioPackSuelto');
    var arrayPrecioPrincipal = document.getElementsByName('precioProdSuelto');
    var arraySoloWebPrincipal = document.getElementsByName('soloWebSuelto');
    var arrayMaxUnidPrincipal = document.getElementsByName('maxUnidCompraSuelto');
    var arrayIvaPrincipal = document.getElementsByName('ivaSuelto');
    var arrayPrecioSueltoPrincipal = document.getElementsByName('precioProdSuelto');
    
    //Creamos un array por cada variable de tipo hidden que hemos creado dentro del formulario (guarda los accesorios)
    var arrayCodigo = document.getElementsByName('codAccesorioPackContruccion');
    var arrayPrecio = document.getElementsByName('precioProdConstruccion');
    var arraySoloWeb = document.getElementsByName('soloWebConstruccion');
    var arrayMaxUnid = document.getElementsByName('maxUnidCompraConstruccion');
    var arrayIva = document.getElementsByName('ivaConstruccion');
    var arrayPrecioSuelto = document.getElementsByName('precioProdSueltoConstruccion');
    var marcado = 0;
    var pintaVariable = 0;
    
    //Creamos dos variables para mostrar el precio 'suelto' al comprar y la ventaja de comprar en packs
    //var sueltos = 0;
    //var enPack = 0;
    
    //Creamos una variable que englobará la construcción del nuevo formulario dinámico que queremos crear
    var formularioDinamico = document.getElementById('formularioCreado');
    
    //Inicializamos el formulario a vacío por si no hay ningún check seleccionado
    formularioDinamico.innerHTML = '';
    
    //alert('antes de entrar en el for');
    //alert('el valor de la longitud del arrayCodigo es : ' + arrayCodigo.length);
    //alert('el valor del precio en la posicion 0 es: ' + arrayPrecio[0].value);
    //alert('el valor del precio en la posicion 1 es: ' + arrayPrecio[1].value);
    //alert('lo que vale sueltos y enPack antes de entrar en el for: ' + sueltos + '' + enPack);
    
    //Enviamos ocultos los campos que tiene el producto principal (está en la posición 0)
    
    formularioDinamico.innerHTML += "<input type='hidden' name='codAccesorioPack' value='"+arrayCodigoPrincipal[0].value+"'>";
	formularioDinamico.innerHTML += "<input type='hidden' name='precioProd' value='"+arrayPrecioPrincipal[0].value+"'>";
	formularioDinamico.innerHTML += "<input type='hidden' name='soloWeb' value='"+arraySoloWebPrincipal[0].value+"'>";
	formularioDinamico.innerHTML += "<input type='hidden' name='maxUnidCompra' value='"+arrayMaxUnidPrincipal[0].value+"'>";
	formularioDinamico.innerHTML += "<input type='hidden' name='iva' value='"+arrayIvaPrincipal[0].value+"'>";

	//Creamos también el campo para el precio de no estar en pack, para ver la diferencia que se ahorra
	formularioDinamico.innerHTML += "<input type='hidden' name='precioProdPackSuelto' value='"+arrayPrecioSueltoPrincipal[0].value+"'>";
	var contador = 0;
    
    for (contador=1; contador<=arrayCodigo.length; contador++) {
			//alert('contador: ' + contador);
	    	//alert(eval('auxiliar.option'+contador+'.checked'));
    	
		if (eval('auxiliar.option'+contador+'.checked')) {
			//alert('entra en el if');
			//alert('el contador vale: ' + contador);
			formularioDinamico.innerHTML += "<input type='hidden' name='codAccesorioPack' value='"+arrayCodigo[contador-1].value+"'>";
			formularioDinamico.innerHTML += "<input type='hidden' name='precioProd' value='"+arrayPrecio[contador-1].value+"'>";
			formularioDinamico.innerHTML += "<input type='hidden' name='soloWeb' value='"+arraySoloWeb[contador-1].value+"'>";
			formularioDinamico.innerHTML += "<input type='hidden' name='maxUnidCompra' value='"+arrayMaxUnid[contador-1].value+"'>";
			formularioDinamico.innerHTML += "<input type='hidden' name='iva' value='"+arrayIva[contador-1].value+"'>";

			//Creamos también el campo para el precio de no estar en pack, para ver la diferencia que se ahorra
			formularioDinamico.innerHTML += "<input type='hidden' name='precioProdPackSuelto' value='"+arrayPrecioSuelto[contador-1].value+"'>";
			
			if(pintaVariable == 0) {
				formularioDinamico.innerHTML += "<input type='hidden' name='accion' value='' >";
				pintaVariable = 1;
			}
				
			
			marcado = 1;
			//alert('sale del if');
		}
	}
	if(marcado == 0) {
		alert('No has elegido ningún complemento para tu artículo');
	} else {
		//alert('has elegido algún accesorio');
		comprarPack(formularioDinamico,parametro); 
	}
	//alert('lo que vale sueltos y enPack despues de entrar en el for: ' + sueltos + '' + enPack);
	//formularioDinamico.innerHTML += "<p>Precio al comprarlo suelto</p><input type='text' name='preciosSueltos' value='"+sueltos+"'>";
	//formularioDinamico.innerHTML += "<p>Precio al comprarlo en pack</p><input type='text' name='preciosPacks' value='"+enPack+"'>";
    
      
    //alert(datos);
    //testea_formularios(formularioDinamico,'Formulario nuevo');
}

function RecursiveGet(control)
{
    var text = "";
    var i = 0;
    if(control != null) {
        for (; i < control.childNodes.length; i = i + 1) {
            if (control.childNodes[i].type == "checkbox") {
                if (control.childNodes[i].checked) {
                    text = text + control.childNodes[i].id + '|';
                }
            } else {
                text = text + RecursiveGet(control.childNodes[i]);
            }
        }
    }
    return text;
}

function testea_formularios(formulario_actual,nombre_ventana) {
if (!nombre_ventana) nombre_ventana='Formulario Actual';var formulario = formulario_actual;if (formulario==null) alert('<' + nombre_ventana + '>\n\nNo existe el formulario');else {var listado = '<' + nombre_ventana + '>\n\n';listado = listado + 'Nombre:' +formulario.name +'\n';listado = listado + 'Metodo:' +formulario.method +'\n';listado = listado + 'Target:' +formulario.target +'\n';listado = listado + 'Accion:' +formulario.action +'\n';listado = listado + '_______________' + '\n\n';var contador;var nombre;var valor;if (formulario.elements==null || formulario.elements.length==0) alert(listado + 'No tiene elementos');else {var tamanoMaximo=25;var tamanoBuffer=0;for (contador=0;contador<formulario.elements.length;contador=contador+tamanoMaximo) {if (contador>0) listado='';if (contador+tamanoMaximo>formulario.elements.length) tamanoBuffer=formulario.elements.length;else tamanoBuffer=contador+tamanoMaximo;for (contador2=contador;contador2<tamanoBuffer;contador2++) {nombre=formulario.elements[contador2].name;if (nombre==null || nombre=='') nombre='<desconocido>';valor = formulario.elements[contador2].value;listado = listado + nombre + ':' + valor + '\n';}alert(listado);}}}
}

/*function comprueba(control) {
    if(control.checked)
    {
        var precioActual = document.getElementById("pPrecioSumatorio").innerText;//Precio que se pinta en el html TOTAL
        alert('precio que se está pintando: ' + precioActual);
        var idPosicion = parseInt(control.valueOf);//Posicion del elemento seleccionado
        alert('posicion del elemento seleccionado: ' + idPosicion);
        var precioPaquete = preciosPacks[idPosicion];//Precio pack del elemento seleccionado //Mando de la wii
        document.getElementById("pPrecioSumatorio").innerText = Math.round((precioActual + precioPaquete)*100)/100; //Suma de los dos precios y pintado en pantalla

    }
    else
    {
        var precioActual = document.getElementById("pPrecioSumatorio").innerText;
        var idPosicion = parseInt(control.valueOf);
        var precioPaquete = preciosPacks[idPosicion];
        document.getElementById("pPrecioSumatorio").innerText = Math.round((precioActual - precioPaquete)*100)/100;
        
    }
}*/

function actualizaValores(control) {
	var	preciosPacks = document.getElementsByName('precioProdConstruccion');
    var precioPackSuelto = control.precioSuelto.value;
    var	preciosSinPacks = document.getElementsByName('precioProdSueltoConstruccion');
    var precioSinPackSuelto = control.precioSin.value;
    var contador = 0;
    if(control != null) {
		for (contador=0;contador<control.elements.length;contador++) {
            if (control.elements[contador].type == "checkbox") {
                if (control.elements[contador].checked) {
                	posic=control.elements[contador].getAttribute('posicion');
                    precioPackSuelto=eval(precioPackSuelto)+eval(preciosPacks[posic-1].value);
                    precioSinPackSuelto=eval(precioSinPackSuelto)+eval(preciosSinPacks[posic-1].value);
                }
            }
		}
		/*
        for (; i < control.childNodes.length; i = i + 1) {
        	alert('entra en el for:'+control.childNodes[i].type);
        	alert(control.childNodes[i].id+"-"+control.childNodes[i].name);
            if (control.childNodes[i].type == "checkbox") {
            	alert('alert encuentra en el formulario elementos checkbox');
                if (control.childNodes[i].checked) {
                	alert('encuentra elementos checkbox seleccionados');
                	posic=control.childNodes[i].getAttribute('posicion');
                	alert('el valor de posic es: ' + posic);
                    precioPackSuelto=eval(precioPackSuelto)+eval(preciosPacks[posic-1].value);
                    alert('el valor de precioPackSuelto es: ' + precioPackSuelto);
                    precioSinPackSuelto=eval(precioSinPackSuelto)+eval(preciosSinPacks[posic-1].value);
                    alert('el valor de precioSinPackSuelto es: ' + precioSinPackSuelto);
                    
                }
            }
        }
        */
    }
    cuenta = eval(precioSinPackSuelto) - eval(precioPackSuelto);
    
    //Llamamos a la función arreglaPrecio para que nos formatée las cuentas de los precios
    
    var auxSuelto = Math.round((precioPackSuelto)*100)/100;
    var auxSin = Math.round((precioSinPackSuelto)*100)/100;
    var diferencia = Math.round((cuenta)*100)/100;
    
    arreglaPrecio(auxSuelto, auxSin, diferencia);
    
    //document.getElementById("pPrecioSumatorio").innerHTML = auxSuelto;
    //document.getElementById("pPrecioSumatorioSin").innerHTML = auxSin;
    //document.getElementById("pPrecioDiferencia").innerHTML = diferencia;
}

function arreglaPrecio (precioSuelto, precioPack, ahorro) {
	
	var encuentra1 = 0;
	var auxiliar1 = ""+ precioSuelto + "";
	auxiliar1 = auxiliar1.replace(".",",");
	for(i=0;i<auxiliar1.length;i++) {
		if(auxiliar1.charAt(i)==",") {
			encuentra1 = 1;
		}
	}
	if(encuentra1==0) {
		auxiliar1 = auxiliar1+",00";
	}
	
	var encuentra2 = 0;
	var auxiliar2 = ""+ precioPack + "";
	auxiliar2 = auxiliar2.replace(".",",");
	for(i=0;i<auxiliar2.length;i++) {
		if(auxiliar2.charAt(i)==",") {
			encuentra2 = 1;
		}
	}
	if(encuentra2==0) {
		auxiliar2 = auxiliar2+",00";
	}

	
	var encuentra3 = 0;
	var auxiliar3 = ""+ ahorro + "";
	auxiliar3 = auxiliar3.replace(".",",");
	for(i=0;i<auxiliar3.length;i++) {
		if(auxiliar3.charAt(i)==",") {
			encuentra3 = 1;
		}
	}
	if(encuentra3==0) {
		auxiliar3 = auxiliar3+",00";
	}

	
	document.getElementById("pPrecioSumatorio").innerHTML = auxiliar1+" &euro;";
	document.getElementById("pPrecioSumatorioSin").innerHTML = auxiliar2+" &euro;";
	document.getElementById("pPrecioDiferencia").innerHTML = auxiliar3+" &euro;";
}