var persiana=""; //Variable con el id de la persiana mostrada en cada momento

//--Muestra/Oculta la persiana indicada, ocultando la actual si fuese necesario
function Persiana(id)
   {
   if(persiana)
      {
      $(persiana).style.visibility="hidden";
      $(persiana).style.zIndex=-1;
      }
   if(persiana!=id)
      {
      $(id).style.visibility="visible";
      $(id).style.zIndex=3;
      persiana=id;
      return;
      }
   persiana="";
   }

//--Pone el texto del textarea "+id" entre las etiquetas seleccionadas
function Etiquetar(id,etiqueta_a,etiqueta_d)
   {
   var cuadro=$(id);
   var posicion=cuadro.selectionStart;
   var altura=cuadro.scrollTop;
   if(document.selection)
      {
      var str=document.selection.createRange().text;
      var sel=document.selection.createRange();
      sel.text=etiqueta_a+str+etiqueta_d;
      }
   else if(typeof cuadro.selectionStart!='undefined')
      {
      var antes, despues, seleccion;
      antes=cuadro.value.substring(0,cuadro.selectionStart);
      seleccion=cuadro.value.substring(cuadro.selectionStart,cuadro.selectionEnd);
      despues=cuadro.value.substring(cuadro.selectionEnd,cuadro.value.length)
      cuadro.value=String.concat(antes,etiqueta_a,seleccion,etiqueta_d,despues);
      }
   Palabras(id);
   Caracteres(id);
   cuadro.focus();
   cuadro.setSelectionRange(posicion,posicion);
   cuadro.scrollTop=altura;
   }

//--Funciones de etiquetado
function Negrita(id)  {Etiquetar(id,"[negrita]","[/negrita]")}
function Cursiva(id)  {Etiquetar(id,"[cursiva]","[/cursiva]")}
function Subrayado(id){Etiquetar(id,"[subrayado]","[/subrayado]")}
function Centrado(id) {Etiquetar(id,"[centrado]","[/centrado]")}
function Tabular(id)  {Etiquetar(id,"[tabular]","")}
function Color(id,color)
   {
   Etiquetar(id,"[color=\""+color+"\"]","[/color]");
   Persiana(persiana);
   }
function Imagen(id)
   {
   var url=prompt("Introduce la URL de la imagen:","http://");
   Etiquetar(id,"[imagen=\""+url+"\"]","");
   }
function Link(id)
   {
   var url=prompt("Introduce la URL de destino:","http://");
   Etiquetar(id,"[link=\""+url+"\"]","[/link]");
   }
function Cita(id)
   {
   var nick=prompt("Introduce el nick del usuario:","");
   Etiquetar(id,"[cita=\""+nick+"\"]","[/cita]");
   }
function ListaNormal(id)
   {
   Etiquetar(id,"[lista]\n[punto]Primer elemento[/punto]\n[punto]Segundo elemento[/punto]\n[punto]Tercer elemento[/punto]\n[/lista]","");
   }
function ListaNumerada(id)
   {
   Etiquetar(id,"[lista_numerada]\n[punto]Primer elemento[/punto]\n[punto]Segundo elemento[/punto]\n[punto]Tercer elemento[/punto]\n[/lista_numerada]","");
   }
function Icono(id,clave)
   {
   Etiquetar(id,"["+clave+"]","");
   Persiana(persiana);
   }
//--Carga vía ajax los iconos en su persiana correspondiente (sólo si no estaban cargados ya)
function Iconos(id,grupo)
   {
   function CargarIconos(peticion)
      {
      $(persiana).innerHTML=peticion.responseText;
      }
   var cuadro=$("Iconos_"+id+"_"+grupo);
   if(!cuadro.innerHTML)
      {
      Persiana("Iconos_"+id+"_"+grupo);
      cuadro.innerHTML="Cargando...";
      var carga_iconos=new Ajax("ajax_iconos.php");
      carga_iconos.Finalizar(CargarIconos);
      carga_iconos.Enviar("GET","?id="+id+"&grupo="+grupo);
      }
   else
      Persiana("Iconos_"+id+"_"+grupo);
   }
//--Carga vía ajax los colores en su persiana correspondiente (sólo si no estaban cargados ya)
function Colores(id)
   {
   function CargarColores(peticion)
      {
      $(persiana).innerHTML=peticion.responseText;
      }
   var cuadro=$("Paleta_"+id);
   if(!cuadro.innerHTML)
      {
      Persiana("Paleta_"+id);
      cuadro.innerHTML="Cargando...";
      var carga_iconos=new Ajax("ajax_paleta.php");
      carga_iconos.Finalizar(CargarColores);
      carga_iconos.Enviar("GET","?id="+id);
      }
   else
      Persiana("Paleta_"+id);
   }

//--Cuenta las palabras
function Palabras(id)
   {
   var texto=$(id).value;
   if(texto)
      {
      texto=texto.replace(/\n/g," ");
      texto=texto.replace(/[ ]+/g," ");
      texto=texto.replace(/^[ ]/,"");
      texto=texto.replace(/[ ]$/,"");
      var palabras=texto.split(" ").length;
      if(palabras==1)
         $(id+"_Palabras").value="1 Palabra";
      else
         $(id+"_Palabras").value=palabras+" Palabras";
      }
   else
      $(id+"_Palabras").value="0 Palabras";
   }

//--Cuenta los caracteres
function Caracteres(id)
   {
   var texto=$(id).value;
   var caracteres=texto.length;
   if(caracteres==1)
      $(id+"_Caracteres").value="1 Caracter";
   else
      $(id+"_Caracteres").value=caracteres+" Caracteres";
   }

function CrearEditor(id,texto,estilo)
   {
   var css="";
   if(estilo)
      css="style=\""+estilo+"\"";
   var codigo="";
   codigo=codigo+"<div class=\"Botones\">";
   codigo=codigo+"   <a href=\"javascript:Negrita('"+id+"')\"   title=\"Negrita\">         <img src=\""+dir_skin+"/texto/texto_negrita.png\"></a>";
   codigo=codigo+"   <a href=\"javascript:Cursiva('"+id+"')\"   title=\"Cursiva\">         <img src=\""+dir_skin+"/texto/texto_cursiva.png\"></a>";
   codigo=codigo+"   <a href=\"javascript:Subrayado('"+id+"')\" title=\"Subrayado\">       <img src=\""+dir_skin+"/texto/texto_subrayado.png\"></a>";
   codigo=codigo+"   <a href=\"javascript:Colores('"+id+"')\"   title=\"Colores\">         <img src=\""+dir_skin+"/texto/texto_color.png\"></a>";
   codigo=codigo+"   <div class=\"Persiana\"><table class=\"Color\" id=\"Paleta_"+id+"\"></table></div>";
   codigo=codigo+"   <a href=\"javascript:Centrado('"+id+"')\"  title=\"Centrado\">        <img src=\""+dir_skin+"/texto/texto_centrado.png\"></a>";
   codigo=codigo+"   <a href=\"javascript:Tabular('"+id+"')\"   title=\"Tabular\">         <img src=\""+dir_skin+"/texto/tabular.png\"></a>";
   codigo=codigo+"   <a href=\"javascript:ListaNormal('"+id+"')\"   title=\"Lista Normal\"><img src=\""+dir_skin+"/texto/lista_normal.png\"></a>";
   codigo=codigo+"   <a href=\"javascript:ListaNumerada('"+id+"')\" title=\"Lista Numerada\"><img src=\""+dir_skin+"/texto/lista_numerada.png\"></a>";
   codigo=codigo+"   <a href=\"javascript:Cita('"+id+"')\"      title=\"Cita\">            <img src=\""+dir_skin+"/texto/cita.png\"></a>";
   codigo=codigo+"   <a href=\"javascript:Imagen('"+id+"')\"    title=\"Insertar Imagen\"> <img src=\""+dir_skin+"/texto/imagen.png\"></a>";
   codigo=codigo+"   <a href=\"javascript:Link('"+id+"')\"      title=\"Insertar Link\">   <img src=\""+dir_skin+"/texto/link.png\"></a>";
   codigo=codigo+"   <a href=\"javascript:Iconos('"+id+"','firebrand')\" title=\"Iconos Firebrand\"> <img src=\""+dir_skin+"/texto/iconos_firebrand.png\"></a>";
   codigo=codigo+"   <a href=\"javascript:Iconos('"+id+"','dobles')\" title=\"Iconos Dobles\"> <img src=\""+dir_skin+"/texto/iconos_dobles.png\"></a>";
   codigo=codigo+"   <a href=\"javascript:Iconos('"+id+"','emociones')\" title=\"Iconos Emociones\"> <img src=\""+dir_skin+"/texto/iconos_emociones.png\"></a>";
   codigo=codigo+"   <a href=\"javascript:Iconos('"+id+"','profesiones')\" title=\"Iconos Profesiones\"> <img src=\""+dir_skin+"/texto/iconos_profesiones.png\"></a>";
   codigo=codigo+"   <a href=\"javascript:Iconos('"+id+"','terror')\" title=\"Iconos Terror\"> <img src=\""+dir_skin+"/texto/iconos_terror.png\"></a>";
   codigo=codigo+"   <a href=\"javascript:Iconos('"+id+"','cool')\" title=\"Iconos Cool\"> <img src=\""+dir_skin+"/texto/iconos_cool.png\"></a>";
   codigo=codigo+"   <div class=\"Persiana\" id=\"Iconos_"+id+"_firebrand\"></div>";
   codigo=codigo+"   <div class=\"Persiana\" id=\"Iconos_"+id+"_dobles\"></div>";
   codigo=codigo+"   <div class=\"Persiana\" id=\"Iconos_"+id+"_emociones\"></div>";
   codigo=codigo+"   <div class=\"Persiana\" id=\"Iconos_"+id+"_profesiones\"></div>";
   codigo=codigo+"   <div class=\"Persiana\" id=\"Iconos_"+id+"_terror\"></div>";
   codigo=codigo+"   <div class=\"Persiana\" id=\"Iconos_"+id+"_cool\" style=\"width:225px\"></div>";
   codigo=codigo+"</div>";
   codigo=codigo+"<div class=\"Editor\">";
   codigo=codigo+"   <textarea id=\""+id+"\" "+css+" name=\""+id+"\" onkeyup=\"Palabras('"+id+"');Caracteres('"+id+"');\">"+texto+"</textarea>";
   codigo=codigo+"   <input id=\""+id+"_Palabras\" type=\"text\" class=\"Palabras\" onclick=\"blur()\" value=\"¿? Palabras\">";
   codigo=codigo+"   <input id=\""+id+"_Caracteres\" type=\"text\" class=\"Caracteres\" onclick=\"blur()\" value=\"¿? Caracteres\">";
   codigo=codigo+"</div>";
   codigo=codigo+"<script type=\"text/javascript\">Palabras('"+id+"');Caracteres('"+id+"');</script>";
   return codigo;
   }
