/*------------------------------------------------------------------------------------------------------------------------------ 
 											Funcións de uso xeral
-------------------------------------------------------------------------------------------------------------------------------*/

/*
	Función para abrir un popUp que serve para meter
	todo o que queiramos: formularios de edición, calendarios, etc.
	Sempre 1 como máximo activa para evitar historias.
	
*/





// Función para referenciar os obxectos dun formulario polo seu id, mellor que polo array elemnts.
// Funcionará con case que todos os browsers novos
function xGetElementById(e) {
	
	if(typeof(e)!='string') return e;
	
	if(document.getElementById) e=document.getElementById(e);
	
	else if(document.all) e=document.all[e];
	
	else e=null;
	
	if(e == null)alert('Error identificando elementos por su id=>'+e); 
	
	return e;
}




// Comproba si e un nº tde telefono válido. Devolve false si no é váldo
//----------------------------------------------------------------------
function validaTelefono(str){
	var patron = new RegExp("[0-9]{9,}","gi");
	return patron.test(str);

	
}



// Comproba que unha dir. de email sexa correcta. Devolve false en caso de error
//-------------------------------------------------------------------------------
function validaEmail(str){
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(str)) return true; // email OK
	else return false;
}


// Comproba DNI. Devolve False en caso de erro.
function validaDNI(dni) {
  numero = dni.substr(0,dni.length-1);
  let = dni.substr(dni.length-1,1);
  numero = numero % 23;
  letra='TRWAGMYFPDXBNJZSQVHLCKET';
  letra=letra.substring(numero,numero+1);
  if (letra!=let)return false; 
  else return true;
}




// Función para restrinxir só a caracteres alfanumericos
//-----------------------------------------------------------------------------
function caracteresValidos(str, min,max) {
	str = str.replace(/^\s*|\s*$/g,""); // Faille un trim á cadena
	tmp = "^[a-zA-Z0-9_]{" + min + "," + max + "}$";
	var patron = new RegExp(tmp);
	//var patron = new RegExp("[a-x]{9,}","gi");
	return patron.test(str);
	
}



// Func. q pide confirmación sobre unha acción.(void)
// si popUp true, si aceptar abre un popUp coa url dada
//------------------------------------------------------
function confirmar(texto,url, popUp){
	var res = window.confirm(texto);
	if (res ){
		if(popUp)janelaEditar(url);
		else document.location.href=url; //redirecciona(url,0)
	}	
}



// Función para borrar un formulario (void)
//----------------------------------------------=
function borrarFormulario(F){
	
	lonxitudeForm = document.forms[F].elements.length;
	
	for(x = 0; x < lonxitudeForm; x++){
		document.forms[0].elements[x].value = '';	
	}
	
}



/* 
			Si temos un grupo de varios campos para subir arquivos e hai polo menos un que contén texto devolve true
			F ==> formulario 
			Esta f() fallará cando haxa varios campos de tipo file distintos (fotos e arquivos, etc). Nese caso será
			necesario facer outra función

*/

function validaCamposFile (F){ 

	lonxitudeForm = document.forms[F].elements.length;
	
	for(x = 0; x < lonxitudeForm; x++){
		
		campo = document.forms[F].elements[x];
		
		if(campo.type == "file" && !vacio(campo.value))return true;
		
	}
	
	return false;

}


// Busca caracteres que no sean espacio en blanco nunha cadea
//--------------------------------------------------------------
function vacio(q) {
         for ( i = 0; i < q.length; i++ ) {
                 if ( q.charAt(i) != " " ) {
                         return false
                 }
         }
         return true
}





// Comproba que se escolleu un campo válido nun <select>. 
// Recibe o valor do campo e o valor que NON debe ter para ser válido.
//-----------------------------------------------------------
function compSelect(q,valor){
			if( q == valor ) {
                 return false
			}
			else {
                 return true
         	}

}




// Redirección(void)
//----------------------------------------------
function redirecciona(url,tempo){
	if(tempo>0)	setTimeout("document.location.href='"+url+"';",tempo);else document.location.href=''+url+'';
}

// Cerrar ventana(void)
//----------------------------------------------
function cerrarse(){
	window.close();
}


// Texto da barra de estado(void)
//----------------------------------------------
function estatus(s){
	window.status = s;
}




// Engadir páxina a favoritos(void)
//----------------------------------------------
function favoritos(url,titulo) {
   
if ((navigator.appName=="Microsoft Internet Explorer") && (parseInt(navigator.appVersion)>=4)) { 
      //var url="http://www.lagardebesada.com/"; 
      //var titulo=":: Bodega Lagar De Besada ::: ALBARIÑOS"; 
      window.external.AddFavorite(url,titulo); 
	  
}else if(navigator.appName == "Netscape") 
	alert ("Presione Crtl+D para agregar este sitio a favoritos"); 

}


// Convertir en páxina de inicio (só IE) (void)
//----------------------------------------------
function pdeinicio(url) {
	document.body.style.behavior="url(#default#homepage)"; 
	document.body.setHomePage(url);
}

