function cambiar_estado(id_objeto,estado){
	var id_lista= "li_" + id_objeto;
	var id_enlace="enlace_" + id_objeto;
	var enlace=document.getElementById(id_enlace);
	var lista=document.getElementById(id_lista);
	if(estado == 1){
		enlace.firstChild.data = 'Ocultar';
		enlace.title='Ocultar'; 
		/*lista.className='cerrar';*/
	}else{
		enlace.firstChild.data = 'Ver';
		enlace.title='Ver'; 
/*		lista.className='ver';*/
	}
}

function label_seleccion(id_objeto1,id_objeto2){
	var objeto1=document.getElementById(id_objeto1);
	var objeto2=document.getElementById(id_objeto2);	
	if(objeto1.className != 'seleccionado'){
		objeto1.className='seleccionado';
		objeto2.className='';
	}
}

function ocultar(id_objeto){
	var objeto=document.getElementById(id_objeto);
	objeto.style.display = 'none';
		cambiar_estado(id_objeto,0);	

}
function mostrar(id_objeto){
	var objeto=document.getElementById(id_objeto);
		objeto.style.display = 'block';
		cambiar_estado(id_objeto,1);
}


function inicializar_objetos(id_objeto,estado){
	var objeto=document.getElementById(id_objeto);
	if(estado == 1){//abierto
		mostrar(id_objeto);
	}else{//cerrado
		ocultar(id_objeto);
	}
}

function ocultar_mostrar(id_objeto){
	var objeto=document.getElementById(id_objeto);
	if (objeto.style.display == 'block'){
		ocultar(id_objeto);
	}else{
		mostrar(id_objeto);
	}
}

//************************************
//* VACIO
//*************************************

function EstaVacio(cadena)
{
	var i;
	var c;
	var longitud;

	longitud = cadena.length;

		// Se buscan caracteres que no sean espacios
	for (i=0 ; i<longitud ; i++)
		{
		c = cadena.charAt(i);
		if ( c != " " )
			return false;
		}

	return true;
}


//************************************
//* NUMEROS
//************************************

function EsNumeroEnteroSinSigno(cadena)
{
	var	numero = /^\d+$/

	return numero.test(cadena)
}

//************************************
//* FECHAS
//************************************

function FechaCorrecta(fecha)
{
      // 0123456789
      // Se espera que fecha sea una cadena en formato "DD-MM-AAAA"
      var   dd, mm, aaaa;
      var dias;

      if ( EstaVacio(fecha) )
            return true;

      if ( fecha.length != 10 )
            return false;
      
      dias = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
      
      dd = fecha.substring(0, 2);
      mm = fecha.substring(3, 5);
      aaaa = fecha.substring(6, 10);


      if ( !EsNumeroEnteroSinSigno(dd) )
            return false;
      if ( !EsNumeroEnteroSinSigno(mm) )
            return false;
      if ( !EsNumeroEnteroSinSigno(aaaa) )
            return false;
            
      if ( mm < 1 || mm > 12 )
            return false;
            
      mm--;
      
      if ( (aaaa % 4) == 0 )
            dias[1] = 29;
            
      if ( dd < 1 || dd > dias[mm] )
            return false;
            
      return true;
}


	// Cambia una fecha CORRECTA al formato AAAAMMDD
function FechaISO(fecha)
{
	//                                                0123456789
	// Se espera que fecha sea una cadena en formato "DD-MM-AAAA"

	return fecha.substring(6, 10) + fecha.substring(3, 5) + fecha.substring(0, 2);
}

//************************************
//* FECHA HORA
//************************************

function FechaHoraCorrecta(fecha) {
	//                                  01234567890123
	// Se espera que fecha sea una cadena en formato "DD-MM-AA HH:MM"
	var	dd, mm, aaaa, horas, minutos;
	var dias;
	var c
	
	if ( fecha.length != 16 )
		return false;
	
	c = fecha.charAt(10);
	if ( c != " " )
		return false;

	dias = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

	dd = fecha.substring(0, 2);
	mm = fecha.substring(3, 5);
	aaaa = fecha.substring(6, 10);
	horas = fecha.substring(11, 13);
	minutos = fecha.substring(14, 16);

	if ( !EsNumeroEnteroSinSigno(dd) )
		return false;
	if ( !EsNumeroEnteroSinSigno(mm) )
		return false;
	if ( !EsNumeroEnteroSinSigno(aaaa) )
		return false;
	if ( !EsNumeroEnteroSinSigno(horas) )
		return false;
	if ( !EsNumeroEnteroSinSigno(minutos) )
		return false;

	if ( mm < 1 || mm > 12 )
		return false;

	mm--;

	if ( (aaaa % 4) == 0 )
		dias[1] = 29;

	if ( dd < 1 || dd > dias[mm] )
		return false;

	if ( horas > 23 )
		return false;

	if ( minutos > 59 )
		return false;
	


	return true;
}


//************************************
//* FECHA HORA
//************************************

function HoraCorrecta(tiempo) {
	//                                                01234
	// Se espera que hora  sea una cadena en formato "HH:MM"
	var	horas, minutos, divisor;

	if ( tiempo.length != 5 )
		return false;

	horas = tiempo.substring(0, 2);
	divisor = tiempo.substring(2, 3);
	minutos = tiempo.substring(3, 5);

	if ( !EsNumeroEnteroSinSigno(horas) )
		return false;
	if ( !EsNumeroEnteroSinSigno(minutos) )
		return false;
		
	if ( divisor != ":" )
		return false;

	if ( horas > 23 )
		return false;

	if ( minutos > 59 )
		return false;

	return true;
}

	/*Buscador*/
 function Acentos(Text)  
 {  
 /*del número 48 hasta el 57 son los números naturales desde el 0 hasta el 9 
del 65 hasta el 90 son letras de A hasta la Z en mayúsculas 
de 97 hasta 122 son letras de a hasta la z en minúsculas 
*/
 var cadena="";  
 var codigo="";  
 for (var j = 0; j < Text.length; j++)  
 {  
 var Char=Text.charCodeAt(j);
	 switch(Char)  //quitas acentos...
	 {  
		 case 225:  
		 cadena+="a";  
		 break;  
		 case 233:  
		 cadena+="e";  
		 break;  
		 case 237:  
		 cadena+="i";  
		 break;  
		 case 243:  
		 cadena+="o";  
		 break;  
		 case 250:  
		 cadena+="u";  
		 break;  
		 case 193:  
		 cadena+="A";  
		 break;  
		 case 201:  
		 cadena+="E";  
		 break;  
		 case 205:  
		 cadena+="I";  
		 break;  
		 case 211:  
		 cadena+="O";  
		 break;  
		 case 218:  
		 cadena+="U";  
		 break;  
		 case 241:  
		cadena+="n";  
		break;  
		case 209:  
		cadena+="n";  
		break;  
		default:  
		cadena+=Text.charAt(j);  
		break;  
	}
codigo+="_"+Text.charCodeAt(j);	
}  
return cadena;  
}


function esCadena(cadena){
	var patron=/^[a-zA-Z0-9+ \"]*$/;
	if(patron.test(cadena)){
		return true;
	}
	alert("El término a buscar contiene algún carácter no valido");
	return false;
}



function validar_frm(){
 with (document.frm_google){
			if (q.value==""){
                alert("Por favor, debe indicar un termino a buscar.");
				document.frm_google.q.focus();
                return false;
           }
		   var cadena = Acentos(q.value);
		   if(esCadena(cadena)==true){
			   q.value=cadena;
		   }
		   else{
			   q.value="";
  			   document.frm_google.q.focus();			   
			   return false;
		   }
 }
 return true;
}

function resizeIframe()
{
	var googleSearchFrame = document.getElementsByName("googleSearchFrame");
	  if (googleSearchFrame[0]) {
		  // Firefox, Opera, ...
		  //googleSearchFrame[0].style.height = "100em";
		  	var alturaPagina=googleSearchFrame[0].contentWindow.document.body.scrollHeight;
			googleSearchFrame[0].height=alturaPagina - 600;		
		    googleSearchFrame[0].style.width = "45em";
	  } else {
		  // IE - which has a misbehaving getElementsByName - assumin only one iframe
		  var googleSearchFrame = document.getElementsByTagName("iframe");
		  if (googleSearchFrame[0]) {
			  googleSearchFrame[0].style.height = "98em";
			  googleSearchFrame[0].style.width = "45em";
		  }
	  }
}
