
/* Fichero js: ../dev/gcm/gcm/modulos/editar/js/generico.js */
/* Fichero js: ../dev/gcm/gcm/modulos/ver_registros/js/ver_registros.js */
/* Fichero js: ../dev/gcm/gcm/modulos/menu/js/menu.js */
/* Fichero js: ../dev/gcm/gcm/modulos/descargables/js/descargables.js */

/* Archivo javascript de proyecto */


/* generico.js */

/* SVN $Id:$ */

/**
 * @category  Modulos
 * @package   Editar
 * @author    Eduardo Magrané <eduardo mamedu com>
 * @license   http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt GNU/GPL
 * @version   0.2
 */

/** InsertarEmail
 *
 * Añadimos un email de forma oculta a los robots para tinyMCE
 */

function insertaEmail(formulario) {

   var em = formulario.email.value.split('@');
   tinyMCE.execCommand('mceInsertContent',true,'<a href="javascript:enviarEmail(\''+em[0]+'\',\''+em[1]+'\');">'+formulario.nombre.value+'</a>')
   return (false);
}

/** insertaReferencia()
 *
 * Para insertar referencias de documento que estamos editando, estas referencias posteriormente
 * son presentadas como Enlaces relacionados en una lista
 */

function insertaReferencia(formulario) {

   var contenido = '{Ref{'+formulario.enlace.value+'::'+formulario.nombre.value+'}}';
   tinyMCE.execCommand('mceInsertContent',false,contenido);
   return false;

   }

/*
* Presentamos los literales para poder ser insertados en el formulario
* de tiny.
*/

function presentaLiterales(){

   if (pedido.readyState == 4 ) {
      if ( pedido.status == 200 ) {
         var container = document.getElementById('panelLiterales');
         var salida = '<p style="cursor: pointer;" onclick="javascript:insertarLiteral()" >Añadir</p>' ;
         var datos = eval('['+pedido.responseText+']');
         if ( datos ) {
            for ( var elemento in datos ) {
               for ( var subelemento in datos[elemento] ) {
                  if (  datos[elemento][subelemento][0] == '' ) {
                     salida += '<p class="subpanelNegativo">';
                  } else {
                     salida += '<p class="subpanel">';
                     
                  }
                  salida += '<a href="javascript:;" onmousedown="tinyMCE.execCommand(\'mceInsertContent\',false,\'{L{' + subelemento + '}}\'); return false" ';
                  salida += 'title="' + datos[elemento][subelemento][0] + '" >';
                  salida += subelemento + '</a>';
                  salida += '  <a style="font-size: smaller;" title="Eliminar" href="javascript:;" onmousedown="eliminarLiteral(\''+subelemento+'\')" >[X]</a>';
                  if ( ! datos[elemento][subelemento][1] ) {
                     // FALTA LITERAL GENERAL
                     salida += '  <a style="font-size: smaller;" title="Traducir" href="javascript:;" onmousedown="traducirLiteral(\''+subelemento+'\')" >[T]</a>';
                  } else {
                     salida += '  <a style="font-size: smaller;" title="Modificar" href="javascript:;" onmousedown="modificarLiteral(\''+subelemento+'\',\''+datos[elemento][subelemento][0]+'\')" >[M]</a>';
                     }
                  salida += '</p>';
                  }
               }
            container.innerHTML = salida ;
            }

         }
      }

   }

/**
 * Confirmación para la inserción de elementos
 */

function confirmarAnaydirArray()
   {
   if (pedido.readyState == 4 ) {
      if ( pedido.status == 200 ) {
         var datos = pedido.responseText;
         pedirDatos('?formato=ajax&m=editar&a=devolverLiterales','presentaLiterales');
         }
      }
   }

/**
*
* Insertar literal nuevo
*
* @author Eduardo Magrané
* @version 1.0
*
* @return
*
*/

function insertarLiteral()
   {
      var key = prompt('concepto','');
      pedirDatos('?formato=ajax&m=editar&a=insertarLiteral&elemento='+key,'confirmarAnaydirArray');
   }


   /**
   *
   * Traducir literales de los idiomas que no son por defecto
   *
   * @author Eduardo Magrané
   * @version 1.0
   *
   * @param key Clave del literal que queremos traducir
   *
   * @return
   *
   */

/**
 * Traducir literal
 */

function traducirLiteral(key)
   {
      var res = prompt('Traducción','');
      pedirDatos('?formato=ajax&m=editar&a=anyadirArray&elemento='+key+'&valor='+res,'confirmarAnaydirArray');
   }

   /**
   *
   * Eliminar literal
   *
   * @author Eduardo Magrané
   * @version 1.0
   *
   * @param key Clave del literal que queremos traducir
   *
   * @return
   *
   */

/**
 * Eliminar literal
 */

function eliminarLiteral(key)
   {
      pedirDatos('?formato=ajax&m=editar&a=eliminarLiteral&elemento='+key,'confirmarAnaydirArray');
   }


   /**
   *
   * Modificar literales de los idiomas
   *
   * @author Eduardo Magrané
   * @version 1.0
   *
   * @param key Clave del literal que queremos modificar
   * @param val Valor actual del literal
   *
   * @return
   *
   */

/**
 * Modificar un literal
 */

function modificarLiteral(key,val)
   {
      var res = prompt('Modificaión de '+key,val);
      // pedirDatos('?a=anyadirArray&elemento='+key+'&valor='+res,'confirmarAnaydirArray');
      pedirDatos('?formato=ajax&m=editar&a=modificarArray&elemento='+key+'&valor='+res,'confirmarAnaydirArray');
   }

   /**
   *
   * Confirmación de la insercción de un literal
   *
   * @author Eduardo Magrané
   * @version 1.0
   *
   * @param
   *
   * @return
   *
   */



/* ver_registros.js */

/** 
 * javascript para el módulo ver_registros
 *
 */

/**
 * Visualizar los registros
 */

function visualizar_registros() {

   var filtro = document.forms["form_ver_registros"]["filtro"].value;
   pedirDatos('?m=ver_registros&a=registros_ajax&filtro='+filtro,'presenta_registros');
   return false;

   }

/** 
 * Procesa la llegada de datos de l servidor
 */

function presenta_registros() {

   var container = document.getElementById('caja_registro');

   if (pedido.readyState == 4 ) {

      container.innerHTML = 'Buscando registros';

      if ( pedido.status == 200 ) {
         var salida = pedido.responseText;
         container.innerHTML = salida ;
         }

      }
   return false;
   }



/* menu.js */

/**
*
* Transformammos los links con identificador `menu_ajax` en enlaces hacia ajax
*
* @author Eduardo Magrané
* @version 1.0
*
*/

function initMenu(contexto) {

   $('.m_off', contexto ).click(function() {

      var lista = $(this).parent();
      var url = $(this).attr("href");  // alert(url);
      lista.html("Cargando...");

      if ( url ) {
         $.get('?a=menu_ajax&m=menu&url='+url,function(data){
            lista.replaceWith(data);
            initMenu("#barraNavegacion");
           });
         }
         return false;
      });

   $('.m_on', contexto).click(function() {

      var lista = $(this);
      var url = lista.attr("href"); // alert(url);
      if ( url ) {
         lista.html("");
         $.get('?a=menu_ajax_off&m=menu&url='+url,function(data){
            lista.parent().next().remove();
            lista.replaceWith(data);
            initMenu("#barraNavegacion");
           });
         }
         return false;
      });
}

$(document).ready(function() { 
      if ( !(jQuery.browser.msie && jQuery.browser.version < 7)) { // take away IE6
         initMenu("#barraNavegacion");
         }
      });


/* descargables.js */


function init_descargables() {

   $('.boton_codigo').click(function() {

         // desglosar programa de id
         var programa = this.id.substring(4);

         //var caja = $('#caja_'+programa);
         //caja.replaceWith('Cargando...');
         
         $('#caja_codigo').html('Cargando...');

         $.get('?m=descargables&a=presenta_contenido&p='+programa,function(data) {
            $('#caja_codigo').replaceWith(data);
            });
         return false;
         });

}

$(document).ready(function() { 
      init_descargables();
      });

