//  parseInt(valor)  : Convierte a numeros, y devuelve el entero de la cadena, en caso contrario devolvera 
//  isNaN(valor)     : Esta función devuelve un boleano dependiendo de si lo 
//                     que recibe es un número o no. Lo único que puede recibir es un número o la expresión NaN. 
//  parseFloat(valor): El texto se convierte perfectamente porque corresponde con un número. Al 
//                     recibir un número la función isNaN devuelve un false.
// null				 : Las variables que se declaran y se inicializan sin darles un particular valor 
//					   reciben el valor null. 	if(Verifica == null) alert("No he sido utilizada");
// typeof()			 : verificar el tipo de la variable
// nombrematriz=new Array(num): declarar un elemento de array
// eval convierte un string en numeros
// parseFloat convierte a decimales 

//<NOSCRIPT>  // en el caso de que no no soporte javascript el navegador
//<META HTTP-EQUIV REFRESH CONTENT="0; URL=altrapagina.htm">
//</NOSCRIPT>

//window.status="hernan"
//--------------------------------------------------------------
// recupera el texto den selec
window.document.title="Ilustre Municipalidad de Osorno"
window.status="Juntos desarrollando Software"

/*
function click(){
if(event.button==2){
alert(' Bloqueado por administrador');
}
}
document.onmousedown=click*/

//--------------------------------------------------------------------------------------------------------
//
var opcion_opt=0;opcion_temp=14;
function nuevoAjax()
{
	var ajax=false;
	try
	{
		// Creacion del objeto AJAX para navegadores no IE
		ajax=new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e)
	{
		try
		{
			// Creacion del objet AJAX para IE
			ajax=new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch(E)
		{
			if (!ajax && typeof XMLHttpRequest!='undefined') ajax=new XMLHttpRequest();
		}
	}
	return ajax;
}

//--------------------------------------------------------------------------------------------------------

function select_texto(selec)
	{
		// selec indica cuales son los indices
		// select "1|4|5" solo se recorreran esos selec
		array_texto=selec.split("|")
		salida=""
		for (i=0;i<=array_texto.length-1 ;i++ )
		{
			k=document.formulario.elements[array_texto[i]].selectedIndex
			salida+=document.formulario.elements[array_texto[i]].options[k].text+"|"
		}	
	
		return(salida)
	}
//--------------------------------------------------------------
// Valida rango de fechas
function fecha_valida(fec_fecha)
	{
		if (fec_fecha.value!="TODOS"){
			str_fecha=fec_fecha.value.split(",")
			//--------------------------------------------------
			// maximo dos fechas
			
			if (str_fecha.length>2){
				alert("Maximo dos fechas por rango")
				ban=1
			}else{
					//--------------------------------------------------
					// Transfiere fechas
					fec1=str_fecha[0]
					fec2=str_fecha[1]
					//--------------------------------------------------
					// Valida fecha uno
					ban=valFecha(fec1)
							
					//--------------------------------------------------
					// Valida fecha dos en case que sea un valor valido

					if (fec2!=undefined){
						if (fec2==""){
							ban=1
							alert("fecha mal ingresada")
						}else{
							ban=valFecha(fec2)	
						}
					}

			}
			
			//--------------------------------------------------

			if (ban==1){
				fec_fecha.value=""
				fec_fecha.focus()
			}
			
			
		}
	}

//------------------------------------------------------------------------------------------
function folio_valida(num_folio)
	{
		str_folio=num_folio.value
		ban=0
		//----------------------------------------------------------------
		if (str_folio!="TODOS" && str_folio!="")
		{
			//----------------------------------------------------------------	
				rs_1=str_folio.split(",") // crea array para obtener los 2 elementos del rango

				//----------------------------------------------------------------	
				// rango 1 se verifica
				
				rs=rs_1[0].split("-") 
				// largo maximo 2         sea numeros       sea  numero  y  que no sea un valor nulo
				if ( rs.length>2  ||     isNaN(rs[0]) || rs[1].length<4  || (isNaN(rs[1])  &&  rs[1]!=undefined ) ){	ban=1	}

				//----------------------------------------------------------------	
				// rango 2 se verifica
				
				if (rs_1[1]!=undefined )
				{
					rs=rs_1[1].split("-") 
                    // largo maximo 2         sea numeros       sea  numero  y  que no sea un valor nulo
					if (rs_1[1]=="" ||  rs.length>2  ||     isNaN(rs[0]) || rs[1].length<4  || (isNaN(rs[1])  &&  rs[1]!=undefined ) ){	ban=1	}
				}

				
			
			//----------------------------------------------------------------
			// si ban=1 algun dato esta mal ingresado
			if (ban==1){
				alert("Dato mal ingresado\nVerifique que no este ingresando letras y que el año sea de 4 digitos\nRecuerde numero-año, ej: 1-2006")
				num_folio.value=""
				num_folio.focus()
			}
			//----------------------------------------------------------------
		}
		//----------------------------------------------------------------
	}
//------------------------------------------------------------------------------------------
function ayuda_modulo(sistema,titulo)
	{
		open_ventana("../php_generico/ayuda.php?ids_sistema="+sistema+"&titulo="+titulo,800,600,"window")
	}
	

//--------------------------------------------------------------
// Funcion que limpia los cuadros
function limpia_c(c,ex)
{	
	for (i=0;i<=c;i++ )
	{
		ban=true
		// En el caso de botones u otro elemento que no se quiera borrar su value
		
		if (ex.length!=0){if (i==ex[i]){ban=false}}
		//--------------------------------------------------------------
		if(document.formulario.elements[i].type!='button' && document.formulario.elements[i].alt!="0")
		{
			if (ban){document.formulario.elements[i].value=""}
		}
	}
	document.formulario.band_edicion.value=9
}
//--------------------------------------------------------------
// aqui el open ventana

var ventana

function open_ventana(pagina,alto,ancho,target)
{
		opciones=("width="+alto+",height="+ancho+",toolbar=no, location=no, directories=no, status=yes, menubar=no ,scrollbars=yes, resizable=yes, fullscreen=no,top=0,left=0" );

		if(ventana!=undefined){ventana.close()}

		ventana=window.open(pagina,target,opciones)
		ventana.focus()
}

//--------------------------------------------------------------

function open_personalida(pagina,alto,ancho,target)
	{
		m_left=(window.screen.width/2)-(alto/2);
		m_top=(window.screen.height/2)-(ancho/2);
		

		opciones=("width="+alto+",height="+ancho+",toolbar=no, location=no, directories=no, status=no, menubar=no ,scrollbars=no, resizable=no, fullscreen=no,top="+ m_top + ",left=" + m_left );
		
		ventana=window.open(pagina,target,opciones)
		ventana.focus()
	}
//--------------------------------------------------------------

	function muestraCapa(n,i)
	{
		
		document.getElementById("capa1").firstChild.nodeValue=texto[i];
		eval('document.all.capa'+n+'.style.visibility="visible"')
	}

	function ocultaCapa(n)
	{
		eval('document.all.capa'+n+'.style.visibility="hidden"')
	}
//--------------------------------------------------------------------------------------------
// Menu compartido entre los distintos formularios

	

//-----------------------------------------------------------------------------------------------
// acepta solo numeros
	var nav4 = window.Event ? true : false;
	
	function acceptNum(evt)
	{ 
	
		var key = nav4 ? evt.which : evt.keyCode; 
		return (key <= 13 || (key >= 48 && key <= 57));
	}

	


	function acceptNumcoma(evt)
	{ 
	
		var key = nav4 ? evt.which : evt.keyCode; 
		
		return (key <= 13 || (key >= 48 && key <= 57) ||(key==44 ));
	}

	function acceptNumsepultura(evt)
	{ 
		var key = nav4 ? evt.which : evt.keyCode; 
	//	alert(key)
		return (key <= 13 || ((key >= 48 && key <= 57) ||  (key >= 65 && key <= 90) ||  (key >= 97 && key <= 122) ||  (key >= 45 && key <= 47))  );
	}

		function acceptNumanos(evt)
	{ 
		var key = nav4 ? evt.which : evt.keyCode; 
		//alert(key)
		return (key <= 13 || ((key >= 48 && key <= 57) ||  (key >= 65 && key <= 90) ||  (key == 45)));
	}

//------------------------------------------------------------------------------------------------
// Habilita el formulario a pantalla completa
	function pantallacompleta (pagina) 
	{
	var opciones=("toolbar=no, location=no, directories=no, status=no, menubar=no ,scrollbars=no, resizable=no, fullscreen=yes"); 
	window.open(pagina,"",opciones);
	}
//----------------------------------------------------------------------------------------------
//Define un color de fila para la tabla mostrada en los formularios
		
	function uno(src,color_entrada) { 
		src.bgColor=color_entrada;src.style.cursor="default"; 
	} 
	function dos(src,color_default) { 
		src.bgColor=color_default;src.style.cursor="default"; 
	} 
//-------------------------------------------------------------------------------------------------
// Da formato a un numero para que tenga separacion de miles
// op=1 (si viene de un type=text)
	function formatNmb(nNmb,op)
	{
		var sRes = "";

		num=(op==1)?nNmb.value:num=nNmb+"";
		
			
		if (num!="")
		{
			num_temp=num.split(",")
			num=num_temp[0]
			num_temp[1]=(num_temp[1]==undefined)?"":","+num_temp[1]

			for (var j, i = num.length - 1, j = 0; i >= 0; i--, j++)
			{
				sRes = num.charAt(i) + ((j > 0) && (j % 3 == 0)? ".": "") + sRes;
			}

			if (op==1)
			{

				nNmb.value=sRes+num_temp[1]
			}else{
				return sRes+num_temp[1]
			}
		}	
   }

//-------------------------------------------------------------------------------------------------
   function formato_num(nNmb,op)
	{
		num=(op==1)?nNmb.value:num=nNmb+"";

		if (num!="")
		{	

				l=num.length

				switch(l)
				{
					case 4:
						i=new Array(0,1,1,3,0,0)
						break;
					case 5:
						i=new Array(0,2,2,4,0,0)
						break;
					case 6:
						i=new Array(0,3,3,3,0,0)
						break;
					case 7:				
						i=new Array(0,1,1,3,4,6)
						break;
					case 8:				
						i=new Array(0,2,2,3,5,7)
						break;
					case 9:				
						i=new Array(0,3,3,3,6,8)
						break;
				}		

				num1=num.substr(i[0],i[1])
				num2="."+num.substr(i[2],i[3])
				if (l>=7){
					num3= "." + num.substr(i[4],i[5]);
				}else{
					num3=""
				}
				
				num=(l<=3)?num:num1+num2+num3;

				
				//----------------------------------------------------------------------------------------
				if (op==1){			
					nNmb.value=num
				}else{
					return (num)
				}
		}
   }
//-------------------------------------------------------------------------------------------------
// Elimina algun caractere de un string
//nNmb= traspaso del numero que se le quitara el punto
	//op= si viene de una funcion o un type=text
	//str_byte=El caracter a buscar y quitar
    function quita_punto(nNmb,op,str_byte)
   {
		var sRes = "";
		
		num=(op==1)?nNmb.value:num=nNmb+"";
		if (num!="")
		{		
			for(i=0;i<=num.length;i++)
			{
				str_c=num.substring(i,i+1)
				if (str_c!=str_byte)
				{
					sRes=sRes+str_c;	
				}
				
				
			}		
			
			if (op==1)
			{
				nNmb.value=sRes
			}else{
				return sRes
			}
		}
   }

//------------------------------------------------------------------------------------------------
// define la cantidad de decimanles por
   function round(number,X) {
		// rounds number to X decimal places, defaults to 2
		X = (!X ? 2 : X);
		return Math.round(number*Math.pow(10,X))/Math.pow(10,X);
	} 
//------------------------------------------------------------------------------------------------
// Valida que lo ingresado sea solo numeros
function solo_numero(oTxt)
	{
		num_temp=oTxt.value.split(",")

		num=num_temp[0]

		num_temp[1]=(num_temp[1]==undefined)?"":","+num_temp[1]
		
		
		
		if (num!="")
		{
			num=quita_punto(num,2,".")
			if (isNaN(num)){
				alert("Error debe ingresar solo numeros y no letras")
				oTxt.value=""
				oTxt.focus();
			}else{
				oTxt.value=parseInt(num)+num_temp[1]
			}
		}
	}
//-----------------------------------------------------------------------------------------------
// formato_text

	function formato_text(otxt,l)
	{
		//alert(otxt.value) parseInt("00001")
			
			num=otxt.value
			
			

			msg=""
			salida=""
			if (num!="")
			{
				largo=num.length
				if (l!=largo)
				{
					
					for (i=1;i<=(l-largo) ;i++ )
					{
						
						salida+="0"
					}
				}				
			} // fin if
			salida=salida+ num
			if (isNaN(salida)){
				alert("Error debe ingresar solo numeros y no letras")
				salida=""

			}
			

			otxt.value=salida
			//	alert(salida)
				
		
	}
	
//-------------------------------------------------------------------------------------------------
// Compara fechas
function comparar(otxtd,otxth,msg)
	{
		
		
	fecha1=ajusta_fecha(otxtd);
	fecha2=ajusta_fecha(otxth);
	var auxfec1=Date.parse(fecha1);
	var auxfec2=Date.parse(fecha2);

	if (auxfec1>auxfec2)
		{
		alert(msg);
		return true
		}
	else{
		return false
		}
		
	}

function ajusta_fecha(fecha)
	{
	var dia1 =fecha.substring(0,2);
	var mes1 =fecha.substring(3,5);
	var year=fecha.substring(6,10);
	fecha=mes1+"/"+dia1+"/"+year;
	return(fecha);
	
	}
//------------------------------------------------------------------------------------------------
// Valida un campo fecha

function esDigito(sChr){
	var sCod = sChr.charCodeAt(0);
	return ((sCod > 47) && (sCod < 58));
}
function valSep(oTxt)
	{
		var bOk = false;
		bOk = bOk || ((oTxt.charAt(2) == "-") && (oTxt.charAt(5) == "-"));
		bOk = bOk || ((oTxt.charAt(2) == "/") && (oTxt.charAt(5) == "/"));
		return bOk;
	}
function finMes(oTxt)
	{
		var nMes = parseInt(oTxt.substr(3, 2), 10);
		var nRes = 0;
		switch (nMes)
		{
			case 1: nRes = 31; break;
			case 2: nRes = 29; break;
			case 3: nRes = 31; break;
			case 4: nRes = 30; break;
			case 5: nRes = 31; break;
			case 6: nRes = 30; break;
			case 7: nRes = 31; break;
			case 8: nRes = 31; break;
			case 9: nRes = 30; break;
			case 10: nRes = 31; break;
			case 11: nRes = 30; break;
			case 12: nRes = 31; break;
		}
		return nRes;
	}

function valDia(oTxt)
	{
		var bOk = false;
		var nDia = parseInt(oTxt.substr(0, 2), 10);
		bOk = bOk || ((nDia >= 1) && (nDia <= finMes(oTxt)));
		return bOk;
	}

function valMes(oTxt)
	{
		var bOk = false;
		var nMes = parseInt(oTxt.substr(3, 2), 10);
		bOk = bOk || ((nMes >= 1) && (nMes <= 12));
		return bOk;
	}

function valAno(oTxt)
	{
		var bOk = true;
		var nAno = oTxt.substr(6);
		bOk = bOk && ((nAno.length == 2) || (nAno.length == 4));
		if (bOk)
			{
			for (var i = 0; i < nAno.length; i++)
			{
				bOk = bOk && esDigito(nAno.charAt(i));
			}
		}
		return bOk;
	}

function valFecha(oTxt)
	{
		var bOk = true;
		
		if (oTxt.value==undefined)
		{
			str_fecha=oTxt
			ban=1
		}else{
			str_fecha=oTxt.value;
			ban=0
		}
		

		if (str_fecha=='TODOS')
		{
			str_fecha=""
		}

		if (str_fecha!= "")
		{
			bOk = bOk && (valAno(str_fecha));
			bOk = bOk && (valMes(str_fecha));
			bOk = bOk && (valDia(str_fecha));
			bOk = bOk && (valSep(str_fecha));
			if (!bOk)
			{
				alert("Fecha inválida \nFormato valido: (dia-mes-año)\n ejemplo: 01-01-2006");
				if (ban==0)
				{
					oTxt.value = "";
					oTxt.focus();
				}else{
					return(ban)
				}
			}
		}
	}

// Fin valida campo fecha
//------------------------------------------------------------------------------------------------
// Valida Rut
	function validar(sRut,Sdig,cons)
		{
		//	habilita_todos(false)
		
			if (!(Sdig.value==""))
				{
					rut=sRut.value;
					rut=quita_punto(rut,2,'.')
					
					var count=0;var count2=0;var factor=2;var suma=0;var sum=0;	var digito=0;
					count2=rut.length - 1;

					while(count < rut.length)
					{
						sum = factor * (parseInt(rut.substr(count2,1))); 
						suma = suma + sum;
						sum=0;

						count = count + 1;
						count2 = count2 - 1;
						factor = factor + 1;

						if(factor > 7){factor=2;} 
					}

					digito= 11 - (suma % 11)

					if(digito==11){digito=0;}

					if(digito==10){digito="K";}
					if (!(digito==Sdig.value))
						{
							alert("Rut ingresado es incorrecto");
							Sdig.value="";
							sRut.value="";
							Sdig.focus();
							return(false);
						}else{
							
						//	if(cons==1){valida_existe(2)};
						}
				}
		}
//------------------------------------------------------------------------------------------------
function valida(a)
	{
		msg="";f=0;
		ban=false;
		for(i=0;i<=a;i++)
		{
			
			tipo=document.formulario.elements[i].type
			
			
			if (tipo=="select-one" || tipo=="textarea" )
			{
				temp_alt= document.formulario.elements[i].title
					
			}else{
				temp_alt= document.formulario.elements[i].alt
			}

			
			if (document.formulario.elements[i].value=="" && temp_alt!="")
				{
					if(f==0){f=i}	
					msg+="  - "+temp_alt+"\n";
					
				}
			

			
				
		}
		if (msg!="")
			{ 

				msg ="_________________________________\n\n" +
				"Los campos con arterisco son obligatorios en:\n" +
				msg + "\n_________________________________" +
				"\nPor favor, vuelva a completarlos !";
				alert(msg);
				document.formulario.elements[f].focus();
				
				return (msg)
			}else{
				return ""
				}


	}

//------------------------------------------------------------------------------------------------
	function color(el,i)
	{
		 if (!el.readOnly)
		 {
			 el.className =(i==1)? "sfondo1" : "sfondo2";            
		 }
		 
		 
    }

	 function colors(el,i) {
	     if(i==1)
		{fondo="f1";
		}else{
		fondo="f2";
		}
			el.className = fondo
			//isEmpty(i==1) ? "sfondo1" : "sfondo2";
            
         }

	function color_text(el,i) {
		
	     if(i==1)
			{
			 fondo="sfondo1";
			}else{
				fondo="sfondo2";
			}
			el.className = fondo
			
            
         }

//------------------------------------------------------------------------------------------------
	function mayuscula(objeto)
	{
		objeto.value=objeto.value.toUpperCase()
	}


//------------------------------------------------------------------------------------------------

// rellover
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

//-----------------------------------------------------------------------------------------------
	function calendario(i,directorio)
	{
		var left=(window.screen.width/2)-100
		var top=(window.screen.height/2)-120

		//var	 left=(screen.width-document.body.clientWidth) / 2; 
		//var	top=(screen.height-document.body.clientHeight) / 2; 

		
		
		opciones="height=170, width=125, toolbar=no, location=no, directories=no, status=yes, menubar=no ,scrollbars=no, resizable=no, fullscreen=no,top="+top+", left="+left 
		
		ventana=window.open(directorio + "../calendario/calendario.php?indice="+i,"blank",opciones)
		ventana.focus();

		//open_personalida(directorio + "../calendario/calendario.php?indice="+i,170,125,"window")

	//	open_ventana(directorio + "../calendario/calendario.php?indice="+i,170,125,"window")
	}


//-------------------------------------------------------------------------------------------------
// Valida correo electronico

   function validar_email(otxt) 
	{ 
		correo=otxt.value
		msg=""
		if(correo!="")
		{
			
			arroba=correo.indexOf('@')
			if (arroba==-1){
				msg=" @ "
				
			}		
			

			parte2=correo.substring(arroba+1,correo.length)			

			
			punto=parte2.indexOf('.')
			
			
			if (punto==-1){msg+=" punto";}
			//---------------------------------------------------------------------------
			if (msg!=""){
				alert("El correo ingresado le faltan los siguientes caracteres obligatorios"+msg)
				otxt.value=""
				otxt.focus()

			}
		}		
	} 

//-------------------------------------------------------------------------------------------------	

if (history.forward(1)){location.replace(history.forward(1))}  // No retroce a la ultima pagina


// evita la tecla f5

 document.onkeydown = function(){ 

		//window.event.keyCode == 8 || //retroceso
    if(window.event && (window.event.keyCode == 116 || window.event.keyCode == 219)){
		if (window.event.keyCode==8)
		{
			srt_msg="Utilice la tecla supr para borrar"
		}else{
			srt_msg="Tecla Prohibida"
		}
	alert(srt_msg)
     window.event.keyCode = 505; 
    }
    if(window.event && window.event.keyCode == 505){ 
     return false;    
    } 
   } 


//   function dale(){tl=event.keyCode;if(tl==17 || tl==18){window.alert('qué haces?')}}
//	document.onkeydown=dale()

//----------------------------------------------------------------------
//avanza con la tecla enter
function teclado(i)
{
	
	if (event.keyCode==13)
	{
		document.formulario.elements[i].focus()
	}
}
//----------------------------------------------------------------------
//avanza con la tecla enter
function tabular(e,obj) { 


  tecla=(document.all) ? e.keyCode : e.which; 
  
  if(tecla!=13) return; 
  
	frm=obj.form; 	
  
	for(i=0;i<frm.elements.length;i++)
	{
		
		if(frm.elements[i]==obj) 
		{ 
			if (i==frm.elements.length-1) i=-1; 
			break 
		} 
	}
	i++
	// En el caso de que el proximo campo sea de solo lectura o oculto "hidden"
	if(frm.elements[i].readOnly || frm.elements[i].type=="hidden"){	i++}
	if(frm.elements[i].readOnly || frm.elements[i].type=="hidden"){	i++}

	frm.elements[i].focus();

	if(frm.elements[i].type=="text"){	frm.elements[i].select();}
	 
	

	return false; 
} 
//----------------------------------------------------------------------
function muestraReloj()
{
// Compruebo si se puede ejecutar el script en el navegador del usuario
if (!document.layers && !document.all && !document.getElementById) return;
// Obtengo la hora actual y la divido en sus partes
var fechacompleta = new Date();
var horas = fechacompleta.getHours();
var minutos = fechacompleta.getMinutes();
var segundos = fechacompleta.getSeconds();
var mt = "AM";
// Pongo el formato 12 horas
if (horas > 12) {
mt = "PM";
horas = horas - 12;
}
if (horas == 0) horas = 12;
// Pongo minutos y segundos con dos dígitos
if (minutos <= 9) minutos = "0" + minutos;
if (segundos <= 9) segundos = "0" + segundos;
// En la variable 'cadenareloj' puedes cambiar los colores y el tipo de fuente
cadenareloj = "<font size='1' face='verdana' ><b>" + horas + ":" + minutos + ":" + segundos + " " + mt + "</b></font>";
// Escribo el reloj de una manera u otra, según el navegador del usuario
if (document.layers) {
document.layers.spanreloj.document.write(cadenareloj);
document.layers.spanreloj.document.close();
}
else if (document.all) spanreloj.innerHTML = cadenareloj;
else if (document.getElementById) document.getElementById("spanreloj").innerHTML = cadenareloj;
// Ejecuto la función con un intervalo de un segundo
setTimeout("muestraReloj()", 1000);
}

//------------------------------------------------------------------------------------
// Busca datos para la auditoria

function r_datosauditoria(l)
{
	var salida=""
	for(i=0;i<=l;i++)
	{
		
		salida=salida+document.formulario.elements[i].name+"="+document.formulario.elements[i].value+"|"

	}
	return(salida)
}

//-----------------------------------------------------------------------------------------
// Oculta mensaje en barra de estado
function barra(texto){
	
	    window.status=texto
}

//-----------------------------------------------------------------------------------------
// Verifica largo maximo permitido

function valida_largo(otxt,l,texto)
	{
		if (otxt.value.length<l && otxt.value!="")
		{
			otxt.value=""
			otxt.focus()
			alert(texto+" mal ingresado debe ingresar "+l+" carácteres como  maximo y minimo ")
		}
	}
//--------------------------------------------------------------------------------
//Mas en: http://javascript.espaciolatino.com/
//Objeto oNumero
function oNumero(numero)
{
//Propiedades 
this.valor = numero || 0
this.dec = -1;
//Métodos 
this.formato = numFormat;
this.ponValor = ponValor;
//Definición de los métodos 
function ponValor(cad)
{
if (cad =='-' || cad=='+') return
if (cad.length ==0) return
if (cad.indexOf('.') >=0)
    this.valor = parseFloat(cad);
else 
    this.valor = parseInt(cad);
} 


function numFormat(dec, miles)
{
var num = this.valor, signo=3, expr;
var cad = ""+this.valor;
var ceros = "", pos, pdec, i;
for (i=0; i < dec; i++)
ceros += '0';
pos = cad.indexOf('.')
if (pos < 0)
    cad = cad+"."+ceros;
else
    {
    pdec = cad.length - pos -1;
    if (pdec <= dec)
        {
        for (i=0; i< (dec-pdec); i++)
            cad += '0';
        }
    else
        {
        num = num*Math.pow(10, dec);
        num = Math.round(num);
        num = num/Math.pow(10, dec);
        cad = new String(num);
        }
    }
pos = cad.indexOf('.')
if (pos < 0) pos = cad.lentgh
if (cad.substr(0,1)=='-' || cad.substr(0,1) == '+') 
       signo = 4;
if (miles && pos > signo)
    do{
        expr = /([+-]?\d)(\d{3}[\.\,]\d*)/
        cad.match(expr)
        cad=cad.replace(expr, RegExp.$1+','+RegExp.$2)
        }
while (cad.indexOf(',') > signo)
    if (dec<0) cad = cad.replace(/\./,'')
        return cad;
}
}//Fin del objeto oNumero:

//----------------------------------------------------------------------
// Permite convertir un numero
function convertir_numero(num, op)
{
	salida=quita_punto(num,2,".")
	salida=salida.replace(",",".")
	if (op==1)
	{
		salida=parseFloat(salida);
	}
	
	return(salida)

}

//-----------------------------------------------------------------------------------------------

function aprox_decimales(numero, decimales)
{
	numero=numero.toString()
	num=numero.split(".")
	if (num[1]!=undefined)
	{
		numero= parseFloat(num[0] + "." + num[1].substr(0, decimales));
	}else{
		numero= parseFloat(numero);
	}

	return (numero)
}

//-------------------------------------------------------------------------------
// Efecto para indicar que la pagina se esta cargando
	
	function efecto(ban)
	{
		document.getElementById("img_carga").style.visibility=ban 
		document.getElementById("img_carga").innerHTML="<img src='" + directorio_salida + "../imagen/indicator.gif' width=\"20px\" height=\"20px\"><font color=\"red\" face=\"verdana\"> Cargando...... </font>"

	}

//-------------------------------------------------------------------------------------------------------------------
function navegar(pos)
{

	pagina="&str_buscar="+ document.formulario.str_buscar.value+"&sel_filtro="+document.formulario.sel_filtro.value+"&posicion="+pos
	fun_ajax("1", opcion_temp, pagina)
}

function bloquear_form(ban)
{
	for (i=0;i<=formulario.length-3;i++)
	{
		document.formulario.elements[i].disabled=ban
	}
}




//----------------------------------------------------------------------
// Deja en gris los objetos que quieros bloquear
function class_bloq(rs,clase,ban)
{
	rs=rs.split("|")
	for(i=0;i<=rs.length-1;i++)
	{		
		document.formulario.elements[i].className=clase
		document.formulario.elements[i].readOnly=ban
	}	
}
//---------------------------------------------------------------------------

function inyeccion(campos,directorio)
	{
		
		arreglo=new Array("'",";","%","?","#",'"');
		ban=0
		for(i=0;i<=campos.length-1;i++)
		{
			car=campos.substr(i,1)
			for(j=0;j<=arreglo.length;j++)
			{
				if (car==arreglo[j]){
					ban=1
				}
			}
		}

		visible="hidden";

		//-------------------------------------------------------------------------------------------------


		salida="<table style=\"font:10pt verdana; text-align:justify \" width=\"400px\" cellspacing=\"0\" cellpadding=\"2\">";
		salida+="<tr style=\"background:url('" + directorio +"../imagen/barra_ascade.gif') repeat \"><td style=\"color:white\"> Caracteres no validos </td><td align=\"right\"><img src=\""+ directorio + "../imagen/close.jpg\" border=\"0\" onclick=\"document.getElementById('mensaje').style.visibility='hidden'\" style=\"Cursor : pointer\"></td></tr>";
		salida+="<tr><td  align=\"center\"><img src=\""+directorio+"../imagen/error.gif\"></td></tr>";
		salida+="<tr><td> <center> Imposible grabar los siguientes caracateres <b>NO</b> son validos revise sus datos<br><nobr style=\"font:14pt verdana \"> ' ; % ? # \" </nobr>  </center></td></tr>";
		salida+="</table>";

		//-------------------------------------------------------------------------------------------------

		if (ban==1){
				visible="visible"		
				document.getElementById("mensaje").innerHTML=salida;			
		}
		document.getElementById("mensaje").style.visibility=visible;
		return(ban)
	}

//-----------------------------------------------------------------------------------------------------------
function habilita_select(ban)
{
	for(i=0;i<document.formulario.length-1;i++)
	{
		tipo=document.formulario.elements[i].type
		if (tipo=="select-one"){
			document.formulario.elements[i].style.visibility=ban
		}

	}
}


//--------------------------------------------------------------------------------------------------------------
function limpiar_select() {
	for (i=document.formulario.sel_filtro.length-1;i>=0;i--)
	{
		document.formulario.sel_filtro.options[i]=null;
	}
}

//----------------------------
// Valida el formato de la hora
function CheckTime(str)
{
	var hora=str.value;
	var salida="";
	if (hora!=''){
		if (hora.length>5) {salida="Introdujo una cadena mayor a 5 caracteres"}

		if (hora.length!=5) {salida="Introducir HH:MM"}

		a=hora.charAt(0) //<=2 12:00
		b=hora.charAt(1) //<4
		c=hora.charAt(2) //:
		d=hora.charAt(3) //<=5	
		f=hora.charAt(4) //<=5

		if ((a==2 && b>3) || (a>2)) {salida="El valor que introdujo en la Hora no corresponde, introduzca un digito entre 00 y 23"}
		
		if (d>5) {salida="El valor que introdujo en los minutos no corresponde, introduzca un digito entre 00 y 59"}	

		if (c!=':' ) {salida="Introduzca el caracter ':' para separar la hora y los minutos"}
	
	//------------------
		if(salida!=""){
			alert(salida)
			str.value=""
		}
	}
	
}

//---------------------------

function CompararHoras(sHora1, sHora2) { 
     
    var arHora1 = sHora1.split(":"); 
    var arHora2 = sHora2.split(":"); 
     
    // Obtener horas y minutos (hora 1) 
    var hh1 = parseInt(arHora1[0],10); 
    var mm1 = parseInt(arHora1[1],10); 

    // Obtener horas y minutos (hora 2) 
    var hh2 = parseInt(arHora2[0],10); 
    var mm2 = parseInt(arHora2[1],10); 
	

	 if (hh1>hh2 || (hh1==hh2 && mm1>mm2)) {
		alert("La Hora inicio debe ser menor")
		salida=0
	 }else{
		salida=1
	 }

	return(salida)
	
} 
