//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;
    enviarFormulario(formu,act);
}

//funcion para la compra de accesorios
function comprarAccesorio(formu,act,accesorio,codProducto,cantidad,precio,soloWeb,maxUnidCompra,soloWebPadre,maxUnidCompraPadre){
    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;
    enviarFormulario(formu,act);
}

//funcion para la compra de accesorios para venta cruzada
function comprarAccesorioVC(formu,act,codAccesorio,codPadre,cantidadAccesorio,precioAccesorio,cantPadre,precioProdPadre,soloWeb,maxUnidCompra,soloWebPadre,maxUnidCompraPadre){
    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) ventanaCompra('popUpVCOK.jsp');
    enviarFormulario(formu,act);
}

function borrarCarrito(formu,act,index){
    formu.accion.value='borrar_prod';
    formu.indexProd.value=index;
    enviarFormulario(formu,act);
}

function anadirCheque(formu,act){
    if (formu.cheque.value=="") {
    	alert(errorStrings[0]);
    } else {
	    formu.accion.value='anadir_cheque';
        enviarFormulario(formu,act);
    }
}

function vaciarCarrito(formu,act){
    formu.accion.value='vaciar_carrito';
    enviarFormulario(formu,act);
}

function modificarCarrito(formu,act,index,field){
    formu.accion.value='modificar_prod';
    formu.cantidad.value=field.value;
    formu.indexProd.value=index;
    enviarFormulario(formu,act);
}

//Función de compra para el carrito
function comprarAccesorioCarrito(formu,act,codProducto,cantidad,precio,soloWeb,maxUnidCompra){
	formulario=window.opener.document.forms[formu];
    formulario.accion.value='anadir_prod';
    formulario.cantidad.value=cantidad;
    formulario.precioProd.value=precio;
    formulario.codProducto.value=codProducto;
    formulario.soloWeb.value=soloWeb;
    formulario.maxUnidCompra.value=maxUnidCompra;
    window.opener.enviarFormulario(formulario,act);
    window.opener.focus();
    window.close();
}

//Funciones específicas del carrito
//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>");
}

// 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";
}

//funcion para la compra de packs
function comprarPack(formu,act){
	//alert(formu.accion.value);
    //formu.accion.value='comprar_pack';
    formu.accion.value='comprar_pack_vc_obligatoria';
	//alert(formu.accion.value);
    var reg = "carrito.jsp";
    if(act.indexOf(reg)==-1) ventanaCompra('popUpVCOK.jsp');
    enviarFormulario(formu,act);
}

//funcion para crear un formulario dinámico que recoge los datos del producto elegido para formar un pack
function creaFormularioDinamico(tam, formu,act){
	//alert('entra en la funcion crearFormularioDinamico');
	//alert('el tamaño es: ' + tam);
	var nombre = "option" +1;
	//alert('el valor de nombre es: ' + nombre);
    
}


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 posic;
    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) {
                	posic=control.childNodes[i].getAttribute('posicion');
                    precioPackSuelto=eval(precioPackSuelto)+eval(preciosPacks[posic-1].value);
                }
            }
        }
    }
    document.getElementById("pPrecioSumatorio").innerHTML = Math.round((precioPackSuelto)*100)/100;
}