//Validad file


function validarFiles(file){
	

	
	patron = " !|\"@·#$~%&¬()=?¿¡+{},;:-<>áéíóúÁÉÍÓÚñÑàèìòùÀÈÌÒÙâêîôûÂÊÎÔÛäëïöüÄËÏÖÜ/\\";
	rutaDoc = file.value;
	var nombreDoc="";
	
	inicioNombreDoc = rutaDoc.lastIndexOf("\\");
	inicioNombreDoc = inicioNombreDoc + 1;

	for( j=inicioNombreDoc; j < rutaDoc.length; j++){
		nombreDoc += rutaDoc.charAt(j);
	}						
								
	for(i = 0; i < patron.length; i++){
		if(nombreDoc.indexOf(patron.charAt(i)) != -1){
			alert ("El fichero seleccionado tiene espacios en blanco o caracteres extraños: " + patron.charAt(i) + "\nPor favor cambie el nombre del documento y vuelva a seleccionarlo con el botón examinar");
			
            /*		
			//No me ha funcionado
			siguiente = file.nextSibling;
			newFile = document.createElement("input");
			newFile.type = "file";
			newFile.name = file.name;
			newFile.onchange = file.onchange;
			newFile.value = "";
			file.insertBefore(newFile, siguiente);
			file.removeChild(file);
			*/

			break;
			//return false;
		}
	
	}
	return false;

}



//Limpiar radios

function limpiarRadiosOcultandoCapa(nombreRadio,form, idCapa){
	
	for(i = 0; i < form.length; i++){
		if( form.elements[i].type == 'radio' ) {
			nombreRadio = form.elements[i].name;
			if(nombreRadio.indexOf(nombreRadio) != -1){
					valor = form.elements[i].value;
					form.elements[i].checked = false;
					idCapaF = idCapa+valor;
					hideLayer(idCapaF);
					idCapaF="";
			}
			
		}
	}
}


//Compracion de los cif y de los nif
//----------------------------------
//----------------------------------

//Funcion que nos comprueba si el valor es un numero o no lo es
function isNumerico(numeric){
	if (!isNaN(numeric)){
		//Es un numero
		return true
	}else{
		//No es un numero
		return false
	}
} 


///////////////////////////////////////

// Comprueba la entrada de datos
function CompruebaDatos(elCIF) 
{
  var resul = false;
  var temp = elCIF.value.toUpperCase(); // pasar a mayúsculas

  if (!/^[A-Za-z0-9]{9}$/.test(temp))  // Son 9 dígitos? 

     alert ("Longitud incorrecta, un CIF consta de 9 dígitos");

  else if (!/^[ABCDEFGHJKLMNPQRSUV]/.test(temp)) // Es una letra de las admitidas ?

     alert("El primer dígito es incorrecto, debe ser una letra de las siguientes: A,B,C,D,E,F,G,H,K,L,M,N,P,Q,S ");

  else 

     resul = true;

  return resul;
}


// La función recibe el CIF completo: A58818501
function ValidaCIF(F,caja) 
{

  var v1 = new Array(0,2,4,6,8,1,3,5,7,9); 
  var temp = 0; 
  var temp1;

  
  for( i = 2; i <= 6; i += 2 ) 
    {
      temp = temp + v1[ parseInt(caja.value.substr(i-1,1)) ];
      temp = temp + parseInt(caja.value.substr(i,1));
    };

  temp = temp + v1[ parseInt(caja.value.substr(7,1)) ];

	var ultDigito = caja.value.substr(8,1);
	var ultNumero = parseInt(caja.value.substr(8,1));
	  
	temp = (10 - ( temp % 10));

  if( temp == 10 ){		
    //alert( "El dígito de control es: J ó 0" );
		if( ultDigito != "J" && ultNumero != 0 ){
			alert(" No es correcto el dígito de control. Debería ser J ó 0");
		  return false;
		}
	}else{
   //alert( "El dígito de control es: "+temp );
		if( ultNumero != temp ){
			alert(" No es correcto el dígito de control. Debería ser " + temp);
			return false;
		}		
	}
	
	return true;
		


}



//////////////////////////////
function validarCIF(texto){

		//alert(texto);

        var pares = 0; 
        var impares = 0; 
        var suma; 
        var ultima; 
        var unumero; 
        var uletra = new Array("J", "A", "B", "C", "D", "E", "F", "G", "H", "I"); 
        var xxx; 
         
        texto = texto.toUpperCase(); 
         
        var regular = new RegExp(/^[ABCDEFGHJKLMNPQRSUV]\d\d\d\d\d\d\d[0-9,A-J]$/g); 
         if (!regular.exec(texto)) return false; 
              
         ultima = texto.substr(8,1); 

         for (var cont = 1 ; cont < 7 ; cont ++){ 
             xxx = (2 * parseInt(texto.substr(cont++,1))).toString() + "0"; 
             impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1)); 
             pares += parseInt(texto.substr(cont,1)); 
         } 
         xxx = (2 * parseInt(texto.substr(cont,1))).toString() + "0"; 
         impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1)); 
          
         suma = (pares + impares).toString(); 
         unumero = parseInt(suma.substr(suma.length - 1, 1)); 
         unumero = (10 - unumero).toString(); 
         if(unumero == 10) unumero = 0; 
          
         if ((ultima == unumero) || (ultima == uletra[unumero])) 
             return true; 
         else 
             return false; 
             
}

         




//Funcion que nos calcula la letra de los Nif

function CalcularletraNif(caja)
{
	var cadena = 'TRWAGMYFPDXBNJZSQVHLCKET';
	var nif;
	//Tenemos que quitar el ultimo valor de la cadena, y nos quedamos con el numero
	nif =caja.value.substring(0,8);
	var posicion = nif % 23;
	var letra=cadena.charAt(posicion);
	//Devolvemos la letra
	return letra;
}

/*
function ComprobarNumero(caja){
	return true;
	}
*/


function ComprobarNumero(caja){
//Siendo form el nombre del formulario con la caja de texto a comprobar
var cadena=caja.value.toUpperCase();
var temp =caja.value.toUpperCase(); // pasar a mayúsculas
caja.value=caja.value.toUpperCase();

		//Comprobamos si el numero que hemos introducido es un Nif o un Cif
		//Para ello tenemos que comprobar si la letra esta al principio --> Cif
		//O en cambio la letra la tenemos al final--> Nif
		if(isNumerico(cadena.charAt(0))==false){
			 if (!/^[A-Za-z0-9]{9}$/.test(temp)){  // Son 9 dígitos? 
			 	 caja.value="";
				 //caja.focus();
				 alert ("Longitud incorrecta, un CIF consta de 9 dígitos");

			 }else{
				// alert(cadena);
					if(validarCIF(cadena)==true){
					//if(ValidaCIF(cadena,caja)==true){
					}else{
						caja.value="";
						//caja.focus();
						alert("CIF introducido No es correcto");
					}
			}		
		}else{
			if(caja.value.length >9){
				caja.value="";
				//caja.focus();
				alert ("Longitud incorrecta, un NIF consta de 9 dígitos");
			}else{
					if(caja.value.length <9){
							var tamanio=caja.value.length;
							for(i=tamanio;i<9;i++){
								cadena="0" + cadena;
							}	
							caja.value=cadena;
						}
					if(isNumerico(cadena.charAt(8))==false){	
						if(CalcularletraNif(caja)==cadena.charAt(8)){
							//Todo correcto....seguimos				
						}else{
							//No es correcto...no seguimos
							caja.value="";
							//caja.focus();
							alert("El NIF introducido no es válido");
						}	
					}else{			
						caja.value="";
						//caja.focus();
						alert("El NIF introducido no es válido");
					}	
				}			
		}	
}


//--------------------



function CalcularletraNifCadena(cad)
{
	var cadena = 'TRWAGMYFPDXBNJZSQVHLCKET';
	var nif;
	//Tenemos que quitar el ultimo valor de la cadena, y nos quedamos con el numero
	nif =cad.substring(0,8);
	var posicion = nif % 23;
	var letra=cadena.charAt(posicion);
	//Devolvemos la letra
	return letra;
}


function ComprobarNumeroCifNifNie(caja,pais){

if(pais.value != "ES"){
	return true;
}

//Siendo form el nombre del formulario con la caja de texto a comprobar
var cadena=caja.value.toUpperCase();
var temp =caja.value.toUpperCase(); // pasar a mayúsculas
caja.value=caja.value.toUpperCase();

		//Comprobamos si el numero que hemos introducido es un Nif o un Cif
		//Para ello tenemos que comprobar si la letra esta al principio --> Cif
		//O en cambio la letra la tenemos al final--> Nif
		//Si la primera letra es una X o una T, corresponde a un NIE
		
		if(isNumerico(cadena.charAt(0))==false){
		
		     if(cadena.charAt(0)=="X" || cadena.charAt(0)=="T"){//Estamos en el caso que es un NIE
		     	if(cadena.length > 10){
		     		alert ("Longitud incorrecta, un NIE como maximo tiene 10 dígitos");
		     	}else{
		     	    //Recogemos la cadena que vamos a tratar como si fuese un NIF
		     		var cadenaN = cadena.substr(1,cadena.length - 1);
					if(cadenaN.length < 9 ){
							var tamanioN=cadenaN.length;
							for(i=tamanioN;i<9;i++){
								cadenaN="0" + cadenaN;
							}	
					}
					
					if(isNumerico(cadenaN.charAt(8))==false){	
						if(CalcularletraNifCadena(cadenaN)==cadenaN.charAt(8)){
							//Todo correcto			
						}else{
							//No es correcto...no seguimos
							caja.value="";
							alert("El NIE introducido no es válido");
						}	
					}else{			
						caja.value="";
						alert("El NIE introducido no es válido");
					}			     			     		
		     	}
		     
		     }else{
				 if (!/^[A-Za-z0-9]{9}$/.test(temp)){  // Son 9 dígitos? 
				 	 caja.value="";
					 //caja.focus();
					 alert ("Longitud incorrecta, un CIF consta de 9 dígitos");
	
				 }else{
					// alert(cadena);
						if(validarCIF(cadena)==true){
						//if(ValidaCIF(cadena,caja)==true){
						}else{
							caja.value="";
							//caja.focus();
							alert("CIF introducido No es correcto");
						}
				}	
			}	
		}else{
			if(caja.value.length >9){
				caja.value="";
				//caja.focus();
				alert ("Longitud incorrecta, un NIF consta de 9 dígitos");
			}else{
					if(caja.value.length <9){
							var tamanio=caja.value.length;
							for(i=tamanio;i<9;i++){
								cadena="0" + cadena;
							}	
							caja.value=cadena;
						}
					if(isNumerico(cadena.charAt(8))==false){	
						if(CalcularletraNif(caja)==cadena.charAt(8)){
							//Todo correcto....seguimos				
						}else{
							//No es correcto...no seguimos
							caja.value="";
							//caja.focus();
							alert("El NIF introducido no es válido");
						}	
					}else{			
						caja.value="";
						//caja.focus();
						alert("El NIF introducido no es válido");
					}	
				}			
		}	
}


//--------------------


function ComprobarNumero_ver2(caja){
//Siendo form el nombre del formulario con la caja de texto a comprobar
var cadena=caja.value.toUpperCase();
var temp =caja.value.toUpperCase(); // pasar a mayúsculas
caja.value=caja.value.toUpperCase();

		//Comprobamos si el numero que hemos introducido es un Nif o un Cif
		//Para ello tenemos que comprobar si la letra esta al principio --> Cif
		//O en cambio la letra la tenemos al final--> Nif
		if(isNumerico(cadena.charAt(0))==false){
			 if (!/^[A-Za-z0-9]{9}$/.test(temp)){  // Son 9 dígitos? 
			 	 caja.value="";
				 //caja.focus();
				 alert ("Longitud incorrecta, un CIF consta de 9 dígitos");
					return false;
			 }else{
				// alert(cadena);
					if(validarCIF(cadena)==true){
					//if(ValidaCIF(cadena,caja)==true){
					}else{
						caja.value="";
						//caja.focus();
						alert("CIF introducido No es correcto");
						return false;
					}
			}		
		}else{
			if(caja.value.length >9){
				caja.value="";
				//caja.focus();
				alert ("Longitud incorrecta, un NIF consta de 9 dígitos");
				return false;
			}else{
					if(caja.value.length <9){
							var tamanio=caja.value.length;
							for(i=tamanio;i<9;i++){
								cadena="0" + cadena;
							}	
							caja.value=cadena;
						}
					if(isNumerico(cadena.charAt(8))==false){	
						if(CalcularletraNif(caja)==cadena.charAt(8)){
							//Todo correcto....seguimos				
						}else{
							//No es correcto...no seguimos
							caja.value="";
							//caja.focus();
							alert("El NIF introducido no es válido");
							return false;
						}	
					}else{			
						caja.value="";
						//caja.focus();
						alert("El NIF introducido no es válido");
						return false;
					}	
				}			
		}	
		return true;
}



//-----------------------------------
//-----------------------------------

//comprueba si dos cadenas de caracteres son iguales:
function sonIguales(field1, field2){
	alert("f1 = "+field1);	
	alert("f2 = "+field2);
	alert(s2);	
	var s1 = new String( field1.value );
	var s2 = new String( field2.value );
	alert(s1);	
	alert(s2);	
	if (s1.valueOf() == s2.valueOf() ){
		return true
	}else{
		return false
	}
}



/* funcion para confirmar passwd para modificar la antigua */

function confirmarpasswd(form,oldpasswd,newpasswd,confipasswd,usuario){
	if( (form.usuario.value != "") && (form.usuario.value != " ") ){
		if( (form.newpasswd.value != "") && (form.confipasswd.value != "") &&
			 (form.newpasswd.value != " ") && (form.confipasswd.value != " ") ){//vienen a vacio con espacios.			
			if(form.newpasswd.value == form.confipasswd.value){ //nueva passwd es igual a si misma. 
				if( (form.oldpasswd.value != "") && (form.oldpasswd.value != " ") ){//passwd antigua vienen a vacio con espacios.
					if (isMaxLong(form.usuario, 10) == true && isMaxLong(form.confipasswd, 10) == true &&
						 isMaxLong(form.newpasswd, 10) == true ){
						 if (isMinLong(form.usuario, 6) == true && isMinLong(form.confipasswd, 6) == true &&
							 isMinLong(form.newpasswd, 6) == true ){
						  	 form.submit();						 
						 }else{
						    form.confipasswd.value = "";
							form.newpasswd.focus();
							form.newpasswd.select();							
						 }			
					}else{
						  form.confipasswd.value = "";
						  form.newpasswd.focus();
						  form.newpasswd.select();
					}			
				}else{
					alert("Error en el campo de Password antigua");
					form.oldpasswd.focus();
					form.oldpasswd.select();
				}
			}else{
				alert("Error en la confirmación de la password, \nno coinciden la nueva password y la confirmación");
				form.confipasswd.value = "";
				form.newpasswd.focus();
				form.newpasswd.select();
			}
		}else{
			alert("Error en los campos de Password nueva \ny Confirmar password nueva ");
				form.confipasswd.value = "";
				form.newpasswd.focus();
				form.newpasswd.select();		
		}
	}else{
		alert("Error en el campo usuario");
		form.confipasswd.value = "";
		form.usuario.focus();
		form.usuario.select();
	}
}

/***********************************************************/

<!-- Principio
function emailCheck (emailStr) {
	
	emailStr_local = emailStr.value;
	
	if (emailStr_local.length != 0) {
					/* Verificar si el email tiene el formato user@dominio. */
					var emailPat=/^(.+)@(.+)$/ 
					
					/* Verificar la existencia de caracteres. ( ) < > @ , ; : \ " . [ ] */
					var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]" 
					
					/* Verifica los caracteres que son válidos en una dirección de email */
					var validChars="\[^\\s" + specialChars + "\]" 
					
					var quotedUser="(\"[^\"]*\")" 
					
					/* Verifica si la dirección de email está representada con una dirección IP Válida */ 
					
					
					var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
					
					
					/* Verificar caracteres inválidos */ 
					
					var atom=validChars + '+'
					var word="(" + atom + "|" + quotedUser + ")"
					var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
					/* domain, as opposed to ipDomainPat, shown above. */
					var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
					
					
					var matchArray=emailStr_local.match(emailPat)
					
					if (matchArray==null) {
						
						
						alert("Direccion de email incorrecta (ha de tener \"@\" y \".\")")
						emailStr.value="";
						emailStr.focus();
						return false
					}
						
					var user=matchArray[1]
					var domain=matchArray[2]
					
					// Si el user "user" es valido 
					if (user.match(userPat)==null) {
						// Si no
						
						alert("El nombre de usuario no es válido.")
						emailStr.value="";
						emailStr.focus();
						return false
					}
					
					/* Si la dirección IP es válida */
					var IPArray=domain.match(ipDomainPat)
					
					if (IPArray!=null) {
						for (var i=1;i<=4;i++) {
							if (IPArray[i]>255) {
								
								alert("IP de destino inválida")
								emailStr.value="";
								emailStr.focus();
								return false
							}
						}
						return true
					}
					
					var domainArray=domain.match(domainPat)
					if (domainArray==null) {
						
						alert("El dominio parece no ser válido.")
						emailStr.value="";
						emailStr.focus();
						return false
					}
					
					var atomPat=new RegExp(atom,"g")
					var domArr=domain.match(atomPat)
					var len=domArr.length
				/*	if (domArr[domArr.length-1].length<2 || 
					domArr[domArr.length-1].length>3) { 
						
						alert("La dicrección debe tener 3 letras si es .\"com\" o 2 si en de algún pais.")
						emailStr.value="";
						emailStr.focus();
						return false
					}
				*/	
					if (len<2) {
				
						alert("La dirección es erronea")
						emailStr.value="";
						emailStr.focus();
						return false
					}
					
					// La dirección de email ingresada es Válida
					return true;
	}
}
// End -->







     
function isMail(campo) {
	Cadena = campo.value;
	Punto = Cadena.substring(Cadena.lastIndexOf('.') + 1, CadenaA.length)			// Cadena del .com
	Dominio = Cadena.substring(Cadena.lastIndexOf('@') + 1, Cadena.lastIndexOf('.')) 	// Dominio @lala.com
	Usuario = Cadena.substring(0, Cadena.lastIndexOf('@'))					// Cadena lalala@
	Reserv = "@/º\"\'+*{}\\<>?¿[]áéíóú#·¡!^*;,:"						// Letras Reservadas
	
	valido = true
	
	// verifica que el Usuario no tenga un caracter especial
	for (var Cont=0; Cont<Usuario.length; Cont++) {
		X = Usuario.substring(Cont,Cont+1)
		if (Reserv.indexOf(X)!=-1)
                	valido = false
	}

	// verifica que el Punto no tenga un caracter especial
	for (var Cont=0; ContPunto.length; Cont++) {
		X=Punto.substring(Cont,Cont+1)
		if (Reserv.indexOf(X)!=-1)
			valido = false
	}
                        
	// verifica que el Dominio no tenga un caracter especial
	for (var Cont=0; Cont<Dominio.length; Cont++) {
		X=Dominio.substring(Cont,Cont+1)
		if (Reserv.indexOf(X)!=-1)
			valido = false
		}

	// Verifica la sintaxis básica.....
	if (Punto.length2 || Dominio <1 || Cadena.lastIndexOf('.')<0 || Cadena.lastIndexOf('@')<0 || Usuario<1) {
		valido = false
	}

	if (valido) {
		return true
	} else {
		alert("Error : mail (" + Cadena + ")");
		return false
	}
} // fin isMail

function isNumeric(numeric){
	if (!isNaN(numeric.value)){
		return true
	}else{
		alert ("Error : no numérico (" + numeric.value + ") "+ " " + numeric.name);
		return false
	}
} // fin isNumeric

function isEmpty(full,texto){
	if (full.value != ""){
		return true
	}else{
		alert ("Error : campo vacío (" + texto + ")");
		full.focus();
		return false
	}
} // fin isEmpty

function isSpace(campo, texto){
	Cadena = campo.value;
	if (Cadena.indexOf(' ') < 0){
		return true
	}else{
		alert ("Error : espacios (" + texto + ") "+ " " );
		return false
	}
} // fin isSpace

function isSpace2(Cadena, texto){	
	if (Cadena.indexOf(' ') < 0){
		return true
	}else{
		alert ("Error : espacios (" + texto + ") "+ " " );
		return false
	}
} // fin

function isLong(campo, integer){
	Cadena = campo.value;
	if (Cadena.length == integer){
		return true
	}else{
		alert ("Error : logitud distinta (" + campo.name + ") a " + integer + " caracteres");
		return false
	}A
} // fin isLong

function isMaxLong(campo, integer){
	Cadena = campo.value;
	total = parseInt(integer, 10) - 1;
	if (Cadena.length < integer){
		return true
	}else{
		alert ("Error : logitud superior (" + campo.name + ") a " + total + " caracteres");
		return false
	}
} // fin isMaxLong

function isMinLong(campo, integer){
	Cadena = campo.value;
	if (Cadena.length > integer){
		return true
	}else{
		total = parseInt(integer, 10) + 1
		alert ("Error : logitud inferior (" + campo.name + ") a " + total + " caracteres");
		return false
	}
} // fin isMinLong
/*********************************************************/
/* FUNCIONES  DE DISE?O.
* Funciones para cambiar la visibilidad de las capas.
*
* Muestra la capa que le pasamos como parámetro.
*/	
function showLayer(layerName){ 
	var nav = this.getNavigator();
	var NS6 = new String("NS6");
	var NS4 = new String("NS4");
	var IE = new String("IE");

	if (nav.valueOf() == NS6.valueOf() ){
		document.getElementById(layerName).style.display = "inline";
		document.getElementById(layerName).style.visibility = "visible"; 
	}else if (nav.valueOf() == NS4.valueOf() ){
		document.layers[layerName].display = "inline";
		document.layers[layerName].visibility = "show";
	}else if (nav.valueOf() == IE.valueOf() ){
		document.getElementById(layerName).style.display = "inline";
		document.getElementById(layerName).style.visibility = "visible"; 
	}else{
		layerName.display = "block";
		layerName.visibility = "visible";
	}
} 

/**
* Oculta la capa que le pasamos como parámetro
*/
function hideLayer(layerName){ 
	var nav = this.getNavigator();
	var NS6 = new String("NS6");
	var NS4 = new String("NS4");
	var IE = new String("IE");

	if (nav.valueOf() == NS6.valueOf()){
		document.getElementById(layerName).style.display = "none";
		document.getElementById(layerName).style.visibility = "hidden";
	}else if (nav.valueOf() == NS4.valueOf()){
		document.layers[layerName].display = "none";				
		document.layers[layerName].visibility = "hide";
	}else if (nav.valueOf() == IE.valueOf()){
		document.getElementById(layerName).style.display = "none";		
		document.getElementById(layerName).style.visibility = "hidden";		
	}else{
		layerName.display = "none";
		layerName.visibility = "hidden";				
	}
}

/**
* Retorna el booleano del estado en el que
* se encuentra la capa.
*/
function isShow(layerName){
	
	var nav = this.getNavigator();
	var NS6 = new String("NS6");
	var NS4 = new String("NS4");
	var IE = new String("IE");
	var SHOW = new String("show");
	var VISIBLE = new String("visible");

	if (nav.valueOf() == NS6.valueOf()){
		if (document.getElementById(layerName).style.visibility == VISIBLE.valueOf())
			return true;
		else
			return false;
	}else if (nav.valueOf() == NS4.valueOf()){
		if(document.layers[layerName].visibility == SHOW.valueOf())
			return true;
		else
			return false;
	}else if (nav.valueOf() == IE.valueOf()){
		if(document.getElementById(layerName).style.visibility == VISIBLE.valueOf())
			return true;
		else
			return false;
	}else{
		if(layerName.visibility == VISIBLE.valueOf())
			return true;
		else
			return false;
	}
}

/*
* Cambia la visibilidad de capa que pasamos  como argumento,
* cambia la imagen de On a Off o viceversa.
*/
function changeImage(docId, _imageOff, _imageOn, layerName){
	var realPathImage = document.images[docId].src;
	var realPath = realPathImage.substring(0,realPathImage.lastIndexOf('/') + 1);
	var nameImage = realPathImage.substring(realPathImage.lastIndexOf('/') + 1);
	var imageOff = realPath + _imageOff;
	var imageOn = realPath + _imageOn;

	if (!isShow(layerName)){
		document.images[docId].src = imageOff;
		hideLayer(layerName);
	}else{
		document.images[docId].src = imageOn;
		showLayer(layerName);
	}
}

function cambiaImagen(docId, _imageOff, _imageOn){
	var realPathImage = document.images[docId].src;
	var realPath = realPathImage.substring(0,realPathImage.lastIndexOf('/') + 1);
	var nameImage = realPathImage.substring(realPathImage.lastIndexOf('/') + 1);
	var imageOff = realPath + _imageOff;
	var imageOn = realPath + _imageOn;

document.images[docId].src = imageOn;
	
}

function getNavigator(){
	ie  = (document.all)? true:false
	ns4 = (document.layers)? true:false
	ns6 = (document.getElementById && !document.all)? true:false

	if (ns6)
		return "NS6";  
	if (ns4)
		return "NS4";
	if (ie)
		return "IE";
}

/**
* Mantiene el mensaje en la barra 
* de estado del documento
*/
function setMsg(msg){
	window.status = msg;
	return true;
}

/**
* Retorna la extensión del fichero que
* pasamos como parámetro.
*/
function getExtension(field){
	var extension = field.substring(field.lastIndexOf('.'));
	return  extension;
}

/**
* Retorna el nombre completo del navegador
*/
function  getNameNavigator(){
	return navigator.appName;
}

/**
* Retorna el nombre del SO.
*/
function getPlatform(){
	return navigator.platform;
}

/**
* Retorna el ancho de la pantalla
*/
function getScreenWidth(){
	return screen.width;	
}

/**
* Retorna el  alta de la pantalla
*/
function getScreenHeight(){
	return screen.height;	
}

/**
* Retorna la resolución de pantalla completa
*/
function getResolutionScreen(){
	var resolution = screen.width + " x " + screen.height;
	return resolution;
}




/***********************************************
* Menú desplegable
***********************************************/

var enablepersist="on" //Enable saving state of content structure using session cookies? (on/off)
var collapseprevious="yes" //Collapse previously open content when opening present? (yes/no)

if (document.getElementById){
document.write('<style type="text/css">')
document.write('.switchcontent{display:none;}')
document.write('</style>')
}

function desplegado(cid){
getElementbyClass("switchcontent")
document.getElementById(cid).style.display=(document.getElementById(cid).style.display!="block")? "block" : "none"

}

function getElementbyClass(classname){
ccollect=new Array()
var inc=0
var alltags=document.all? document.all : document.getElementsByTagName("*")
for (i=0; i<alltags.length; i++){
if (alltags[i].className==classname)
ccollect[inc++]=alltags[i]
}
}

function contractcontent(omit){
var inc=0
while (ccollect[inc]){
if (ccollect[inc].id!=omit)
ccollect[inc].style.display="none"
inc++
}
}

function expandcontent(cid){
	if (typeof ccollect!="undefined"){
		if (collapseprevious=="yes")
			contractcontent(cid)
		document.getElementById(cid).style.display=(document.getElementById(cid).style.display!="block")? "block" : "none"
	}
}

function revivecontent(){
//Comentario jasr 09/07/2004
//contractcontent("omitnothing")
selectedItem=getselectedItem()
selectedComponents=selectedItem.split("|")
for (i=0; i<selectedComponents.length-1; i++)
document.getElementById(selectedComponents[i]).style.display="block"
}


function get_cookie(Name) { 
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) { 
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

function getselectedItem(){
if (get_cookie(window.location.pAathname) != ""){
selectedItem=get_cookie(window.location.pathname)
return selectedItem
}
else
return ""
}

function saveswitchstate(){
var inc=0, selectedItem=""
while (ccollect[inc]){
if (ccollect[inc].style.display=="block")
selectedItem+=ccollect[inc].id+"|"
inc++
}

document.cookie=window.location.pathname+"="+selectedItem
}

function do_onload(){
getElementbyClass("switchcontent")
if (enablepersist=="on" && typeof ccollect!="undefined")
revivecontent()
}


if (window.addEventListener)
window.addEventListener("load", do_onload, false)
else if (window.attachEvent)
window.attachEvent("onload", do_onload)
else if (document.getElementById)
window.onload=do_onload

if (enablepersist=="on" && document.getElementById)
window.onunload=saveswitchstate
