// Navegador
var ie = document.all ? 1 : 0;
var ns = document.layers ? 1 : 0;


// ABRE una ventana popup
// -----------------------------------------------------------------------------------------------
function abrePop(cual, nombre, alto, ancho, ajustable, scroll) {
	var ventana;
	var donde_x, donde_y;
	donde_x = (screen.width - ancho) / 2;
	donde_y = (screen.height - alto) / 2;
	if (ie) {
		ventana = window.open(cual, nombre, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars='+scroll+', resizable='+ajustable+', copyhistory=no, width='+ancho+', height='+alto+', top='+donde_y+', left='+donde_x+'');
	} else if (ns) {
		ventana = window.open(cual, nombre,'width=740,height=500,location=no,toolbar=no,directories=no,menubar=no,resizable='+ajustable+',scrollbars=yes,status=no');		
	} else {
		ventana = window.open(cual, nombre, 'left=0,top=0,width='+ancho+',height='+(alto+5)+',location=no,toolbar=no,directories=no,menubar=no,resizable='+ajustable+',scrollbars=no,status=no');		
	}
	ventana.focus();
}

// ABRE una ventana popup específica para el calendario
// -----------------------------------------------------------------------------------------------
function abrePopCalendario(cual) {
	var donde_x, donde_y, fecha;
	ancho=300;
	alto=270;
	if (ie) {
		donde_x = (screen.width - ancho) / 2;
		donde_y = (screen.height - alto) / 2;
	} else {
		donde_x = 0;
		donde_y = 0;
	}
	if (ie) {
		window.open(cual, 'pop_calendario', 'toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,copyhistory=no,width='+ancho+', height='+alto+',top='+donde_y+',left='+donde_x+'');
	} else if (ns) {
		window.open(cual,'pop_calendario','left=0,top=0,width=740,height=500,location=no,toolbar=no,directories=no,menubar=no,resizable=no,scrollbars=yes,status=no');		
	} else {
		window.open(cual, 'pop_calendario', 'width='+ancho+',height='+(alto+5)+',location=no,toolbar=no,directories=no,menubar=no,resizable=no,scrollbars=no,status=no');		
	}
	if (window.opener == null) window.opener = self;
}

// CAMBIA el valor de una variable de nº de registros
// -----------------------------------------------------------------------------------------------
function cambiaNumRs(todo, varQuery, varQueryValor) {
	//window.location = "index.php"+todo+"&"+varQuery+"="+varQueryValor;
	window.location = ""+todo+"&"+varQuery+"="+varQueryValor;
}

// VALIDA un email
// -----------------------------------------------------------------------------------------------
function esMail(texto){
    var valido = true;             
    var cadena = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890@._-";
    var arroba = texto.indexOf("@", 0);
    if ((texto.lastIndexOf("@")) != arroba) arroba = -1;
    var punto = texto.lastIndexOf(".");
	var i;
    for (i=0 ;i<texto.length;i++){
		if (cadena.indexOf(texto.substr(i, 1),0) == -1){
			valido = false;
			break;
    	}
    }
	if ((arroba > 1) && (arroba + 1 < punto) && (punto + 1 < (texto.length)) && (valido == true) && (texto.indexOf("..",0) == -1)){
    	valido = true;
	}else{
		valido = false;
	}
    return valido;
}


// función GENÉRICA para cualquier formulario
//------------------------------------------------------------------------------------------------
function chekea(cual) {
	var i, tipo, valor;
	if (cual.elements) {
		for (i=0; i<cual.elements.length; i++) {
			if (cual.elements[i].name.substr(0,4) == "chk|") {
				tipo = cual.elements[i].name.split("|");
				valor = cual.elements[i].value;
				//if (valor != null) alert(valor);
				switch (tipo[2]) {
					case "mce":	// editor MCE
						valor = tinyMCE.getContent();
						// Primero veo si es obligatorio RELLENARLO
						if ((valor.length == 0) && tipo[5] == "true") {
							alert("El campo \""+tipo[6]+"\" es OBLIGATORIO");
							tinyMCE.execCommand("mceFocus", cual.elements[i].name);// ERROR: no sitúa el cursor
							return false;
						}
						// Después veo si es menor que el mínimo
						if (tipo[5] == "true" && valor.length < parseInt(tipo[3],10)) {
							alert("El campo \""+tipo[6]+"\" NO puede ser menor de "+tipo[3]+" caracteres");				
							if (cual.elements[i].type!="hidden"){
								cual.elements[i].focus();
							}
							return false;
						}
						// Y por último si es mayor que el máximo
						if (valor.length > parseInt(tipo[4],10)) {
							alert("El campo \""+tipo[6]+"\" NO puede ser mayor de "+tipo[4]+" caracteres");
							if (cual.elements[i].type!="hidden"){
								cual.elements[i].focus();
							}
							return false;
						}
						break;
					case "str":	// alfanumérico
						// Primero veo si es obligatorio RELLENARLO
						if ((valor.length == 0) && tipo[5] == "true") {
							alert("El campo \""+tipo[6]+"\" es OBLIGATORIO");
							if (cual.elements[i].type!="hidden"){
								cual.elements[i].focus();
							}
							return false;
						}
						// Después veo si es menor que el mínimo
						if (tipo[5] == "true" && valor.length < parseInt(tipo[3],10)) {
							alert("El campo \""+tipo[6]+"\" NO puede ser menor de "+tipo[3]+" caracteres");				
							if (cual.elements[i].type!="hidden"){
								cual.elements[i].focus();
							}
							return false;
						}
						// Y por último si es mayor que el máximo
						if (valor.length > parseInt(tipo[4],10)) {
							alert("El campo \""+tipo[6]+"\" NO puede ser mayor de "+tipo[4]+" caracteres");
							if (cual.elements[i].type!="hidden"){
								cual.elements[i].focus();
							}
							return false;
						}
						break;
					case "int":	// numerico
						// Primero veo si es obligatorio RELLENARLO
						if ((valor.length == 0) && tipo[5] == "true") {
							alert("El campo \""+tipo[6]+"\" es OBLIGATORIO");
							if (cual.elements[i].type!="hidden"){
								cual.elements[i].focus();
							}
							return false;
						}
						// Después compruebo que sea NUMÉRICO
						if (!(esnumerico(valor))) {
							alert("El campo \""+tipo[6]+"\" debe ser NUMÉRICO");
							if (cual.elements[i].type!="hidden"){
								cual.elements[i].focus();
								cual.elements[i].select();
							}
							return false;
						}
						// Después veo si es menor que el mínimo
						if (parseInt(valor,10) < parseInt(tipo[3],10)) {
							alert("El campo \""+tipo[6]+"\" NO puede ser menor que "+tipo[3]);
							if (cual.elements[i].type!="hidden"){
								cual.elements[i].focus();
							}
							return false;
						}
						// Y por último si es mayor que el máximo
						if (parseInt(valor,10) > parseInt(tipo[4],10)) {
							alert("El campo \""+tipo[6]+"\" NO puede ser mayor que "+tipo[4]);
							if (cual.elements[i].type!="hidden"){
								cual.elements[i].focus();
								cual.elements[i].select();
							}
							return false;
						}
						break;
					case "date":	// fecha
						// Primero veo si es obligatorio RELLENARLO
						if ((valor.length == 0) && tipo[5] == "true") {
							alert("El campo \""+tipo[6]+"\" es OBLIGATORIO");
							if (cual.elements[i].type!="hidden"){
								cual.elements[i].focus();
							}
							return false;
						}
						// Después compruebo que sea FECHA
						if (validaFecha(valor) != "ok" && valor != "") {
							alert("El campo \""+tipo[6]+"\" debe ser de tipo fecha: DD/MM/AAAA\n"+validaFecha(valor));
							if (cual.elements[i].type!="hidden"){
								cual.elements[i].focus();
							}
							return false;
						}
						// Después veo si es menor que el mínimo
						if (convierteFecha(valor) < convierteFecha(tipo[3])) {
							alert("El campo \""+tipo[6]+"\" NO puede ser menor de "+tipo[3]);
							if (cual.elements[i].type!="hidden"){
								cual.elements[i].focus();
							}
							return false;
						}
						// Después veo si es mayor que el máximo
						if (convierteFecha(valor) > convierteFecha(tipo[4])) {
							alert("El campo \""+tipo[6]+"\" NO puede ser mayor de "+tipo[4]);
							if (cual.elements[i].type!="hidden"){
								cual.elements[i].focus();
							}
							return false;
						}
						break;
					case "fechaCad":	// fecha caducidad
						// Primero veo si es obligatorio RELLENARLO
						if ((valor.length == 0) && tipo[5] == "true") {
							alert("El campo \""+tipo[6]+"\" es OBLIGATORIO");
							if (cual.elements[i].type!="hidden"){
								cual.elements[i].focus();
							}
							return false;
						}
						// Después compruebo que sea FECHA
						if (validaFecha(valor) != "ok" && valor != "") {
							alert("El campo \""+tipo[6]+"\" debe ser de tipo fecha: DD/MM/AAAA\n"+validaFecha(valor));
							if (cual.elements[i].type!="hidden"){
								cual.elements[i].focus();
							}
							return false;
						}
						// Después compruebo que sea mayor que la actual
						if (convierteFecha(valor) < convierteFecha(devuelveFechaActual())){
							alert("El campo \""+tipo[6]+"\" NO puede ser menor que la fecha actual.");
							if (cual.elements[i].type!="hidden"){
								cual.elements[i].focus();
							}
							return false;
						}

						// Después veo si es menor que el mínimo
						if (convierteFecha(valor) < convierteFecha(tipo[3])) {
							alert("El campo \""+tipo[6]+"\" NO puede ser menor de "+tipo[3]);
							if (cual.elements[i].type!="hidden"){
								cual.elements[i].focus();
							}
							return false;
						}
						// Después veo si es mayor que el máximo
						if (convierteFecha(valor) > convierteFecha(tipo[4])) {
							alert("El campo \""+tipo[6]+"\" NO puede ser mayor de "+tipo[4]);
							if (cual.elements[i].type!="hidden"){
								cual.elements[i].focus();
							}
							return false;
						}
						break;
					case "eml":	//E-mail
						// Primero veo si es obligatorio RELLENARLO
						if ((tipo[5] == "true") && (valor.length == 0)) {
							alert("El campo \""+tipo[6]+"\" es OBLIGATORIO");
							if (cual.elements[i].type!="hidden"){
								cual.elements[i].focus();
							}
							return false;
						}
						// Después compruebo que sea EMAIL válido
						if ((esMail(valor)!=true) && (valor!="")){
							alert("El campo \""+tipo[6]+"\" debe ser una dirección de correo válida");
							if (cual.elements[i].type!="hidden"){
								cual.elements[i].focus();
							}
							return false;
						}
						break;
					case "file":	// archivo
						// Primero veo si es obligatorio RELLENARLO

						if ((valor == "") && tipo[5] == "true") {
							alert("El campo \""+tipo[6]+"\" es OBLIGATORIO");
							if (cual.elements[i].type!="hidden"){
								cual.elements[i].focus();
							}
							return false;
						}		

						break;
					case "fechahora":	// fecha hora
						// Primero veo si es obligatorio RELLENARLO
						if ((valor.length == 0) && tipo[5] == "true") {
							alert("El campo \""+tipo[6]+"\" es OBLIGATORIO");
							if (cual.elements[i].type!="hidden"){
								cual.elements[i].focus();
							}
							return false;
						}
						// Después compruebo que sea FECHA HORA
						if (validaFechaHora(valor) != "ok" && valor != "") {
							alert("El campo \""+tipo[6]+"\" debe ser de tipo fecha: DD/MM/AAAA hh:mm\n"+validaFechaHora(valor));
							if (cual.elements[i].type!="hidden"){
								cual.elements[i].focus();
							}
							return false;
						}
						
						break;
					default:
						alert("No existen restricciones de tipo \""+tipo[2]+"\"");
						return false;
						break;
				}
			}
		}
	}
	return true;
}

// CAMBIA la página de datos
// -----------------------------------------------------------------------------------------------
function cambiaPagina(destino){
	var nuevaPagina, documentoActDiv;
	nuevaPagina = document.getElementById("cambiarPagina").value;
	if ((isNaN(nuevaPagina)==false && nuevaPagina!="")){
		docActDiv = document.location.href.split("?");
		document.location.href=docActDiv[0]+destino+"&pag="+nuevaPagina;
	}else{
		alert("La página indicada debe ser un número");
		document.getElementById("cambiarPagina").focus();
	}
}

// PIDE confirmación para cambiar los booleanos de varios registros de un listado
// -----------------------------------------------------------------------------------------------
function cambiaBooleano(destino){
	var seguir;
	var ids;
	ids = "";
	seguir = false;
	for(i=0;i<document.all.length;i++){
		if((document.all[i].type=="checkbox")&&(document.all[i].checked==true) && (document.all[i].name != 'marcaTodosCheckbox')){
			if(ids!=""){ ids=ids+","; }
			ids=ids+document.all[i].value;
			seguir = true;
		}
	}
	if(seguir==false){
		alert("Debe seleccionar por lo menos un registro");
	}else{
		document.location.href= destino +"&ids="+ ids;
	}
}


// REDIRIGE a cualquier dirección
// -----------------------------------------------------------------------------------------------
function redirige(donde){
	document.location.href = donde;
}

// REVISA los criterios de la barra de búsqueda
// -----------------------------------------------------------------------------------------------
function revisaBuscar(){
	//if (document.frmBuscar.criterio.value.indexOf("fecha") != -1 && validaFecha(document.frmBuscar.palabra.value) != "ok"){
	//	buleano=validaFecha(document.frmBuscar.palabra.value);
	//	if(buleano=='true'){
	//		return true;
	//	}
	//	alert(buleano);
	//	document.frmBuscar.palabra.focus();
	
	//	return false;
	//} else {
		if (document.frmBuscar.palabra.value == ""){
			i=1;
			existeBooleano=false;
			criterioBool="criterioBool"+i;
			while((document.getElementById(criterioBool)!=null)&&!existeBooleano){
				existeBooleano=(document.getElementById(criterioBool).value!="|");
				criterioBool="criterioBool"+(++i);	
			}
			if(!existeBooleano){
				alert("El campo \"buscar\" no puede estar vacio");//El campo es obligatorio si no hay un campo booleano
				document.frmBuscar.palabra.focus();
				return false;
			} else {
				return true;
			}
		} else {
			return true;
		}
	//}
}


// VALIDA 2 campos de claves, para ver que son iguales.
// -----------------------------------------------------------------------------------------------
function chekeaClaves(clave1, clave2) {
	var valor1,valor2; 
	valor1 = clave1.value; 
	valor2 = clave2.value;
	if (valor1 != valor2){
		alert("As chaves non coinciden.");
		return(false);
	}
	return (true);
}


// CAMBIA el idioma para traducir con el combo
// -----------------------------------------------------------------------------------------------
function cambiaIdiTraduc(destino, idioma){
	document.location.href = "?"+destino+"&idiTraduc="+idioma;
}


// MARCA todos los check con al pulsar uno
// -----------------------------------------------------------------------------------------------
function marcaCheckbox() {
  	for(i=0;i<document.all.length;i++){
		var e = document.all[i];
	 	if ((e.name != 'marcaTodosCheckbox') && (e.type=='checkbox') && (!e.disabled)) {
			e.checked = document.getElementById("marcaTodosCheckbox").checked;
		}
	}
}


// INICIA el editor de textos para textareas
// -----------------------------------------------------------------------------------------------
var txtModificado=false;	// indica si el texto del tiny editor se ha modificado
function iniciaEditor(btnMostrar, cssMostrar, hojaCss){
	txtModificado = false;
	tinyMCE.init({
	mode : "textareas",		//dónde actuará
	editor_selector : "mceEditor",	//class="mceEditor" convierte un textarea en editor
	entity_encoding : "raw", //para que no sustituya tildes por &...
	theme : "plexus", 		//tipo
	language : "es",		//idioma
	docs_language : "es",	//idioma de la ayuda
	convert_newlines_to_brs : false,
	force_br_newlines : false,
	force_p_newlines : true,
//	popups_css : hojaCss,						//hoja de estilos que cogerán las pop-ups
	popups_css : "admin.js",
	//auto_resize : true,						//el editor se redimensiona para ocupar todo el espacio del q dispone (quita el scroll)
	theme_plexus_layout_manager: "SimpleLayout",//para redimensionar
	theme_plexus_statusbar_location :"bottom",	//para redimensionar
	theme_plexus_resizing : true,				//para redimensionar
	theme_plexus_resize_horizontal : false,		//para no redimensionar horizontalmente
	theme_plexus_path : false,					//no queremos path
	relative_urls : false,						
	content_css : hojaCss,
	onchange_callback: "tinyOnChange",
	
	theme_plexus_styles : cssMostrar,	// estilos para el combo
	theme_plexus_buttons1 : btnMostrar, //botones activos
	height:"300",	// altura por defecto
	//etiquetas válidas e inválidas
	//valid_elements : "+a[id|style|rel|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],-strong/b[class|style],-em/i[class|style],-strike[class|style],-u[class|style],+p[style|dir|class|align],-ol[class|style],-ul[class|style],-li[class|style],br,,-sub[style|class],-sup[style|class],-blockquote[dir|style],-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|lang|bgcolor|background|bordercolor],-tr[id|lang|dir|class|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],tbody[id|class],thead[id|class],tfoot[id|class],-td[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor|scope],-th[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|scope],caption[id|lang|dir|class|style],-span[style|class|align],-pre[class|align|style],address[class|align|style],-h1[style|dir|class|align],-h2[style|dir|class|align],-h3[style|dir|class|align],-h4[style|dir|class|align],-h5[style|dir|class|align],-h6[style|dir|class|align],hr[class|style]",
	valid_elements : "+a[id|style|rel|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],-strong/b[class|style],-em/i[class|style],-strike[class|style],-u[class|style],+p[style|dir|class|align],-ol[class|style],-ul[class|style],-li[class|style],br,,-sub[style|class],-sup[style|class],-blockquote[dir|style],-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|lang|bgcolor|background|bordercolor],-tr[id|lang|dir|class|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],tbody[id|class],thead[id|class],tfoot[id|class],-td[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor|scope],-th[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|scope],caption[id|lang|dir|class|style],-span[style|class|align],-pre[class|align|style],address[class|align|style],-h1[style|dir|class|align],-h2[style|dir|class|align],-h3[style|dir|class|align],-h4[style|dir|class|align],-h5[style|dir|class|align],-h6[style|dir|class|align],hr[class|style],img[id|dir|lang|longdesc|usemap|style|class|src|onmouseover|onmouseout|border=0|alt|title|hspace|vspace|width|height|align]",
	//invalid_elements como referencia porque el script funciona con las que que son válidas
	//invalid_elements : "-div[id|dir|class|align|style],img[id|dir|lang|longdesc|usemap|style|class|src|onmouseover|onmouseout|border=0|alt|title|hspace|vspace|width|height|align]"
	invalid_elements : "-div[id|dir|class|align|style]"
	});
}

// MODIFICA una variable global que nos indica si el texto del tiny editor ha sido modificado
// -----------------------------------------------------------------------------------------------
function tinyOnChange(inst){
	txtModificado = true;
}

// COMPRUEBA que una fecha y hora sean correctas
//------------------------------------------------------------------------------------------------
function validaFechaHora(dato){
	var fecha, hora, aux, formato

	fecha	= dato.substr(0, 10);
	hora	= dato.substr(11, 5);

	aux		= "DD/MM/AAAA"+dato.substr(10, 1)+"hh:mm";
	formato	= "DD/MM/AAAA hh:mm";	// formato de fecha y hora
	
//	comprobamos si el formato recibido es el correcto
	if(aux==formato && dato.length==formato.length){
		aux=validaFecha(fecha);
		if(aux=="ok"){
			aux=validaHora(hora);
		}
	}else{
		aux="'"+dato+"'";
	}
	return aux;
}

// COMPRUEBA que una fecha sea correcta
//------------------------------------------------------------------------------------------------
function validaFecha(dato){
	var fecha, dia, mes, ano, aux, formato;

	dia 	= dato.substr(0, 2);
	mes 	= dato.substr(3, 2);
	ano 	= dato.substr(6, 4);

	aux		= "DD"+dato.substr(2, 1)+"MM"+dato.substr(5, 1)+"AAAA";
	formato	= "DD/MM/AAAA";	// formato de fecha y hora
	
//	comprobamos si el formato recibido es el correcto
	if(isNaN(dia+mes+ano)==false && aux==formato && dato.length==formato.length){
		fecha=new Date(ano, mes-1, dia);
		
		if(fecha.getDate() != dia){
			aux="El día no es correcto";
		}else if(fecha.getMonth() != (mes-1)){
			 aux="El mes no es correcto";
		}else if(fecha.getFullYear() != ano){
			aux="El año no es correcto";
		}else{
			aux="ok"; // la fecha es correcta
		}
	}else{
		aux="'"+dato+"'";
	}
	return aux;
}

// COMPRUEBA que una hora sea correcta
//------------------------------------------------------------------------------------------------
function validaHora(dato){
	var fecha, hoy, hora, minuto, aux, formato;
	
	hoy		= new Date();
	hora	= dato.substr(0, 2);
	minuto	= dato.substr(3, 2);

	aux		= "hh"+dato.substr(2, 1)+"mm";
	formato = "hh:mm";	// formato de hora
	
//	comprobamos si el formato recibido es el correcto
	if(isNaN(hora+minuto)==false && aux==formato && dato.length==formato.length){
		fecha=new Date(hoy.getFullYear(), hoy.getMonth(), hoy.getDate(), hora, minuto);
		if(fecha.getMinutes()!=minuto){
			aux="Los minutos no son correctos";
		}else if(fecha.getHours()!=hora){
			aux="La hora no es correcta";
		}else{
			aux="ok";
		}
	}else{
		aux="'"+dato+"'";
	}
	return aux;
}

// CONVIERTE una FECHA
// -----------------------------------------------------------------------------------------------
function convierteFecha(quien) {
	var fecha_split;	
	var tdia, tmes, tano;
	fecha_split = quien.split('/');
	tdia = parseInt(fecha_split[0],10);
	tmes = parseInt(fecha_split[1],10);
	tano = parseInt(fecha_split[2],10);
	return date = new Date(tano,tmes-1,tdia);
}

// INFORMA sobre si se modifico o no el texto
//  -----------------------------------------------------------------------------------------------
function solicitaGuardar(){
	if (txtModificado) {
		if (confirm("El texto ha sido modificado, si continua perderá los cambios, ¿desea continuar?")) {
			return true;
		} else {
			return false;
		}
	} else {
		return true;
	}
}	

// RESETEA un formulario con tiny editor
//  -----------------------------------------------------------------------------------------------
function resetea(frm){
	document.forms[frm].reset();
	tinyMCE.setContent(txtEditor); 
	txtModificado=false;
	return false;
}

// AÑADE un 0 a la izda de un nº de una cifra
// ------------------------------------------------------------------------------------------------
function numDosCifras(num){
	var aux =num;
	if (num < 10){
		aux = "0" + aux;
	}
	return aux;
}

// PIDE confirmación para "eliminar" varios registros de un listado (dentro de un formulario)
// para usar esta funcion, el nombre de los checkbox que guardan los id de los registros a eliminar deberán ser:
//	chkEliminar_*
//	substituir * por un nº que identifica el tipo de registro a "eliminar"
//	ej: si queremos eliminar catalogos y categorias de una sola vez, los checkbox de los catalogos deberán llamarse
//		chkEliminar_0 y los de categorias chkEliminar_1 o viceversa, pero tienen que ser distintos.
// -----------------------------------------------------------------------------------------------
function confirma(frm, destino, pregunta){
	var objFrm;
	var ids = new Array();
	var qryStr;
	
	objFrm=document.forms[frm].elements;
	seguir = false;
	for(i=0;i<objFrm.length;i++){
		if((objFrm[i].type=="checkbox") && (objFrm[i].checked==true) && (objFrm[i].name.substr(0,12)=="chkEliminar_")){
			j=objFrm[i].name.substr(12);
			if(ids[j]){
				ids[j]=ids[j]+","+objFrm[i].value;
			}else{
				ids[j]=objFrm[i].value;
			}
			seguir = true;
		}
	}

	if(destino.indexOf("?")==-1){
		aux="?";
	}else{
		aux="&";
	}
	
	qryStr="";
	for(i=0;i<ids.length;i++){
		if(ids[i]){
			qryStr=qryStr + aux + "ids_" + i + "=" + ids[i];
			aux="&";
		}
	}

	if(qryStr==""){
		alert("Debe seleccionar por lo menos un registro");
	}else{
		confirmaEnvio(destino + qryStr, pregunta);
	}
}

// REDIRIGE la página a un destino si se confirma la pregunta
// -----------------------------------------------------------------------------------------------
function confirmaEnvio(destino, pregunta){
	if(confirm(pregunta)==true){
		document.location.href = destino;
	}
}

// MODIFICA el formulario para que al hacer submit elimine una imagen
// -----------------------------------------------------------------------------------------------
function borraImagen(frm, imagen){
	var objFrm = document.forms[frm];
	if (confirm("¿Seguro que desea eliminar el registro?")){
		objFrm.borraImg.value = imagen;
		if (chekea(objFrm)){
			objFrm.submit();
		}
	}
}
