// JavaScript Document

function muestraOcultaElementoMenu(elemento){
	if(document.getElementById(elemento).style.display=="none"){
		document.getElementById(elemento).style.display="block";
	}else{
		document.getElementById(elemento).style.display="none";	
	}	
}

function validaNumeroEntero(campo, defecto){
	var mensaje=""
	var validado=true;
	if(campo.value==""){
		campo.value=defecto;
	}
	if(isNaN(campo.value)==true){
		mensaje=mensaje+"Por favor, introduzca un valor numérico entero.\n"; 
		campo.value=defecto;
		validado=false;
	}
	if(campo.value<=0){
		mensaje=mensaje+"Por favor, introduzca un número mayor o igual a 1.\n"; 
		campo.value=defecto;
		validado=false;
	}
	if(validado==false){
		alert(mensaje);
		campo.focus();
	}else{
		campo.value=Math.ceil(campo.value)
	}
	
}
function valida_nif_cif_nie(cf) {
	//Copyright (C) 2006 David Vidal Serra. Bajo licencia GNU GPL.
	//Este software viene SIN NINGUN TIPO DE GARANTIA; para saber mas detalles
	//puede consultar la licencia en http://www.gnu.org/licenses/gpl.txt
	//Esto es software libre, y puede ser usado y redistribuirdo de acuerdo
	//con la condicion de que el autor jamas sera responsable de su uso.
	//Returns: 1 = NIF ok, 2 = CIF ok, 3 = NIE ok, -1 = NIF bad, -2 = CIF bad, -3 = NIE bad, 0 = ??? bad
	cf = cf.toUpperCase();
	var num=new Array();
	var i;
	
	var lista_letras="TRWAGMYFPDXBNJZSQVHLCKE"
	
	for (i=0;i<9;i++){
		num[i] = cf.substr(i, 1);
	}
	
	//si no tiene un formato valido devuelve error
	if (cf.search('((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)')){
		return 0;
	}
	
	//comprobacion de NIFs estandar
	if (!cf.search('(^[0-9]{8}[A-Z]{1}$)')){
		if (num[8] == lista_letras.substr(cf.substr(0, 8) % 23, 1)){
			return 1;
		}
		else{
			return -1;
		}
	}
	//algoritmo para comprobacion de codigos tipo CIF
	var suma=0, doble, suma2, n;
	var elem_1, elem_2
	suma = parseInt(num[2]) + parseInt(num[4]) + parseInt(num[6]);
	//alert(suma);
	for (i = 1; i < 8; i += 2) {
		doble=2 * num[i];
		doble=doble.toString();
		//alert("doble  de "+i+"= " + doble);
		elem_1= parseInt(doble.substr(0, 1));
		elem_2=parseInt(doble.substr(1, 1));
		if(isNaN(elem_2)==true){ elem_2=0; }
		suma = suma + elem_1 + elem_2;
		//alert("suma= " + suma);
	}
	suma2=suma.toString();
	n = 10 - parseInt(suma2.substr(suma2.length - 1, 1));
	var n2=n.toString();
			
	//comprobacion de NIFs especiales (se calculan como CIFs)
	if (!cf.search('^[KLM]{1}')){
		if (num[8] == String.fromCharCode(64 + n)){
			return 1;
		}
		else{
			return -1;
		}
	}
	
	//alert(num[8] + " - " + String.fromCharCode(64 + n) + " - " + n2.substr(n2.length - 1, 1));
	
	//comprobacion de CIFs
	if (!cf.search('^[ABCDEFGHNPQS]{1}')){
		if (num[8] == String.fromCharCode(64 + n) || num[8] == n2.substr(n2.length - 1, 1)){
			return 2;
		}
		else{
			return -2;
		}
	}
	
	//comprobacion de NIEs
	if (!cf.search('^[TX]{1}')){
		var cf_reemplazada=cf.replace('X', '0');
		
		if (num[8] == lista_letras.substr(cf_reemplazada.substr(0, 8) % 23, 1)  || !cf.search('^[T]{1}[A-Z0-9]{8}$')){
			return 3;
		}
		else{
			return -3;
		}
	}
		
	//si todavia no se ha verificado devuelve error 
	return 0;

}

function comprar(formulario, id_producto, ruta){
	var cantidad;
	cantidad=eval("formulario.cantidad_"+id_producto+".value");
	window.location=ruta+"carrito-aniadir.php?id_producto=" + id_producto + "&cantidad=" + cantidad
}

function validaFormContacto(formulario){
	var validado=true;
	var mensaje="";
	if(formulario.nombre_empresa.value=="" || formulario.correo.value=="" || formulario.mensaje.value=="" || formulario.verificacion.value==""){
		mensaje=mensaje+"Por favor, rellene todos los campos obligatorios.\n";
		validado=false;
	}
	if(formulario.correo.value!="" && formulario.correo.value.search(/^[\w-\.]{3,}@([\w-]{2,}\.)*[\w-]{2,}\.[\w-]{2,4}$/ig)){
		validado=false;
		mensaje=mensaje+"Por favor, introduzca un correo con formato requerido.\n";
	}
	if(formulario.verificacion.value!="" && formulario.verificacion.value!=200){
		validado=false;
		mensaje=mensaje+"Por favor, escriba 200 en la casilla de verificación.\n";
	}
	if(validado==false){
		alert(mensaje);
	}
	return validado;
}

function validaFormPresupuesto(formulario){
	var validado=true;
	var mensaje="";
	if(formulario.nombre_empresa.value=="" || formulario.correo.value=="" || formulario.mensaje.value=="" || formulario.verificacion.value==""){
		mensaje=mensaje+"Por favor, rellene todos los campos obligatorios.\n";
		validado=false;
	}
	if(formulario.correo.value!="" && formulario.correo.value.search(/^[\w-\.]{3,}@([\w-]{2,}\.)*[\w-]{2,}\.[\w-]{2,4}$/ig)){
		validado=false;
		mensaje=mensaje+"Por favor, introduzca un correo con formato requerido.\n";
	}
	if(formulario.verificacion.value!="" && formulario.verificacion.value!=200){
		validado=false;
		mensaje=mensaje+"Por favor, escriba 200 en la casilla de verificación.\n";
	}
	if(validado==false){
		alert(mensaje);
	}
	return validado;
}

function validaFormModificarCliente(formulario){
	var validado=true;
	var mensaje="";
	if(formulario.nombre.value=="" || formulario.direccion.value=="" || formulario.codigo_postal.value=="" || formulario.pais.value=="" || formulario.telefono1.value=="" || formulario.correo.value==""){
		mensaje=mensaje+"Por favor, rellene todos los campos obligatorios\n";
		validado=false;
	}
	if(formulario.correo.value!="" && formulario.correo.value.search(/^[\w-\.]{3,}@([\w-]{2,}\.)*[\w-]{2,}\.[\w-]{2,4}$/ig)){
		validado=false;
		mensaje=mensaje+"Por favor, introduzca un correo con formato requerido.\n";
	}
	if(formulario.contrasena.value!=formulario.contrasena2.value){
		validado=false;
		mensaje=mensaje+"Las contraseñas no coinciden.\n";
	}
	if(formulario.pais.value=="España" && formulario.provincia.value=="0"){
		validado=false;
		mensaje=mensaje+"Por favor, indique la provincia.\n";
	}
	if(validado==false){
		alert(mensaje);
	}
	return validado;
}

function validaFormCliente(formulario){
	var validado=true;
	var mensaje="";
	
	if(formulario.usuario.value=="" || formulario.contrasena.value=="" || formulario.nif_cif.value=="" || formulario.nombre.value=="" || formulario.direccion.value=="" || formulario.codigo_postal.value=="" || formulario.pais.value=="" || formulario.telefono1.value=="" || formulario.correo.value==""){
		mensaje="Por favor, rellene todos los campos obligatorios.\n";
		validado=false;
	}
	else if(formulario.correo.value!="" && formulario.correo.value.search(/^[\w-\.]{3,}@([\w-]{2,}\.)*[\w-]{2,}\.[\w-]{2,4}$/ig)){
		validado=false;
		mensaje="Por favor, introduzca un correo con formato requerido.\n";
	}
	else if(formulario.contrasena.value!=formulario.contrasena2.value){
		validado=false;
		mensaje="Las contraseñas no coinciden.\n";
	}
	else if(formulario.pais.value=="España" && formulario.provincia.value=="0"){
		validado=false;
		mensaje="Por favor, indique la provincia.\n";
	}
	else if(formulario.acepto_condiciones.checked==false){
		validado=false;
		mensaje="Por favor, acepte las condiciones de compra y la política de privacidad de Grupo ACRE.\n";
	}
	if(validado==false){
		alert(mensaje);
	}
	return validado;
}

function validaCondicionesCompra(formulario){
	var validado=true;
	var mensaje="";
	
	if(formulario.acepto_condiciones.checked==false){
		validado=false;
		mensaje=mensaje+"Por favor, acepte las condiciones de compra y la política de privacidad de Grupo ACRE.\n";
	}
	if(validado==false){
		alert(mensaje);
	}
	return validado;	
}
function vuelve_mostrar_frm_cliente(){
	document.getElementById("fondo_alta_cliente").style.top="-10000px";
	document.getElementById("fondo_alta_cliente").style.left="-10000px";
	document.getElementById("aceptar_alta_cliente").style.top="-10000px";
	document.getElementById("aceptar_alta_cliente").style.left="-10000px";
	document.getElementById("ok_alta_cliente").style.top="-10000px";
	document.getElementById("ok_alta_cliente").style.left="-10000px";
}

function vuelve_mostrar_frm_finalizar_pedido(){
	document.getElementById("fondo_finalizar_pedido").style.top="-10000px";
	document.getElementById("fondo_finalizar_pedido").style.left="-10000px";
	document.getElementById("error_finalizar_pedido").style.top="-10000px";
	document.getElementById("error_finalizar_pedido").style.left="-10000px";
}

function validaFormLoginCliente(formulario){
	var validado=true;
	var mensaje="";
	if(formulario.usuario.value=="" || formulario.contrasena.value==""){
		mensaje=mensaje+"Por favor, introduzca los dos campos.\n";
		validado=false;
	}
	if(validado==false){
		alert(mensaje);
	}else{
		document.getElementById("fondo_alta_cliente").style.top=0;
		document.getElementById("fondo_alta_cliente").style.left=0;	
	}
	return validado;
}
function vuelve_mostrar_frm_login(){
	document.getElementById("fondo_alta_cliente").style.top="-10000px";
	document.getElementById("fondo_alta_cliente").style.left="-10000px";
	document.getElementById("error_login_cliente").style.top="-10000px";
	document.getElementById("error_login_cliente").style.left="-10000px";
}
function muestraOcultaTabProducto(capa){
	document.getElementById("tab_imagenes").style.display="none";
	document.getElementById("tab_descargas").style.display="none";
	document.getElementById("tab_comparativa").style.display="none";
	document.getElementById("tab_relacionados").style.display="none";
	
	document.getElementById("htab_imagenes").style.backgroundColor="#eeeeee";
	document.getElementById("htab_descargas").style.backgroundColor="#eeeeee";
	document.getElementById("htab_comparativa").style.backgroundColor="#eeeeee";
	document.getElementById("htab_relacionados").style.backgroundColor="#eeeeee";
	
	document.getElementById("htab_imagenes").style.borderBottom="1px solid #cccccc";
	document.getElementById("htab_descargas").style.borderBottom="1px solid #cccccc";
	document.getElementById("htab_comparativa").style.borderBottom="1px solid #cccccc";
	document.getElementById("htab_relacionados").style.borderBottom="1px solid #cccccc";
	
	document.getElementById("htab_imagenes").style.fontWeight="normal";
	document.getElementById("htab_descargas").style.fontWeight="normal";
	document.getElementById("htab_comparativa").style.fontWeight="normal";
	document.getElementById("htab_relacionados").style.fontWeight="normal";
	
	
	document.getElementById("h"+capa).style.backgroundColor="#ffffff";
	document.getElementById("h"+capa).style.borderBottom="0px";
	document.getElementById("h"+capa).style.fontWeight="bold";
	document.getElementById(capa).style.display="block";
}
