﻿var _navegador=navigator.userAgent;var IE=/msi/i.test(_navegador);var OP=/opera/i.test(_navegador);var MO=/gecko/i.test(_navegador);var otro=!(IE||MO);var citar_abierto=false;var MAX_WIDTH=390;var PATH_IMAGENES="../includes/img/editor";var BARRA_DEFECTO=[["cortar","copiar","pegar","-","deshacer","rehacer","-","negrita","cursiva","subrayado","-","izda","centrado","dcha","justificado","-","colorfuente"],["tamaniosfuente","fuentes","-","enlace","-","imagen","video","smiley","-","citar","-","guardar"]];var PATRONES_DEFECTO=["HREF","VIDEO","IMAGEN","EMAIL","NEGRITA","CURSIVA","SUBRAYADO","SALTO","SMILEY","COLOR","TAMANIOFUENTE","FUENTE","CITAR","ALINEACION"];var COLORES_DEFECTO=["000000","993300","333300","003300","003366","000080","333399","333333","800000","FF6600","808000","808080","008080","0000FF","666699","808080","FF0000","FF9900","99CC00","339966","33CCCC","3366FF","800080","999999","FF00FF","FFCC00","FFFF00","00FF00","00FFFF","00CCFF","993366","C0C0C0","FF99CC","FFCC99","FFFF99","CCFFCC","CCFFFF","99CCFF","CC99FF","FFFFFF"];var TAMANIOS_FUENTE=[["8pt","Pequeña"],["11pt","Mediana"],["13pt","Grande"],["16pt","Muy Grande"]];var FUENTES=["Arial","Comic Sans MS","Courier New","Tahoma","Times New Roman","Verdana"];var SMILEYS=[['(O)','esfera.gif'],['(C)','curro.gif'],[':(','sad_smile.gif'],[';)','wink_smile.gif'],[':d','teeth_smile.gif'],[':s','confused_smile.gif'],[':p','tounge_smile.gif'],[':$','embaressed_smile.gif'],[':o','omg_smile.gif'],[':|','whatchutalkingabout_smile.gif'],[':@','angry_smile.gif'],['(a)','angel_smile.gif'],['(8)','shades_smile.gif'],['(6)','devil_smile.gif'],[';((','cry_smile.gif'],['(i)','lightbulb.gif'],['(nok)','thumbs_down.gif'],['(ok)','thumbs_up.gif'],['(l)','heart.gif'],['(bl)','broken_heart.gif'],['(k)','kiss.gif'],['(s)','envelope.gif']];var EXPRESIONES=new Array();var EXPRESIONES_SUSUT=new Array();EXPRESIONES["VIDEO"]=new RegExp("\{video\}(http://)?(www|es)\.youtube\.com/watch\\\?v=([a-zA-Z0-9_\-]*)\{/video\}","gi");EXPRESIONES_SUSUT["VIDEO"]='<div class="centrado"><object width="400" height="330" style="margin:auto;"><param name="movie" value="http://www.youtube.com/v/$3"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/$3" type="application/x-shockwave-flash" wmode="transparent" width="400" height="330"></embed></object></div>';EXPRESIONES["IMAGEN"]=new RegExp("\{imagen( redimensiona)?( align=([dci]))?\}([^\{\}]*)\{/imagen\}","gi");EXPRESIONES_SUSUT["IMAGEN"]='<div class="$3 $1"><img src="$4"/></div>';EXPRESIONES["EMAIL"]=new RegExp("([_a-zA-Z0-9-]+)@([a-zA-Z0-9-]{2,200})\.([a-zA-Z]{2,6})","gi");EXPRESIONES_SUSUT["EMAIL"]='$1[arroba]$2[punto]$3';function editor(a,b,c,d,e,f,g,h,i){this.variable=a;this.nombre=b;this.muestraPrevisualizacion=true;this.barras=e!=null?e:BARRA_DEFECTO;this.patrones=f!=null?f:PATRONES_DEFECTO;this.colores=g!=null?g:COLORES_DEFECTO;this.tamanios=h!=null?h:TAMANIOS_FUENTE;this.fuentes=i!=null?i:FUENTES;this.ancho=c!=null?c:300;this.alto=d!=null?d:300;this.colorSeleccionado=-1;this.tamanioSeleccionado=-1;this.fuenteSeleccionada=-1;this.getEstilos=EDITOR_getEstilos;this.getBarrasHerramientas=EDITOR_getBarrasHerramientas;this.getTextoPrevisualizacion=EDITOR_getTextoPrevisualizacion;this.actualizaPrevisualizacion=EDITOR_actualizaPrevisualizacion;this.evaluaExpresion=EDITOR_evaluaExpresion;this.ejecutaComando=EDITOR_ejecutaComando;this.getBoton=EDITOR_getBoton;this.colorFuente=EDITOR_colorFuente;this.seleccionaColor=EDITOR_seleccionaColor;this.smileys=EDITOR_smileys;this.seleccionaSmiley=EDITOR_seleccionaSmiley;this.insertar=EDITOR_insertar;this.dameSeleccion=EDITOR_dameSeleccion;this.setTamanioFuente=EDITOR_setTamanioFuente;this.setFuente=EDITOR_setFuente;this.cargaContenido=EDITOR_cargaContenido;this.muestraAviso=EDITOR_muestraAviso;document.write(this.getEstilos());var j=new String();j='<input type="hidden" name="'+this.nombre+'" id="'+this.nombre+'" style="display:none;"/>';j+='<table cellspacing="0" border="0" id="EDITOR_tabla">';j+='<tr><td style="background:#fff url('+PATH_IMAGENES+'/bg.gif) repeat;" id="EDITOR_barrasHerramientas">'+this.getBarrasHerramientas()+'</td></tr>';j+='<tr><td><textarea onkeyup="'+this.variable+'.actualizaPrevisualizacion();" onchange="'+this.variable+'.actualizaPrevisualizacion();" name="ta_'+this.nombre+'" id="ta_'+this.nombre+'" style="width:'+this.ancho+'px;height:'+this.alto+'px;"></textarea></td></tr>';j+='<tr><td><span style="font-weight:bold;font-variant:small-caps;font-size:13pt;color:#626B2E;">Previsualización:</span></td></tr>';j+='<tr><td><div id="EDITOR_previsualizacion">&nbsp;</div></td></tr>';j+='</table>';document.write(j);this.actualizaPrevisualizacion()}function EDITOR_getEstilos(){var a=new String();a='<style>';a+='#EDITOR_aviso{padding-left:10px;font-weight:bold;font-size:8pt;}';a+='table#EDITOR_tabla{text-align:left;}';a+='table tr td div#EDITOR_previsualizacion{color:#444;background-color:#fff;overflow:auto;width:'+this.ancho+'px;height:'+this.alto+'px;border:1px solid #aaa;padding:10px;display:'+(this.muestraPrevisualizacion?"block":"none")+';}';a+='table tr td textarea{border:1px solid #aaa;color:#444;padding:10px;width:'+(!IE?this.ancho-20:this.ancho)+'px;height:'+this.alto+'px;}';a+='table tr td select{font-size: 7pt;}';a+='td#EDITOR_barrasHerramientas a{display:block;padding:1px;}';a+='td#EDITOR_barrasHerramientas a:hover{border:1px solid #ccc;padding:0px;background-color:#ececec;}';a+='td#EDITOR_barrasHerramientas div.posicionamiento{position:relative;}';a+='td#EDITOR_barrasHerramientas table#EDITOR_smileys{position:absolute;top:0px;right:0px;display:none;border:1px solid #ccc;background-color:#efefef;}';a+='td#EDITOR_barrasHerramientas table#EDITOR_colorFuente{position:absolute;top:0px;right:0px;display:none;border:1px solid #ccc;background-color:#efefef;}';a+='td#EDITOR_barrasHerramientas table#EDITOR_colorFuente a{display:block;margin:1px;padding:1px;width:10px;height:10px;text-decoration:none;}';a+='td#EDITOR_barrasHerramientas table#EDITOR_colorFuente a:hover{border:1px solid #ccc;padding:0px;}';a+='</style>';return a}function EDITOR_getBarrasHerramientas(){var b=this.barras;var a=new String("");var i,j;for(i=0;i<b.length;i++){a+='<table cellspacing="0" cellspadding="0" border="0">';a+='<tr>';a+='<td><img src="'+PATH_IMAGENES+'/comienzo.gif" border="0"/></td>';for(j=0;j<b[i].length;j++){a+='<td>'+this.getBoton(b[i][j])+'</td>'}a+='</tr>';a+='</table>'}a+='<table cellspacing="0" cellspadding="0" border="0"><tr><td id="EDITOR_aviso"></td></tr></table>';return a}function EDITOR_getBoton(b){var a="";switch(b){case"cortar":a='<a href="#" onclick="'+this.variable+'.ejecutaComando(\'Cut\');return false;"><img src="'+PATH_IMAGENES+'/cortar.gif" border="0"/></a>';break;case"copiar":a='<a href="#" onclick="'+this.variable+'.ejecutaComando(\'Copy\');return false;"><img src="'+PATH_IMAGENES+'/copiar.gif" border="0"/></a>';break;case"pegar":a='<a href="#" onclick="'+this.variable+'.ejecutaComando(\'Paste\');return false;"><img src="'+PATH_IMAGENES+'/pegar.gif" border="0"/></a>';break;case"deshacer":a='<a href="#" onclick="'+this.variable+'.ejecutaComando(\'Undo\');return false;"><img src="'+PATH_IMAGENES+'/deshacer.gif" border="0"/></a>';break;case"rehacer":a='<a href="#" onclick="'+this.variable+'.ejecutaComando(\'Redo\');return false;"><img src="'+PATH_IMAGENES+'/rehacer.gif" border="0"/></a>';break;case"negrita":a='<a href="#" onclick="'+this.variable+'.ejecutaComando(\'negrita\');return false;"><img src="'+PATH_IMAGENES+'/negrita.gif" border="0"/></a>';break;case"cursiva":a='<a href="#" onclick="'+this.variable+'.ejecutaComando(\'cursiva\');return false;"><img src="'+PATH_IMAGENES+'/cursiva.gif" border="0"/></a>';break;case"subrayado":a='<a href="#" onclick="'+this.variable+'.ejecutaComando(\'subrayado\');return false;"><img src="'+PATH_IMAGENES+'/subrayado.gif" border="0"/></a>';break;case"guardar":a='<a href="#" onclick="if(confirm(\'¿Seguro que desea enviar el mensaje?\')){'+this.variable+'.ejecutaComando(\'guardar\');}return false;"><img src="'+PATH_IMAGENES+'/guardar.gif" border="0"/></a>';break;case"enlace":a='<a href="#" onclick="'+this.variable+'.ejecutaComando(\'enlace\');return false;"><img src="'+PATH_IMAGENES+'/enlace.gif" border="0"/></a>';break;case"imagen":a='<a href="#" onclick="'+this.variable+'.ejecutaComando(\'imagen\');return false;"><img src="'+PATH_IMAGENES+'/imagen.gif" border="0"/></a>';break;case"video":a='<a href="#" onclick="'+this.variable+'.ejecutaComando(\'video\');return false;"><img src="'+PATH_IMAGENES+'/video.gif" border="0"/></a>';break;case"citar":a='<a href="#" onclick="'+this.variable+'.ejecutaComando(\'citar\');return false;"><img src="'+PATH_IMAGENES+'/citar.gif" border="0"/></a>';break;case"dcha":a='<a href="#" onclick="'+this.variable+'.ejecutaComando(\'dcha\');return false;"><img src="'+PATH_IMAGENES+'/dcha.gif" border="0"/></a>';break;case"izda":a='<a href="#" onclick="'+this.variable+'.ejecutaComando(\'izda\');return false;"><img src="'+PATH_IMAGENES+'/izda.gif" border="0"/></a>';break;case"centrado":a='<a href="#" onclick="'+this.variable+'.ejecutaComando(\'centrado\');return false;"><img src="'+PATH_IMAGENES+'/centrado.gif" border="0"/></a>';break;case"justificado":a='<a href="#" onclick="'+this.variable+'.ejecutaComando(\'justificado\');return false;"><img src="'+PATH_IMAGENES+'/justificado.gif" border="0"/></a>';break;case"smiley":a='<a href="#" onclick="'+this.variable+'.smileys();return false;"><img src="'+PATH_IMAGENES+'/smiley.gif" border="0"/></a>';a+='<div class="posicionamiento"><table cellspacing="0" cellspadding="0" border="0" id="EDITOR_smileys"><tr>';var d=1;var k;for(k=0;k<SMILEYS.length;k++,d++){a+='<td><a href="#" onclick="'+this.variable+'.seleccionaSmiley(\''+SMILEYS[k][0]+'\');return false;"><img src="'+PATH_IMAGENES+'/smiley/'+SMILEYS[k][1]+'" border="0"/></a></td>';if(d==7){d=0;a+='</tr><tr>'}}a+='</tr></table></div>';break;case"colorfuente":var c=this.colores;a='<a href="#" onclick="'+this.variable+'.colorFuente();return false;"><img src="'+PATH_IMAGENES+'/colorfuente.gif" border="0"/></a>';a+='<div class="posicionamiento"><table cellspacing="0" cellspadding="0" border="0" id="EDITOR_colorFuente"><tr>';var d=1;var k;for(k=0;k<c.length;k++,d++){a+='<td><a href="#" onclick="'+this.variable+'.seleccionaColor(\''+c[k]+'\');return false;" style="background-color:#'+c[k]+';">&nbsp;</a></td>';if(d==7){d=0;a+='</tr><tr>'}}a+='</tr></table></div>';break;case"tamaniosfuente":var t=this.tamanios;a='<select id="EDITOR_tamaniosfuente" onChange="'+this.variable+'.setTamanioFuente()">';a+='<option value="-" selected="selected">----Tamaño----</option>';var k;for(k=0;k<t.length;k++){a+='<option value="'+t[k][0]+'">'+t[k][1]+'</option>'}a+='</select>';break;case"fuentes":var f=this.fuentes;a='<select id="EDITOR_fuentes" onChange="'+this.variable+'.setFuente()">';a+='<option value="-" selected="selected">--------Fuente--------</option>';var k;for(k=0;k<f.length;k++){a+='<option value="'+f[k]+'">'+f[k]+'</option>'}a+='</select>';break;case"-":a='<img src="'+PATH_IMAGENES+'/separador.gif" border="0"/>';break;case"":break}return a}function EDITOR_getTextoPrevisualizacion(){var a=document.getElementById("ta_"+this.nombre);var b=new String(a.value);var i,k;for(i=0;i<this.patrones.length;i++){if(this.patrones[i]=="SMILEY"){for(k=0;k<SMILEYS.length;k++){b=b.split(SMILEYS[k][0]).join('<img src="'+PATH_IMAGENES+'/smiley/'+SMILEYS[k][1]+'"/>')}}else{b=this.evaluaExpresion(this.patrones[i],b)}}return b}function EDITOR_actualizaPrevisualizacion(){var a=this.getTextoPrevisualizacion();var b=document.getElementById("ta_"+this.nombre);var c="";var d="";var e="";if(this.colorSeleccionado!=-1){c+='color:#'+this.colorSeleccionado+';';d+='{color="'+this.colorSeleccionado+'"}';e+='{/color}'}if(this.tamanioSeleccionado!=-1){c+='font-size:'+this.tamanioSeleccionado+';';d+='{tam="'+this.tamanioSeleccionado+'"}';e+='{/tam}'}if(this.fuenteSeleccionada!=-1){c+='font-family:'+this.fuenteSeleccionada+';';d+='{fuente="'+this.fuenteSeleccionada+'"}';e+='{/fuente}'}if(c!=""){div_prev='<span style="'+c+'">'+a+'</span>';input_prev=d+b.value+e}else{div_prev=a;input_prev=b.value}if(citar_abierto){div_prev+='</fieldset>';input_prev+='{/citar}'}document.getElementById("EDITOR_previsualizacion").innerHTML=div_prev;document.getElementById(this.nombre).value=input_prev}function EDITOR_evaluaExpresion(e,t){var a=new String(t);if(e=="SALTO"){if(a.split("\n").length>1){a=a.split('\n').join('<br>')}}else if(e=="HREF"){if(a.split("{enlace=").length>1){a=a.split('{enlace="').join('<a target="_BLANK" href="').split('{/enlace}').join('</a>').split('"}').join('">')}}else if(e=="COLOR"){if(a.split("{color=").length>1){a=a.split('{color="').join('<span style="color:#').split('{/color}').join('</span>').split('"}').join('">')}}else if(e=="TAMANIOFUENTE"){if(a.split("{tam=").length>1){a=a.split('{tam="').join('<span style="font-size:').split('{/tam}').join('</span>').split('"}').join('">')}}else if(e=="FUENTE"){if(a.split("{fuente=").length>1){a=a.split('{fuente="').join('<span style="font-family:').split('{/fuente}').join('</span>').split('"}').join('">')}}else if(e=="NEGRITA"){if(a.split("{n}").length>1){a=a.split('{n}').join('<span style="font-weight:bold;">').split('{/n}').join('</span>')}}else if(e=="CITAR"){if(a.split("{citar}").length>1){a=a.split('{citar}').join('<fieldset class="cita"><legend>Cita:</legend>').split('{/citar}').join('</fieldset>')}}else if(e=="CURSIVA"){if(a.split("{c}").length>1){a=a.split('{c}').join('<span style="font-style:italic;">').split('{/c}').join('</span>')}}else if(e=="SUBRAYADO"){if(a.split("{s}").length>1){a=a.split('{s}').join('<span style="text-decoration:underline;">').split('{/s}').join('</span>')}}else if(e=="ALINEACION"){a=a.split('{dcha}').join('<div style="text-align:left;">').split('{/dcha}').join('</div>');a=a.split('{izda}').join('<div style="text-align:right;">').split('{/izda}').join('</div>');a=a.split('{centrado}').join('<div style="text-align:center;">').split('{/centrado}').join('</div>');a=a.split('{justificado}').join('<div style="text-align:justify;">').split('{/justificado}').join('</div>')}else{a=a.replace(EXPRESIONES[e],EXPRESIONES_SUSUT[e])}return a}function EDITOR_ejecutaComando(c,v){var a=document.getElementById("ta_"+this.nombre);var b=this.dameSeleccion(a);switch(c){case"Copy":case"Cut":if(IE){if(b!=""){var d=document.selection.createRange();d.execCommand(c)}}else{alert("Esta funcionalidad solos está operativa en Internet Explorer");return}break;case"Paste":if(IE){if(b!=""){var d=document.selection.createRange();d.execCommand(c)}else{}}else{alert("Esta funcionalidad solos está operativa en Internet Explorer");return}break;case"Undo":case"Redo":if(IE){document.execCommand(c)}else{alert("Esta funcionalidad solos está operativa en Internet Explorer");return}break;case"guardar":if(a.form){a.form.submit()}else{alert("No se encontró ningún formulario para enviar");return}break;case"negrita":case"cursiva":case"subrayado":case"dcha":case"izda":case"centrado":case"justificado":var e=(c=="negrita"?"n":(c=="cursiva"?"c":(c=="subrayado"?"s":c)));if(b==""){alert("Seleccione el texto que desee formatear y vuelva a intentarlo");return}else if(b!=""){this.insertar(a,'{'+e+'}'+b+'{/'+e+'}')}break;case"citar":if(b==""){this.insertar(a,citar_abierto?"{/citar}":"{citar}");this.muestraAviso(citar_abierto?"":"Escriba la cita y pulse de nuevo para cerrarla.");citar_abierto=!citar_abierto}else if(b!=""){this.insertar(a,'{citar}'+b+'{/citar}')}break;case"enlace":var f=prompt("Introduzca la URL:","http://");var g=prompt("Nombre del Enlace:",b);if(f&&g)this.insertar(a,'{enlace="'+f+'"}'+(g!=""?g:f)+'{/enlace}');break;case"imagen":var b=this.dameSeleccion(a);var f=prompt("Introduzca la URL:",(b==""?"http://":b));var h=prompt("Introduzca la alineacion (d:derecha,c:centrado,i:izquierda):","c");if(f&&h){var i=false;var j=new Image();j.src=f;if(j.width>MAX_WIDTH)i=true;this.insertar(a,'{imagen'+(i?' redimensiona':'')+' align='+(h=="d"|h=="c"|h=="i"?h:"c")+'}'+f+'{/imagen}')}break;case"video":var b=this.dameSeleccion(a);var f=prompt("Introduzca la URL del vídeo de Youtube:",(b==""?"http://www.youtube.com/watch?v=...":b));if(f){this.insertar(a,'{video}'+f+'{/video}')}break;case"colorfuente":case"fuente":case"tamaniofuente":var k=(c=="colorfuente"?"color":(c=="tamaniofuente"?"tam":"fuente"));var l=k.length;if(b==""){switch(k){case"color":this.colorSeleccionado=v;break;case"tam":this.tamanioSeleccionado=v;break;case"fuente":this.fuenteSeleccionada=v;break}}else if(b!="")this.insertar(a,'{'+k+'="'+v+'"}'+b+'{/'+k+'}');break;case"smiley":this.insertar(a,v);break}this.actualizaPrevisualizacion();return false}function EDITOR_colorFuente(){var d=document.getElementById("EDITOR_colorFuente");if(d.style.display=="block"){d.style.display="none"}else{d.style.display="block"}}function EDITOR_seleccionaColor(c){this.ejecutaComando("colorfuente",c);this.colorFuente()}function EDITOR_smileys(){var d=document.getElementById("EDITOR_smileys");if(d.style.display=="block"){d.style.display="none"}else{d.style.display="block"}}function EDITOR_seleccionaSmiley(s){this.ejecutaComando("smiley",s);this.smileys()}function EDITOR_setTamanioFuente(){var s=document.getElementById("EDITOR_tamaniosfuente");var a=s.options[s.selectedIndex].value;if(a!="-"){this.ejecutaComando("tamaniofuente",a);s.selectedIndex=0}}function EDITOR_setFuente(){var s=document.getElementById("EDITOR_fuentes");var a=s.options[s.selectedIndex].value;if(a!="-"){this.ejecutaComando("fuente",a);s.selectedIndex=0}}function EDITOR_muestraAviso(t){document.getElementById("EDITOR_aviso").innerHTML=(t!=""?"NOTA: "+t:t)}function EDITOR_insertar(f,x){if(IE){f.focus();if(f.createTextRange){f.posi=document.selection.createRange().duplicate();with(f){var a=(posi.text=="");posi.text=x;if(!a)posi.moveStart("character",-x.length);posi.select()}}}else if(MO){var b=f.selectionStart;var c=f.selectionEnd;var d=f.value.substr(0,b);var e=f.value.substr(c,f.value.length);f.value=d+x+e;if(b==c){f.selectionStart=d.length+x.length;f.selectionEnd=f.selectionStart}else{f.selectionStart=d.length;f.selectionEnd=d.length+x.length}f.focus()}else{f.value+=x;f.focus()}}function EDITOR_dameSeleccion(a){if(IE){return document.selection.createRange().text}else if(MO){return a.value.substr(a.selectionStart,a.selectionEnd-a.selectionStart)}else if(window.getSelection){return window.getSelection()}else if(document.getSelection){return document.getSelection()}else{return false}}function EDITOR_cargaContenido(d){var a=document.getElementById("ta_"+this.nombre);var b=document.getElementById(this.nombre);var f=document.getElementById(d).value;a.value=f;b.value=f;this.actualizaPrevisualizacion()}
