
// Si se escala la ventana recoloca elementos div
window.onresize = function() {
	// Guarda el estado del buscador
	var displayBuscador = document.getElementById('buscador').style.display;
	// Lo oculta y lo muestra
	document.getElementById('buscador').style.display = "none";
	document.getElementById('buscador').style.display = displayBuscador;
	
	document.getElementById('selector_menu').style.display = "none";
	document.getElementById('selector_menu').style.display = "block";
}




// Numeros aleatorios
function aleatorio(inferior,superior) {
	var numPosibilidades = superior - inferior;
	var aleat = Math.random() * numPosibilidades;
	return Math.round(parseInt(inferior) + aleat);
}


// Valida formulario contacto
function valida(){
	var resultado = true;
	var cadena = "Debe rellenar correctamente los siguientes campos: \n\n";
	
	var f = document.forms[0];
	
	nombre = f.nombre.value;
	telefono = f.telefono.value;
	email = f.email.value;
	comentarios = f.comentarios.value;


	
	if (nombre ==""){ resultado=false; cadena+=" - Nombre sin rellenar \n" }
	if (email ==""){ resultado=false; cadena+=" - E-mail sin rellenar \n" }
	if (telefono ==""){ resultado=false; cadena+=" - Teléfono sin rellenar \n" }



	if (resultado == false) {
		alert(cadena);
	} else {
		f.submit();
	}
}

// Accede a una promo pasandole html de promocion y numero de pagina para la vuelta (boton volver dentro de promo)
function accesoPromocion(html, nPag) {
	// Recoge el html de listado actual en el modulo submenu de promocion
	var oFlash = window.document.subMenuFlash;
	var htmlListado = oFlash.GetVariable("htmlListado");
	
	// Accede a la pagina pasandole los parametros de vuelta
	location.href = html + "?volver=" + htmlListado + "&nPag=" + nPag;
}


// Abre aviso legal
function abreLegal() {
	v=window.open('legal.htm','legal','toolbar=no,location=0,directories=no,menubar=no,scrollbars=yes,resizable=no,width=550,height=450,left=10,top=10');
	v.focus();
}





// Limita caracteres en una cadena
function limiteCaracteres(cadena, total) {
	var cadenaFin = cadena.substr(0, total);
	if (cadenaFin.length < cadena.length) {
		return cadenaFin + " ...";
	} else {
		return cadenaFin;
	}
}



// Abre un popup con un html y una foto dada
function abreFoto(html,foto) {
	v=window.open(html+'?foto='+foto,'popupFoto','width=10,height=10,top=5,left=5,scrollbars=no');
   	v.focus();
}

// Abre un popup con un html y una foto dada
function abreFoto2(html,foto) {
	v=window.open(html+'?foto='+foto,'popupFoto','width=800,height=600,top=5,left=5,scrollbars=yes');
   	v.focus();
}


// Funciones control ventana navegador
function wSize() {
    if(navigator.appName == "Netscape") {
      iAlto = window.innerHeight;
      iAncho = window.innerWidth;
      iScrollAncho = document.width;
      iScrollAlto = document.height;
    }

    if (navigator.appVersion.indexOf("MSIE") != -1){
      if (navigator.appVersion.indexOf("Mac") == -1){
        iAncho=document.body.clientWidth;
        iAlto=document.body.clientHeight;
        iScrollAncho = document.body.scrollWidth;
        iScrollAlto = document.body.scrollHeight;
      }
    }
    myWidth = iScrollAncho;
    myHeight = iScrollAlto;
  return [myWidth, myHeight];
}

function escalaVentana() {
	sizeTemp = wSize();
	ancho = sizeTemp[0]+10;
	alto = sizeTemp[1]+25;
	window.resizeTo(ancho,alto);
}

function validarFormulario(formulario){
	var bValido = true;
	var sAlert = "";
	var bRadio
	for (i=0;i<formulario.elements.length;i++){
		bRadio = false;
		//Genero el array
		arrayTemp = formulario.elements[i].name.split("_").reverse();
		if(arrayTemp[1]){//Para que no rompa en caso de no ser un campo a validar
			switch(arrayTemp[1]){
				case "requerido":
					switch(arrayTemp[0]){
						case "texto":
							if(formulario.elements[i].value==""){
								bValido = false;
								sAlert+="Cumplimente el campo '"+formulario.elements[i].title+"'\n";
							}							
							break;
						case "numero":
							if(formulario.elements[i].value==""){
								bValido = false;
								sAlert+= "Cumplimente el campo '"+formulario.elements[i].title+"'\n";							
							}else{
								if(isNaN(formulario.elements[i].value)){
									bValido = false;
									sAlert+= "El campo '"+formulario.elements[i].title+"' ha de ser numérico\n";
								}
							}
							break;
						case "email":
							if(formulario.elements[i].value==""){
								bValido = false;
								sAlert+= "Cumplimente el campo '"+formulario.elements[i].title+"'\n";						
							}else{
								if(!validarEmail(formulario.elements[i].value)){
									bValido = false;
									sAlert+= "Cumplimente correctamente el campo '"+formulario.elements[i].title+"'\n";
								}
							}						
							break;
						case "fecha":
							if(formulario.elements[i].value==""){
								bValido = false;
								sAlert+= "Cumplimente el campo '"+formulario.elements[i].title+"'\n";
							}else{
								if(!validarFecha(formulario.elements[i].value)){
									bValido = false;
									sAlert+= "Cumplimente correctamente el campo '"+formulario.elements[i].title+"'\n";
								}
							}						
							break;
						case "avisolegal":
							if(!formulario.avisoLegal.checked){
								bValido = false;
								sAlert+= "Debe aceptar la 'Política de privacidad'\n";						
							}						
							break;
						case "dni":
							DNIRegexp =/^\d{8}[A-Z]{1}$/;
							if(!DNIRegexp.test(formulario.elements[i].value)){
								bValido = false;
								sAlert+= "Cumplimente el correctamente el campo '"+formulario.elements[i].title+"' (p.e. 456781579X)\n";
							}						
							break;							
					}
				break;
				case "norequerido":
					switch(arrayTemp[0]){
						case "numero":
							if(formulario.elements[i].value!=""){
								if(isNaN(formulario.elements[i].value)){
									bValido = false;
									sAlert+= "El campo "+formulario.elements[i].title+" ha de ser numérico\n";
								}
							}							
							break;
						case "email":
							if(formulario.elements[i].value!=""){
								if(!validarEmail(formulario.elements[i].value)){
									bValido = false;
									sAlert+= "Cumplimente correctamente el campo "+formulario.elements[i].title+"\n";
								}
							}
							break;
						case "fecha":
							if(formulario.elements[i].value!=""){
								if(!validarFecha(formulario.elements[i].value)){
									bValido = false;
									sAlert+= "Cumplimente correctamente el campo '"+formulario.elements[i].title+"'\n";
								}
							}						
							break;							
					}				
				break;
			}
		}
      	}
      	if(bValido){
      		return true;
      	}else{
      		alert('Por favor, compruebe la siguiente información para poder continuar:\n\n'+sAlert);
      		return false;
	}
}

function validarEmail(addressS){
   emailRegexp = /^(.+)@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
    if (emailRegexp.test(addressS))
    {
        return true;
    }
    return false;
}

function validarFecha(fecha){
	//fechaRegexp = /^(((0[1-9]|[12][0-9]|3[01])([/])(0[13578]|10|12)([/])(\d{4}))|(([0][1-9]|[12][0-9]|30)([/])(0[469]|11)([/])(\d{4}))|((0[1-9]|1[0-9]|2[0-8])([/])(02)([/])(\d{4}))|((29)(\.|-|\/)(02)([/])([02468][048]00))|((29)([/])(02)([/])([13579][26]00))|((29)([/])(02)([/])([0-9][0-9][0][48]))|((29)([/])(02)([/])([0-9][0-9][2468][048]))|((29)([/])(02)([/])([0-9][0-9][13579][26])))+$/;

	//if (fechaRegexp.test(fecha)){
	      return true;
	  // }
      //return false;
}
