var dirCodPostalValido = "Debe introducir un código postal válido";
var dirElegirAct = "Debe elegir al menos una actividad";
var dirElegirSector = "Debe elegir al menos un sector";
var dirFaxValido = "Debe introducir un número de fax válido";
var dirIntroducirCorreo = "Debe introducir una dirección de correo";
var dirIntroducirTelef = "Debe introducir un número de teléfono";
var dirTelefValido = "Debe introducir un número de teléfono válido";
var dirIntroducirCodPostal = "Debe introducir un código postal";
var dirNumCaracteresCIF = "Introduzca 9 caracteres para el campo CIF.";
var dirNumCaracteresNIF = "Introduzca 9 caracteres para el campo NIF.";
var dirIntroducirEmpresa = "Debe introducir una empresa";
var dirIntroducirDireccion = "Debe introducir una direccion";
var dirIntroducirPoblacion = "Debe introducir una poblacion";
var dirIntroducirProvincia = "Debe introducir una provincia";
var dirLongitudCampo = "La longitud del campo es de [numero] caracteres";

/*
* Función que valida que el código postal sea correcto
* y envía el formulario con los datos de la búsqueda
*/
function buscar (jsp){
	if ( document.form1.codigoPostal.value != ''){
		if(!esNumeroValido(document.form1.codigoPostal.value)){
			return;
		}else{
			if (document.form1.codigoPostal.value.length!=5){
				alert(dirCodPostalValido);
				return;
			}else{
				form1.action = jsp;
				form1.submit();
			}
		}
	}else{
		form1.action = jsp;
		form1.submit();
	}
}

/*
* Función que busca la página que se le pasa como parámetro
*/
function irAPagina(jsp){
	form1.action=jsp;
	form1.submit();
}

/*
* Función que busca la página que se le pasa como parámetro
*/
function damePagina(pagina,jsp){
	document.formDirectorio.action=jsp;
	document.formDirectorio.pagina.value=pagina;
	document.formDirectorio.submit();
}

/*
* Función para ver el detalle de un instalador o almacenista
*/
function verDetalle(tipo, id){
	var ancho = 520;
	var alto = 260;
	if (document.all) var xMax = screen.width, yMax = screen.height;
	else
		if (window.outerWidth){
			var xMax = window.outerWidth, yMax = window.outerHeight;
		}
		else{
			var xMax = 800, yMax=600;
		}
	var xOffset = (xMax - ancho)/2, yOffset = (yMax - alto)/2 - 30;
	var parametros = 'scrollbars=yes,status=no,toolbar=no,location=no,directories=no,menubar=no,resizable=0,width='+ancho+',height='+alto+',top='+yOffset+',left='+xOffset;

	if ( tipo == 'almacenista'){
		var jsp="almac_detalleFlotante.jsp?ID="+id+"&TIPO="+tipo;
		window.open(jsp,'Flotante_DetalleAlmacenista',parametros);
	}else{
		var jsp="instalad_detalleFlotante.jsp?ID="+id+"&TIPO="+tipo;
		window.open(jsp,'Flotante_DetalleAlmacenista',parametros);
	}
}

/*
*  Función que valida que los datos introducidos son correctos para dar de alta
*/
function darAlta(tipo, jsp,  funcion){
	//Comprobar campos comunes
	if ( !comprobarCamposComunes()){
		return;
	}else{
		if ( tipo =='instalador'){
			//Comprobar
			//nif, movil
			//if ( !comprobarDatosInstalador()){
			//	return;
			//}
			 if ( document.form1.aire.checked == false && document.form1.calefaccion.checked == false){
				alert(dirCodPostalValido);
				return;
			}else{
				form1.action=jsp;
				if (funcion == 'modificacion'){
					document.form1.FUNCION.value="MODIFICACION";
				}else{
					document.form1.FUNCION.value="ALTA";
				}
				document.form1.nombre_provincia.value = document.form1.idProvincia.options[document.form1.idProvincia.selectedIndex].text;
				form1.submit();
			}
		}else{
		  //tipo almacenista
		  //comprobar productos, actividad
			//if (!comprobarDatosAlmacenista()){
			//	return;
			//}
			if ( document.form1.aire.checked == false && document.form1.calefaccion.checked == false){
                                  alert(dirElegirSector);
                                  return;
			}else{
                                  form1.action=jsp;
                                  if (funcion == 'modificacion'){
                                          document.form1.FUNCION.value="MODIFICACION";
                                  }else{
                                          document.form1.FUNCION.value="ALTA";
                                  }
                                  document.form1.nombre_provincia.value = form1.idProvincia.options[form1.idProvincia.selectedIndex].text;
                                  form1.submit();
			}
		}
	}
}

/*
* Función que comprueba que se ha introducido un fax y que es válido
*/
function faxValido(campo){
	if (campo.value==''){
		return true;
	}else{
		//si es numerico
		if(!esNumeroValido(campo.value)){
			return false;
		}else{
			if (campo.value.length!=9){
				alert(dirFaxValido);
				return false;
			}else{
				return true;
			}
		}
	}
}

/*
* Función que comprueba que se ha introducido una dirección de correo y que es válido
*/
function direccionCorreoValida( campo ){
	if (campo.value==''){
		alert(dirIntroducirCorreo);
		return false;
	}else{
		//si es numerico
		if(!checkMail(campo)){
			return false;
		}else{
			return true;
		}
	}
}

/*
* Función que comprueba que se ha introducido un número de teléfono y que es válido
*/
function telefonoValido(campo){
	if (campo.value==''){
		alert(dirIntroducirTelef);
		return false;
	}else{
		//si es numerico
		if(!esNumeroValido(campo.value)){
			return false;
		}else{
			if (campo.value.length!=9){
				alert(dirTelefValido);
				return false;
			}else{
				return true;
			}
		}
	}
}

/*
* Función que comprueba que se ha introducido un código postal y que es válido
*/
function codigoPostalValido(campo){
	if (campo.value==''){
		alert(dirIntroducirCodPostal);
		return false;
	}else{
		//si es numerico
		if(!esNumeroValido(campo.value)){
			return false;
		}else{
			if (campo.value.length!=5){
				alert(dirCodPostalValido);
				return false;
			}else{
				return true;
			}
		}
	}
}

/*
* Función que comprueba que el CIF introducido es válido
*/
function checkCIF(campo){
   var valor = campo.value.toUpperCase();
   if (valor.length != 9 && valor.length != 0){
   	alert(dirNumCaracteresCIF);
   	campo.focus();
   }else if(valor.length == 9){
	var toWork = new String(valor.substring(0,9));
	var first = toWork.substring(0,1);
	//var letraCIF = new String ('ABCDEFGHPQS');
	var letraOrg = new String('PQS');
	var isOrg = (letraOrg.indexOf (first) >=0);
	return verificaCIF(toWork, isOrg,campo);
   }
}

/*
* Función que comprueba que el NIF introducido es válido
*/
function checkNIF(campo){
   var valor = campo.value.toUpperCase();
   if (valor.length != 9 && valor.length != 0){
   	alert(dirNumCaracteresNIF);
   	campo.focus();
   }else if(valor.length == 9){
	var toWork = new String(valor.substring(0,9));
	return verificaNIF(toWork,campo);
   }
}

/*
* Función que comprueba que no se ha excedido el número de caracteres en el textarea
*/
function comprobarTextArea(campo, numero){
	if ( campo.value==''){
		return true;
	}else{
		if ( campo.value.length>numero){
			alert(dirLongitudCampo.replace("[numero]",numero));
			return false;
		}else{
			return true;
		}
	}
}

/*
* Función que comprueba los datos comunes de los formularios de instaladores y almacenistas
*/
function comprobarCamposComunes(){
	//cif, codPostal, telefono, fax,email,web, marcas
	if ( document.form1.empresa.value == ''){
		alert(dirIntroducirEmpresa);
		form1.empresa.focus();
		return false;

	}else{
		if ( document.form1.cif.value!= ''){
			if (!checkCIF(document.form1.cif)){
				document.form1.cif.focus();
				return false;
			}
		}
		if ( document.form1.direccion.value == ''){
			alert(dirIntroducirDireccion);
			document.form1.direccion.focus();
			return false;
		}else if ( document.form1.poblacion.value == ''){
                        alert(dirIntroducirPoblacion);
                        document.form1.poblacion.focus();
                        return false;
		}else if ( document.form1.idProvincia.value==''){
                        alert(dirIntroducirProvincia);
                        document.form1.idProvincia.focus();
                        return false;
                }else if (!codigoPostalValido(document.form1.codigoPostal)){
                        document.form1.codigoPostal.focus();
                        return false;
                }else if ( !telefonoValido(document.form1.telefono)){
                        document.form1.telefono.focus();
                        return false;
                }else if ( !faxValido ( document.form1.fax)){
                        document.form1.fax.focus();
                        return false;
                }else if ( !direccionCorreoValida(document.form1.email)){
                        document.form1.email.focus();
                        return false;
                }else{
                        return true;
                }
	}
}

/*
* Función que comprueba los datos propios del instalador
*/
function comprobarDatosInstalador(){
	//nif, movil
	if ( document.form1.nif.value!= ''){
		if (!checkNIF(document.form1.nif)){
			document.form1.nif.focus();
			return false;
		}
	}
	if (document.form1.movil.value!= ''){
		if ( !telefonoValido(document.form1.movil)){
			document.form1.movil.focus();
			return false;
		}
	}
	return true;
}

/*
* Función que comprueba los datos propios del almacenista
*/
function comprobarDatosAlmacenista(){
	//comprobar productos, actividad
	if ( !comprobarTextArea(document.form1.productos, 500)){
		document.form1.productos.focus();
		return false;
	}else{
		if ( !comprobarTextArea(document.form1.actividad, 500)){
			document.form1.actividad.focus();
			return false;
		}else{
			return true;
		}
	}
}

/*
* Función para ver la pagina web del instalador o el almacenista
*/
function abrirVentanaURL(paginaURL){
	window.open(paginaURL);
}
function comprobarCamposComunes2(){
	//cif, codPostal, telefono, fax,email,web, marcas
	if ( document.form1.empresa.value == ''){
		alert("Debe introducir una empresa");
		document.form1.empresa.focus();
		return false;
	}else if ( document.form1.nombre.value == ''){
		alert("Debe introducir un nombre");
		document.form1.nombre.focus();
		return false;

	}else if ( document.form1.apellidos.value == ''){
		alert("Debe introducir apellidos");
		document.form1.apellidos.focus();
		return false;
	}else{
		if (document.form1.cif.value != "" || document.form1.nif.value != ""){
			if (document.form1.cif.value != "" && !checkCIF(document.form1.cif)){
				document.form1.cif.focus();
				return false;
			}
			if (document.form1.nif.value != ""){
				if(!checkNIF(document.form1.nif)){
					document.form1.nif.focus();
					return false;
				}
			}
		}else{
			alert("Introduzca el NIF o el CIF");
			formCreacion.NIF.focus();			
			return false;
		}
		if ( document.form1.direccion.value == ''){
			alert("Debe introducir una direccion");
			document.form1.direccion.focus();
			return false;
		}else if ( document.form1.poblacion.value == ''){
                        alert("Debe introducir una poblacion");
                        document.form1.poblacion.focus();
                        return false;
		}else if ( document.form1.idProvincia.value==''){
                        alert("Debe introducir una provincia");
                        document.form1.idProvincia.focus();
                        return false;
                }else if (!codigoPostalValido(document.form1.codigoPostal)){
                        document.form1.codigoPostal.focus();
                        return false;
                }else if ( !telefonoValido(document.form1.telefono)){
                        document.form1.telefono.focus();
                        return false;
                }else if ( !direccionCorreoValida(document.form1.email)){
                        document.form1.email.focus();
                        return false;
                }else{
                        return true;
                }
	}
}
/*
* Función que comprueba los datos propios del instalador
*/
function comprobarDatosInstalador2(){
	//nif, movil
	if ( document.form1.nif.value!= ''){
		if (!checkNIF(document.form1.nif)){
			document.form1.nif.focus();
			return false;
		}
	}
	if (document.form1.movil.value!= ''){
		if ( !telefonoValido(document.form1.movil)){
			document.form1.movil.focus();
			return false;
		}
	}
	return true;
}
function darAlta2(tipo, jsp, funcion){
	//Comprobar campos comunes
	if ( !comprobarCamposComunes2()){
		return;
	}
		
			//Comprobar
			//nif, movil
			if ( !comprobarDatosInstalador2()){
				return;
			}else if ( document.form1.aire.checked == false && document.form1.calefaccion.checked == false && document.form1.renovables.checked == false){
					alert("Debe elegir al menos una actividad");
					return;
			}else if ( document.form1.URL0.checked == false && document.form1.URL1.checked == false){
				alert("Campo Tiene Página Web no rellenado");
				return;
			}else if ( document.form1.LOCAL0.checked == false && document.form1.LOCAL1.checked == false){
				alert("Campo Tiene Local no rellenado");
				return;
			}else if ( document.form1.PUBLICO0.checked == false && document.form1.PUBLICO1.checked == false){
				alert("Campo Tiene tienda abierta al público no rellenado");
				return;
			}else if ( document.form1.EXPOSICION0.checked == false && document.form1.EXPOSICION1.checked == false){
				alert("Campo Exposición de producto no rellenado");
				return;
				}else{
					if ( document.form1.URL0.checked ){
						if(document.form1.url.value == ''){
						alert("Campo URL no rellenado");
						return;
						}
					}
					document.form1.action=jsp;
					if (funcion == 'modificacion'){
						document.form1.FUNCION.value="MODIFICACION";
					}else{
						if(document.form1.ACCESO_AREAPRIVADA0.checked){
							var input3;
							input3 = document.createElement('INPUT');
							input3.type = "hidden";
							input3.name = 'ACCESO_AREAPRIVADA0';
							input3.value= document.form1.ACCESO_AREAPRIVADA0.value;
							document.form1.appendChild(input3);
						}else if(document.form1.ACCESO_AREAPRIVADA1.checked){
							var input4;
							input4 = document.createElement('INPUT');
							input4.type = "hidden";
							input4.name = 'ACCESO_AREAPRIVADA1';
							input4.value= document.form1.ACCESO_AREAPRIVADA1.value;
							document.form1.appendChild(input4);
						}
						var input1;
						input1 = document.createElement('INPUT');
						input1.type = "hidden";
						input1.name = 'formularioOrigenSocio';
						input1.value= 'Alta directorio instaladores Vaillant';
						document.form1.appendChild(input1);
						document.form1.LOGIN.disabled = false;
						document.form1.FUNCION.value="ALTA";
					}
					//document.form1.nombre_provincia.value = document.form1.idProvincia.options[document.form1.idProvincia.selectedIndex].text;
					document.form1.submit();
				}
	
}
