Segunda parte
Código PHP:
var s1 = (txtarea.value).substring(0,selEmpz);
//var s2 = (txtarea.value).substring(selEmpz, selFin);
var s3 = (txtarea.value).substring(selFin, selLargo);
var abre = "[LIST=1]\n";
var cierra = "[/LIST=]";
txtarea.value = s1 + abre + cierra + s3;
for (i=0; i<=opcion.length; i++) {
opcion[i]=prompt("Ingresa los elementos de la lista de uno en uno","");
if ((opcion[i]== null) || (opcion[i]== "undefined") || (opcion[i] == "") || (opcion[i] ==' ')) {
var Cursor = s1.length + abre.length + suma + cierra.length;
return(Cursor);
}
txtarea.value = s1 + abre;
for (j=0; j<=i; j++) {
txtarea.value += "[*]" + opcion[j] + "\n";
}
txtarea.value += cierra + s3;
suma += (opcion[i].length+4);
}
}
}
//Lista Desordenada
function listades () {
var txtarea = document.getElementById("firma");
var opcion= new Array();
var i,j
var suma = 0
if ((clientVer >= 4) && is_ie && is_win) {
var theSelection = document.selection.createRange().text;
if (document.selection) {
if (!theSelection) {
txtarea.focus();
var Sel = document.selection.createRange ();
var PosSel1 = Sel.moveStart ('character', -txtarea.value.length);
var SelLargo = txtarea.value.length;
// La linea siguiente es necesaria por que -- y -- da un valor negativo
var ValorPositivo = PosSel1 + SelLargo + 1
var SelEmpz = SelLargo - ValorPositivo
var PosSel2 = Sel.moveStart ('character', -txtarea.value.length);
var SelFin = SelLargo - PosSel2
var s1 = (txtarea.value).substring(0,SelEmpz);
var s2 = (txtarea.value).substring(SelEmpz,SelFin);
//var s3 = (txtarea.value).substring(selFin, selLargo);
var abre = "[LIST]\n";
var cierra = "[/LIST]";
txtarea.value = s1 + abre + cierra + s2;
for (i=0; i<=opcion.length; i++) {
opcion[i]=prompt("Ingresa los elementos de la lista de uno en uno","");
if ((opcion[i]== null) || (opcion[i]== "undefined") || (opcion[i] == "") || (opcion[i] ==' ')) {
var Cursor = s1.length + abre.length + suma + cierra.length;
return(Cursor);
}
txtarea.value = s1 + abre;
for (j=0; j<=i; j++) {
txtarea.value += "[*]" + opcion[j] + "\n";
}
txtarea.value += cierra + s2;
suma += (opcion[i].length+4);
}
}
if (theSelection) {
txtarea.focus();
var Sel = document.selection.createRange ();
var PosSel1 = Sel.moveStart ('character', -txtarea.value.length);
var SelLargo = txtarea.value.length;
// La linea siguiente es necesaria por que -- PosSel1 -- da un valor negativo
var ValorPositivo = PosSel1 + SelLargo + 1
var SelEmpz = SelLargo - ValorPositivo
var s1 = (txtarea.value).substring(0,SelEmpz);
var selFin = s1.length + theSelection.length
var s2 = (txtarea.value).substring(selFin, selLargo);
var abre = "[LIST]\n";
var cierra = "[/LIST]";
txtarea.value = s1 + abre;
opcion = theSelection.split(" ");
for (j=0; j<opcion.length; j++) {
txtarea.value += "[*]" + opcion[j] + "\n";
suma += (opcion[j].length+4);
}
txtarea.value += cierra + s2;
var Cursor = s1.length + abre.length + suma + cierra.length;
return(Cursor);
}
}
}
else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))
{
var selLargo = txtarea.textLength;
var selEmpz = txtarea.selectionStart;
var selFin = txtarea.selectionEnd;
var s1 = (txtarea.value).substring(0,selEmpz);
var s2 = (txtarea.value).substring(selEmpz, selFin);
var s3 = (txtarea.value).substring(selFin, selLargo);
var abre = "[LIST]\n";
var cierra = "[/LIST]";
opcion = s2.split(" ");
txtarea.value = s1 + abre;
for (j=0; j<opcion.length; j++) {
txtarea.value += "[*]" + opcion[j] + "\n";
suma += (opcion[j].length+4);
}
txtarea.value += cierra + s3;
var Cursor = s1.length + abre.length + suma + cierra.length;
return(Cursor);
}
else
{
var selLargo = txtarea.textLength;
var selEmpz = txtarea.selectionStart;
var selFin = txtarea.selectionEnd;
var s1 = (txtarea.value).substring(0,selEmpz);
//var s2 = (txtarea.value).substring(selEmpz, selFin);
var s3 = (txtarea.value).substring(selFin, selLargo);
var abre = "[LIST]\n";
var cierra = "[/LIST]";
txtarea.value = s1 + abre + cierra + s3;
for (i=0; i<=opcion.length; i++) {
opcion[i]=prompt("Ingresa los elementos de la lista de uno en uno","");
if ((opcion[i]== null) || (opcion[i]== "undefined") || (opcion[i] == "") || (opcion[i] ==' ')) {
var Cursor = s1.length + abre.length + suma + cierra.length;
return(Cursor);
}
txtarea.value = s1 + abre;
for (j=0; j<=i; j++) {
txtarea.value += "[*]" + opcion[j] + "\n";
}
txtarea.value += cierra + s3;
suma += (opcion[i].length+4);
}
}
}
function etiquetastilo (boton,tag) {
var txtarea = document.getElementById("firma");
var iniCursor = 0;
if ((clientVer >= 4) && is_ie && is_win) {
txtSeleccion = document.selection.createRange().text;
if (document.selection) {
if (!txtSeleccion) {
txtarea.focus();
var Sel = document.selection.createRange ();
if (tag <=3) {
document.selection.createRange().text ="[" +valor_tag[tag]+ "=" +valor_boton[boton]+ "][/" +valor_tag[tag]+ "]";
}
else
{
document.selection.createRange().text ="[" +valor_tag[tag]+ "][/" +valor_tag[tag]+ "]";
}
Sel.moveStart ('character', -txtarea.value.length);
iniCursor = Sel.text.length; //caracteres que deja atras
//var sumarPos= parseInt(num_caracteresAtras[boton]);
var Cursor = iniCursor + 3;
return(Cursor);
}
txtarea.focus();
var Sel = document.selection.createRange ();
if (tag <=3) {
document.selection.createRange().text = "[" +valor_tag[tag]+ "=" +valor_boton[boton]+ "]" + txtSeleccion + "[/" +valor_tag[tag]+ "]";
}
else
{
document.selection.createRange().text = "[" +valor_tag[tag]+ "]" + txtSeleccion + "[/" +valor_tag[tag]+ "]";
}
Sel.moveStart ('character', -txtarea.value.length);
var StrSeleccion = txtSeleccion.length;
iniCursor = Sel.text.length;
var sumarPos= parseInt(num_caracteres[boton]);
var Cursor = iniCursor + StrSeleccion + sumarPos;
return(Cursor);
}
}
// Firefox support
else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))
{
var selLargo = txtarea.textLength;
var selEmpz = txtarea.selectionStart;
var selFin = txtarea.selectionEnd;
var s1 = (txtarea.value).substring(0,selEmpz);
var s2 = (txtarea.value).substring(selEmpz, selFin);
var s3 = (txtarea.value).substring(selFin, selLargo);
if (tag <=3) {
txtarea.value = s1 + "[" + valor_tag[tag] + "=" +valor_boton[boton]+ "]" +s2 + "[/" +valor_tag[tag] + "]" + s3;
}
else
{
txtarea.value = s1 + "[" + valor_tag[tag] + "]" +s2 + "[/" +valor_tag[tag] + "]" + s3;
}
var iniText = s1.length;
var textSel = s2.length;
var sumarPos= parseInt(num_caracteres[boton]);
var Cursor = iniText + textSel + sumarPos;
return(Cursor);
}
else
{
var selLargo = txtarea.textLength;
var selEmpz = txtarea.selectionStart;
var selFin = txtarea.selectionEnd;
var s1 = (txtarea.value).substring(0,selEmpz);
var s2 = (txtarea.value).substring(selEmpz, selFin);
var s3 = (txtarea.value).substring(selFin, selLargo);
if (tag <=3) {
txtarea.value = s1 + "[" + valor_tag[tag] + "=" +valor_boton[boton]+ "][/" +valor_tag[tag] + "]" + s2 + s3;
}
else
{
txtarea.value = s1 + "[" + valor_tag[tag] + "][/" +valor_tag[tag] + "]" + s2 + s3;
}
var Cursor = txtarea.textLength - recortar_posAtras[boton] - s2.length - s3.length;
return(Cursor);
}
almznaCursor(txtarea);
}
function almznaCursor(textEl) {
if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
}
function PosicionCursor(pos) {
var txtarea = document.getElementById("firma");
//Firefox
if (txtarea .setSelectionRange) {
txtarea .focus();
txtarea .setSelectionRange(pos,pos);
}
else if (txtarea .createTextRange) {
var rango = txtarea .createTextRange();
rango.collapse(true);
rango.moveEnd('character', pos);
rango.moveStart('character', pos);
rango.select();
}
}
function ImpEtiqueta(val,etta)
{
PosicionCursor(etiquetastilo(val,etta));
}
function ImpUrl(val,etta)
{
PosicionCursor(inserta_url(val,etta));
}
function Lista_Ord()
{
PosicionCursor(listaord());
}
function Lista_Des()
{
PosicionCursor(listades());
}
</script>
</head>
<body>
<form name="perfil">
<input type="button" value="Times New Roman" onClick="ImpEtiqueta(0,0);" />
<input type="button" value="Verdana" onClick="ImpEtiqueta(1,0);" />
<input type="button" value="Arial" onClick="ImpEtiqueta(2,0);" />
<br>
<input type="button" value="9" onClick="ImpEtiqueta(3,1);" />
<input type="button" value="10" onClick="ImpEtiqueta(4,1);" />
<input type="button" value="11" onClick="ImpEtiqueta(5,1);" />
<br>
<input type="button" value="Rojo" onClick="ImpEtiqueta(6,2);" />
<input type="button" value="Negro" onClick="ImpEtiqueta(7,2);" />
<input type="button" value="Blanco" onClick="ImpEtiqueta(8,2);" />
<br>
<input type="button" value="B" onclick="ImpEtiqueta(12,4);" />
<input type="button" value="U" onclick="ImpEtiqueta(13,5);" />
<input type="button" value="I" onclick="ImpEtiqueta(14,6);" />
<br>
<input type="button" value="Left" onclick="ImpEtiqueta(9,3);" />
<input type="button" value="Center" onclick="ImpEtiqueta(10,3);" />
<input type="button" value="Right" onclick="ImpEtiqueta(11,3);" />
<br>
<input type="button" value="URL" onclick="ImpUrl(15,7);" />
<br>
<input type="button" value="Lordenada" onclick="Lista_Ord();" />
<br>
<input type="button" value="Ldesordenada" onclick="Lista_Des();" />
<br><br>
<textarea id="firma" name="firma" rows="10" cols="80"></textarea>
</form>
</body>
</html>
Suerte