//******************************************************************************
//Funciones Genericas utilizadas en el Sistema de Evaluación del Desempeño y P.
//******************************************************************************
function filtra(form){
  form.filtrar.value = "true";
  doSubmit(form);
}
//******************************************************************************
function checaAcentos(obj)
{
	if (obj.type.toUpperCase() != 'TEXT')
		return;
	if (obj.value.indexOf('Á')>=0 || obj.value.indexOf('É')>=0 || obj.value.indexOf('Í')>=0 || obj.value.indexOf('Ó')>=0 || obj.value.indexOf('Ú')>=0)
	{
		alert("El "+obj.men+" no puede contener acentos, corriga el dato por favor ");
		obj.focus();
	}
}

//******************************************************************************
function nofiltro(form){
  form.filtrar.value = "false";
  doSubmit(form);
}
//******************************************************************************

function doSubmit(form) {
  form.submit();
}
//******************************************************************************

function goPage(form,pag){
  form.pagina.value=pag;
  doSubmit(form);
  form.filtrar.value = "";
}
//******************************************************************************

function edit(nrecord,form){
  form.record.value = nrecord;
  process(form,"edit");
}
//******************************************************************************

function browse(nrecord,form){
  form.record.value = nrecord;
  process(form,"browse");
}
//******************************************************************************

function checkSel(form,mensaje){
  var almenosuno=false;
  var e;
  for(var i=0;i<form.elements.length;i++){
    e=form.elements[i];
    if(e.checked){
      almenosuno=true;
      break;
    }
  }
  if(almenosuno){
    return e.value;
  }else{
    alert(mensaje);
    return -1;
  }
}
//******************************************************************************

function ventana(url) {
  window.open(url,"win",'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,width=350,height=300');
  self.name = "mainWin";
}
//******************************************************************************


//******************************************************************************
//Funciones de Validación del Sistema Integral de Publicidad
//******************************************************************************
function valForm(forma){

  for(var i=0; i<forma.elements.length; i++){
  //tip = {1:numerico ; 2:texto ; 3:fecha ; 4:select}
  //req = {0:no requerido ; 1:si requerido}
    e = forma.elements[i];

    var r = e.req ;
    var t = e.tip ;
    var m = e.men ;
    var p = e.pad ;
    var v = e.val ;
    var n = e.name;
    var min = e.mini;
    var max = e.max;
	var anonac = e.anonac;
	var anoact = e.anoact;
	var ndec = e.numdec;
    if(forma.elements[i].type=="select-one" && !forma.elements[i].disabled){
      t = 'x';
    }
    if(forma.elements[i].type=="file"){
      t = 'f';
    }

    switch (t){
      case '0' : //codigo estrictamente letras y numeros
          if (!checkAlfaNum(e,m,r)){
            return false;
          } ;
        break;
      case '1' ://numerico
          if (!checkNumber(e,m,r,min)){
            return false;
          } ;
        break;
      case '2' : //texto
          if (!checkString(e,m,r)){
            return false;
          } ;
        break;
      case '3' : //fecha en formato dd/mm/aaaa
          if (!checkDate(e,m,r)){
            return false;
          } ;
        break;
      case '4' ://combo,
          if (!checkSelect(e,m,r)){
            return false;
          } ;
        break;
      case '5' ://Año
          if (!checkYear(e,m,r,min)){
            return false;
          } ;
        break;
      case '6' : //checkbox
          if (!checkMarc(e,m,r)){
            return false;
          } ;
        break;
      case '7' : //area de texto
          if (!checkTxtArea(e,m,r,max)){
            return false;
          } ;
      break;

      case '8' :
          if (!checkNmbr(e,m,r)){
            return false;
          } ;
      break;

      case '9' ://Codigo Postal
          if (!checkCP(e,m,r,min)){
            return false;
          } ;
      break;

      case 'A' ://ano con valores predeterminados
      case 'a' :
          if (!checkAnoPre(e,m,r,min,anonac,anoact)){
            return false;
          } ;
      break;

      case 'B' ://numerico como entero ó decimales fijos.
      case 'b' :
          if (!checkNumberDecimal(e,m,r,min,ndec)){
            return false;
          } ;
      break;

      case 'x' ://numerico
//         if((e.length==0) || (e.options[e.selectedIndex].text=="")){
//           alert ("Debe selecionar un valor de las listas");
//           return false;
//         }
        break;
      case 'f' : //file
        if(!checkEmpty(e)){
          var afile = e.value.split(".");
          if((afile.length<2)||(afile[1]!="bmp"&&afile[1]!="jpg")){
             alert ("Unicamente se permiten archivos con extensión BMP o JPG");
             return false;
          }
        }
        break;
    }
  }
  return true;
}
//******************************************************************************


function checkRequired(elem,etiq,req) {
  if (req == '1'){
    if (checkEmpty(elem)){
      if (!isEmpty(etiq)){
        alert ("Por favor, " + etiq + " debe tener un valor.");
      }
      if ( elem.type != "hidden" && !elem.disabled && elem.style.visibility != "hidden"){
        elem.focus();
      }
      return false;
    }
  }
  return true;
}
//******************************************************************************

function checkEmpty(elem) {//elemento
  if(elem.value.length==0){
    return true;
  }
  for (var i = 0; i < elem.value.length; i++){
    var c = elem.value.charAt(i);
    if ((c != ' ') && (c != '\n') && (c != '\t')){
      return false;
    }
  }
  return true;
}
//******************************************************************************

function isEmpty(cad) {//string
  if(cad.length==0){
    return true;
  }
  for (var i = 0; i < cad.length; i++){
    var c = cad.charAt(i);
    if ((c != ' ') && (c != '\n') && (c != '\t')){
      return false;
    }
  }
  return true;
}
//******************************************************************************

function checkAlfaNum(elem,etiq,req){
  codigo = elem.value;
  if (!checkRequired(elem,etiq,req)){
    return false;
  }
  if (!isAlphaNum(codigo)){
    if (!isEmpty(etiq)){
      alert ( etiq + " debe contener sólo letras mayúsculas y sin acentos.");
    }
    if ( elem.type!="hidden" && !elem.disabled && elem.style.visibility!="hidden"){
      elem.focus();
    }
    return false;
  }
  return true;
}

//******************************************************************************
function checkString(elem,etiq,req){
  codigo = elem.value;
  if (!checkRequired(elem,etiq,req)){
    return false;
  }
  if (!isAlphaNumeric(codigo)){
    if (!isEmpty(etiq)){
      alert ( etiq + " debe contener sólo letras en mayúsculas sin acentos y/o números.");
    }
    if ( elem.type!="hidden" && !elem.disabled && elem.style.visibility!="hidden"){
      elem.focus();
    }
    return false;
  }
  return true;
}

//******************************************************************************

function isAlphaNumeric(elem){//texto sin mayusculas.
  var alphanumeric ="ABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789 .,_-/\()!$%=+*?¿¡@[]{}:;#&ª¥";
  for (var i=0 ; i<elem.length ; i++){
    if ((alphanumeric.indexOf(elem.charAt(i))) == -1){
      return false;
    }
  }
  return true;
}

//******************************************************************************

function isAlphaNum(elem){//codigo
  var alphanumeric = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ' ";
  /*var alphanumeric = "abcdefghijklmnñopqrstuvwxyzáéíóúäëïöüâêîôûABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ0123456789 .,_-/\()!$%=+*?¿¡@[]{}:;#&ª¥";*/
  /*var alphanumeric ="abcdefghijklmnñopqrstuvwxyzáéíóúäëïöüâêîôûABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ0123456789 ";*/
  for (var i=0 ; i<elem.length ; i++){
    if ((alphanumeric.indexOf(elem.charAt(i))) == -1){
      return false;
    }
  }
  return true;
}
//******************************************************************************

function checkNumber(elem,etiq,req,min){
  codigo = elem.value;
  if (!checkRequired(elem,etiq,req)){
    return false;
  }
  if (isNaN(codigo)){
    if (!isEmpty(etiq)){
      alert ( etiq + " debe ser numérico.");
    }
    if ( elem.type != "hidden" && !elem.disabled && elem.style.visibility != "hidden"){
      elem.focus();
    }
    return false;
  }
  if (!isEmpty(codigo)){
    if (parseFloat(codigo)<parseFloat(min)){
      alert ( etiq + " debe ser mayor a " + (min-1));
      if ( elem.type != "hidden" && !elem.disabled && elem.style.visibility != "hidden"){
        elem.focus();
      }
      return false;
    }
  }
  return true;
}

//******************************************************************************
function checkDate( elem, etiq, req) {
  var value = elem.value;
  var dateFormat = /^(\d{2})(\/)(\d{2})\2(\d{4})$/;
  var dateMatch = value.match(dateFormat);
  if (!checkRequired(elem,etiq,req)){
    return false;
  }
  if (!checkEmpty(elem)){
    if (dateMatch == null) {
      alert("La fecha debe estar en formato dd/mm/aaaa.");
      if ( elem.type!="hidden" && !elem.disabled && elem.style.visibility!="hidden"){
        elem.focus();
      }
      return false;
    }
    month = dateMatch[3];
    day = dateMatch[1];
    year = dateMatch[4];
    if (month < 1 || month > 12) {
      alert("El mes debe tener un valor entre 01 y 12.");
      if ( elem.type!="hidden" && !elem.disabled && elem.style.visibility!="hidden"){
        elem.focus();
      }
      return false;
    }
    if (year < 1900 || year > 2999) {
      alert("El año es invalido.");
      if ( elem.type!="hidden" && !elem.disabled && elem.style.visibility!="hidden"){
        elem.focus();
      }
      return false;
    }
    if (day < 1 || day > 31) {
      alert("El día debe tener un valor entre 01 y 31.");
      if ( elem.type!="hidden" && !elem.disabled && elem.style.visibility!="hidden"){
        elem.focus();
      }
      return false;
    }
    if ((month == 4 || month == 6 || month == 9 || month == 11) && day == 31) {
       alert("El mes " + month + " no tiene 31 dias.");
      if ( elem.type!="hidden" && !elem.disabled && elem.style.visibility!="hidden"){
        elem.focus();
      }
      return false;
    }
    if (month == 2) {
      var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
      if (day > 29 || (day == 29 && !isleap)) {
        alert("Febrero " + year + " no tiene " + day + " dias.");
        if ( elem.type!="hidden" && !elem.disabled && elem.style.visibility!="hidden"){
          elem.focus();
        }
        return false;
      }
    }
  }
  return true;
}
//******************************************************************************

function checkCP(elem,etiq,req,min){
  codigo = elem.value;
  if (!checkNumber(elem,etiq,req,min)){
    return false;
  }
  if ((codigo.length>0)&&(codigo.length<5)){
    alert ( etiq + " debe ser de 5 digitos.");
    if ( elem.type!="hidden" && !elem.disabled && elem.style.visibility!="hidden"){
      elem.focus();
    }
    return false;
  }
  return true;
}
//******************************************************************************

function checkSelect(elem,etiq,req){
  if (req == '1'){
    if ( elem.value == '0' || elem.value == '' || elem.value == '-1' || elem.value==-1 ){
      if (!isEmpty(etiq)){
        alert("Por favor, seleccione " + etiq + ".");
      }
      if ( elem.type != "hidden" && !elem.disabled && elem.style.visibility != "hidden"){
        elem.focus();
      }
      return false;
    }
  }
  return true;
}
//******************************************************************************


function Mayusculas(element, event){
//onchange = this.value=this.value.toUpper();

  if (navigator.appName == 'Microsoft Internet Explorer')
    key = window.event.keyCode;
  else
    key = event.which;

  if (key >= 97 && key <= 122)
    if (navigator.appName == 'Microsoft Internet Explorer')
      window.event.keyCode = window.event.keyCode-32;
    else{
      event.which = event.which-32;
      event.returnValue = false;

      }
}
//******************************************************************************
  function numbersonly(campo, evento)
  {
    var key;
    var keychar;

    if (window.event)
      key = window.event.keyCode;
    else if (e)
      key = e.which;
    else
      return true;
    keychar = String.fromCharCode(key);
    //Control Keys
    if ((key==null) || (key==0) || (key==8) ||
        (key==9) || (key==13) || (key==27)   )
      return true;
    //numbers
    else if ((("0123456789").indexOf(keychar) > -1))
      return true;
    else
      return false;
  }
//******************************************************************************
function negnumbersonly(campo, evento)
{
  var key;
  var keychar;
//  alert("in neg");
  if (window.event)
    key = window.event.keyCode;
  else if (e)
    key = e.which;
  else
    return true;
  keychar = String.fromCharCode(key);
//  alert(keychar);
  //Control Keys
  if ((key==null) || (key==0) || (key==8) ||
      (key==9) || (key==13) || (key==27)   ){
    return true;
  //numbers
  }else{ if ((("0123456789").indexOf(keychar) > -1)){
    return true;
  }else{ if (keychar=="-"&&campo.value.length==0){
    return true;
  }else{
    return false;
  }
  }
  }
}

//******************************************************************************
function checkYear( elem, etiq, req, min ){
	 if ( !checkNumber(elem,etiq,req,min) ){
		return false;
	 }	 
	 if ( parseFloat(elem.value) < 1900 || parseFloat(elem.value) > 2999) {
		  alert( etiq + " es invalido.");
		 if ( elem.type!="hidden" && !elem.disabled && elem.style.visibility!="hidden"){
			elem.focus();
		 }
		 return false;
	 }
	 if ( parseFloat(elem.value) < 1900 || parseFloat(elem.value) > 2999) {
		  alert( etiq + " es invalido.");
		 if ( elem.type!="hidden" && !elem.disabled && elem.style.visibility!="hidden"){
			elem.focus();
		 }
		 return false;
	 }
	 return true;
}


function checkAnoPre( elem, etiq, req, min, anonac, anoact ){
	 if ( !checkNumber(elem,etiq,req,min) ){
		return false;
	 }	 
	 if ( parseFloat(elem.value) < 1900 || parseFloat(elem.value) > 2999) {
		  alert( etiq + " es invalido.");
		 if ( elem.type!="hidden" && !elem.disabled && elem.style.visibility!="hidden"){
			elem.focus();
		 }
		 return false;
	 }
	 if( anonac != null )
	 {
		 if ( parseInt(elem.value) < parseInt(anonac) ) {
			  alert( etiq + " es invalido.");
			  alert( etiq + ' no puede ser anterior a la fecha de Nacimiento.');
			 if ( elem.type!="hidden" && !elem.disabled && elem.style.visibility!="hidden"){
				elem.focus();
			 }
			 return false;
		 }
	 }
	 if( anoact != null )
	 {
		 if ( parseInt(elem.value) > parseInt(anoact) ) {
			  alert( etiq + " es invalido.");
			  alert( etiq + ' no puede ser mayor a la fecha Actual.');
			 if ( elem.type!="hidden" && !elem.disabled && elem.style.visibility!="hidden"){
				elem.focus();
			 }
			 return false;
		 }
	 }
	 return true;
}



//******************************************************************************
function checkMarc( elem, etiq, req )
{
	if (req == '1'){
		var tam = elem.length;
		for( i=0; i<tam ; i++)
		{
			//alert("En radio value ="  + elem[i].value);
			if( elem[i].checked )
				break;
		}
		//alert("tam:" + tam)
		if( i>=tam )  //No se selecciono ninguno
		{
			alert("Debe seleccionar algun valor para " + etiq);
			return false			
		}
		else
		{
		   return true
		}
	}
}

//******************************************************************************
function checkTxtArea( elem, etiq, req, max )
{
	if (req == '1'){
		if( elem.value.length <= 1 )
		{
			alert("El campo " + etiq + " debe tener algún valor" );
		    if ( elem.type!="hidden" && !elem.disabled && elem.style.visibility!="hidden"){
		      elem.focus();
			}
			return false;
		}
	}
	if( elem.value.length > max )
	{
		alert("Se ha excedido de los " + max + " caracteres permitidos en el campo " + etiq );
	    if ( elem.type!="hidden" && !elem.disabled && elem.style.visibility!="hidden"){
	      elem.focus();
		}
		return false;
	}
	return true;	
}

//******************************************************************************
function checkNumberDecimal(elem,etiq,req,min,ndec){
  codigo = elem.value;
  if (!checkRequired(elem,etiq,req)){
    return false;
  }
  if (isNaN(codigo)){
    if (!isEmpty(etiq)){
      alert ( etiq + " debe ser numérico.");
    }
    if ( elem.type != "hidden" && !elem.disabled && elem.style.visibility != "hidden"){
      elem.focus();
    }
    return false;
  }
  if (!isEmpty(codigo)){
    if (parseFloat(codigo)<parseFloat(min)){
      alert ( etiq + " debe ser mayor a " + (min-1));
      if ( elem.type != "hidden" && !elem.disabled && elem.style.visibility != "hidden"){
        elem.focus();
      }
      return false;
  }
/*
	//NO TERMINADA:
	if( codigo.indexOf(".") > 0 )  //no hay punto decimal.	
	{
		if( numDec == 0 )
			cad = snum;
		else
		{	
			cad = snum + ".";
			for(i=0; i<numDec; i++ )	//Se rellena de ceros lo que falta.
				cad = cad + "0";			
		}
		return cad;				
	}
*/
  }
  return true;
}


//******************************************************************************

//  Compara 2 Fechas en formato DD/MM/AAAA
//Argumentos: String fecha1 y String fecha2
// return -1 => fecha1 < fecha2
// return 0 => fecha1 = fecha2 
//retrun 1 => fecha1 > fecha2
function comparaFechas( fecha1, fecha2 ){
	var suma1 = new Number( fecha1.substring(6)*10000 ) + new Number( fecha1.substring(3, 5)*100 ) + new Number( fecha1.substring(0, 2) );
	var suma2 = new Number( fecha2.substring(6)*10000 ) + new Number( fecha2.substring(3, 5)*100 ) + new Number( fecha2.substring(0, 2) );	
	if( suma1 > suma2 )	
		return 1;
	else if( suma1 < suma2 )	
		return -1;
	else 
		return 0;
}


//  Compara 2 Fechas en formato MM/AAAA
//Argumentos: String fecha1 y String fecha2
// return -1 => fecha1 < fecha2
// return 0 => fecha1 = fecha2 
//retrun 1 => fecha1 > fecha2
function comparaFechasMMAAAA( fecha1, fecha2 ){
	var suma1 = new Number( fecha1.substring(3)*10000 ) + new Number( fecha1.substring(0, 2)*100 ) ;
	var suma2 = new Number( fecha2.substring(3)*10000 ) + new Number( fecha2.substring(0, 2)*100 ) ;
	if( suma1 > suma2 )	
		return 1;
	else if( suma1 < suma2 )	
		return -1;
	else 
		return 0;
}


//******************************************************************************
//Valida si una fecha es valida.
//Argumentos: String dateStr como la fecha y orden en el formato de la fecha D:Dia, M:Mes, Y:Año
//return true => valida
//return false => invalida
function isValidDate(dateStr, format) {
	   if (format == null) { format = "DMY"; }
	   format = format.toUpperCase();
	   if (format.length != 3) { format = "DMY"; }
	   if ( (format.indexOf("M") == -1) || (format.indexOf("D") == -1) || 
		  (format.indexOf("Y") == -1) ) { format = "DMY"; }
	   if (format.substring(0, 1) == "Y") { // If the year is first
		  var reg1 = /^\d{2}(\-|\/|\.)\d{1,2}\1\d{1,2}$/
		  var reg2 = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/
	   } else if (format.substring(1, 2) == "Y") { // If the year is second
		  var reg1 = /^\d{1,2}(\-|\/|\.)\d{2}\1\d{1,2}$/
		  var reg2 = /^\d{1,2}(\-|\/|\.)\d{4}\1\d{1,2}$/
	   } else { // The year must be third
		  var reg1 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{2}$/
		  var reg2 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
	   }
	   // If it doesn't conform to the right format (with either a 2 digit year or 4 digit year), fail
	   if ( (reg1.test(dateStr) == false) && (reg2.test(dateStr) == false) ) { return false; }
	   var parts = dateStr.split(RegExp.$1); // Split into 3 parts based on what the divider was
	   // Check to see if the 3 parts end up making a valid date
	   if (format.substring(0, 1) == "M") { var mm = parts[0]; } else 
	   if (format.substring(1, 2) == "M") { var mm = parts[1]; } else { var mm = parts[2]; }
	   if (format.substring(0, 1) == "D") { var dd = parts[0]; } else 
		  if (format.substring(1, 2) == "D") { var dd = parts[1]; } else { var dd = parts[2]; }
	   if (format.substring(0, 1) == "Y") { var yy = parts[0]; } else 
		  if (format.substring(1, 2) == "Y") { var yy = parts[1]; } else { var yy = parts[2]; }
	   if (parseFloat(yy) <= 50) { yy = (parseFloat(yy) + 2000).toString(); }
	   if (parseFloat(yy) <= 99) { yy = (parseFloat(yy) + 1900).toString(); }
	   var dt = new Date(parseFloat(yy), parseFloat(mm)-1, parseFloat(dd), 0, 0, 0, 0);
	   if (parseFloat(dd) != dt.getDate()) { return false; }
	   if (parseFloat(mm)-1 != dt.getMonth()) { return false; }
	   return true;
}

//******************************************************************************

function validaAno( strAno ){
	if( parseFloat( strAno ) > 1900 && parseFloat( strAno ) < 2300 ) 
		return true;
	else
		return false;
}

//*****************************************************************
//Pone el formato de comas a un numero.
function formatoNum( num, numDec, numPos )
{
	//alert("inicio num= " + num);
	var esNeg = false;	
	var snum = fijarDecimales( num, numDec );
	if( snum.indexOf("-")!=-1 )  //trato para negativos.
	{
		esNeg = true;
		snum = snum.substring( 1, snum.length );
	}
	
	var band = (snum.indexOf(".")==-1)? true: false;  //bandera para saber si tiene punto. true => no tiene.
	var lon = snum.length, cont = 0, cad = '';
	for( var i=lon; i>=0; i--, cont++ )
	{
		cad = cad + snum.charAt(i);
		if( snum.charAt(i) == '.' )
		{	
			band = true;
			cont = 0;
			continue;
		}
		if( cont >= 3 && band && i>0 )
		{
			cad = cad + ",";
			cont = 0;
		}
	}
	cad = (esNeg)? cad+"-": cad;
	
	snum = "";
	for( var i=cad.length; i>=0; i-- )
		snum = snum + cad.charAt(i);

	return snum;
}


//*****************************************************************
//Fija el numero con los decimales correspondientes
function fijarDecimales( num, numDec ){
	//alert("Funcion fijarDecimales( num, numDec )");				
	var snum="", banDec=false, posDec=0, cad="", cte=1;
	for(i=0; (i<numDec && numDec>0); i++ )
		cte = cte*10;
	num = Math.round(num*cte)/cte;
	snum = "" + num;

	if( isNaN(numDec) )  	//Valida el numero de digitos decimales.
		numDec = 0;
	else if( numDec < 0 )
		numDec = 0;		
	
	if( isNaN(num) || snum == 'undefined' )  //Valida si el numero es invalido.
	{
		if( numDec == 0 )
			return "0";
		else
		{
			cad = "0.";
			for(i=0; i<numDec; i++ )	//Se rellena de ceros lo que falta.
				cad = cad + "0";		
		}
		return cad;	
	}

	if( snum.indexOf(".") == -1 )  //no hay punto decimal.
	{
		if( numDec == 0 )
			cad = snum;
		else
		{	
			cad = snum + ".";
			for(i=0; i<numDec; i++ )	//Se rellena de ceros lo que falta.
				cad = cad + "0";			
		}
		return cad;				
	}

	for(i=0; i < snum.length; i++ )
	{
		cad = cad + snum.charAt(i);	
		if( snum.charAt(i)=='.' )
		{
			banDec = true;
			posDec = i;
		}
		if ( banDec==true && i>=eval(posDec+numDec) )
			break;		
	}

	for(i=0, j = snum.indexOf(".")+1; (i<numDec && numDec>0); i++,j++ )	//Se rellena de ceros lo que falta.
		if( snum.charAt(j)=="" )		
			cad = cad + "0";							
	
	return cad;						
}


function validaElimChk( comchk, msj )
{
	if( comchk != null )
	{
		if( comchk.checked == false )  //caso de solo un checkbox.
		{
			alert("Para borrar " + msj + " debe seleccionar alguno");
			return false;			
		}
		else  //caso de varios checkbox.
		{			
			var tam = comchk.length;
			for( i=0; i < tam ; i++)
				if( comchk[i].checked )
					break;
			if( i >= tam )  //No se selecciono ninguno
			{
				alert("Para borrar " + msj + " debe seleccionar alguno");
				return false;			
			}			
		}
	}
	else
	{
		alert("No existen " + msj + " para borrar");
		return false;
	}		
	return true;
}

function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}


function validaChk( comchk, msj )
{
	if( comchk != null )
	{
		if( comchk.checked == false )  //caso de solo un checkbox.
		{
			alert( "Debe seleccionar alguna opción de " + msj );
			return false;			
		}
		else  //caso de varios checkbox.
		{			
			var tam = comchk.length;
			for( i=0; i < tam ; i++)
				if( comchk[i].checked )
					break;
			if( i >= tam )  //No se selecciono ninguno
			{
				alert( "Debe seleccionar alguna opción de " + msj );
				return false;			
			}			
		}
	}
	else
	{
		alert("No existen " + msj + " para seleccionar");
		return false;
	}		
	return true;
}


/***************************************************************/

function convertirNumDec( elem, nDec ){
	elem.value= fijarDecimales( elem.value, nDec );
}

/************************************************************************/
//Obtiene el valor seleccionado de un componente tipo radio boton
function getValorRadioSel( elem ){
	var tam = elem.length;
	for( i=0; i<tam; i++)
	{
		if( elem[i].checked )
			break;
	}
	if( i>=tam )  //No se selecciono ninguno
		return '-1';
	else
	    return elem[i].value;
}
