    var sendReq = getXmlHttpRequestObject();
    //Gets the browser specific XmlHttpRequest Object
    function getXmlHttpRequestObject() {
        if (window.XMLHttpRequest) {
            return new XMLHttpRequest();
        } else if(window.ActiveXObject) {
            return new ActiveXObject("Microsoft.XMLHTTP");
        } else {
            document.getElementById('status').innerHTML = 'Status: Cound not create XmlHttpRequest Object.  Consider upgrading your browser.';
        }
    }
    
    //Send a message
    function filtra_cliente_by_aplicacion(lang, url, clean) {
        if (sendReq.readyState == 4 || sendReq.readyState == 0) {
            sendReq.open("POST", get_clean_url(url, lang + '/ajax/get_cliente/' + document.getElementById("select_aplicacion_id").value, clean) , true);
            sendReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
            sendReq.onreadystatechange = handle_filtra_cliente_by_aplicacion; 
            var param = '';
            sendReq.send(param);
        }                            
    }


    function handle_filtra_cliente_by_aplicacion() {
        if (sendReq.readyState == 4) {
            document.getElementById("cliente_id").innerHTML = sendReq.responseText;
        }
    }
    
    function orden_subir_aplicacion(url, clean, div_id1) {
        var div_id2 = (div_id1 - 1);
        var origen = document.getElementById("span_aplicacion_" + div_id1).innerHTML;
        var destino = document.getElementById("span_aplicacion_" + div_id2).innerHTML;
        orden_cambia_aplicacion(url, clean, origen, destino, div_id1, div_id2);
    }
    function orden_bajar_aplicacion(url, clean, div_id1) {
        var div_id2 = (div_id1 + 1);
        var origen = document.getElementById("span_aplicacion_" + div_id1).innerHTML;
        var destino = document.getElementById("span_aplicacion_" + div_id2).innerHTML;
        orden_cambia_aplicacion(url, clean, origen, destino, div_id1, div_id2);
    }
    function orden_cambia_aplicacion(url, clean, uno, dos, div_id1, div_id2) {
        // hace llamada y configuramos retorno en
        if (sendReq.readyState == 4 || sendReq.readyState == 0) {
            sendReq.open("POST", get_clean_url(url, 'en/ajax/ordena_aplicacion/' + uno + '/' + dos + '/' + div_id1 + '/' + div_id2, clean) , true);
            sendReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
            sendReq.onreadystatechange = handle_orden_cambia_aplicacion;
            var param = '';
            sendReq.send(param);
        }
    }        
    // cambiamos posiciones de aplicacions en divs de la pagina
    function handle_orden_cambia_aplicacion() {
        if (sendReq.readyState == 4) {
            respuesta = sendReq.responseText;
            if(respuesta.indexOf(',' != -1)) {
                temp = respuesta.split(',');
                div_id1 = temp[0];
                div_id2 = temp[1];
            } else {
                return (true);
            }
    // cambio titulo
            var temp = document.getElementById("titulo_aplicacion_" + div_id1).innerHTML;
            document.getElementById("titulo_aplicacion_" + div_id1).innerHTML = document.getElementById("titulo_aplicacion_" + div_id2).innerHTML;
            document.getElementById("titulo_aplicacion_" + div_id2).innerHTML = temp;
    // cambio clientes
            var temp = document.getElementById("clientes_" + div_id1).innerHTML;
            document.getElementById("clientes_" + div_id1).innerHTML = document.getElementById("clientes_" + div_id2).innerHTML;
            document.getElementById("clientes_" + div_id2).innerHTML = temp;
        }
    }    








    function orden_subir_cliente(url, clean, aplicacion, div_id1) {
        var div_id2 = (div_id1 - 1);
        var origen = document.getElementById("span_cliente_" + aplicacion + "_" + div_id1).innerHTML;
        var destino = document.getElementById("span_cliente_" + aplicacion + "_" + div_id2).innerHTML;
        orden_cambia_cliente(url, clean, origen, destino, aplicacion, div_id1, div_id2);
    }
    function orden_bajar_cliente(url, clean, aplicacion, div_id1) {
        var div_id2 = (div_id1 + 1);
        var origen = document.getElementById("span_cliente_" + aplicacion + "_" + div_id1).innerHTML;
        var destino = document.getElementById("span_cliente_" + aplicacion + "_" + div_id2).innerHTML;
        orden_cambia_cliente(url, clean, origen, destino, aplicacion, div_id1, div_id2);
    }
    function orden_cambia_cliente(url, clean, uno, dos, aplicacion, div_id1, div_id2) {
        // hace llamada y configuramos retorno en
        if (sendReq.readyState == 4 || sendReq.readyState == 0) {
            sendReq.open("POST", get_clean_url(url, 'en/ajax/ordena_cliente/' + uno + '/' + dos + '/' + aplicacion + '/' + div_id1 + '/' + div_id2, clean) , true);
            sendReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
            sendReq.onreadystatechange = handle_orden_cambia_cliente;
            var param = '';
            sendReq.send(param);
        }
    }        
    // cambiamos posiciones de clientes en divs de la pagina
    function handle_orden_cambia_cliente() {
        if (sendReq.readyState == 4) {
            respuesta = sendReq.responseText;
            if(respuesta.indexOf(',' != -1)) {
                temp = respuesta.split(',');
                aplicacion    = temp[0];
                div_id1 = temp[1];
                div_id2 = temp[2];
            } else {
                return (true);
            }
    // cambio titulo
            var temp = document.getElementById("titulo_cliente_" + aplicacion + '_' + div_id1).innerHTML;
            document.getElementById("titulo_cliente_" + aplicacion + '_' + div_id1).innerHTML = document.getElementById("titulo_cliente_" + aplicacion + '_' + div_id2).innerHTML;
            document.getElementById("titulo_cliente_" + aplicacion + '_' + div_id2).innerHTML = temp;
    // cambio descripcion
            var temp = document.getElementById("descripcion_cliente_" + aplicacion + '_' + div_id1).innerHTML;
            document.getElementById("descripcion_cliente_" + aplicacion + '_' + div_id1).innerHTML = document.getElementById("descripcion_cliente_" + aplicacion + '_' + div_id2).innerHTML;
            document.getElementById("descripcion_cliente_" + aplicacion + '_' + div_id2).innerHTML = temp;
    // cambio clientes
            var temp = document.getElementById("imagenes_" + aplicacion + '_' + div_id1).innerHTML;
            document.getElementById("imagenes_" + aplicacion + '_' + div_id1).innerHTML = document.getElementById("imagenes_" + aplicacion + '_' + div_id2).innerHTML;
            document.getElementById("imagenes_" + aplicacion + '_' + div_id2).innerHTML = temp;
        }
    }
    


    
    
    
    function orden_subir_imagen(url, clean, cliente, div_id1) {
        var div_id2 = (div_id1 - 1);
        var origen = document.getElementById("span_imagen_" + cliente + "_" + div_id1).innerHTML;
        var destino = document.getElementById("span_imagen_" + cliente + "_" + div_id2).innerHTML;
        orden_cambia_imagen(url, clean, origen, destino, cliente, div_id1, div_id2);
    }
    function orden_bajar_imagen(url, clean, cliente, div_id1) {
        var div_id2 = (div_id1 + 1);
        var origen = document.getElementById("span_imagen_" + cliente + "_" + div_id1).innerHTML;
        var destino = document.getElementById("span_imagen_" + cliente + "_" + div_id2).innerHTML;
        orden_cambia_imagen(url, clean, origen, destino, cliente, div_id1, div_id2);
    }
    function orden_cambia_imagen(url, clean, uno, dos, cliente, div_id1, div_id2) {
        // hace llamada y configuramos retorno en
        if (sendReq.readyState == 4 || sendReq.readyState == 0) {
            sendReq.open("POST", get_clean_url(url, 'en/ajax/ordena_imagen/' + uno + '/' + dos + '/' + cliente + '/' + div_id1 + '/' + div_id2,clean) , true);
            sendReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
            sendReq.onreadystatechange = handle_orden_cambia_imagen;
            var param = '';
            sendReq.send(param);
        }
    }        
    // cambiamos posiciones de clientes en divs de la pagina
    function handle_orden_cambia_imagen() {
        if (sendReq.readyState == 4) {
            respuesta = sendReq.responseText;
            if(respuesta.indexOf(',' != -1)) {
                temp = respuesta.split(',');
                cliente = temp[0];
                div_id1 = temp[1];
                div_id2 = temp[2];
            } else {
                return (true);
            }
    // cambio imagen
            var temp = document.getElementById("imagen_" + cliente + "_" + div_id1).src;
            document.getElementById("imagen_" + cliente + "_" + div_id1).src = document.getElementById("imagen_" + cliente + "_" + div_id2).src;
            document.getElementById("imagen_" + cliente + "_" + div_id2).src = temp;
    // cambio alt de imagen
            var temp = document.getElementById("imagen_" + cliente + "_" + div_id1).alt;
            document.getElementById("imagen_" + cliente + "_" + div_id1).alt = document.getElementById("imagen_" + cliente + "_" + div_id2).alt;
            document.getElementById("imagen_" + cliente + "_" + div_id2).alt = temp;
        }
    }
    function get_clean_url(url, param, clean) {
        if (clean == 1) {
            var retorna = url + param;
        } else {
            var retorna = url + "index.php?q=" + param;
        }
        return (retorna);
    }
    

// JQUERY s    
jQuery(document).ready(function(){
    jQuery(".cliente .nombre").bind("click", function(e){
      var abierta = jQuery("#abierta").html();
      if (abierta > 0) {
          jQuery("#" + abierta + "_info").hide('slow');
          jQuery("#c_" + abierta + "_info").hide('slow');
          jQuery("#g_" + abierta).show('slow');
      }
      var id = e.target.id;
      jQuery("#" + id + "_info").slideToggle('slow');
      jQuery("#c_" + id + "_info").slideToggle('slow');
      jQuery("#g_" + id).slideToggle('slow');
      jQuery("#abierta").html(id);
      // FIXME : no puede ir aqui, pq se llama al abrir, pero tambien al cerrar
      // llamada a por la informacion
        jQuery.post("show_item_ajax", {cliente_id: ""+id+""}, function(data){
            if(data.length >0) {
                jQuery("#" + id + "_info").html(data);
            }
        });      
    });
    jQuery(".capa_oculta_cierra").bind("click", function(e){
      var abierta = jQuery("#abierta").html();
      if (abierta > 0) {
          jQuery("#" + abierta + "_info").hide('slow');
          jQuery("#c_" + abierta + "_info").hide('slow');
          jQuery("#g_" + abierta).show('slow');
          jQuery("#abierta").html('');
      }
    });
 });    