function miPopup(url, nombre, ancho, alto, barrascroll, cambiatamano, centrado, izquierda, arriba, pantallacompleta, herramientas, direcciones, estado, barramenu,sustituir) {
     var opciones = "fullscreen=" + pantallacompleta +
                 ",toolbar=" + herramientas +
                 ",location=" + direcciones +
                 ",status=" + estado +
                 ",menubar=" + barramenu +
                 ",scrollbars=" + barrascroll +
                 ",resizable=" + cambiatamano +
                 ",width=" + ancho +
                 ",height=" + alto +
                 ",left=" + izquierda +
                 ",top=" + arriba;
     var ventana = window.open(url, nombre, opciones, sustituir);
     if (centrado && ancho && alto) {
		ventana.moveTo((screen.width-ancho)/2,(screen.height-alto)/2)
     }
	 if (window.focus) {ventana.focus();}
     // Si se invoca como onclick="return miPopup..." hace que no se tome en cuenta el href de <A>
     return false;
}   

function miPopupFlash(url, nombre, ancho, alto, barrascroll, cambiatamano, centrado, izquierda, arriba, pantallacompleta, herramientas, direcciones, estado, barramenu,sustituir) {
	// Para Flash no se retorna nada y se arregla un problema con los saltos de línea
	miPopup(url, nombre, ancho, alto, barrascroll, cambiatamano, centrado, izquierda, arriba, pantallacompleta, herramientas, direcciones, estado, barramenu,sustituir);
}

function get_obj_by_id(name) {
	 var obj = null;

	 if (document.getElementById) {
		   obj = document.getElementById(name);
	 } else if (document.all) {
		   obj = document.all[name];
	 } else if (document.layers) {
		   if (document.layers[name]) {
		   	   obj = document.layers[name];
		   } else {
               obj = document.layers.testP.layers[name];
		   }
	 }

	 if (obj == null) {
//		 if (obj == null && window.location.hostname == 'localhost') {
         alert('El campo "' + name + '" no se encontró en el formulario.');
	 }

	 return obj;
}

function toggle_visibility_by_id( element_id ) {
	var element_obj= get_obj_by_id(element_id);

	return toggle_visibility_by_obj(element_obj);
}

function toggle_visibility_by_obj( element_obj ) {
	var visible= (element_obj.style.visibility != 'visible' );
	set_visibility_by_obj( element_obj, visible );
	
	return( !visible );
}

function set_visibility_by_id( element_id, visible ) {
	var element_obj= get_obj_by_id( element_id );
	if (element_obj == null) { 
		// if (window.location.hostname == 'localhost') {
		//          	alert('No existe el\'elemento "' + element_id + '"');
		// }
		return false;
	}
	
	set_visibility_by_obj( element_obj, visible );
	
	return( true );
}

function set_visibility_by_obj( element_obj, visible ) {
    if ( visible ) {
        element_obj.style.visibility='visible';
        element_obj.style.display='';
    } else {
        element_obj.style.visibility='hidden';
        element_obj.style.display='none';
    }

    return( true );
}
      
function endsWith(str, s) {
	var reg = new RegExp (s + "$");
	return reg.test(str);
}