// Obiecte html
/* Intrari de la utilizator */
var inFormaUser
var inTextAreaUser

/* Variabile interne */
var inTextArea
var inButton
var inDiv
var inUltimTextElement
var inSelection,inSelectionRange,inDuplicateRange
var inControlElement
var inFelElement

var inTabelFont,inTabelMarimeFont,inTabelCuloareText,inTabelCuloareSubliniere
var inTabelImagine,inTabelLink,inTabelTabel,inAudioVideo,inTabelHtml
var inTabelRomana,inTabelFranceza,inTabelGermana,inTabelRusa,inTabelGreaca
var inTabelMatematica
var inInpImg,inInpLink,inInpAudio
var inTextHtml,inDivHtml

var ChSel=String.fromCharCode(255)
var StrAlineat=String.fromCharCode(160)+String.fromCharCode(160)+String.fromCharCode(160)+String.fromCharCode(160)+String.fromCharCode(160)+String.fromCharCode(160)
var inCaleEditor

var inInnerHTML=Array('','','','','','','','','','')

function Replace(s,s1,s2)
{
// vrem sa inlocuim in s pe s1 cu s2
var n=s.length
var l1=s1.length
var l2=s2.length
var p=s.indexOf(s1)
var i=0
while ((p>-1) && (i<n))
  {
  var m=s.length
  s=s.substring(0,p)+s2+s.substr(p+l1,m-p-l1)
  i+=1
  p=s.indexOf(s1,p+l2)
  }
return s
}

function Replace_rn(s)
{
s=Replace(s,"\r\n","<br>\r\n");
return s;
}

function ReplaceBR(shtml)
{
var p,p1,p2
var s1,s2

shtml=Replace(shtml,'<td>','<TD>')
shtml=Replace(shtml,'</td>','</TD>')
shtml=Replace(shtml,'<br>','<BR>')

p=shtml.indexOf('<BR>')
while (p>0)
  {
  s1=shtml.substr(0,p)
  s2=shtml.substring(p+4)
  p1=s1.lastIndexOf('<TD>',p)
  if (p1>-1)
     {
     p2=s1.indexOf('</TD>',p1+4)
     if (p2>-1)
        shtml=s1+ChSel+s2
     else
        shtml=s1+'<BR>'+s2
     }
  else
     {
     shtml=s1+ChSel+s2
     }
  p=shtml.indexOf('<BR>',p+2) 
  }
return shtml
}

function NrCr(t)
{
var nr=0
var p=t.indexOf('\r\n')
while (p>-1)
  {
  nr++
  p=t.indexOf('\r\n',p+1)
  }
return nr
}

function AscundereTabele()
{
inTabelFont.style.display='none'
inTabelMarimeFont.style.display='none'
inTabelCuloareText.style.display='none'
inTabelCuloareSubliniere.style.display='none'
inTabelImagine.style.display='none'
inTabelLink.style.display='none'
inTabelTabel.style.display='none'
inTabelAudioVideo.style.display='none'
inTabelHtml.style.display='none'
inTabelRomana.style.display='none'
inTabelFranceza.style.display='none'
inTabelGermana.style.display='none'
inTabelRusa.style.display='none'
inTabelGreaca.style.display='none'
inTabelMatematica.style.display='none'
}

function Diacritice(sel)
{
var shift=event.shiftKey;
var key=event.keyCode;
    if (shift==1)
       {
       if (key==186) sel.text=String.fromCharCode(350)
       if (key==219) sel.text=String.fromCharCode(258)
       if (key==220) sel.text=String.fromCharCode(194)
       if (key==221) sel.text=String.fromCharCode(206)
       if (key==222) sel.text=String.fromCharCode(354)
       }
    else
       {
       if (key==186) sel.text=String.fromCharCode(351)
       if (key==219) sel.text=String.fromCharCode(259)
       if (key==220) sel.text=String.fromCharCode(226)
       if (key==221) sel.text=String.fromCharCode(238)
       if (key==222) sel.text=String.fromCharCode(355)
       }
}

function IsInTextArea(e)
{
var u=false
var p=e.parentElement
while ((!(u)) && (p.tagName!='BODY'))
  {
  if (p.tagName=='TEXTAREA') u=true
  p=p.parentElement
  } 
return u
}

function BodyKeyDown()
{
var alt=event.altKey
if (alt==1)
   {
   var sel=document.selection.createRange()
   var p=sel.parentElement()
   var edit=false
   if (p.tagName=='TEXTAREA')
      edit=true
   else
      if (IsInTextArea(p)) edit=true
   if (p.tagName=="INPUT") if (p.type=='text') edit=true
   if (edit) Diacritice(sel)
   }
}

function BodyKeyPress()
{
var key=event.keyCode;
if (key==27) AscundereTabele()
}

function IsInTD(e)
{
var u=false
var p=e.parentElement
while ((!(u)) && (p.tagName!='BODY') && (p.tagName!='TEXTAREA'))
  {
  if (p.tagName=='TD') u=true
  p=p.parentElement
  } 
return u
}

function TextKeyPress()
{
inSelectionRange=document.selection.createRange()
inDuplicateRange=inSelectionRange.duplicate()
var parinte=inSelectionRange.parentElement();
var shift=event.shiftKey;
var key=event.keyCode;
var etd=false
if ((shift==1) && (key==32))
   {
   event.keyCode=0;
   sel.text=String.fromCharCode(160);
   }
if (key==13)
   {
   if (parinte.tagName=='TD')
      etd=true
   else
      {
      if ((parinte.tagName!='TEXTAREA')) if (IsInTD(parinte)) etd=true
      }
   if (etd)
      {
      event.keyCode=0;
      var r=inSelectionRange.duplicate();
      var b=r.getBookmark();
      ComandaBR();
      parinte.focus();
      r.moveToBookmark(b);
      r.moveEnd('character',-1);
      r.select();
      }
   }
}

function GenerareTabelFont()
{
var fName=Array(
    'Arial',
    'Arial Black',
    'Arial Narow',
    'Comic Sans MS',
    'Courier New',
    'Georgia',
    'Helvetica',
    'Script',
    'Script MT Bold',
    'Tahoma',
    'Times New Roman',
    'Trebuchet MS',
    'Verdana')
var nrFonturi=fName.length;
document.write('<table id="tab_font" class=tabMeniuAlb cellpadding=2 border=0 style="font-size:13px;">');
for (var i=0;i<nrFonturi;i++)
    {
    var tr='<tr style="font-family:'+fName[i]+';cursor:hand;" onmouseover="style.background=';
    tr+="'#dddddd';";
    tr+='" onmouseout="style.background=';
    tr+="'#ffffff'";
    tr+=';" onclick="ExecutaComanda(';
    tr+="'FontName','"+fName[i]+"'";
    tr+=');">';
    document.write(tr);
    document.write('<td>'+fName[i]+'</td></tr>');
    }
document.write('</table>');
inTabelFont=document.getElementById('tab_font');
}

function GenerareTabelMarimeFont()
{
document.write('<table id="tab_marimefont" class=tabMeniuAlb cellpadding=2 border=0 style="font-size:13px;">');
for (var i=1;i<8;i++)
    {
    var tr='<tr style="font-family:Arial;cursor:hand;" onmouseover="style.background=';
    tr+="'#dddddd';";
    tr+='" onmouseout="style.background=';
    tr+="'#ffffff'";
    tr+=';" onclick="ExecutaComanda(';
    tr+="'FontSize','"+i+"'";
    tr+=');">';
    document.write(tr);
    document.write('<td><font size='+i+'>'+i+'</font></td></tr>');
    }
document.write('</table>');
inTabelMarimeFont=document.getElementById('tab_marimefont');
}

function HexaRGB(r,g,b)
{
var hc=Array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
var sb=hc[b % 16]+hc[Math.floor(b/16)];
var sg=hc[g % 16]+hc[Math.floor(g/16)];
var sr=hc[r % 16]+hc[Math.floor(r/16)];
return sr+sg+sb;
}

function GenerareTabelCuloareText()
{
var dimTabCol=12;
var r=Array(0,60,100,170,200,255);
var g=Array(0,85,170,255);
var b=Array(0,60,100,170,200,255);
var kr=0;
var kg=0;
var kb=0;
document.write('<TABLE id="tab_ctext" class=tabMeniuAlb>');
for (var i=0;i<dimTabCol;i++)
    {
    document.write('<TR>');
    for (var j=0;j<dimTabCol;j++)
        {
        var hc=HexaRGB(r[kr],g[kg],b[kb]);
        var hc='#'+hc;
        var sid="TD_COL_"+i+"_"+j;
        var sk='onclick="ExecutaComanda(';
        sk+="'ForeColor','"+hc+"'";
        sk+=');"';
        document.write('<TD ID='+sid+' CLASS=tdCuloare BGCOLOR='+hc+' title='+hc+' style="cursor:hand" '+sk+'>&nbsp;</TD>');
        if (kb<5)
           kb++;
        else
           {
           kb=0;
           if (kg<3)
              kg++;
           else
              {
              kg=0;
              kr++;
              }
           }
        }
    document.write('</TR>');
    }
sk='onclick="ExecutaComanda(';
sk+="'ForeColor',''";
sk+=')";';
document.write('<TR><TD ID="TD_COL_NUL" CLASS=tdC TITLE="Nul" STYLE="cursor:hand;"'+sk+'><TABLE BORDER=0 WIDTH=10 HEIGHT=12 style="border-top:1px solid #0000cc;border-left:1px solid #0000cc;border-right:1px solid #0000cc;border-bottom:1px solid #0000cc;"><TR><TD></TD></TR></TABLE></TD><TD COLSPAN=11 STYLE="font-size:12px">Fără culoare</TD></TR>');
document.write('</TABLE>');
inTabelCuloareText=document.getElementById('tab_ctext');
}

function GenerareTabelCuloareSubliniere()
{
var dimTabCol=12;
var r=Array(0,60,100,170,200,255);
var g=Array(0,85,170,255);
var b=Array(0,60,100,170,200,255);
var kr=0;
var kg=0;
var kb=0;
document.write('<TABLE id="tab_cfond" class=tabMeniuAlb>');
for (var i=0;i<dimTabCol;i++)
    {
    document.write('<TR>');
    for (var j=0;j<dimTabCol;j++)
        {
        var hc=HexaRGB(r[kr],g[kg],b[kb]);
        var hc='#'+hc;
        var sid="TD_COL_"+i+"_"+j;
        var sk='onclick="ExecutaComanda(';
        sk+="'BackColor','"+hc+"'";
        sk+=');"';
        document.write('<TD ID='+sid+' CLASS=tdCuloare BGCOLOR='+hc+' title='+hc+' style="cursor:hand" '+sk+'>&nbsp;</TD>');
        if (kb<5)
           kb++;
        else
           {
           kb=0;
           if (kg<3)
              kg++;
           else
              {
              kg=0;
              kr++;
              }
           }
        }
    document.write('</TR>');
    }
sk='onclick="ExecutaComanda(';
sk+="'BackColor',''";
sk+=')";';
document.write('<TR><TD ID="TD_COL_NUL" CLASS=tdC TITLE="Nul" STYLE="cursor:hand;"'+sk+'><TABLE BORDER=0 WIDTH=10 HEIGHT=12 style="border-top:1px solid #0000cc;border-left:1px solid #0000cc;border-right:1px solid #0000cc;border-bottom:1px solid #0000cc;"><TR><TD></TD></TR></TABLE></TD><TD COLSPAN=11 STYLE="font-size:12px">Fără culoare</TD></TR>');
document.write('</TABLE>');
inTabelCuloareSubliniere=document.getElementById('tab_cfond');
}

function GenerareTabelImagine()
{
document.write('<TABLE id="tab_img" class=tabMeniuGri>');
document.write('<tr>');
document.write('<td style="font-family:Verdana;font-size:11px;">Adresa imaginii:</td>');
document.write('<td>');
document.write('<input type=text id="inp_img" size=60 value="http://">');
document.write('</td>');
document.write('</tr>');
document.write('<tr>');
document.write('<td style="font-family:Verdana;font-size:11px;">Aliniere:</td>');
document.write('<td>');
document.write('<select id="alin_img" style="font-family:Verdana;font-size:11px;">');
document.write('<option value=0>Not set</option>');
document.write('<option value=1>Left</option>');
document.write('<option value=2>Right</option>');
document.write('</select>');
document.write('</td>');
document.write('</tr>');
document.write('<tr>');
document.write('<td align=left>');
document.write('<button id="can_img" style="font-family:Verdana;font-size:11px;width:64px;background:#f4f4f4;" onclick="inTabelImagine.style.display=\'none\';">Renunțare</button>');
document.write('</td>');
document.write('<td align=right>');
document.write('<button id="ok_img" style="font-family:Verdana;font-size:11px;width:64px;background:#f4f4f4;" onclick="ExecutaComanda(\'InsertImage\',inp_img.value,alin_img.value);">Ok</button>');

document.write('</td>');
document.write('</tr>');
document.write('</table>');
inTabelImagine=document.getElementById('tab_img')
inInpImg=document.getElementById('inp_img')
}

function GenerareTabelLink()
{
document.write('<TABLE id="tab_link" class=tabMeniuGri>');
document.write('<tr>');
document.write('<td style="font-family:Verdana;font-size:11px;">Adresa link:</td>');
document.write('<td>');
document.write('<input type=text id="inp_link" size=60 value="http://">');
document.write('</td>');
document.write('</tr>');
document.write('<tr>');
document.write('<td align=left>');
document.write('<button id="can_link" style="font-family:Verdana;font-size:11px;width:64px;background:#f4f4f4;" onclick="inTabelLink.style.display=\'none\';">Renunțare</button>');
document.write('</td>');
document.write('<td align=right>');
document.write('<button id="ok_link" style="font-family:Verdana;font-size:11px;width:64px;background:#f4f4f4;" onclick="ExecutaComanda(\'CreateLink\',inp_link.value);">Ok</button>');
document.write('</td>');
document.write('</tr>');
document.write('</table>');
inTabelLink=document.getElementById('tab_link')
inInpLink=document.getElementById('inp_link')
}

function GenerareTabelTabel()
{
document.write('<table id="tab_tabel" class=tabMeniuGri cellpadding=4 border=0>');
document.write('<tr>');
document.write('<td colspan=2 align=center style="font-family:Verdana;font-size:11px;">');
document.write('<b>Tabel</b>');
document.write('</td>');
document.write('</tr>');
document.write('<tr>');
document.write('<td style="font-family:Verdana;font-size:11px;">Numar coloane:</td>');
document.write('<td>');
document.write('<select id="col_tab" style="font-family:Verdana;font-size:11px;">');
for (var i=1;i<7;i++)
   {
   document.write('<option value='+i+'>'+i+'</option>');
   }
document.write('</select>');
document.write('</td>');
document.write('</tr>');
document.write('<tr>');
document.write('<td style="font-family:Verdana;font-size:11px;">Grosime bordura:</td>');
document.write('<td>');
document.write('<select id="bor_tab" style="font-family:Verdana;font-size:11px;">');
document.write('<option value=0>0</option>');
for (var i=1;i<9;i++)
   {
   document.write('<option value='+i+'>'+i+'</option>');
   }
document.write('</select>');
document.write('</td>');
document.write('</tr>');
document.write('<tr>');
document.write('<td align=left>');
document.write('<button id="can_tab" style="font-family:Verdana;font-size:11px;width:64px;background:#f4f4f4;" onclick="inTabelTabel.style.display=\'none\';">Renunțare</button>');
document.write('</td>');
document.write('<td align=right>');
document.write('<button id="ok_tab" style="font-family:Verdana;font-size:11px;width:64px;background:#f4f4f4;" onclick="ExecutaComanda(\'Tabel\',col_tab.value,bor_tab.value);">Ok</button>');
document.write('</td>');
document.write('</tr>');
document.write('</table>');
inTabelTabel=document.getElementById('tab_tabel')
}

function GenerareTabelAudioVideo()
{
document.write('<TABLE id="tab_audio" class=tabMeniuGri>');
document.write('<tr>');
document.write('<td style="font-family:Verdana;font-size:11px;">Adresa audio/video:</td>');
document.write('<td>');
document.write('<input type=text id="inp_audio" size=60 value="http://">');
document.write('</td>');
document.write('</tr>');
document.write('<tr>');
document.write('<td align=left>');
document.write('<button id="can_audio" style="font-family:Verdana;font-size:11px;width:64px;background:#f4f4f4;" onclick="inTabelAudioVideo.style.display=\'none\';">Renunțare</button>');
document.write('</td>');
document.write('<td align=right>');
document.write('<button id="ok_audio" style="font-family:Verdana;font-size:11px;width:64px;background:#f4f4f4;" onclick="ExecutaComanda(\'Embed\',inp_audio.value);">Ok</button>');
document.write('</td>');
document.write('</tr>');
document.write('</table>');
inTabelAudioVideo=document.getElementById('tab_audio')
inInpAudio=document.getElementById('inp_audio')
}

function GenerareTabelHtml()
{
var dx=inTextArea.clientWidth+20
var dy=inTextArea.clientHeight+2
var lat=(dx-12)/2
var ina=dy-40
var nr=0
var nc=0
var x=nc*8+22
while (x<lat)
  {
  nc++
  x=nc*8+22
  }
if (x>lat) nc--
var y=nr*16+4
while (y<ina)
  {
  nr++
  y=nr*16+4
  }
if (y>ina) nr--
lat=nc*8+22
ina=nr*16+4

var sh='<TABLE id=tab_html class=tabMeniuGri width='+dx+'px height='+dy+'px>'
sh+='<tr>'
sh+='<td align=center>'
sh+='<font face=Verdana size=1><b>Editare text html</b></font>'
sh+='</td>'
sh+='<td align=center>'
sh+='<font face=Verdana size=1><b>Vizualizare</b></font>'
sh+='</td>'
sh+='</tr>'
sh+='<tr>'
sh+='<td align=center valign=top width=50%>'
sh+='<textarea id="text_html" rows='+nr+' cols='+nc+'></textarea>'
sh+='</td>'
sh+='<td valign=top width=50%>'
sh+='<div id="div_html" style="width:'+lat+'px;height:'+ina+'px;overflow-x:scroll;overflow-y:scroll;"></div>'
sh+='</td>'
sh+='</tr>'
sh+='<tr>'
sh+='<td colspan=2>'
sh+='<table border=0 cellspacing=0 cellpadding=0 width=100%>'
sh+='<tr>'
sh+='<td width=25%><button style="font-family:Verdana;font-size:11px;width:88px;background:#f4f4f4;" onclick="inTabelHtml.style.display=\'none\';">Renuntare</button></td>'
sh+='<td width=25% align=right><button style="font-family:Verdana;font-size:11px;width:88px;background:#f4f4f4;" onclick="InserareHTML();">Ok</button></td>'
sh+='<td width=50% align=center><button style="font-family:Verdana;font-size:11px;width:88px;background:#f4f4f4;" onclick="inDivHtml.innerHTML=inTextHtml.value;">Vizualizare</button></td>'
sh+='</tr>'
sh+='</table>'
sh+='</td>'
sh+='</tr>'
sh+='</table>'
document.write(sh)

inTabelHtml=document.getElementById('tab_html')
inTextHtml=document.getElementById('text_html')
inDivHtml=document.getElementById('div_html')
}

function GenerareTabelRomana()
{
var minuscula=Array(226,259,238,351,355);
var majuscula=Array(194,258,206,350,354);
var n=minuscula.length;
document.write('<table id="tab_romana" class=tabMeniuAlb>');
document.write('<tr><td>');
for (var i=0;i<n;i++)
  document.write('<button class=butLitera onclick="ExecutaComanda(\'Simbol\','+minuscula[i]+');">'+String.fromCharCode(minuscula[i])+'</button>'); 
document.write('</td></tr><tr><td>');
for (var i=0;i<n;i++)
  document.write('<button class=butLitera onclick="ExecutaComanda(\'Simbol\','+majuscula[i]+');">'+String.fromCharCode(majuscula[i])+'</button>'); 
document.write('</td></tr>');
document.write('</table>');
inTabelRomana=document.getElementById('tab_romana')
}

function GenerareTabelFranceza()
{
var majuscula=Array(192,194,199,200,201,202,203,206,207,212,217,219,338);
var minuscula=Array(224,226,231,232,233,234,235,238,239,244,249,251,339);
var n=minuscula.length;
document.write('<table id="tab_franceza" class=tabMeniuAlb>');
document.write('<tr><td>');
for (var i=0;i<n;i++)
  document.write('<button class=butLitera onclick="ExecutaComanda(\'Simbol\','+minuscula[i]+');">'+String.fromCharCode(minuscula[i])+'</button>'); 
document.write('</td></tr><tr><td>');
for (var i=0;i<n;i++)
  document.write('<button class=butLitera onclick="ExecutaComanda(\'Simbol\','+majuscula[i]+');">'+String.fromCharCode(majuscula[i])+'</button>'); 
document.write('</td></tr>');
document.write('</table>');
inTabelFranceza=document.getElementById('tab_franceza')
}

function GenerareTabelGermana()
{
var majuscula=Array(196,214,220,223);
var minuscula=Array(228,246,252,223);
var n=minuscula.length;
document.write('<table id="tab_germana" class=tabMeniuAlb>');
document.write('<tr><td>');
for (var i=0;i<n;i++)
  document.write('<button class=butLitera onclick="ExecutaComanda(\'Simbol\','+minuscula[i]+');">'+String.fromCharCode(minuscula[i])+'</button>'); 
document.write('</td></tr><tr><td>');
for (var i=0;i<n;i++)
  document.write('<button class=butLitera onclick="ExecutaComanda(\'Simbol\','+majuscula[i]+');">'+String.fromCharCode(majuscula[i])+'</button>'); 
document.write('</td></tr>');
document.write('</table>');
inTabelGermana=document.getElementById('tab_germana')
}

function GenerareTabelRusa()
{
var n=32;
var minuscula=1072;
var majuscula=1040;
document.write('<table id="tab_rusa" class=tabMeniuAlb>');
document.write('<tr><td>');
for (var i=0;i<n;i++)
  {
  var k=minuscula+i;
  document.write('<button class=butLitera onclick="ExecutaComanda(\'Simbol\','+k+');">'+String.fromCharCode(k)+'</button>'); 
  }
document.write('</td></tr><tr><td>');
for (var i=0;i<n;i++)
  {
  var k=majuscula+i;
  document.write('<button class=butLitera onclick="ExecutaComanda(\'Simbol\','+k+');">'+String.fromCharCode(k)+'</button>'); 
  } 
document.write('</td></tr>');
document.write('</table>');
inTabelRusa=document.getElementById('tab_rusa')
}

function GenerareTabelGreaca()
{
var n=24;
var majuscula=913;
var minuscula=945;
document.write('<table id="tab_greaca" class=tabMeniuAlb>');
document.write('<tr><td>');
for (var i=0;i<n;i++)
  {
  var k=minuscula+i;
  document.write('<button class=butLitera onclick="ExecutaComanda(\'Simbol\','+k+');">'+String.fromCharCode(k)+'</button>'); 
  }
document.write('</td></tr><tr><td>');
for (var i=0;i<n;i++)
  {
  var k=majuscula+i;
  document.write('<button class=butLitera onclick="ExecutaComanda(\'Simbol\','+k+');">'+String.fromCharCode(k)+'</button>'); 
  } 
document.write('</td></tr>');
document.write('</table>');
inTabelGreaca=document.getElementById('tab_greaca')
}

function GenerareTabelMatematica()
{
var simbol=new Array()
simbol[0]=Array(172,176,177,178,179,180,181,185,188,189,190,215,216)
simbol[1]=Array(248,247,8704,8706,8707,8710,8711,8712,8715,8719,8721,8722,8725)
simbol[2]=Array(8729,8730,8733,8734,8735,8736,8739,8741,8743,8744,8745,8746,8747)
simbol[3]=Array(8748,8750,8756,8757,8758,8759,8764,8776,8780,8800,8801,8804,8805)
simbol[4]=Array(8806,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8869,8895)
simbol[5]=Array(8592,8593,8594,8595,8596,8597,8598,8599,8600,8601,8616,8658,8660)
var m=6;
var n=13;
document.write('<table id="tab_matematica" class=tabMeniuAlb>');
for (var i=0;i<m;i++)
   {
   document.write('<tr><td>');
   for (var j=0;j<n;j++)
      document.write('<button class=butLitera onclick="ExecutaComanda(\'Simbol\','+simbol[i][j]+');">'+String.fromCharCode(simbol[i][j])+'</button>'); 
   document.write('</td></tr>');
   }
document.write('</table>');
inTabelMatematica=document.getElementById('tab_matematica')
}

function IncarcareTextHtml()
{
var r,g,s
s=inTextAreaUser.value
if (s=='') return
s=Replace(s,'<br>','<BR>')
s=Replace(s,'<BR>\r\n',ChSel)
s=ReplaceBR(s)
inDiv.innerHTML=s
Transfer(inDiv,inTextArea)
r=inTextArea.createTextRange()
g=r.findText(ChSel)
while (g)
  {
  r.text='\r\n'
  g=r.findText(ChSel)
  }
}

function CaleEditor()
{
var sc=document.getElementsByTagName('SCRIPT')
var n=sc.length
var cale=''
var i=0
while ((cale=='') && (i<n))
  {
  var s=sc(i).src
  if (s>'')
     {
     var p=s.lastIndexOf('/')
     if (p>-1)
        {
        var s1=s.substr(0,p+1)
        var s2=s.substring(p+1)
        }
     else
        {
        var s1=''
        var s2=s 
        }
     if (s2=='editor.js') cale=s1
     }
  i++
  }
return cale
}

function CreareEditor(NrRinduri,IdForma,IdTextArea)
{
var imgButton=Array(
    'fontface.gif',
    'fontsize.gif',
    'bold.gif',
    'italic.gif',
    'uline.gif',
    'coltext.gif',
    'colhilite.gif',
    'img.gif',
    'link.gif',
    'iright.gif',
    'justleft.gif',
    'justctr.gif',
    'justright.gif',
    'justify.gif',
    'line.gif',
    'table.gif',
    'wmv.gif',
    'html.gif', 
    'Romania.gif',
    'Franta.gif',
    'Germania.gif',
    'Rusia.gif',
    'Grecia.gif',
    'math.gif',
    'undo.gif',
    'preview.gif',
    'help.gif')
var titleButton=Array(
    'Font',
    'Mărime font',
    'Bold',
    'Italic',
    'Subliniere',
    'Culoare text',
    'Culoare subliniere',
    'Imagine',
    'Link',
    'Alineat',
    'Aliniere stînga',
    'Aliniere centru',
    'Aliniere dreapta',
    'Aliniere stînga-dreapta',
    'Linie orizontală',
    'Tabel',
    'Audio/Video',
    'Text html',
    'Diacritice din limba română',
    'Diacritice din limba franceză',
    'Litere specifice din limba germană',
    'Literele din limba rusă',
    'Literele din limba greacă',
    'Simboluri matematice',
    'Revenire',
    'Previzualizare',
    'Help')
var style, NrButoane, NrColoane
var tabDia,rect
var i,buton

inCaleEditor=CaleEditor()
for (i=0;i<imgButton.length;i++) imgButton[i]=inCaleEditor+imgButton[i]

style='<style>'
style+='.butFunc'
style+='{'
style+='width:27px;'
style+='height:27px;'
style+='}'
style+='.tabMeniuAlb'
style+='{'
style+='border-left:1px solid #008CDE;'
style+='border-top:1px solid #008CDE;'
style+='border-right:1px solid #008CDE;'
style+='border-bottom:1px solid #008CDE;'
style+='position:absolute;'
style+='display:none;'
style+='background:#FFFFFF;'
style+='}'
style+='.tabMeniuGri'
style+='{'
style+='border-left:1px solid #008CDE;'
style+='border-top:1px solid #008CDE;'
style+='border-right:1px solid #008CDE;'
style+='border-bottom:1px solid #008CDE;'
style+='position:absolute;'
style+='display:none;'
style+='background:#F0F0F0;'
style+='}'
style+='.tdCuloare'
style+='{'
style+='font-size:1px;'
style+='width:10px;'
style+='height:12px;'
style+='}'
style+='.butLitera'
style+='{'
style+='width:20px;'
style+='height:30px;'
style+='font-family:Courier New;'
style+='font-size:16px;'
style+='font-weight:bold;'
style+='}'
style+='</style>'

tabDia='<table border=0 cellspacing=0 cellpadding=0 width=100% bgcolor=#dddddd>'
tabDia+='<tr>'
tabDia+='<td style="font-family:Verdana;font-size:11px;">'
tabDia+="&nbsp; Alt+ &nbsp;&nbsp; &#92=â &nbsp; [=ă &nbsp; ]=î &nbsp; ;=ș &nbsp; '=ț"
tabDia+='</td>'
tabDia+='<td style="font-family:Verdana;font-size:11px;">'
tabDia+="&nbsp; Alt+Shift+ &nbsp;&nbsp; &#92=Â &nbsp; [=Ă &nbsp; ]=Î &nbsp; ;=Ș &nbsp; '=Ț"
tabDia+='</td>'
tabDia+='<td style="font-family:Verdana;font-size:11px;">'
tabDia+='&nbsp; Shift+Spațiu =Spațiere'
tabDia+='</td>'
tabDia+='<td align=right>'
tabDia+='<button style="font-family:Verdana;font-size:12px;" onclick="Trimite();">Trimiteți</button>'
tabDia+='</td>'
tabDia+='</tr>'
tabDia+='</table>'

document.write(style)

NrButoane=imgButton.length
NrColoane=parseInt(NrButoane*3.3)
document.write('<table border=0 cellspacing=0 cellpadding=0>')
document.write('<tr><td>')
for (i=0;i<NrButoane;i++)
  document.write('<button id="inButId'+i+'" class=butFunc title="'+titleButton[i]+'" onclick="ButonClick('+i+');"><img src='+imgButton[i]+'></button>')
document.write('</td></tr>')
document.write('<tr><td>')
document.write('<textarea id="inTextArea" rows='+NrRinduri+' cols='+NrColoane+' onclick="AscundereTabele();" onkeypress="TextKeyPress();"></textarea>')
document.write('</td></tr>')
document.write('<tr><td>')
document.write(tabDia)
document.write('</td></tr>')
document.write('</table>')

document.write('<button id="inButon" style="position:absolute;top=-20000;"></button>')

inFormaUser=document.getElementById(IdForma)
inTextAreaUser=document.getElementById(IdTextArea)
inTextArea=document.getElementById('inTextArea')
//inButton=document.createElement('BUTTON')
inButton=document.getElementById('inButon')
inDiv=document.createElement('DIV')

IncarcareTextHtml()

document.body.attachEvent('onkeydown',BodyKeyDown)
document.body.attachEvent('onkeypress',BodyKeyPress)
document.body.attachEvent('onfocus',ParinteText)

var coltext=document.getElementsByTagName('TEXTAREA')
var nt=coltext.length
for (var i=0;i<nt;i++)
   {
   if (coltext(i).style.display!='none') coltext(i).attachEvent('onfocusout',ParinteText)
   }
var coltext=document.getElementsByTagName('INPUT')
var nt=coltext.length
for (var i=0;i<nt;i++)
   {
   if ((coltext(i).style.display!='none') && (coltext(i).type=='text')) coltext(i).attachEvent('onfocusout',ParinteText)
   }
}

function CreareUnelte()
{
var rect,buton

GenerareTabelFont()
GenerareTabelMarimeFont()
GenerareTabelCuloareText()
GenerareTabelCuloareSubliniere()
GenerareTabelImagine()
GenerareTabelLink()
GenerareTabelTabel()
GenerareTabelAudioVideo()
GenerareTabelHtml()
GenerareTabelRomana()
GenerareTabelFranceza()
GenerareTabelGermana()
GenerareTabelRusa()
GenerareTabelGreaca()
GenerareTabelMatematica()

// Aici pozitionez tabelele
buton=document.getElementById('inButId0')
rect=buton.getBoundingClientRect()
inTabelFont.style.left=rect.left-2
inTabelFont.style.top=rect.bottom-1
buton=document.getElementById('inButId1')
rect=buton.getBoundingClientRect()
inTabelMarimeFont.style.left=rect.left-2
inTabelMarimeFont.style.top=rect.bottom-1
buton=document.getElementById('inButId5')
rect=buton.getBoundingClientRect()
inTabelCuloareText.style.left=rect.left-2
inTabelCuloareText.style.top=rect.bottom-1
buton=document.getElementById('inButId6')
rect=buton.getBoundingClientRect()
inTabelCuloareSubliniere.style.left=rect.left-2
inTabelCuloareSubliniere.style.top=rect.bottom-1
buton=document.getElementById('inButId7')
rect=buton.getBoundingClientRect()
inTabelImagine.style.left=rect.left-2
inTabelImagine.style.top=rect.bottom-1
buton=document.getElementById('inButId8')
rect=buton.getBoundingClientRect()
inTabelLink.style.left=rect.left-2
inTabelLink.style.top=rect.bottom-1
buton=document.getElementById('inButId15')
rect=buton.getBoundingClientRect()
inTabelTabel.style.left=rect.left-2
inTabelTabel.style.top=rect.bottom-1
buton=document.getElementById('inButId16')
rect=buton.getBoundingClientRect()
inTabelAudioVideo.style.left=rect.left-248
inTabelAudioVideo.style.top=rect.bottom-1

buton=document.getElementById('inTextArea')
rect=buton.getBoundingClientRect()
inTabelHtml.style.left=rect.left-2
inTabelHtml.style.top=rect.top-2

buton=document.getElementById('inButId18')
rect=buton.getBoundingClientRect()
inTabelRomana.style.left=rect.left-2
inTabelRomana.style.top=rect.bottom-1
buton=document.getElementById('inButId18')
rect=buton.getBoundingClientRect()
inTabelFranceza.style.left=rect.left-49
inTabelFranceza.style.top=rect.bottom-1
buton=document.getElementById('inButId20')
rect=buton.getBoundingClientRect()
inTabelGermana.style.left=rect.left-2
inTabelGermana.style.top=rect.bottom-1
buton=document.getElementById('inButId21')
rect=buton.getBoundingClientRect()
inTabelRusa.style.left=rect.left-485
inTabelRusa.style.top=rect.bottom-1
buton=document.getElementById('inButId22')
rect=buton.getBoundingClientRect()
inTabelGreaca.style.left=rect.left-462
inTabelGreaca.style.top=rect.bottom-1
buton=document.getElementById('inButId23')
rect=buton.getBoundingClientRect()
inTabelMatematica.style.left=rect.left-242
inTabelMatematica.style.top=rect.bottom-1
}

function ParinteText()
{
inUltimTextElement=event.srcElement
}

function Salvare()
{
var i
var s
i=9
while (i>0)
  {
  inInnerHTML[i]=inInnerHTML[i-1]
  i--
  }
s=Replace(inTextArea.innerHTML,'\r\n',ChSel)
inInnerHTML[0]=s
}

function Revenire()
{
var i
var r
var g
inDiv.innerHTML=inInnerHTML[0]
i=0
while (i<9)
  {
  inInnerHTML[i]=inInnerHTML[i+1]
  i++
  }
inTextArea.innerText=''
Transfer(inDiv,inTextArea)
r=inTextArea.createTextRange()
g=r.findText(ChSel)
while (g)
  {
  r.text='\r\n'
  g=r.findText(ChSel)
  }
}

function ButonClick(NrButon)
{
inFelElement=0
inSelection=document.selection
if (inSelection.type=='Control')
   {
   var colControlRange=inSelection.createRange()
   if (colControlRange.length>0)
      {
      inControlElement=colControlRange(0)
      if (inControlElement.tagName=='TABLE') inFelElement=2
      }
   }
else
   {
   inFelElement=1
   if ( (NrButon==7) || (NrButon==8) || (NrButon==14) || (NrButon==15) || (NrButon==16) || (NrButon==17))
      {
      inTextArea.focus()
      inSelectionRange=document.selection.createRange()
      inDuplicateRange=inSelectionRange.duplicate()
      }
   else
      inSelectionRange=document.selection.createRange()
   }
AscundereTabele()
if (inFelElement==0) return
switch(NrButon)
  {
  case 0:
  inTabelFont.style.display='block'
  break
  case 1:
  inTabelMarimeFont.style.display='block'
  break
  case 2:
  if (inFelElement>1)
     StilTabel('Bold')
  else
     ComandaSimpla('Bold')
  break
  case 3:
  if (inFelElement>1)
     StilTabel('Italic')
  else
     ComandaSimpla('Italic')
  break
  case 4:
  if (inFelElement>1)
     StilTabel('Underline')
  else
     ComandaSimpla('Underline')
  break
  case 5:
  inTabelCuloareText.style.display='block'
  break
  case 6:
  inTabelCuloareSubliniere.style.display='block'
  break
  case 7:
  inTabelImagine.style.display='block'
  inInpImg.focus()
  inInpImg.select()
  break
  case 8:
  inTabelLink.style.display='block'
  inInpLink.focus()
  inInpLink.select()
  break
  case 9:
  ExecutaComanda('Alineat')
  break
  case 10:
  ComandaAliniere('left')
  break
  case 11:
  ComandaAliniere('center')
  break
  case 12:
  ComandaAliniere('right')
  break
  case 13:
  ComandaAliniere('justify')
  break
  case 14:
  InserareHR('InsertHorizontalRule')
  break
  case 15:
  inTabelTabel.style.display='block'
  break
  case 16:
  inTabelAudioVideo.style.display='block'
  inInpAudio.focus()
  inInpAudio.select()
  break
  case 17:
  inTabelHtml.style.display='block'
  inTextHtml.focus()
  break
  case 18:
  inTabelRomana.style.display='block'
  break
  case 19:
  inTabelFranceza.style.display='block'
  break
  case 20:
  inTabelGermana.style.display='block'
  break
  case 21:
  inTabelRusa.style.display='block'
  break
  case 22:
  inTabelGreaca.style.display='block'
  break
  case 23:
  inTabelMatematica.style.display='block'
  break
  case 24:
  Revenire()
  break
  case 25:
  Previzualizare()
  break 
  case 26:
  window.showModalDialog(inCaleEditor+"help-editor.html", null, "dialogWidth:640px; dialogHeight:480px; dialogLeft:80px; dialogTop:60px;")
  break
  }
}

function ExecutaComanda(comanda,valoare1,valoare2)
{
var SelectionRange
AscundereTabele()
switch (comanda)
  {
  case 'FontName':
  if (inFelElement>1)
     StilTabel('FontName',valoare1) 
  else
    {
    inSelectionRange.select()
    ComandaSimpla(comanda,valoare1)
    }
  break
  case 'FontSize':
  if (inFelElement>1)
     StilTabel('FontSize',valoare1) 
  else
    {
    inSelectionRange.select()
    ComandaSimpla(comanda,valoare1)
    }
  break
  case 'ForeColor':
  if (inFelElement>1)
     StilTabel('ForeColor',valoare1) 
  else
    {
    inSelectionRange.select()
    ComandaSimpla(comanda,valoare1)
    }
  break
  case 'BackColor':
  if (inFelElement>1)
     StilTabel('BackColor',valoare1) 
  else
    {
    inSelectionRange.select()
    ComandaSimpla(comanda,valoare1)
    }
  break
  case 'InsertImage':
  InserareImagine(valoare1,valoare2)
  break
  case 'CreateLink':
  inSelectionRange.select()
  ComandaSimpla(comanda,valoare1)
  break
  case 'Alineat':
  if (inUltimTextElement!=null)
  if (inUltimTextElement!=inTextHtml)
  if (inUltimTextElement.tagName=='TEXTAREA')
     {
     inUltimTextElement.focus()
     SelectionRange=document.selection.createRange()
     SelectionRange.text=StrAlineat
     }   
  break
  case 'Embed':
  ComandaEmbed(valoare1)
  break
  case 'Tabel':
  ComandaTabel(valoare1,valoare2)
  break
  case 'Simbol':
  inUltimTextElement.focus()
  if (inUltimTextElement!=null)
  if (inUltimTextElement.tagName!='BODY')
     {
     SelectionRange=document.selection.createRange()
     SelectionRange.text=String.fromCharCode(valoare1)
     }
  break
  }
}

function Transfer(o1,o2)
{
var nc=o1.childNodes
var n=nc.length
while (nc.length>0) o2.appendChild(nc(0))
}

function ElementTagCurent(tag)
{
var col,tx,ty,ti
var n,i,k,n,p
var element
col=inButton.getElementsByTagName(tag)
n=col.length
i=0;
while (i<n)
 {
 e=col(i)
 tx=e.getAdjacentText('beforeBegin')
 ty=e.getAdjacentText('afterEnd') 
 ti=e.innerText 
 k=tx.indexOf(ChSel)
 n=ty.indexOf(ChSel)
 p=ti.indexOf(ChSel)
 if ((k>-1) || (n>-1) || (p>-1))
    {
    i=n
    element=e
    }
 i++
 }
return element
}

function StilTabel(comanda,valoare)
{
switch (comanda)
  {
  case 'FontName':
  inControlElement.style.fontFamily=valoare 
  break
  case 'FontSize':
  inControlElement.style.fontSize=valoare*8
  break
  case 'Bold':
  if (inControlElement.style.fontWeight=='bold')
     inControlElement.style.fontWeight=''
  else
     inControlElement.style.fontWeight='bold';   
  break
  case 'Italic':
  if (inControlElement.style.fontStyle=='italic')
     inControlElement.style.fontStyle=''
  else
     inControlElement.style.fontStyle='italic';   
  break
  case 'Underline':
  if (inControlElement.style.textDecoration=='underline')
     inControlElement.style.textDecoration=''
  else
     inControlElement.style.textDecoration='underline';   
  break
  case 'ForeColor':
  inControlElement.style.color=valoare 
  break
  case 'BackColor':
  inControlElement.style.background=valoare 
  break
  }
}

function ComandaSimpla(comanda,valoare)
{
Salvare()
if (!valoare) valoare=''
inTextArea.focus()
var sTop=inTextArea.scrollTop
var sel=document.selection.createRange()
var bm=sel.getBookmark()
var t=sel.text
var s=''
var tt=ChSel+t
sel.setEndPoint('EndToStart',sel)
sel.text=ChSel
Transfer(inTextArea,inButton)
inButton.focus()
var r=inButton.createTextRange()
var l=tt.length-NrCr(tt)-1
var g=r.findText(ChSel)
if (g)
  {
  r.moveEnd('character',l)
  r.execCommand(comanda,false,valoare)
  }
g=r.findText(ChSel)
if (g) r.text=''
Transfer(inButton,inTextArea)
var sel=document.selection.createRange()
sel.moveToBookmark(bm)
sel.select()
inTextArea.scrollTop=sTop
}

function ComandaAliniere(valoare)
{
Salvare()
if (!valoare) valoare='left'
inTextArea.focus()
var sTop=inTextArea.scrollTop
var sel=document.selection.createRange()
var bm=sel.getBookmark()
var t=sel.text
var s=''
var tt=ChSel+t
sel.setEndPoint('EndToStart',sel)
sel.text=ChSel
Transfer(inTextArea,inButton)
inButton.focus()
var r=inButton.createTextRange()
var l=tt.length-NrCr(tt)-1
var g=r.findText(ChSel)
if (g)
  {
  r.moveEnd('character',l)
  var tp=r.text
  r.execCommand('InsertParagraph',false,'paragraf')
  var parElement=document.getElementById('paragraf')
  var divElement=document.createElement('DIV')
  divElement.setAttribute('align',valoare)
  divElement.innerText=tp
  parElement.replaceNode(divElement)
  }
var r=inButton.createTextRange()
g=r.findText(ChSel)
if (g) r.text=''
Transfer(inButton,inTextArea)
var sel=document.selection.createRange()
sel.moveToBookmark(bm)
sel.select()
inTextArea.scrollTop=sTop
}

function InserareHR()
{
Salvare()
inTextArea.focus()
inDuplicateRange.select()
var sTop=inTextArea.scrollTop
var bm=inDuplicateRange.getBookmark()
inDuplicateRange.text=ChSel
Transfer(inTextArea,inButton)
var r=inButton.createTextRange()
var g=r.findText(ChSel)
if (g)
  {
  r.select()
  r.moveEnd('character',-1)
  r.execCommand('InsertHorizontalRule',false,'')
  }
var r=inButton.createTextRange()
g=r.findText(ChSel)
if (g) r.text=''
Transfer(inButton,inTextArea)
var sel=document.selection.createRange()
sel.moveToBookmark(bm)
sel.select()
inTextArea.scrollTop=sTop
}

function InserareImagine(valoare1,valoare2)
{
Salvare()
if (!valoare1) valoare1=''
if (valoare1.indexOf('"')<0) valoare1='"'+valoare1+'"'
inTextArea.focus()
inDuplicateRange.select()
var sTop=inTextArea.scrollTop
var bm=inDuplicateRange.getBookmark()
inDuplicateRange.text=ChSel
Transfer(inTextArea,inButton)
var r=inButton.createTextRange()
var g=r.findText(ChSel)
if (g)
  {
  r.select()
  var shtml='<IMG src='+valoare1
  if (valoare2>0)
     {
     if (valoare2>1) { var atribut='right' } else { var atribut='left' }
     shtml+=' align='+atribut
     }
  shtml+='>'   
  r.pasteHTML(shtml) 
  }
var r=inButton.createTextRange()
g=r.findText(ChSel)
if (g) r.text=''
Transfer(inButton,inTextArea)
var sel=document.selection.createRange()
sel.moveToBookmark(bm)
sel.select()
inTextArea.scrollTop=sTop
}

function ComandaEmbed(valoare)
{
Salvare()
if (!valoare) valoare=''
inTextArea.focus()
inDuplicateRange.select()
var sTop=inTextArea.scrollTop
var bm=inDuplicateRange.getBookmark()
inDuplicateRange.text=ChSel
Transfer(inTextArea,inButton)
var r=inButton.createTextRange()
var g=r.findText(ChSel)
if (g)
  {
  r.select()
  r.moveEnd('character',-1)
  r.execCommand('InsertParagraph',false,'paragraf')
  var parElement=document.getElementById('paragraf')
  var embedElement=document.createElement('EMBED')
  embedElement.setAttribute('src',valoare)
  embedElement.setAttribute('autostart',false)
  embedElement.setAttribute('volume','0')
  parElement.replaceNode(embedElement)
  }
var r=inButton.createTextRange()
g=r.findText(ChSel)
if (g) r.text=''
Transfer(inButton,inTextArea)
var sel=document.selection.createRange()
sel.moveToBookmark(bm)
sel.select()
inTextArea.scrollTop=sTop
}

function ComandaTabel(nrCol,bordura)
{
Salvare()
if (!nrCol) nrCol=1
if (!bordura) bordura=0
inTextArea.focus()
inDuplicateRange.select()
var sTop=inTextArea.scrollTop
var bm=inDuplicateRange.getBookmark()
inDuplicateRange.text=ChSel
Transfer(inTextArea,inButton)
var r=inButton.createTextRange()
var g=r.findText(ChSel)
var instab=false
if (g)
  {
  r.select()
  r.moveEnd('character',-1)
  r.execCommand('InsertParagraph',false,'paragraf')
  var parElement=document.getElementById('paragraf')
  var tabelElement=document.createElement('TABLE')
  var captionElement=document.createElement('CAPTION')
  parElement.replaceNode(tabelElement)
  tabelElement.border=0
  tabelElement.cellpadding=8
  tabelElement.cellspacing=0
  tabelElement.align='center'
  if (bordura>0)
     {
     tabelElement.style.borderLeft=bordura+'px solid #000000'
     tabelElement.style.borderTop=bordura+'px solid #000000'
     }
  else
     {
     tabelElement.style.borderLeft='1px solid #dddddd'
     tabelElement.style.borderTop='1px solid #dddddd'
     }
  tabelElement.insertBefore(captionElement)
  var tr=tabelElement.insertRow()
  captionElement.innerText='Titlu'
  for (var i=0;i<nrCol;i++)
      {
      var td=tr.insertCell()
      td.valign='top'
      if (bordura>0)
         {
         td.style.borderRight=bordura+'px solid #000000'
         td.style.borderBottom=bordura+'px solid #000000'
         }
      else
         {
         td.style.borderRight='1px solid #dddddd'
         td.style.borderBottom='1px solid #dddddd'
         }
      var nc=i+1
      td.innerText='Coloana-'+nc
      }
  instab=true
  }
var r=inButton.createTextRange()
g=r.findText(ChSel)
if (g) r.text=''
if (instab)
  {
  var atxt=tabelElement.getAdjacentText('afterEnd')
  if (!atxt) atxt=' '
  if (atxt.length<2) tabelElement.insertAdjacentText('afterEnd',' '+atxt)
  }
Transfer(inButton,inTextArea)
var sel=document.selection.createRange()
sel.moveToBookmark(bm)
sel.select()
inTextArea.scrollTop=sTop
}

function InserareHTML()
{
inTabelHtml.style.display='none'
Salvare()
inTextArea.focus()
inDuplicateRange.select()
var sTop=inTextArea.scrollTop
var bm=inDuplicateRange.getBookmark()
inDuplicateRange.text=ChSel
Transfer(inTextArea,inButton)
var r=inButton.createTextRange()
var g=r.findText(ChSel)
if (g)
  {
  r.select()
  //r.moveEnd('character',-1)
  r.pasteHTML(inTextHtml.value) 
  }
var r=inButton.createTextRange()
g=r.findText(ChSel)
if (g) r.text=''
Transfer(inButton,inTextArea)
var sel=document.selection.createRange()
sel.moveToBookmark(bm)
sel.select()
inTextArea.scrollTop=sTop
}

function ComandaBR()
{
Salvare()
inTextArea.focus()
inDuplicateRange.select()
var sTop=inTextArea.scrollTop
var bm=inDuplicateRange.getBookmark()
inDuplicateRange.text=ChSel
Transfer(inTextArea,inButton)
var r=inButton.createTextRange()
var g=r.findText(ChSel)
if (g)
  {
  r.select()
  r.moveEnd('character',-1)
  r.execCommand('InsertButton',false,'butman')
  var bElement=document.getElementById('butman')
  var brElement=document.createElement('BR')
  bElement.replaceNode(brElement)
  }
var r=inButton.createTextRange()
g=r.findText(ChSel)
if (g) r.text=''
Transfer(inButton,inTextArea)
var sel=document.selection.createRange()
sel.moveToBookmark(bm)
sel.select()
inTextArea.scrollTop=sTop
}

function Previzualizare()
{
  var myObject = new Object();
  myObject.sMesaj=inTextArea.innerHTML;
  myObject.sMesaj = Replace_rn(myObject.sMesaj);
  myObject.sMesaj = Replace(myObject.sMesaj,'BORDER-TOP: #dddddd 1px solid;','')
  myObject.sMesaj = Replace(myObject.sMesaj,'BORDER-LEFT: #dddddd 1px solid','')
  myObject.sMesaj = Replace(myObject.sMesaj,'BORDER-RIGHT: #dddddd 1px solid;','')
  myObject.sMesaj = Replace(myObject.sMesaj,'BORDER-BOTTOM: #dddddd 1px solid','')
  window.showModalDialog(inCaleEditor+"preview.html", myObject, "dialogWidth:640px; dialogHeight:480px; dialogLeft:80px; dialogTop:60px;")
}

function Trimite()
{
if ((inFormaUser!=null) && (inTextAreaUser!=null))
  {
  var tnf=inFormaUser.tagName
  var tnt=inTextAreaUser.tagName
  if ((tnf=='FORM') && (tnt=='TEXTAREA'))
     {
     var s=inTextArea.innerHTML
     s = Replace_rn(s)
     s = Replace(s,'BORDER-TOP: #dddddd 1px solid;','')
     s = Replace(s,'BORDER-LEFT: #dddddd 1px solid','')
     s = Replace(s,'BORDER-RIGHT: #dddddd 1px solid;','')
     s = Replace(s,'BORDER-BOTTOM: #dddddd 1px solid','')
     inTextAreaUser.value=s
     inFormaUser.submit()
     }
  }
else
  alert('Formă/textarea negăsită(e)');
}

