//echo "testing"
var poetry = new Object( );    //global
var subject = new Object ( );
subject.value=""

var poet =  new  Object();
poet.value="";

var temp= new Array();
temp[0] ="" ;
temp[1] ="";
var txt="";

//http://www.faqts.com/knowledge_base/view.phtml/aid/5756
// insertAdjacentHTML(), insertAdjacentText() and insertAdjacentElement()
// for Netscape 6/Mozilla by Thor Larholm me@jscript.dk
// Usage: include this code segment at the beginning of your document
// before any other Javascript contents.

if(typeof HTMLElement!="undefined" && !
HTMLElement.prototype.insertAdjacentElement){
	HTMLElement.prototype.insertAdjacentElement = function
(where,parsedNode)
	{
		switch (where){
		case 'beforeBegin':
			this.parentNode.insertBefore(parsedNode,this)
			break;
		case 'afterBegin':
			this.insertBefore(parsedNode,this.firstChild);
			break;
		case 'beforeEnd':
			this.appendChild(parsedNode);
			break;
		case 'afterEnd':
			if (this.nextSibling) 
this.parentNode.insertBefore(parsedNode,this.nextSibling);
			else this.parentNode.appendChild(parsedNode);
			break;
		}
	}

	HTMLElement.prototype.insertAdjacentHTML = function
(where,htmlStr)
	{
		var r = this.ownerDocument.createRange();
		r.setStartBefore(this);
		var parsedHTML = r.createContextualFragment(htmlStr);
		this.insertAdjacentElement(where,parsedHTML)
	}


	HTMLElement.prototype.insertAdjacentText = function
(where,txtStr)
	{
		var parsedText = document.createTextNode(txtStr)
		this.insertAdjacentElement(where,parsedText)
	}
}


function  dump(obj)
{
    var txt=txt+ "<br>\r\nDump:<br>\r\n";
    for (var prop in obj) 
    {
        txt=txt+"name: " + prop + "; value: " + obj[prop]+"<br>\r\n"; 
    }
    
    
    //dumplist.innerHTML=txt;	
    document.write(txt);
}


//for (var prop in this) {
//	 alert ("name: " + prop + "; value: " + this[prop]); 
//}
// alert ("Done");



var side, side1, side2, spaceWidth, extendWidth, dif, poemType = 1;
poemLine = 0, pAlign = "center", pUse = 0;
var aAlign="center";
var obstyle="None";
var justifyYN=1;

var let1 = "&#1575;&#1571;&#1573;&#1570;&#1572;&#1569;&#1583;&#1584;&#1585;&#1586;&#1608;&#1577;&#1609;"
var let2 = "&#1575;&#1571;&#1573;&#1570;&#1572;&#1574;&#1576;&#1578;&#1579;&#1580;&#1581;&#1582;&#1583;&#1584;&#1585;&#1586;&#1587;&#1588;&#1589;&#1590;&#1591;&#1592;&#1593;&#1594;&#1601;&#1602;&#1603;&#1604;&#1605;&#1606;&#1607;&#1608;&#1610;&#1577;&#1609;";
var let3 = "&#1614;&#1611;&#1615;&#1612;&#1616;&#1613;&#1618;&#1617;";

var defaultoptions="font=&quot;Simplified Arabic,14,black,normal,normal&quot; bkcolor=&quot;transparent&quot; bkimage=&quot;&quot; border=&quot;none,4,gray&quot; type=0 line=0 align=center use=ex num=&quot;0,black&quot;";

//poetry
var fname = "Simplified Arabic", fsize = 14, fbold = false, fitalic = false, fcolor = "blue";
var bkcolor = "", bkimage = "";  
var obstyle = "double", obsize=4, obcolor="gray";
var ibsize = 1, ibcolor = "gray", ibchar = "";    

//title
var fname2 = "Simplified Arabic", fsize2 = 14, fbold2 = true, fitalic2 = false, fcolor2 = "black";
var bkcolor2 = "", bkimage2 = "";
var obstyle2 = "", obsize2=4, obcolor2="gray";

//poet
var fname3 = "Simplified Arabic", fsize3 = 12, fbold3 = true, fitalic3 = false, fcolor3 = "black";
var aAlign = "left";

// the following values are temp. their values will be copied to the above  variables

// إذا لم يوجد الخط الذي حدده المستخدم
// فإن الاتش تي ام ال يختار تلقائيا واحد من الخطوط التالية علىالترتيب 
// فإن لم يجد الأول انتقل إلى الثاني وهكذا

poemDefaultFont = "simplified arabic,tahoma,ms sans serif,verdana,arial,helvetica";  

poemType = "0",
poemAlign = "center",
poemLine = "0";
poemUse = "ex";

poemFontName = "",
poemFontSize = "14",  // 1 to 7
poemFontColor = "",
poemFontBold = "false",
poemFontItalic = "";

poemBackColor = "none",
poemBackImage = "none";

poemBorderStyle = "none",
poemBorderWidth = "4",
poemBorderColor = "gray";

poemSerialNum = "0",
poemSerialNumColor = "";  






//  for (seli = 1; seli <= 50; seli++) { 
//    var oOption = document.createElement("OPTION");
//    selImg.options.add(oOption);
//    oOption.innerText = seli;
//    var oOption = document.createElement("OPTION");
//    selImg2.options.add(oOption);
//    oOption.innerText = seli;
//  }

function showFormat(i) 
{    
    tblPoet.style.display = (i==0)?"block":"none";
    tblTitle.style.display = (i==1)?"block":"none";
    tblPoetry.style.display = (i==2)?"block":"none";  
}


function selImages(ob) 
{          
var obj_options=ob.getAttribute("options"); 
    var i = ob.selectedIndex, img = "";
    if (i == 1)
    img = "";
    else if (i == 2) 
    {
        img = window.prompt("ادخل هنا رابط الصورة :", "");
        if (img == null)
        img = "";
        else
        ob.selectedIndex = 0;
    }
    
    else
    img = "images/" + ob_options(i).text + ".gif";
    return img;  
}


function selectFont(ob, fn) 
{
var obj_options=ob.getAttribute("options");
    var i = ob.selectedIndex, f = "";
    if (i == 0) return;
    if (i == ob.length - 1) 
    {
        f = window.prompt("ادخل اسم الخط :", fn);
        if (f == null) f = fn;
    }
    
    else
    f = ob_options(i).text;
    ob_options(0).text = "(" + f + ")";
    ob.selectedIndex = 0;
    return f;  
}


function getColor(t, f) 
{
    var c;
    c = showModalDialog("colors.htm","","help:no; status:no; dialogHeight:190px; dialogWidth:450px");
    if (c == "-1" || (f == 0 && c == ""))
    return t;
    else
    return c;    
}


function removespace(t) 
{
    var i, sp = true, s = "";
    for (i = 0; i < t.length; i++) 
    if (t.charAt(i) == " " || t.charAt(i) == "\n") 
    {
        if (!sp) s += t.charAt(i);        
        sp = true;
    }
    
    else 
    {
        s += t.charAt(i);
        sp = false;
    }
    
    return s;
}


function poem_getValue(t, p) 
{
    var r = new RegExp("([ \"]|^)" + t + "[ ]*=[ ]*\"[^\"]*\"", "i");
    var m = p.match(r);    
    if (!m) 
    {
        r = new RegExp("([ \"]|^)" + t + "[ ]*=[ ]*[^\" ]*([ ]|$)", "i");
        m = p.match(r);
        if (!m)          
        return "";
    }
    
    m = m[0];
    m = m.replace(/\"/gi,"");    
    var i = m.search("=");
    return m.substring(i + 1);
}


function poem_getDefault(p, d) 
{
    //alert("In poemgetdefault");
    //alert(p);
    //alert(d);
    
    var r = ((p)?p:d);
    //alert(r);
    return trim(r);
}


function poem_setArg(arg) 
{        
    var par, poemFontSize2;
    //var poemFontName;
    
    
    par = poem_getValue("font", arg) + ",,,,";  //comas = number of arrays - 1
    //alert(par+"   0");
    par = par.split(",");
    //dump(par);
    //alert(par[0]+"   1");
    poemFontName = poem_getDefault(par[0], poemFontName);
    //alert(poemFontName);
    poemFontName = poemFontName.replace(/\-/g, ",");
    fname=fname2=fname3=poemFontName;
    
    poemFontSize2 = parseInt(poem_getDefault(par[1], poemFontSize));
    if (isNaN(poemFontSize2))
    poemFontSize2 = 0;
    if (poemFontSize2 < 1 || poemFontSize2 > 20)
    poemFontSize2 = poemFontSize;
    poemFontSize = poemFontSize2;
    fsize=poemFontSize
    fsize2=fsize3=fsize+2;
    //alert(fsize);
    
    poemFontColor = poem_getDefault(par[2], poemFontColor);
    fcolor=fcolor2=fcolor3=poemFontColor;
    //alert(fcolor);
    poemFontBold = poem_getDefault(par[3], poemFontBold);
	fbold=((poemFontBold=="true")?true:false);
    fbold2=fbold3=true
    
    poemFontItalic = poem_getDefault(par[4], poemFontItalic);
    //alert("poemfitalic:"+    poemFontItalic);
    //alert(poemFontItalic=="true")
    fitalic=fitalic2=fitalic3= ((poemFontItalic=="true")?true:false);
    
    //alert("fitalic:"+    fitalic);
    
    //fitalic=false;
    
    par = poem_getValue("border", arg) + ",,";
    par = par.split(",");
    obstyle=poemBorderStyle = poem_getDefault(par[0], poemBorderStyle);
    obstyle2="";
    obsize=poemBorderWidth = poem_getDefault(par[1], poemBorderWidth);
    obsize2="4";
    obcolor=poemBorderColor = poem_getDefault(par[2], poemBorderColor);
    obcolor="";
    
    par = poem_getValue("num", arg) + ",";	
    par = par.split(",");
    poemSerialNum = poem_getDefault(par[0], poemSerialNum);
    if (!poemSerialNum)
    poemSerialNum = 0;
    else 
    {
        poemSerialNum = parseInt(poemSerialNum);
        if (isNaN(poemSerialNum))
        poemSerialNum = 0;
    }
    
    poemSerialNumColor = poem_getDefault(par[1], poemSerialNumColor);
    
    par = poem_getValue("type", arg);
    poemType = poem_getDefault(par, poemType);
    
    par = poem_getValue("align", arg);
    poemAlign = poem_getDefault(par, poemAlign).toLowerCase();
    
    par = poem_getValue("line", arg);
    poemLine = poem_getDefault(par, poemLine);
    poemLine = parseInt(poemLine);
    if (isNaN(poemLine))
    poemLine = 0;
    if (poemLine == 0) 
    {
        poemPadding = "5px";
        poemMargin = "";
    }
    else 
    {
        poemPadding = 15;
        poemMargin = "margin-bottom:" + poemPadding;
    }
    
    
    par = poem_getValue("use", arg);
    poemUse = poem_getDefault(par, poemUse).toLowerCase();
    
    par = poem_getValue("bkcolor", arg);
    poemBackColor = poem_getDefault(par, poemBackColor);
    
    par = poem_getValue("bkimage", arg);
    poemBackImage = poem_getDefault(par, poemBackImage);
    
    //////////// set style /////////// I don't need it, done later
    var facesize = new Array("xx-small","x-small","small","medium","large","x-large","xx-large");
    //    poemFontSize = facesize[poemFontSize - 1];
    
    //    poemFontName += "," + poemDefaultFont;
    
    //    poemTestWidth.style.fontFamily = poemFontName;
    //    poemTestWidth.style.fontSize = poemFontSize;
    //    poemTestWidth.style.fontWeight = poemFontBold;
    //    poemTestWidth.style.fontStyle = poemFontItalic;
    
    ///////////////////////////////////
}


function trim(t) 
{
    //    var i, f=false;
    //    for (i = 0; i < t.length ; i++)
    //      if (t.charAt(i) != " ") { f=true; break; }
    //    if (!f) return "";      
    //    for (i = 0; t.charAt(i) == " "; i++);
    //    t = t.substr(i);
    //    for (i = t.length-1; t.charAt(i) == " "; i--);
    //    t = t.substr(0, i+1);
    //    return t;
    t = t.replace(/^[ ]+/, "");
    t = t.replace(/[ ]+$/, "");
    return t;
}


function textWidth(t) 
{
var poemTestWidth_ff=document.getElementById("poemTestWidth");

    poemTestWidth_ff.innerHTML= t.replace(/ /gi, "&nbsp;");
    return ((poemTestWidth_ff.clientWidth - 2) * 0.75);
}


function Replace(t, s1, s2, c) 
{
    var i = 0, len1 = s1.length; len2 = s2.length;
    while (1) 
    {
        i = t.indexOf(s1, i);
        if (i == -1)
        break;
        else 
        {
            t = t.substr(0, i) + s2 + t.substr(i+len1);
            i += len2;
            if (--c == 0) break;
        }
        
    }
    
    return t
}


function space(n) 
{
    if (n == 1)
    return " ";
    return  " " + space(n-1);
}


function createExtend(t) 
{
    var s = "";
    var befor = "", ch = "";
    t = t.replace(/الله/gi,"@");
    for (i = 0; i < t.length; i++) 
    {
        ch = t.charAt(i);
        if (let2.search(ch.charCodeAt(0)) != -1 || ch.charCodeAt(0) == 1569) 
        {        
            if (befor != "")
            if (let1.search(befor.charCodeAt(0)) == -1 && let2.search(ch.charCodeAt(0)) != -1 && (befor.charCodeAt(0) != 1604 || "&#1575;&#1571;&#1573;&#1570;".search(ch.charCodeAt(0)) == -1))
            s += "^";
            befor = ch;
            s += ch;
        }
        
        else 
        {
            s += ch;
            if (let3.search(ch.charCodeAt(0)) == -1)
            befor = "";
        }
        
    }
    
    s = s.replace(/@/gi,"الله");
    return s;
}


function extend(n) 
{
    if (n == 1)
    return "ـ";
    return  "ـ" + extend(n-1);
}


function justifyBYextend(t, w) 
{
    var sp = 0, i, d;
    t = createExtend(t);    
    for (i = 0; i < t.length; i++)
    sp += (t.charAt(i) == "^");
    if (sp == 0) return t;
    d = Math.floor((w - textWidth(t.replace(/\^/gi,""))) / extendWidth);
    n = Math.floor(d / sp);
    if (n > 0)
    t = t.replace(/\^/gi, extend(n)+"^");
    if (d % sp > 0)
    t = Replace(t, "^", extend(1), d % sp);
    t = t.replace(/\^/gi, ""); 
    return t;
}


function justifyBYspace(t, w) 
{
    var sp = 0, i, d, tw;
    for (i = 0; i < t.length; i++)
    sp += (t.charAt(i) == " ");
    if (sp == 0) return justifyBYextend(t, w);
    d = Math.floor((w - textWidth(t)) / spaceWidth);
    n = Math.floor(d / sp);
    if (n > 0)
    t = t.replace(/ /gi, space(n + 1));
    if (d % sp > 0)
    t = Replace(t, space(n + 1), space(n + 2), d % sp);
    tw = w - textWidth(t);
    if (tw > 0) 
    {
        i = t.lastIndexOf(" ");      
        if (i != 0)
        t = t.substr(0, i+1) + "^<span^style=\"font-size:^" + tw + "pt;^line-height:^normal\">&nbsp;</span>" + t.substr(i+1);
    }
    
    return t; 
}


function justify(t, w) 
{
    if (pUse) t = justifyBYextend(t, w);    
    return justifyBYspace(t, w);  
}


function doJustify(obj) 
{
var poemTestWidth_ff=document.getElementById("poemTestWidth");
    //alert("dojustify" + poetry.value );
    var L, R, MTW, i, j, cr, txt = poetry.value.replace(/\^/gi,"").replace(/\*/gi,"");    
    poemTestWidth_ff.style.font = (fitalic?"italic":"normal")+" normal "+(fbold?"bold ":"normal ")+fsize+"pt "+fname;
    extendWidth = textWidth("ش" + "ــ" + "ش");
    extendWidth -= textWidth("ش" + "ـ" + "ش");
    spaceWidth = textWidth("ش" + "&nbsp;&nbsp;" + "ش");
    spaceWidth -= textWidth("ش" + "&nbsp;" + "ش");    
    txt += "\r";
    cr = 0;
    j = 0;    
    MTW = 0;
    while (1) 
    {
        cr = txt.indexOf("\r", cr);
        if (cr == -1) break;
        i = txt.indexOf("=", j);
        if (i == -1 || i > cr) i = cr;
        L = removespace(trim(txt.substring(j, i)));
        if (textWidth(L) > MTW) MTW = textWidth(L);
        R = removespace(trim(txt.substring(i+1, cr)));
        if (textWidth(R) > MTW) MTW = textWidth(R);
        cr += 2
        j = cr;      
    }
    
    side1 = "";
    side2 = "";
    side = "";
    cr = 0;
    j = 0;
    var br = ((poemLine == 0)?"":"<br>");
    while (1) 
    {
        cr = txt.indexOf("\r", cr);
        if (cr == -1) break;
        if (trim(txt.substring(j, cr)) != "") 
        {
            i = txt.indexOf("=", j);        
            if (i == -1 || i > cr) i = cr;
            L = removespace(trim(txt.substring(j, i)));
            R = removespace(trim(txt.substring(i+1, cr)));
            if (justifyYN && L != "") 
            L = justify(L, MTW);          
            L = L.replace(/ /gi, "&nbsp;");
            L = L.replace(/\^/gi, " ");
            
            if (justifyYN && R != "") 
            R = justify(R, MTW);
            R = R.replace(/ /gi, "&nbsp;");
            R = R.replace(/\^/gi, " ");
            
            if (poemType == 0) 
            {
                side1 += L + "<br>" + br;
                side2 += R + "<br>" + br;
                side += ibchar + "<br>" + br;
            }
            
            // xyz  in the following lines will be replaced with font style later      
            else if (poemType == 1) 
            {
                side1 += "<div style='xyz margin-left:"+Math.round(MTW)+"pt'>" + L + "</div>" + br;
                side1 += "<div style='xyz margin-right:"+Math.round(MTW)+"pt'>" + R + "</div>" + br;
            }
            
            else if (poemType == 2) 
            {
                side1 += "<div style='xyz margin-left:"+Math.floor(MTW/1.5)+"pt'>" + L + "</div>" + br;
                side1 += "<div style='xyz margin-right:"+Math.floor(MTW/1.5)+"pt'>" + R + "</div>" + br;
            }
            
            else if (poemType == 3) 
            {
                side1 += L + br + "<br>" + "<bt>" + R + "<br>" + "<br>" ;
            }
            
            else 
            {          
                if (R != "\r") 
                {
                    side1 += "<tr><td width='0' align='right' valign='top' nowrap>" + L  + "</td>";
                    side1 += "<td width='10px' align='center' nowrap>" + ibchar + "</td>";             
                    side1 += "<td width='0' align='left' valign='top' nowrap>" + R + "</td></tr>";
                }
                
                else
                side1 += "<tr><td align='center' colspan='3' nowrap>" + L + "</td></tr>";
            }
            
        }
        
        else 
        {
            side1 += "<br>";
            side2 += "<br>";
            side += "<br>";
        }
        
        cr += 2;
        j = cr;      
    }
    
    if (poemType == 0 || poemType == 3) 
    {
        side1 = side1.substr(0, side1.lastIndexOf("<br>"+br));
        side2 = side2.substr(0, side2.lastIndexOf("<br>"+br));
        side = side.substr(0, side.lastIndexOf("<br>"+br));
    }
    else if (poemLine != 0 && poemType != 4) 
    {
        side1 = side1.substr(0, side1.lastIndexOf(br));
        side2 = side2.substr(0, side2.lastIndexOf(br));
        side = side.substr(0, side.lastIndexOf(br));
    }
    
    ToHTML(obj);
}


function ToHTML(obj) 
{
    var poetstyle, titlestyle, poetrystyle, middlestyle="";
    var mpoetrystyle;
    
    poetstyle =    "font-style: "+(fitalic3?"italic":"normal") + "; font-variant: normal; " +" font-weight: "+(fbold3?"bold ":"normal; ") +"; font-size: "+fsize3 + "pt;  font-family: " + fname3+"; ";
    poetstyle += " color:" + fcolor3;
    
    titlestyle = "font-style: "+(fitalic2?"italic":"normal") + "; font-variant: normal; " +" font-weight: "+(fbold2?"bold ":"normal ") +"; font-size: "+fsize2 + "pt;  font-family: " + fname2+"; ";
    titlestyle += " color:" + fcolor2;
    titlestyle += "; background-image:url(" + bkimage2 + "); background-color:" + bkcolor2;
    titlestyle += "; border:"+ obsize2 +" " + obstyle2 +" " + obcolor2;
    
    poetrystyle = "font-style: "+(fitalic?"italic":"normal") + "; font-variant: normal; " +" font-weight: "+(fbold?"bold ":"normal ") +"; font-size: "+ fsize + "pt;  font-family:  " + fname+"; ";
    
    mpoetrystyle=poetrystyle
    
    poetrystyle += " color:" + fcolor;
    
    poetrystyle += "; background-image:url(" + bkimage + "); background-color:" + bkcolor;
    poetrystyle += "; border-width:" + obsize +"px; border-style:" + obstyle +"; " + obcolor;
    //border-style:double; border-width:3px;
    // replace xyz in side1 with mpoetrystyle
    side1 = side1.replace(/xyz/gi, mpoetrystyle);  
    
    if (trim(ibchar)=="")
    middlestyle = "border:" + ibsize + "; border-right-style: solid; border-right-color:" + ibcolor;
    else
    middlestyle = "color:" + ibcolor;
    
    HTML = "<table  cellspacing='10' cellpadding='10' dir='rtl'  width='0' style='" + poetrystyle + "'>";
    if (trim(subject.value) != "") 
    {      
        HTML += "<tr><td align='center' colspan='3' style='" + titlestyle + "' nowrap>" + subject.value.replace(/\r/gi,"<br>");
        if (trim(poet.value) != "")
        HTML += "<div align='" + aAlign + "' style='" + poetstyle + "'>&nbsp;" + poet.value + "&nbsp;</div>";
        HTML += "</td></tr>";
    }
    
    if (poemType == 4)
    HTML += side1 + "</table>";
    else 
    {  
        HTML += "<tr><td width='0' align='" + ((poemType!=0)?"center":"right") +"' valign='top' nowrap>" + side1 + "</td>";    
        if (poemType == 0 && poetry.value.search("=") != -1) 
        {
            HTML += "<td width='4' align='center' valign='top' style='" + middlestyle + "' nowrap>" + side + "</td>";
            HTML += "<td width='0' align='left' valign='top' nowrap>" + side2 + "</td>";
        }
        
        HTML += "</tr></table>";
    }
    
    obj.align = pAlign;
    obj.innerHTML = HTML;
    //    poetryHTML.value = "<div align='" + pAlign + "'>" + HTML + "</div>";
    //var S1=document.getElementById("S1");
    //alert(S1);
    //S1.value=HTML;
}




//*******************************************************************************************************
//*******************************************************************************************************
//*******************************************************************************************************
//*******************************************************************************************************

function create_poemTestWidth_table() 
{
    if (!document.getElementById("poemTestWidth")) 
    {
        var HTML = "<table border=1 width=1px style='visibility:hidden;position:absolute'>";
        HTML += "<tr><td id='poemTestWidth' width='0px' nowrap></td></tr>";
        HTML += "</table>";
        document.body.insertAdjacentHTML("afterBegin", HTML);
    }
    
}


function format_poetry  ( obj, optns , txt )
{
var obj_options=obj.getAttribute("options");
//alert(obj_options);
    var asd="qwerty";
    //alert (asd.replace(/we/,"sa"));
    //alert (asd);
    //alert ( txt  ); //<br />
    txt=txt.replace(/<br \/>/gi, "\r\n");
    //txt=txt.replace(/#/gi, "");
    var poem_pattern=/\#[\d\D]*?\#/ ; //this will include the #
    
    var poem_pattern=  /\#([\d\D]*?)\#/ ; //exclude #
    var poet_pattern=  /\*([\d\D]*?)\*/ ; //exclude *
    var subject_pattern= /\$([\d\D]*?)\$/ ; //exclude $ 
    if (!obj_options) // this check was when we used obj.options, but that didnt work for FF, so I changed it
    {
        //alert(" No options");
        obj_options=defaultoptions;
    }
    
    if(obj_options=="")
    {
        options=defaultoptions;
    }
    
    
    var arg = obj_options.replace(/\\\"/g, "'");
    //alert(arg);		
    //alert("Fix  this");
    poem_setArg(arg);
    //	poem = poem.replace(/</g, "&lt;");
    //	poem = poem.replace(/>/g, "&gt;");	
    
    
    var reg_poem=poem_pattern.exec(txt);
    if (reg_poem)
    {
        //dump(poem_pattern.exec(txt));
        poetry.value=poem_pattern.exec(txt)[1];
    }
    
    
    var  reg_poet=poet_pattern.exec(txt);
    if (reg_poet)
    {
        //dump(poet_pattern.exec(txt));
        
        poet.value=poet_pattern.exec(txt)[1];
    }
    
    var reg_subject=subject_pattern.exec(txt);
    if(reg_subject)
    {
        //dump(subject_pattern.exec(txt));
        
        subject.value=subject_pattern.exec(txt)[1];
    }
    
    
    
    
    
    doJustify(obj);
    ToHTML(obj);
    
}


/* //moved it to start of forum script
function show_props(obj, objName)
    {
    //alert ("objname=" +objName);
    var result = "";

    for (var i in obj)
        {
        result += objName + "." + i + " = " + obj[i] + "<br>\n";
        }

    //alert(result);
    return result;
    }
    
    
    function my_alert(some_text)
    {
                         // Open the new window.
                     var newwin = window.open("", "navwin",
                                              "menubar=yes,scrollbars=yes,resizable=yes," +
                                              "width=600,height=300");

                     // Give it a title.
                     newwin.document.writeln("<h1>Navigation Window:<br>" +
                                             document.title + "</h1>");
                     // List all anchors.
newwin.document.writeln(some_text);
    }
    */
//*******************************************************************************************************
//*******************************************************************************************************
//*******************************************************************************************************
//*******************************************************************************************************
function poetry_start()
{
    create_poemTestWidth_table();
    
    var objs=document.getElementsByTagName("p");
//    document.write("Number of returned objects is: "+objs.length);
    
    var l=objs.length;
    for(var ind = 0; ind < l; ind++)
    
    {
//        document.write("Ind= "+ind+"<br>");
        
        
        obj=objs[ind]; //.getElementsByTagName("p");
        //alert(ind+": ID: "+ obj["id"]);
        if ( obj["id"] == "hear")
        {
              //  my_alert(show_props(obj, "hear"));
            //format_poetry ( obj, " " , obj["data"]); //doesn't work in FF
            format_poetry ( obj, " " , obj.getAttribute("data"));
        }
        
    }
    
}

poetry_start();
