var fechaformat=0;

function gotopage(indicepagina,theform){
	theform.aux.value=indicepagina;
	theform.submit();
}
function Editorimage(nombre,url,alttext,filename){
	this.nombre=nombre;
	this.url=url;
	this.alttext=alttext;
	this.filename=filename;
}

var seleccion=0;

function seleccionar(obj){
  if (!(obj)){return;}
  if (isNaN(obj.length)){ 
    if (seleccion==0){ seleccion=1; obj.checked=true; } else { seleccion=0; obj.checked=false; }
    }
  else
    {  
    nchecks=obj.length;
    if (seleccion==0) {seleccion=1; for (var i=0;i<nchecks;i++){obj[i].checked=true;} }
    else
       {seleccion=0; for (var i=0;i<nchecks;i++){obj[i].checked=false;} }   
    }  
} 

function disappear(data) {
  if (typeof(data)=='string'){obj=document.getElementById(data)}
  if (typeof(data)=='object'){obj=data};
  if ((data==undefined)||(data==null)){return; }
  if (obj.style.display == "none") {
    obj.style.display = "";
  }
  else {
    obj.style.display = "none";
  }
}


function borrarseleccion(obj,pagina,htmg,cgiurl){

  if (!(obj)){return;}
  i=0;
  seleccion='';
  if (!(isNaN(obj.length))){
     while (i<obj.length){    
        if ( obj[i].checked == true ){ seleccion=obj[i].value+","+seleccion; }
	   i++;
     }
   }
   else {if (obj.checked) seleccion=obj.value;}
   if ( seleccion != '') { 
       if (confirm(show_message('5'))){ location.href=cgiurl+"/a.cgi?D.action=remove&D.templ="+htmg+"/"+pagina+"&D.k="+seleccion; }
       else {return;}
   }
   else { alert(show_message('0')) }
  }


function anychecked(obj){
// Esta funcion devuelve true si algun checkbox esta checkeado.
// Se invoca a la funcion con anychecked(document.getElementsByName('nombreobj'))

 var any=false;

 if (!(obj)){return;}

 var nchecks=obj.length;

 for (i=0;i<nchecks;i++){
  if (obj[i].checked == true) { any=true; }
 }
 return (any);
}



function esnumero(dato){
 alert(dato);
 if (dato.value == undefined){
	 return !isNaN(dato.value);
 }
 else {
	 return !isNaN(dato.value);
 }
}




function longitudok(dato,longmin,longmax){
// Modificado el 25/08/2003
   if ((dato.length<longmin)||(dato.length>longmax)) return 0;
   else return 1;   
}

function cknumero(obj){
  return esnumero(obj);   
}


function cktexto(obj){
   dato=obj.value;
   var cadenatexto="ABCDEFGHIJKLMNÑOPQRSTUVWYXZabcdefghijklmnñopqrstuvwyxzÁÉÍÓÚáéíóú'+-_.:,;()/\!¿?¡*[]&%$#@\ <>{}";
   var estecaracter;
   var contador=0;
   var esnumero=0;
   while ((esnumero!=-1)&&(contador<dato.length)){
	estecaracter=dato.charAt(contador);
	esnumero=cadenatexto.indexOf(estecaracter);
	contador++;
   }
   if (esnumero==-1) {
      alert(show_message('4',obj.name)); 
      obj.focus();
      return 0;
   }
   else return 1;   
}


function cktextoestrict(obj){
   dato=obj.value;
   var cadenatexto="ABCDEFGHIJKLMNOPQRSTUVWYXZabcdefghijklmnopqrstuvwyxz_0123456789";
   var estecaracter;
   var contador=0;
   var esnumero=0;
   while ((esnumero!=-1)&&(contador<dato.length)){
	estecaracter=dato.charAt(contador);
	esnumero=cadenatexto.indexOf(estecaracter);
	contador++;
   }
   if (esnumero==-1) { return 0; }
   else return 1;   
}


function ckmail(id,dominio) {
  str=id+'@'+dominio;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}


function bisiesto(anyo){
if(anyo % 4 ==0 &&(!(anyo % 100 ==0)||(anyo % 400 ==0))) return 1;
else return 0;
}

/*
//FUNCION HABILITADA EN FIELDS.JS
function validafecha(dia,mes,anyo){
// valida que la fecha introducida sea correcta

// validacion para campos fecha formato 1
if (fechaformat == 0) {
	ddia=dia.value;
	dmes=mes.value;
	danyo=anyo.value;
}
// validacion para campos fecha formato 2
else {
	ddia=dia;
	dmes=mes;
	danyo=anyo;	
	}
		
if (ddia>31) { alert(show_message('2')); return 0;}
if (dmes>12) { alert(show_message('26')); return 0;}

if ((ddia=='')&&(dmes=='')&&(danyo=='')){return 1;}
if ((dmes==1)||(dmes==3)||(dmes==5)||(dmes==7)||(dmes==8)||(dmes==10)||(dmes==12)){
	if (ddia>31){return 0; }
}
if (dmes==2){
	if (ddia>29){alert(show_message('2')); return 0; }
	if ((ddia==29)&&(!bisiesto(danyo))){ alert(show_message('3')); return 0;}
}
if ((dmes==4)||(dmes==6)||(dmes==9)||(dmes==11)){
	if (ddia>30) {alert(show_message('2')); return 0;}
}
if ((ddia=='')||(dmes=='')||(danyo=='')){return 0;}
return 1;
}


//FUNCION ACTUALMENTE HABILITADA EN FIELDS.JS
function caracteresfecha(obj){
   dato=obj.value;
   var cadenatexto="0123456789-/";
   var estecaracter;
   var contador=0;
   var esnumero=0;
   while ((esnumero!=-1)&&(contador<dato.length)){
	estecaracter=dato.charAt(contador);
	esnumero=cadenatexto.indexOf(estecaracter);
	contador++;
   }
   if (esnumero==-1) { alert(show_message('24')); return 0; }
   else return 1;   
}


//FUNCION ACTUALMENTE HABILITADA EN FIELDS.JS
function formatofecha(obj){
	formato=0;
	
	dato=obj.value;
	if (dato == '') { return 0; }
		
	// CONTROL PARA FORMATO DE FECHA: ES POSIBLE ENCONTRAR UN AAAA/MM/DD  AL HACER UN GO BACK DESPUES DE UNA INSERCIÓN 
	// EN UNA ACCIÓN FORTUITA O MAL INTENCIONADA.
	
	formatfecha=1;
	
	var r1 = /\d\d\d\d\/\d\d\/\d\d/;
	if (r1.test(dato)) {
		
		redia=dato.substring(8,10);
		remes=dato.substring(5,7);
		reanyo=dato.substring(0,4);
		fecha=''+redia+''+remes+''+reanyo;
		digitos=8;
		formatfecha=0;	
		
	} 
	
	// CONTROL PARA FORMATO DE FECHA: ES POSIBLE ENCONTRAR UN DIA O UN MES SIN EL 0 DELANTE CUANDO NO LLEGAN A 10 CON
	// FORMATO DE FECHA EN / O EN - INDEPENDIENTEMENTE DEL FORMATO FINAL (4,6 O 8 DIGITOS)
	
	var r2 = /^\d(\/|\-)\d\d/;
	if (r2.test(dato)) { dato='0'+dato; }
	
	var r3 = /^\d\d(\/|\-)\d{1}(\/|\-)/;
	if (r3.test(dato)) { 
		
		redia=remes=reanyo='';
		redia=dato.substring(0,2);
		remes='0'+dato.substring(3,4);		
		reanyo=dato.substring(5,dato.length);
		fecha=''+redia+''+remes+''+reanyo;
		digitos=fecha.length;
		formatfecha=0;		
	}
	
	var r4 = /^\d{1}(\/|\-)\d{1}(\/|\-)/;
	if (r4.test(dato)) {
		
		dato='0'+dato;
		redia=dato.substring(0,2);
		remes='0'+dato.substring(3,4);
		reanyo=dato.substring(5,dato.length);
		fecha=''+redia+''+remes+''+reanyo;
		digitos=fecha.length;
		formatfecha=0;		
	}
		
	if (formatfecha) {
		
		fecha=dato.replace(/\//g,'');
		fecha=fecha.replace(/\-/g,'');
		digitos=fecha.length;
	}
	

	
	// FORMATOS POSIBLES: CON O SIN / ó -
	// F1: 8 DIGITOS: DDMMAAAA
	// F2: 6 DIGITOS: DDMMAA
	// F3: 4 DIGITOS: DDMM
	
	if (digitos == 8) { formato=1; }
	if (digitos == 6) { formato=2; }
	if (digitos == 4) { formato=3; }
	if (formato == 0) { alert(show_message('25')); obj.value=''; return 0; }
	
	// CHEQUEADO DE FECHA SEGUN FORMATO
	if (formato == 1) {
		
		dia=fecha.substring(0,2);
		mes=fecha.substring(2,4);
		anyo=fecha.substring(4,8);
		fechaformat=1;
				
		if (!validafecha(dia,mes,anyo)) {  return 0; }	
			
	}
		
	if (formato == 2) {
		
		dia=fecha.substring(0,2);
		mes=fecha.substring(2,4);
		anyo='20'+fecha.substring(4,6);
		fechaformat=1;
		
		if (!validafecha(dia,mes,anyo)) { return 0; }
		
		
	}
		
	if (formato == 3) {
		
		now=new Date();
		dia=fecha.substring(0,2);
		mes=fecha.substring(2,4);
		anyo=now.getFullYear();
		fechaformat=1;
		
		if (!validafecha(dia,mes,anyo)) { return 0; }
	
	}
		
	if (formato != 0) {
		var nombre = obj.id;
		nombre = nombre.substring(4);
		diaaux='day'+ nombre;
		mesaux='month'+ nombre;
		yearaux='year'+ nombre;	
	
		document.getElementById(diaaux).value=dia;
		document.getElementById(mesaux).value=mes;
		document.getElementById(yearaux).value=anyo;	
		obj.value=dia+'/'+mes+'/'+anyo;	
		
		
	}	
	return 1;
	}
*/

function filtrar(clase,numero,ubicacion,tipo){

alto=screen.height*0.8;
ancho=screen.width*0.8;
plantilla='f-'+clase+'.htm';
caract="width="+ancho+",height="+alto+",scrollbars=1,directories=0,copyhistory=0,location=0,menubar=0,resizable=0,status=1,toolbar=0";

miurl="/vg/gestion/apps/v.cgi?D.templ="+ubicacion+"/filter/"+plantilla+"&clase="+clase+"&objeto="+numero+"&type="+tipo;

nueva=open(miurl,"",caract);

x=(screen.width / 2)-(ancho/2);

y=(screen.height / 2)-(alto/2);

nueva.moveTo(x,y); 
}


function masinformacion(kid,clase,ver,path){

alto=screen.height*0.8;
ancho=screen.width*0.8;
caract="width="+ancho+",height="+alto+",scrollbars=1,directories=0,copyhistory=0,location=0,menubar=0,resizable=0,status=1,toolbar=0";

miurl="/vg/gestion/apps/v.cgi?D.templ="+path+"/htmn/info-clase.htm&D.k="+kid+"&D.y="+clase+"&ver="+ver;

nueva=open(miurl,"",caract);

x=(screen.width / 2)-(ancho/2);

y=(screen.height / 2)-(alto/2);

nueva.moveTo(x,y); 
}






function archivo(plantilla,campo,kid,path){

alto=screen.height*0.8;
ancho=screen.width*0.8;
caract="width="+ancho+",height="+alto+",scrollbars=1,directories=0,copyhistory=0,location=0,menubar=0,resizable=0,status=1,toolbar=0";

miurl="/vg/gestion/apps/v.cgi?D.templ="+path+"/htmn/uploading.htm&campo="+campo+"&D.k="+kid+"&tpl="+plantilla;

if (confirm("Si desea modificar el archivo asociado, haga click en Aceptar.")){ nueva=open(miurl,"",caract);

x=(screen.width / 2)-(ancho/2);

y=(screen.height / 2)-(alto/2);

nueva.moveTo(x,y);  }

}



function MM_findObj(n, d) { //v4.01
  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 && d.getElementById) x=d.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 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;
		var j = d.MM_p.length;
		var a = MM_preloadImages.arguments;
		for (i = 0; i < a.length; i++) {
try {
   		if (a[i].indexOf("#") != 0) {
				//alert(a[i]);
				d.MM_p[j] = new Image;
				d.MM_p[j].src = a[i];
				j++;
			}
} catch(e) {alert(e);}
		}
	}

}




function rellenar(obj,objid){
 var indice=obj.selectedIndex-1;
 if (indice >= 0) {
 document.getElementById(objid).value=eval(objid+'[indice]'); 
 document.getElementById('tr'+objid).className='spanmenu2';
 document.getElementById('s'+objid).innerHTML=eval(objid+'[indice]');
 }
 else { 
 document.getElementById(objid).value=''; 
 document.getElementById('tr'+objid).className='spanmenu';
 document.getElementById('s'+objid).innerHTML='';
  }
}



  function masinfo(obj,campos){
	  
	  if (isNaN(campos.length)) { return; } 
	  else { 	   		
	   		var indice=obj.selectedIndex-1;
	   		for (i=0; i<campos.length; i++){
	   		  	objid='info'+campos[i];
	   			if (indice >= 0) {
	   				valor=eval(objid+'[indice]');
	   				document.getElementById('tr'+objid).className='spanmenu2';
	   				document.getElementById('s'+objid).innerHTML=eval(objid+'[indice]');}
	   			else { 
	   				document.getElementById('tr'+objid).className='spanmenu';
	   				document.getElementById('s'+objid).innerHTML='';}	   		
	   			}
	   		
	   		}		  	  	
	  }



 function testjs(valor,boton){ if (valor.length != 0 ) { document.getElementById(boton).disabled=false;  } else { if (document.getElementById(boton).disabled == false ) {  document.getElementById(boton).disabled=true; } } }



 function rellenarubicacion(seleccion,zona){ valor=seleccion.value; label=seleccion.options[seleccion.selectedIndex].text;   obj=document.getElementById(zona); obj.innerHTML=''; obj.innerHTML="&nbsp;<input type=hidden name=D.filepath value="+valor+"><b>Ubicación:</b> "+label; }


// FORMATEADO DE FECHA PARA CAMPOS FECHA DE G.
 function formatFecha(fechaf) {

 fec=fechaf.split("/");

 anyo=parseInt(parseFloat(fec[0]));
 mes=parseInt(parseFloat(fec[1]));
 dia=parseInt(parseFloat(fec[2]));
 
 var fecha=new Date(anyo,mes-1,dia,0,0,0);

 var dias=new Array('Domingo','Lunes','Martes','Miércoles','Jueves','Viernes','Sábado');

 var meses=new Array('Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre');

 document.write(dias[fecha.getDay()]+', '+dia+' de '+meses[mes-1]+' de '+anyo);


 }




function firmar(campo,imagen,path,user){

alto=screen.height*0.7;
ancho=screen.width*0.8;
caract="width="+ancho+",height="+alto+",scrollbars=1,directories=0,copyhistory=0,location=0,menubar=0,resizable=0,status=1,toolbar=0";

miurl="/vg/gestion/apps/v.cgi?D.templ="+path+"/firmar.htm&user="+user+"&campo="+campo+"&imagen="+imagen;

nueva=open(miurl,"",caract);

x=(screen.width / 2)-(ancho/2);

y=(screen.height / 2)-(alto/2);

nueva.moveTo(x,y); 
}


// FUNCION DE AUTO CALCULO DE EXPRESIONES DE CAMPOS DE FORMULARIO
var letras=new Array ('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');  
function autocalculo(fieldlist,resultfield,expresion,condicion,expresion2){

	//alert('condicion:'+ condicion);
	//alert('expresion2:'+ expresion2);
  
  //Las expresion aritmeticas se evaluan antes de poder capturarlas, (ej: "A+8" devuelve "8")
  //para eso reemplazamos valores aritmeticos por caracteres distintos. de esta manera no hace el calculo
  
  exp1=expresion; 
  
  exp1=exp1.replace(/%/g,"+");
  exp1=exp1.replace(/#/g,"-");
  exp1=exp1.replace(/&/g,"*");
  exp1=exp1.replace(/_/g,"/");
   
  expresion=exp1;
   
  exp1=expresion2; 

  exp1=exp1.replace(/%/g,"+");
  exp1=exp1.replace(/#/g,"-");
  exp1=exp1.replace(/&/g,"*");
  exp1=exp1.replace(/_/g,"/");
   
  expresion2=exp1;
 
		   
  var arrayfields=fieldlist.split(",");
 	 for (var i=0;i<arrayfields.length;i++) {
  
	  	if (arrayfields[i] != '') {
  	
  			if (document.getElementById(arrayfields[i]).value == "") { return; }
  			if (isNaN(document.getElementById(arrayfields[i]).value)){ alert(show_message('4',arrayfields[i])); return; }
  			eval("var "+letras[i]+"="+parseFloat(document.getElementById(arrayfields[i]).value));
  		}

  	}
  	
  	expresion=expresion.toUpperCase();
  	expresion2=expresion2.toUpperCase();
  	condicion=condicion.toUpperCase();
	
	expresion=TratarExpresion(expresion);
	expresion2=TratarExpresion(expresion2);
	condicion=TratarExpresion(condicion);
	
  	if (eval(condicion)) {
	 	document.getElementById(resultfield).value=eval(expresion2);
	}else{
  		document.getElementById(resultfield).value=eval(expresion);
	}
 }


function TratarExpresion(cadena)
{

	while (cadena.indexOf('MATH.POW',0) != -1)	{
		cadena = cadena.replace("MATH.POW","Math.pow");	}
	while (cadena.indexOf('MATH.ABS',0) != -1)	{
		cadena = cadena.replace("MATH.POW","Math.abs");	}
	while (cadena.indexOf('MATH.ACOS',0) != -1)	{
		cadena = cadena.replace("MATH.POW","Math.acos");	}
	while (cadena.indexOf('MATH.ASIN',0) != -1)	{
		cadena = cadena.replace("MATH.POW","Math.asin");	}
	while (cadena.indexOf('MATH.ATAN',0) != -1)	{
		cadena = cadena.replace("MATH.POW","Math.atan");	}
	while (cadena.indexOf('MATH.CEIL',0) != -1)	{
		cadena = cadena.replace("MATH.POW","Math.ceil");	}
	while (cadena.indexOf('MATH.COS',0) != -1)	{
		cadena = cadena.replace("MATH.POW","Math.cos");	}
	while (cadena.indexOf('MATH.EXP',0) != -1)	{
		cadena = cadena.replace("MATH.POW","Math.exp");	}
	while (cadena.indexOf('MATH.FLOOR',0) != -1)	{
		cadena = cadena.replace("MATH.POW","Math.floor");	}
	while (cadena.indexOf('MATH.LOG',0) != -1)	{
		cadena = cadena.replace("MATH.POW","Math.log");	}
	while (cadena.indexOf('MATH.MAX',0) != -1)	{
		cadena = cadena.replace("MATH.POW","Math.max");	}		
	while (cadena.indexOf('MATH.MIN',0) != -1)	{
		cadena = cadena.replace("MATH.POW","Math.min");	}		
	while (cadena.indexOf('MATH.RANDOM',0) != -1)	{
		cadena = cadena.replace("MATH.POW","Math.random");	}
	while (cadena.indexOf('MATH.ROUND',0) != -1)	{
		cadena = cadena.replace("MATH.POW","Math.round");	}		
	while (cadena.indexOf('MATH.SIN',0) != -1)	{
		cadena = cadena.replace("MATH.POW","Math.sin");	}	
	while (cadena.indexOf('MATH.SQRL',0) != -1)	{
		cadena = cadena.replace("MATH.POW","Math.sqrl");	}
	while (cadena.indexOf('MATH.TAN',0) != -1)	{
		cadena = cadena.replace("MATH.POW","Math.tan");	}
    
	
	return(cadena);
}




function multiple (obj,id,valor) {

 if ( obj.checked == true ) { document.getElementById(id).innerHTML='<b>'+valor+'</b>'; } else { document.getElementById(id).innerHTML=''+valor; }

}

// ACTUALIZA LA PAGINA URL PASANDO TODOS LOS PARAMETROS DEL FORMULARIO FORM POR V.CGI PARA ESTAR DISPONIBLES NUEVAMENTE EN LA PAGINA MEDIANTE VAR.
function update(form,tpl,url) {
  form.action=url+'/v.cgi';
  document.getElementById('D.templ').value=tpl;
  form.submit();
} 


//RELLENA UN ATAJO INSERTANDO UN SHORTCUT + USUARIO + CLASE DEL SHORTCUT
 function atajo(usuario,path){
 	if (usuario == '') { alert(show_message('22')); return; }
 	document.getElementById('D.y').value='shortcut';
 	plantilla=document.getElementById('D.templ');
 	plantilla.value=path+"/shortcut.htm";
	 		
    if (document.forms[0].shortcutname.value == "") { alert(show_message('7')); document.forms[0].shortcutname.className='inputERROR'; return; } 
    document.forms[0].aceptar.disabled=true;
  	 document.forms[0].resetear.disabled=true;
  	 document.forms[0].submit(); 
 }
 
 
 // REDIRECCIONA A LA PLANTILLA DE LISTADO DE SHORTCUTS DE LA CLASE ACTUAL
 function shortcutConfiguration(clase,usuario,cgi,path){ document.gsecureform.action=cgi+"/v.cgi?D.templ="+path+"/l-shortcut.htm&shortcutclass="+clase+"&shortcutowner="+usuario; document.forms["gsecureform"].submit();  }


// RELLENA UN SHORTCUT AUTOMATICAMENTE SI UN SHORTCUT HA SIDO DEFINIDO POR DEFECTO EN UN GTD.
 function RellenarDefecto(valor){ 
 var aux='';
 selector=document.getElementById("shortcutselect");
 for (i=1;i < selector.length; i++) { 
 	elementos=selector[i].value;
	aux=elementos.split(","); 
 	kid=aux[1];
 	if (kid == valor) { elemento=i+','+valor; selector.selectedIndex=i; RellenarAtajo(elemento); break; } 
 	} 
 }




function show_message(){
//SHOWS ALERT MESSAGES FROM LANG .js LOADED IN .htm TEMPL
//USAGE: show_message(message_number,"parameter0","parameter1",...,"parameterN")
var numpmtr;
var message=messages[arguments[0]];
for (var i=1;i<arguments.length;i++){
	numpmtr=i-1;
	dato="message=message.replace(/PMTR"+numpmtr+"/g,\""+arguments[i]+"\")";
	eval(dato);
}
return message;
} 


// TEST IF ANY CHECKED IN A LIST OF CHECKBOXES OR IN ONE CHECKBOX.
function isanychecked(FormName,FieldName){	
	var objCheckBoxes = FormName.elements[FieldName];
	if(!objCheckBoxes)
		return false;
	var countCheckBoxes = objCheckBoxes.length;
        
	if(!countCheckBoxes){
		if (objCheckBoxes.checked == true){ return true; }
	} else {
		for(var i = 0; i < countCheckBoxes; i++){                         
			if (objCheckBoxes[i].checked ){ return true; }
		}
    }
  	return false;
}


function TestEditorHTML(objid){

 // COMPRUEBA LA CORRECTA GRABACIÓN DEL CAMPO TEXTAREA CON EL EDITOR HTML EN ALGUNOS CASOS CONCRETOS.	
 
 
 tmpeditor=document.getElementById(objid+'_').contentWindow.document;
 var contenidoEditor=new String(tmpeditor.body.innerHTML);
 // SI SE HA UTILIZADO EN EDITOR SIN ACEPTAR EN CONTENIDO --> SE GUARDAN LOS DATOS Y EL FLAG HTML
 
 

 if ((contenidoEditor != '')&&(contenidoEditor != 0)) {
	 
	  if (document.getElementById(objid).value == '') { document.getElementById(objid+'_html').value=1; }	  
	  document.getElementById(objid).value = contenidoEditor; 
	  
 }
 
 // SI SE HA EDITADO EL CONTENIDO DEL TEXTAREA SIN ACEPTAR EL FLAG DEBE SER 1 SIEMPRE.
 var r1 = /<DIV/;
 if (r1.test(contenidoEditor)) { document.getElementById(objid+'_html').value=1;  } 
 
 
 
}


// mostrar / ocultar / habilitar / deshabilitar / chequear/ deschequear elementos, uno o varios separados por comas.
function visibilidad(accion,listfields,ids){

	if (ids == undefined) { ids=''; }
	if (accion == '') { return; }
	if (listfields == '') { return; }
	
	acciones=accion.split(",");
	elementos=listfields.split(",");
	
	for (i=0;i<acciones.length;i++){
		
		for (j=0;j<elementos.length;j++){ 
			if (acciones[i].toLowerCase() == 'mostrar') { document.getElementById(ids+elementos[j]).className='mostrar'; }
			if (acciones[i].toLowerCase() == 'ocultar') { document.getElementById(ids+elementos[j]).className='ocultar'; }  
			if (acciones[i].toLowerCase() == 'deshabilitar') {
				if ((document.getElementById(ids+elementos[j]).type == 'radio')||(document.getElementById(ids+elementos[j]).type == 'checkbox')){
					// PARA RADIO O PARA CHECKS HAY QUE RECORRER EL ARRAY DE ELEMENTOS SI HAY MAS DE UNO.
					habilitacion(ids+elementos[j],'deshabilitar');
					}
				else{ document.getElementById(ids+elementos[j]).disabled=true; }
			}
			if (acciones[i].toLowerCase() == 'habilitar') { 
				if ((document.getElementById(ids+elementos[j]).type == 'radio')||(document.getElementById(ids+elementos[j]).type == 'checkbox')){
					// PARA RADIO O PARA CHECKS HAY QUE RECORRER EL ARRAY DE ELEMENTOS SI HAY MAS DE UNO.
					habilitacion(ids+elementos[j],'habilitar');
					}
				else{ document.getElementById(ids+elementos[j]).disabled=false; }
			} 
			if (acciones[i].toLowerCase() == 'chequear') {  document.getElementById(ids+elementos[j]).checked=true; } 
			if (acciones[i].toLowerCase() == 'deschequear') { document.getElementById(ids+elementos[j]).checked=false; } 
			if (acciones[i].toLowerCase() == 'asignarClase') { document.getElementById(elementos[j]).className=ids; } 
		}	
	}
}

// DESHABILITAR/HABILITAR CHECKS O RADIO BUTTONS A PARTIR DE UN ID. 
function habilitacion(objid,accion) { 
	if (accion == '') { return; }
	obj=document.getElementsByName(objid);
	for (var i = 0; i < obj.length; i++) { 
		if ( accion.toLowerCase() == 'habilitar'){
			obj[i].disabled=false; 
		}
		if ( accion.toLowerCase() == 'deshabilitar'){
			obj[i].disabled=true; 
		}
		
	}
}


// CHEQUEAR RADIO BUTTONS Y DEVOLVER EL VALOR DEL SELECCIONADO.
function valorRadio(radioid) {
	result='';
	radio=document.getElementsByName(radioid);
	for (var i = 0; i < radio.length; i++) {
        	if (radio[i].checked) { result=radio[i].value; break; }
        }
	return result;   
}

// DEVUELVE EL OBJETOID CUYO VALOR COINCIDE CON EL VALOR PASADO [ CHECKS Y RADIOS ].
function objetoValor(objname,valor) {
	result='';
	objeto=document.getElementsByName(objname);
	for (var i = 0; i < objeto.length; i++) {
        	if (objeto[i].value == valor) { result=objeto[i].id; break; }
        }
	return result;   
}


// CHEQUEAR CHECK BUTTONS A PARTIR DE UNA LISTA DE VALORES.
function seleccionarChecks(checkid,valores) {
	valor=valores.split(",");
	check=document.getElementsByName(checkid);
	for (var i = 0; i < check.length; i++) {
		for (var j = 0; j < valor.length; j++){
        	if (check[i].value == valor[j]) { check[i].checked=true; break; }
        }
	}
}


// ANULAR CHECKS BUTTONS A PARTIR DE UN ID.
function anularChecks(checkid) {
	checks=document.getElementsByName(checkid);
	for (var i = 0; i < checks.length; i++) { checks[i].value=''; }
}

// RELLENAR un valor a partir de CHECKS BUTTONS A PARTIR DE UN ID.
function rellenarChecks(checkid) {
	result='';
	checks=document.getElementsByName(checkid);
	for (var i = 0; i < checks.length; i++) { 
		if (checks[i].checked == true){ result+=checks[i].value+','; }
	}
	return result;
}


// CHEQUEAR RADIO, CHECKS o SELECTS POR VALOR EN EDICION O INSERCION
function chequearporValor(objname,valor,tipo) {
	
	celda='';
	result=valor.split(",");
	elemento=document.getElementsByName(objname);
	if (tipo == 'combo'){ document.getElementById(objname).value=valor;  return; } 
		
	for (var i = 0; i < elemento.length; i++) {
						
		for (var j=0; j< result.length; j++){
			if (elemento[i].value == result[j]) {
				
				if (tipo == 'radio')   { elemento[i].checked=true; celda='t'+i+objname; seleccionarRadio(objname,celda); }
				if (tipo == 'checkbox'){ elemento[i].checked=true; document.getElementById('t'+i+objname).className='on'; }
				break;
			}
    	}
    }		
}

// FUNCION PARA LANZAR LOS LINKS EXTERNOS CENTRADOS EN LA PAGINA.    
var myWindow;
function openCenteredWindow(url,where) {
	
    var width = 800;
    var height = 600;
    var left = parseInt((screen.availWidth/2) - (width/2));
    var top = parseInt(((screen.availHeight/2) - (height/2))-15);
    var windowFeatures = "width=" + width + ",height=" + height + 
        ",status,resizable,left=" + left + ",top=" + top + 
        ",screenX=" + left + ",screenY=" + top;
    myWindow = window.open(url,where,windowFeatures);
}


// LANZAR URLs DE CAMPOS WEB.
function lanzarUrl(objid){
	
	url=document.getElementById(objid);
	if (url == '') { return; }
	
	var rurl = "^http:\/\/";
	var regurl = new RegExp(rurl , "i");
	var theurl=url.value;
	
	if (!regurl.test(theurl)) { theurl='http://'+url.value; }
		
	if ((url.target == '')||(url.target == undefined)){ url.target='top'; location.href=theurl; }
	else { openCenteredWindow(theurl,url.target); }
	
}
    


// CHEQUEO DE CHECKBOXES Y CAMBIO DE IMAGEN PARA EL SELECCIONADOR.
var allchecks_flag=0;
function selectAllChecks(objid,ruta,msg1,msg2){
	
	obj=document.getElementsByName(objid);
	objimg=document.getElementById(objid+'img');
	objimgtext=document.getElementById(objid+'imgtxt');
	
	 if (!(obj)){return;}
	 if (isNaN(obj.length)){
		 if (allchecks_flag==0){ allchecks_flag=1; obj.checked=true; document.getElementById('t0'+objid).className='on'; } else { allchecks_flag=0; obj.checked=false; document.getElementById('t0'+objid).className='off'; }
     }
     else{  
    	nchecks=obj.length;
    	if (allchecks_flag==0) {
	    	allchecks_flag=1;
	    	for (var i=0;i<nchecks;i++){obj[i].checked=true; document.getElementById('t'+i+objid).className='on'; }
	    }
    	else { 
	    	allchecks_flag=0;
	    	for (var i=0;i<nchecks;i++){obj[i].checked=false; document.getElementById('t'+i+objid).className='off';}
	    }   
    }  
	
	
	if (allchecks_flag == 0){ 
		objimg.src=ruta+'/seleccionar.gif';
		objimgtext.innerHTML=msg1;		
	}
	else { 
		objimg.src=ruta+'/deseleccionar.gif'; 
		objimgtext.innerHTML=msg2;
		
	}
		
}


