<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</HEAD>
<style type="text/css">
A:link { color: #003399; text-decoration: underline }
A:visited { color:#003399; text-decoration: underline }
A:hover { color:#003399; text-decoration: none }
.copy { font: 8pt/normal Verdana, Arial, Helvetica, sans-serif; text-transform: super; text-decoration: none; color: #333333}
.copy1 { font: bold 10pt/normal Verdana, Arial, Helvetica, sans-serif; text-transform: super; text-decoration: none; color: #333333 }
.copy2 { font: 9pt/normal Verdana, Arial, Helvetica, sans-serif; text-transform: super; text-decoration: none; color: #333333 }
</style>
<BODY bgcolor="#FFFFFF">
<div align="center">
<table border="0" width="500" cellspacing="0" cellpadding="2">
</table>
<table border="0" width="500" cellspacing="2" cellpadding="2">
<tr>
<td class="copy2" valign="top">
<FORM METHOD="Post" ACTION="">
<script language = "JavaScript">
document.write('<B>Включена система подсказок.</B><BR>')
document.write('<PRE><B>Помощь: </B>')
helpon = false // ...true or false
document.write('<input type="radio" name="radiohelp" value="true" onClick = " helpon = true"> Вкл. ')
document.write('<input type="radio" name="radiohelp" value="false" checked onClick = " helpon = false"> Выкл. <BR>')
document.write('<B>ввод HTML: </B>')
modeindex = 2 // ...0=simple, 1=sample, 2=prompt
document.write('<input type="radio" name="radiomode" value="" onClick = " modeindex = 0 "> Простой ')
document.write('<input type="radio" name="radiomode" value="" onClick = " modeindex = 1"> С подсказкой ')
document.write('<input type="radio" name="radiomode" value="" checked onClick = " modeindex = 2"> Облегченный <BR></PRE>')
document.write('<TABLE CELLSPACING="0" BORDER="0">')
document.write('</TH><TH><input type="button" value=" ПредПросмотр " onClick="preview(this.form)">')
document.write('</TH><TH><input type="button" value=" Справка " onClick="About(this.form)">')
document.write('</TH></TR><TR><TH><input type="button" value=" Жирн " onClick="HjButton(this.form,jBold)">')
document.write('<input type="button" value=" Наклон " onClick="HjButton(this.form,jItalics)">')
document.write('<input type="button" value=" ФорматТекст(PRE) " onClick="HjButton(this.form,jPre)"> ')
document.write('</TH><TH><input type="button" value=" H1 " onClick="HjButton(this.form,jH1)">')
document.write('<input type="button" value=" H2 " onClick="HjButton(this.form,jH2)">')
document.write('<input type="button" value=" H3 " onClick="HjButton(this.form,jH3)"> ')
document.write('</TH><TH><input type="button" value=" НумеровСписок " onClick="HjButton(this.form,jOL)">')
document.write('<input type="button" value=" НеупорСписок " onClick="HjButton(this.form,jUL)">')
document.write('<input type="button" value=" ЭлементСписка " onClick="HjButton(this.form,jLI)"> ')
document.write('</TH><TH><input type="button" value=" ТерминОпред " onClick="HjButton(this.form,jDL)">')
document.write('<input type="button" value=" Элемент " onClick="HjButton(this.form,jDT)">')
document.write('<input type="button" value=" Определение " onClick="HjButton(this.form,jDD)"><BR>')
document.write('</TH></TR><TR><TH><input type="button" value=" Контейнер<P> " onClick="HjButton(this.form,jPara)">')
document.write('<input type="button" value=" НовСтрока " onClick="HjButton(this.form,jBreak)">')
document.write('<input type="button" value=" Полоса " onClick="HjButton(this.form,jRule)"> ')
document.write('</TH><TH><input type="button" value=" Ссылка " onClick="HjButton(this.form,jAnchor)"> ')
document.write('<input type="button" value=" Картинка " onClick="HjButton(this.form,jImage)">')
document.write('</TH><TH><input type="button" value=" Сентр " onClick="HjButton(this.form,jCenter)"> ')
document.write('</TH></TR></TABLE>')
function HjReset (form) { // ...
helpon = false
modeindex = 0
form.content.value = ""
}
function HTMLtag (buttonname, insertmode, inserttext, tagstart, tagmiddle, tagend, sampletext, sampletext2, helptext) {
// ...this fuction defines the object HTMLtag
this.buttonname = buttonname
this.insertmode = insertmode
// ...1=none 2=standard input 3=lists (UL and OL) 4=DL list 5=anchor
this.inserttext = inserttext // ...с подсказкой
this.tagstart = tagstart
this.tagmiddle = tagmiddle
this.tagend = tagend
this.sampletext = sampletext // ...с примером между тегами
this.sampletext2= sampletext2
this.helptext = helptext
}
jBold = new HTMLtag ( "B", "2", "Введите текст, который будет жирным", " <B>", "", "</B>",
"Этот текст будет жирным", "" ,
"Текст между <B> и </B> будет жирным" )
jItalics = new HTMLtag ( "I", "2", "Введите наклонный шрифт", " <I>", "", "</I>",
"Этот текст будет наклонным", "" ,
"Текст между <I> и </I> будет наклонным" )
jPre = new HTMLtag ( "PRE", "2", "Введите предворительно отформатированный текст", " <PRE>", "", "</PRE>",
"Этот текст будет предворительно отформатированным", "" ,
"Текст между <PRE> и </PRE> будет предворительно отформатированным" )
jPara = new HTMLtag ( "P", "2", "Введите текст для параграфа", " <P>", "", "</P>",
"Текст будет параграфом до следующего знака параграфа.", "" ,
"Текст от <P> и до следующего <P> будет параграфом" )
jBreak = new HTMLtag ( "BR", "1", "", " <BR>", "", "",
"", "" ,
"Этот тег вставит разрыв строки" )
jRule = new HTMLtag ( "HR", "1", "", " <HR>", "", "",
"", "" ,
"Этот тег вставит в страницу горизонтальную линию." )
jH1 = new HTMLtag ( "H1", "2", "Введите текст для заголовка", " <H1>", "", "</H1>",
"Это заголовок первого уровня", "" ,
"Текст между <H1> и </H1> будет заголовком первого уровня." )
jH2 = new HTMLtag ( "H2", "2", "Введите текст для заголовка", " <H2>", "", "</H2>",
"Это заголовок второго уровня", "" ,
"Текст между <H1> и </H1> будет заголовком второго уровня." )
jH3 = new HTMLtag ( "H3", "2", "Введите текст для заголовка", " <H3>", "", "</H3>",
"Это заголовок третьего уровня", "" ,
"Текст между <H1> и </H1> будет заголовком третьего уровня." )
jCenter = new HTMLtag ( "Center", "2", "Введите отцентрованный текст", " <CENTER>", "", "</CENTER>",
"Этот текст будет отцентрован", "" ,
"Текст между <CENTER> и </CENTER> будет расположен по центру." )
jOL = new HTMLtag ( "OL", "3", "Введите данные для первого номера пронумерованного списка Для окончания оставьте строку пустой.", " <OL><LI> ", "</LI><LI> ", "</LI></OL>",
"Это 1 строка пронумерованного списка", "Следующая строка пронумерованного списка" ,
"Создайте упорядоченный список помещая пункты между <LI> и </LI>" )
jOL.inserttext2 = "Введите данные для следующей строки"
jUL = new HTMLtag ( "UL", "3", "Введите первый элемент для неупорядоченного списка", " <UL><LI> ", "</LI><LI> ", "</LI></UL>",
"Это один элемент в простом списке", "Следующий элемент в простом списке" ,
"Создайте упорядоченный список помещая пункты между <LI> и </LI>" )
jUL.inserttext2 = "Введите следующий элемент"
jLI = new HTMLtag ( "LI", "2", "Введите текст для списка", " <LI>", "", "</LI>",
"Этот элемент в списке", "" ,
"Текст, помещенный между <L1> и </L1> будет один (пункт) в СПИСКЕ. Требует OL или UL." )
jDL = new HTMLtag ( "UL", "4", "Введите элемент для СПИСКА ОПРЕДЕЛЕНИЯ", " <DL><DT>", "</DT> <DD>", " </DD></DL>",
"Элемент, который будет определен", "Определение элемента" ,
"СПИСКИ ОПРЕДЕЛЕНИЯ имеют два элемента: элемент и определение. Введите элемент." )
jDL.inserttext2 = "Введите список "
jDL.tagmiddle2='</DD> <DT>'
jDT = new HTMLtag ( "DT", "2", "Введите элемент в список определений", " <DT>", "", "</DT>",
"Элемент для списка определений", "" ,
"Текст между <DT> и </DT> будет одним элементом списка. Необходимо DL." )
jDD = new HTMLtag ( "DD", "2", "Введите определение для СПИСКА ОПРЕДЕЛЕНИЯ", " <DD>", "", "</DD>",
"Это определение для СПИСКА ОПРЕДЕЛЕНИЯ", "" ,
"Текст между <DD> и </DD> будет элементом списка. необходимо DL." )
jImage = new HTMLtag ("Image", 2, "Введите адрес картинки", ' <IMG SRC="', "", '">',
"Адрес картинки" , "",
"Введите адрес картинки" )
jAnchor = new HTMLtag ("Anchor", 5, "Введите адрес (например, http://skan.tu2.ru) http:// обязателен", ' <A HREF="', '"> ', '</A>',
"skan.tu2.ru", "Здесь описание",
"Введите URL (например, skan.tu2.ru) c описанием." )
jAnchor.inserttext2 = "Введите описание, например, Лучшие в мире пироги!"
function About (form) {
alert('Полувизуальный (ассоциативный) редактор html страниц.В данный момент поддерживается и разрабатывается мной.')
}
function HjButton (form,selection) { //
if (helpon) {
if (confirm(selection.helptext)){
addHTML (form,selection)
}
}else{
addHTML (form,selection)
}
}
function addHTML (form,selection) {
// ...
cancel = false
addText=selection.tagstart
if (modeindex==2) { // ...
if (selection.insertmode != 1 ) { // ...
addText += addHTMLinsert (selection, addText, form)
if (addText == selection.tagstart) {
cancel = true
}
}
}
if (modeindex==1) { // ...
addText = addText + selection.sampletext + selection.tagmiddle + selection.sampletext2
}
if (modeindex==0) { // ...
addText += selection.tagmiddle
}
addText += selection.tagend
if (cancel == false) { // ...
form.content.value += addText
}
}
function addHTMLinsert (selection, addText, form) {
if (selection.insertmode ==2) {
i = ""
i = prompt (selection.inserttext, "")
if ((i != null) && (i != "")) {
addText = i
}else{
addText = ""
}
}
if (selection.insertmode == 3) {
addText = ""
i = ""
i = prompt (selection.inserttext, "")
if ((i != null) && (i != "")) {
addText = i
while ((i != null) && (i != "")) {
i=prompt (selection.inserttext2, "")
if ((i != null) && (i != "")) {
addText=addText + selection.tagmiddle + i
}
}
}
}
if (selection.insertmode == 4) {
i= "dummy"
j = i
addText = ""
count = 0
while ((i != null) && (i != "") && (j != null) && (j !="")) {
++count
i = ""
i = prompt (selection.inserttext, "")
// ... used for debugging form.TEXT.value += "-->" + i + "<--"
if ((i != null) && (i != "")) {
j = ""
j=prompt (selection.inserttext2, "")
if ((j != null) && (j != "")) {
if (count > 1){
addText += selection.tagmiddle2
}
addText=addText +i + selection.tagmiddle + j
}
}
}
}
if (selection.insertmode == 5) { // ...Anchor
addText = ""
i = ""
i = prompt (selection.inserttext, "")
if ((i != null) && (i != "")) {
j = ""
j=prompt (selection.inserttext2, "")
if ((j != null) && (j != "")) {
addText=i + selection.tagmiddle + j
}
}
}
return addText
}
function preview(form) {
msg=open("","DisplayWindow","toolbar=no,directories=no,menubar=yes");
msg.document.write(form.content.value);
}
<!-- done hiding from old browsers -->
</script>
<b>Документ:</b><br>
<TEXTAREA NAME="content" ROWS="16" COLS="68" WRAP="VIRTUAL"><?php echo $content;?></TEXTAREA>
<INPUT TYPE="reset" VALUE= "Очистить" onClick="HjReset(this.form)">
</FORM>
</td>
</tr>
</table>