  function listBox(campo,etiqueta,noValor){    
	Ctrl = campo.options[campo.selectedIndex].value;	
	if (Ctrl == noValor){
  	 	validatePrompt (campo, "Precaución: Escoja escoja una opcion para: "+etiqueta);
	  	return false;
	}else
 	 	return true;
 }  
	
 function textBoxAlfaNumerico(campo,etiqueta){    
	if(campo.value == ""){
     	validatePrompt (campo, "Precaución: Digite un valor para: "+etiqueta);
		return false;	
	}else
 	 	return true;
 }  
 
 function textBoxSoloLetra(campo,etiqueta){    
	if(campo.value == ""){
     	validatePrompt (campo, "Precaución: Digite un valor para: "+etiqueta);
		return false;	
	}else if(!validaSoloLetras(campo.value)){//si solo son letras
 	 	validatePrompt (campo, "Precaución: Valor erroneo para: "+etiqueta)
		return false;
	}else
		return true;
 }  
 
 function textBoxSoloNumero(campo,etiqueta){    
	if(campo.value == ""){
     	validatePrompt (campo, "Precaución: Digite un valor para: "+etiqueta);
		return false;	
	}else if(!validaSoloNumeros(campo.value)){//si no son solo numeros
 	 	validatePrompt (campo, "Precaución: Valor erroneo para: "+etiqueta)
		return false;
	}else
		return true;
 }  
 
 function validaSoloNumeros(s){
	for(var i = 0; i < s.length; i++) { 
      var c = s.charAt(i);
 	  // Si encuentra algún simbolo diferente de numero automaticamente retorna false
      if ((c != '1') && (c != '2') && (c != '3') && (c != '4')&& (c != '5')&& (c != '6')&& (c != '7')&& (c != '8')&& (c != '9')&& (c != '0')) 
         return false;    
    }//cierro for
    return true;	// solo contiene letras  con otros caracteres dif a numero		
 }//cierra funcion validaSoloNumeros
 
 function validaSoloLetras(s){
	for(var i = 0; i < s.length; i++) { 
      var c = s.charAt(i);
 	  // Si encuentra algún simbolo diferente de numero automaticamente retorna false
      if ((c == '1') || (c == '2') || (c == '3') || (c == '4')|| (c == '5')|| (c == '6')|| (c == '7')|| (c == '8')|| (c == '9')|| (c == '0')) 
         return false;    
    }//cierro for
    return true;	// solo contiene letras  con otros caracteres dif a numero		
 }//cierra funcion validaSoloNumeros
 
 
 function revisar_FechaNormas(fecha){
	String1 = fecha.value;  
	if(String1.length<8){
		validatePrompt (fecha, "Precaución: "+fecha.name+" erronea.");
		return "";
	} else if(validaSoloNumeros(String1.substring(0,4))==false)
			String1=quitaFormatoFechaNormas(String1);

	return String1;
}//fin de funcion compara_fecha


function quitaFormatoFechaNormas(cadena){
   	var contador;
   	var axu1;
   	var axu2;
   	var axu3;
   	var meses = new Array('Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'); 
   	if(cadena == "" || cadena == " " || cadena.length < 4 )  
   		return("");
    
	contador=cadena.length;
   	if(cadena.substring(1,2)=="-"){
     	axu1 = "0" + cadena.substring(0,1);//toma dia de 1 digito
     	axu2 =  cadena.substring(2,contador-5);//toma mes en letras
   	} else {
      		axu1 = cadena.substring(0,2);//toma dia de dos digitos
	  		axu2=  cadena.substring(3,contador-5);//toma mes en letras
   	 }
   axu3 =  cadena.substring(contador-4,contador);//toma año
   for(t=0;t<12;t++) {//numero de meses del año
       if(axu2==meses[t]) { 
	       if(t < 9) 
		   		axu2 = "0" + (t+1);//si el mes es de un digito, agrego un cero
		   else  
		   		axu2= t+1; 
		   t=12;//finalice el ciclo
	   }
   }//cierro for
  cadena = axu3+"-"+axu2+"-"+axu1;//devuelve la fecha en formato aa/mm/dd
  return (cadena);
 }//cierra funcion quitar_formato
 
 function poneFormatoFechaResultados(cadena){
   	var contador=0;
   	var axu1="";
   	var axu2="";
   	var axu3="";
   	var meses = new Array('Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'); 
	
	if ( !(cadena.substring(4,5)=="-" && cadena.substring(7,8)=="-" ))  
		return(cadena);

   	axu1=cadena.substring(8,10);
   	axu2=cadena.substring(5,7);
   	axu3=cadena.substring(0,4);
	
   	for(t=0;t<12;t++){
	   if(parseInt(axu2,10)==(t+1)){
	      	cadena=meses[t];
		  	break;
	   }
   	}
   	cadena = axu1+"-"+cadena+"-"+axu3;
   	return (cadena);
}

 
 
  function oNumero(numero){
	this.valor = numero || 0
	this.dec = -1;
	this.formato = numFormat;
	this.ponValor = ponValor;

	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 


function iniTodo(idForm, idCampo, dec, mil){
	var obj = document.getElementsByName(idForm);
	obj[0].minumero = new oNumero()
	obj[0].idCampo = idCampo;
	obj[0].posDec = dec;
	obj[0].miles = mil;
	obj[0].onkeyup = procTecla;
}

function procTecla(ev){
	var cadena='';
	var pd , minum;
	var campo = this.idCampo
	
	if (!document.all) event=ev
	if (event.keyCode >36 && event.keyCode <41)
		return
	if ((event.keyCode != 110) && (event.keyCode < 96 || event.keyCode > 105))
		return
	if (event.keyCode < 96 || event.keyCode > 106)
		return
	if (this[campo].value=='0')
		 this[campo].value = '';
	cadena = this[campo].value;
	if ((event.keyCode == 109 || event.keyCode == 107) &&    cadena.length >0)
			 return
	if (event.keyCode == 110)
		if (pd < cadena.length-1 || pd==0){
			cadena = cadena.substr(0, cadena.length-1)
			if (cadena.length==0) cadena ='0.'
				return
		}
	pd = cadena.indexOf('.')
	if (pd >= 0)
		pd = cadena.length - pd -1;
	else
		pd = -1
	if (pd > this.posDec ){
		cadena = cadena.substr(0, cadena.length-1)
		pd=this.posDec;
	}
	this.minumero.ponValor(cadena.replace(/\,/g,''))
	cadena = this.minumero.formato(pd, this.miles)
	if (cadena=='0')     
		 cadena =""
	this[campo].value = cadena
}

function quita_caracteres(cas){    
    var num = cas.length;  
	var aux = "";
	 
	for (i=0; i<num; i++){
	  if(cas.substring(i,i+1)!=",")
	  aux=aux+cas.substring(i,i+1);
	} 
	return(aux);  
}


function pasar() { //eduin
	obj = document.getElementById("acuerdos_disponibles"); 
	if (obj.selectedIndex==-1) return; 
	valor=obj.value; 
	txt=obj.options[obj.selectedIndex].text; 
	obj.options[obj.selectedIndex]=null; 
	obj2=document.getElementById("id_registro_acuerdo"); 
	opc = new Option(txt,valor); 
	eval(obj2.options[obj2.options.length]=opc);     
} 
function quitar() { //eduin
	obj=document.getElementById("id_registro_acuerdo"); 
	if (obj.selectedIndex==-1) return; 
	valor=obj.value; 
	txt=obj.options[obj.selectedIndex].text; 
	obj.options[obj.selectedIndex]=null; 
	obj2=document.getElementById("acuerdos_disponibles"); 
	opc = new Option(txt,valor); 
	eval(obj2.options[obj2.options.length]=opc);     
} 

function agregar() {  //julian    
	valora = document.getElementById("disponibles").value;
	Obj_o = document.getElementById("disponibles");
	Obj_d = document.getElementById("relacionados");
	var ok = false;
	i = Obj_d.length;// obtiene numero de elementos de la lista destino
	valor = Obj_o.selectedIndex ;// obtiene el numero del indice a agregar en la  lista origen
	if (valor >= 0){// si el indice es mayor o igual a cero, es porque se selecciono un item a agregar
  	  texto = Obj_o.options[valor].text;// formato=
	  for (var e = 0; e<i; e++){// recorre uno a uno cada elemento de la lista destino
		if (texto == Obj_d.options[e].text){// si el texto elegido en la lista origen, ya esta en la lista destino
			ok = true;
			break;
		}else
			ok = false;
	  }
	  if (!ok){// si al recorrer toda la lista destino no se encontro el item, entonces se añade a la lista destino
		var el = new Option(texto,valora);//texto,value     valora=id_evt
		Obj_d.options[i] = el;
            Obj_d.options[i].selected = true;  
	  }
	}else if(valor<0){
	  alert("Seleccione el item a agregar de la Lista Origen.");
	}else
		alert("Seleccione un item para agregar.");		
 } 

function borrar(){//julian
	Obj=document.getElementById("relacionados");
	temp = Obj.selectedIndex;// selecciona el indice a eliminar en la lista listaDestino
	if (temp>=0)// si se selecciono alguno el indice es >= a cero	
		Obj.options[temp]=null;
	else if (Obj.length==0)
		alert("La lista está vacía");
	else if (temp<0)
		alert("Seleccione el texto a borrar.");
 }
