



var aaa = false;
var baa = false;
var caa = false;
var daa = false;
var eaa = false;
var faa = false;



var gaa = true;
var haa = true;
var iaa = false;

var jaa = null;





aaa = true;
gaa = false;
jaa = "Selecteer eerst een stuk tekst";


function $rw_setIconsToLoad()
{ 
 
 Wba('play', "Selecteer tekst en klik om te beluisteren", "gif");
 Wba('stop', "Stop voorlezen", "gif");
 Wba('axendolink', "www.browsealoud.info", "gif");
}





var kaa = true;


var laa = new Array();


var g_toggleIcons = new Array();


var naa = 0;

var oaa = 0;






var paa = { x:0,y:0 };

var qaa = { x:0,y:0 };


var raa = null;


var saa = false;


var taa = 5;


var uaa = false;


var vaa = 0;
var g_strLastClicked = "";






var xaa = 1.0;

var yaa = 0.01;


var zaa = 4;

var Aba = 60;





var Bba = [0.00,0.00,0.00,0.00,0.00];

var Cba = [0.00,0.00,0.00,0.00,0.00];


var Dba = [400, 400, 400, 400, 600];

var Eba = [40, 40, 40, 40, 40];

var Fba = [false, false, false, false, false];


var Gba = false;
var Hga = false; 


var Iba = 0;
var Jba = 1;
var Kba = 2;
var Lba = 3;
var Mba = 4;



var Nba = navigator.appName == "Microsoft Internet Explorer";


var Oba = navigator.appVersion.indexOf("Safari") > -1;

var Pba = !(Nba || Oba); 



var Qba = "localhost";
var Rba = "";
var Sba = "";





var Tba = 1;
var Uba = 2;
var Vba = 3;



function Wba(name, alt, p_strExt)
{
 if(p_strExt == undefined)
 {
 p_strExt = "jpg";
 }
 laa[naa] = new Array(6);
 laa[naa][0] = name;
 laa[naa][1] = new Image();
 laa[naa][1].name = name;
 laa[naa][1].src = Rba + 'rwimgs/flat-' + name + '.' + p_strExt;

 laa[naa][2] = new Image();
 laa[naa][2].name = name;
 laa[naa][2].src = Rba + 'rwimgs/hover-' + name + '.' + p_strExt;

 laa[naa][3] = new Image();
 laa[naa][3].name = name;
 laa[naa][3].src = Rba + 'rwimgs/toggle-' + name + '.' + p_strExt;

 laa[naa][4] = alt;
 laa[naa][5] = new Image();
 laa[naa][5].src = Rba + 'rwimgs/grey-' + name + '.' + p_strExt;
 naa++;
}


function Xba(name, alt, p_strExt)
{
 if(p_strExt == undefined)
 {
 p_strExt = "jpg";
 }

 g_toggleIcons[oaa] = new Array(9);
 g_toggleIcons[oaa][0] = name;
 g_toggleIcons[oaa][1] = new Image();
 g_toggleIcons[oaa][1].name = name;
 g_toggleIcons[oaa][1].src = Rba + 'rwimgs/flat-' + name + 'off.' + p_strExt;

 g_toggleIcons[oaa][2] = new Image();
 g_toggleIcons[oaa][2].name = name;
 g_toggleIcons[oaa][2].src = Rba + 'rwimgs/hover-' + name + 'off.' + p_strExt;

 g_toggleIcons[oaa][3] = new Image();
 g_toggleIcons[oaa][3].name = name;
 g_toggleIcons[oaa][3].src = Rba + 'rwimgs/toggle-' + name + 'off.' + p_strExt;

 g_toggleIcons[oaa][4] = alt;

 g_toggleIcons[oaa][5] = new Image();
 g_toggleIcons[oaa][5].name = name;
 g_toggleIcons[oaa][5].src = Rba + 'rwimgs/grey-' + name + 'off.' + p_strExt;


 g_toggleIcons[oaa][6] = new Image();
 g_toggleIcons[oaa][6].name = name;
 g_toggleIcons[oaa][6].src = Rba + 'rwimgs/toggle-' + name + 'on.' + p_strExt;

 g_toggleIcons[oaa][7] = new Image();
 g_toggleIcons[oaa][7].name = name;
 g_toggleIcons[oaa][7].src = Rba + 'rwimgs/grey-' + name + 'on.' + p_strExt;

 g_toggleIcons[oaa][8] = false; 
 oaa++;
}


function Zba(i)
{
 var rba;
 rba = '';

 var iba = laa[i][1].src;
 var Psa = laa[i][0];
 var ora = laa[i][4];

 if(Oba == false)
 {
 var lba = 33;
 if(Psa.equalsTH("submit"))
 {
 lba = 53;
 }

 rba += '<span ';

 
 
 
 rba += 'onMouseOver="rw_mouseOverIcon(\'' + Psa + '\'); " ' +
 'onMouseOut="rw_mouseOffIcon(\'' + Psa + '\'); " ' +
 'onMouseDown="rw_press(\'' + Psa + '\'); g_strLastClicked=\'' + Psa+ '\';" ' +
 'onMouseUp="rw_mouseOverIcon(\'' + Psa + '\'); ' +
 'if(g_strLastClicked.equalsTH(\'' + Psa + '\')){if(g_bSpeechActiveFlag && ICONS_TO_DISABLE.indexOf(\'' +
 Psa + '\')> -1){return true;}else{$rw_event_' + Psa + '(event);}}" >';


 rba += fba(laa[i][1].src, Psa, "flat", ora, lba, true);
 rba += fba(laa[i][2].src, Psa, "hover", ora, 0, false);
 rba += fba(laa[i][3].src, Psa, "toggle", ora, 0, false);
 rba += fba(laa[i][5].src, Psa, "mask", ora, 0, false);

 rba += '</span>';
 }
 else
 {
 if(Psa.equalsTH("submit"))
 {
 zaa += 53;
 rba = '<img name="' + Psa + '" class=rwIcon src="' + iba + '" width=53 height=32 ';
 }
 else
 {
 zaa += 33;
 rba = '<img name="' + Psa + '" class=rwIcon src="' + iba + '" width=33 height=32 ';
 }
 rba = rba + 'alt="' + ora + '"';
 rba = rba + 'id="thnodragicon"';
 
 rba = rba + 'onclick="if(g_bSpeechActiveFlag && ICONS_TO_DISABLE.indexOf(\'' +
 Psa + '\')> -1){return true;}else{$rw_event_' + Psa + '(event);}"';
 rba = rba + 'onMouseOver="rw_mouseOverIcon(\'' + Psa + '\')" ';
 rba = rba + 'onMouseOut="rw_mouseOffIcon(\'' + Psa + '\')" ';
 rba = rba + 'onMouseDown="rw_press(\'' + Psa + '\')"';
 rba = rba + 'onMouseUp="rw_mouseOverIcon(\'' + Psa + '\')"';
 rba += '>';
 }
 return rba;
}


function fba(p_strIcon, p_strName, p_strExt, p_strAlt, p_nWidth, p_bShow)
{
 var rba;
 rba = '';

 zaa += p_nWidth;
 rba = '<img name="' + p_strName + p_strExt + '" class=rwIcon src="' + p_strIcon +
 '" width=' + p_nWidth + ' height=32 ' +
 'style="width:' + p_nWidth + ';" ' +
 'alt="' + p_strAlt + '" id="thnodragicon" ';
 if(p_bShow)
 {
 rba += 'style="visibility:visible" ';
 }
 else
 {
 rba += 'style="visibility:hidden" ';
 }
 rba += '/>';

 return rba;
}




function hba(i)
{
 var rba;
 rba = '';

 var iba = g_toggleIcons[i][1].src;
 var Psa = g_toggleIcons[i][0];
 var ora = g_toggleIcons[i][4];

 if(Oba)
 { 
 zaa += 33;
 rba = '<img name="' + Psa + '" class=rwIcon src="' + iba + '" width=33 height=32 ';
 rba = rba + 'alt="' + ora + '"';
 rba = rba + 'id="thnodragicon"';
 
 rba = rba + 'onclick="if(g_bSpeechActiveFlag && ICONS_TO_DISABLE.indexOf(\'' +
 Psa + '\')> -1){return true;}else{$rw_event_' + Psa + '(event);}"';
 rba = rba + 'onMouseOver="if(g_toggleIcons[' + i + '][8] == false) {rw_mouseOverIcon(\'' + Psa + '\');}" ';
 rba = rba + 'onMouseOut="if(g_toggleIcons[' + i + '][8] == false) {rw_mouseOffIcon(\'' + Psa + '\');}" ';
 rba = rba + 'onMouseDown="if(g_toggleIcons[' + i + '][8] == false) {rw_press(\'' + Psa + '\');}"';
 rba = rba + 'onMouseUp="if(g_toggleIcons[' + i + '][8] == false) {rw_mouseOverIcon(\'' + Psa + '\');}"';
 rba += '>';
 }
 else
 { 
 var lba = 33;

 rba += '<span ';

 
 
 
 
 
 rba += 'onMouseOver="if(g_toggleIcons[' + i + '][8] == false) {rw_mouseOverIcon(\'' + Psa + '\');} " ' +
 'onMouseOut="if(g_toggleIcons[' + i + '][8] == false) {rw_mouseOffIcon(\'' + Psa + '\');} " ' +
 'onMouseDown="if(g_toggleIcons[' + i + '][8] == false) {rw_press(\'' + Psa + '\');} ' +
 'g_strLastClicked=\'' + Psa+ '\';" ' +
 'onMouseUp="if(g_toggleIcons[' + i + '][8] == false){rw_mouseOverIcon(\'' + Psa + '\');} ' +
 'if(g_strLastClicked.equalsTH(\'' + Psa + '\')){if(g_bSpeechActiveFlag && ICONS_TO_DISABLE.indexOf(\'' +
 Psa + '\')> -1){return true;}else{$rw_event_' + Psa + '(event, ' + i + ');}}" >';

 rba += fba(g_toggleIcons[i][1].src, Psa, "flat", ora, lba, true);
 rba += fba(g_toggleIcons[i][2].src, Psa, "hover", ora, 0, false);
 rba += fba(g_toggleIcons[i][3].src, Psa, "toggle", ora, 0, false);
 rba += fba(g_toggleIcons[i][5].src, Psa, "mask", ora, 0, false);
 rba += fba(g_toggleIcons[i][6].src, Psa, "toggleOn", ora, 0, false);
 rba += fba(g_toggleIcons[i][7].src, Psa, "maskOn", ora, 0, false);

 rba += '</span>';
 }
 return rba;
}



function mba(p_strName, p_strExt, p_bToggleIcon)
{
 if(p_strExt != null)
 {
 if(p_strExt == "toggle")
 {
 vaa = 2;
 }
 document.images[p_strName + p_strExt].style.visibility = "visible";
 if(p_strName == "submit")
 {
 document.images[p_strName + p_strExt].style.width = 53;
 }
 else
 {
 document.images[p_strName + p_strExt].style.width = 33;
 }
 }

 if(p_strExt != "flat")
 {
 document.images[p_strName + "flat"].style.visibility = "hidden";
 document.images[p_strName + "flat"].style.width = 0;
 }

 if(p_strExt != "hover")
 {
 document.images[p_strName + "hover"].style.visibility = "hidden";
 document.images[p_strName + "hover"].style.width = 0;
 }

 if(p_strExt != "toggle")
 {
 document.images[p_strName + "toggle"].style.visibility = "hidden";
 document.images[p_strName + "toggle"].style.width = 0;
 }

 if(p_strExt != "mask")
 {
 document.images[p_strName + "mask"].style.visibility = "hidden";
 document.images[p_strName + "mask"].style.width = 0;
 }

 if(p_bToggleIcon)
 {
 if(p_strExt != "toggleOn")
 {
 document.images[p_strName + "toggleOn"].style.visibility = "hidden";
 document.images[p_strName + "toggleOn"].style.width = 0;
 }

 if(p_strExt != "mask")
 {
 document.images[p_strName + "maskOn"].style.visibility = "hidden";
 document.images[p_strName + "maskOn"].style.width = 0;
 }
 }
}


function $rw_barInit(p_strServer, p_strVoice, p_strExt)
{
 
 p_strServer = "http://axendo.texthelp.com/";
p_strVoice = "ScanSoft Claire_Full_22kHz";
p_strExt =  "axendo";
var p_strSwfExt = "axendo";
 
 if(p_strServer.length > 8 && p_strServer!= "localhost")
 {
 Qba = p_strServer.substring(7, p_strServer.length - 1);
 }
 else
 {
 Qba = "localhost";
 }

 
 Rba = p_strServer + p_strExt + "/";
 Sba = "/"+p_strSwfExt +"/";
 

 $rw_setIconsToLoad();

 
 var oba = '';

 for (var i = 0; i < oaa; i++)
 {
 oba += hba(i);
 }

 for (var i = 0; i < naa; i++)
 {
 oba += Zba(i);
 }

 
 if(aaa)
 {
 zaa = 110;;
 }

 var rba = '<div id="rwDrag">';
 if(iaa == false)
 {
 rba += ' <div class="rwToolbarOutline" style="width:' + zaa + '">';
 rba += '  <div id="rwDragMe" class="rwToolbarCaption" ></div>';
 }
 rba += '  <div class="rwToolbarBar"></div>';

 rba += oba;

 if(iaa == false)
 {
 rba += '\n</div></div>';
 }
 else
 {
 rba += '\n</div>';
 }
 
 rba += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" ';
 rba += 'codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" ';
 rba += 'width="1" height="1" id="WebToSpeech" align="middle">';
 rba += '  <param name="allowScriptAccess" value="sameDomain" />';
 rba += '  <param name="movie" value="' + Sba + 'WebToSpeech.swf" />';
 rba += '  <param name="quality" value="high" />';
 rba += '  <param name="bgcolor" value="#ffffff" />';
 rba += '  <param name="flashVars" value="speechName=' + p_strVoice + '&Speechloc=http://speechserver2.texthelp.com/&speechServerLoc=http://speechserver2.texthelp.com/&lessonServerLoc=http://speechserver2.texthelp.com/"/>';
 rba += '  <embed src="' + Sba + 'WebToSpeech.swf" quality="high" bgcolor="#ffffff" width="1" height="1"';
 rba += '   name="WebToSpeech" align="middle" allowScriptAccess="sameDomain"';
 rba += '   type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"';
 rba += '   flashVars="speechName=' + p_strVoice + '&speechServerLoc=http://speechserver2.texthelp.com/&lessonServerLoc=http://speechserver2.texthelp.com/">';
 rba += '  </embed>';

 rba += '</object>';

 
 document.write(rba);

 
 
 
 

 

 Nca(window, 'scroll', Lda);
 Nca(window, 'resize', Lda);
 Nca(window, 'scroll', Qda);
 Nca(window, 'resize', Qda);
 Nca(window, 'load', oca);
 Nca(window, 'beforeunload', tca);

 Nca(document, 'mouseout', Ida);
 Nca(document, 'mouseup', Gda);
 Nca(document, 'mousemove', Eda);
 Nca(document, 'mouseover', Dda);
 Nca(document, 'mousedown', wca);
 Nca(document, 'dragstart', xca);
 Nca(document, 'keyup', eca);

 
 var sba = '<div id="rwDisplay">';
 sba += ' <div class="rwToolbarOutlineDisplay">';
 sba += '  <div id="rwDragMeDisplay" class="rwToolbarCaptionDisplay" >';
 sba += '    <img name="displayImg" alt="Sluiten" align="right" src="' + Rba + 'rwimgs/thex.bmp" onMouseOver="$rw_divOver(0)" onMouseOut="$rw_divOut(0)" onMouseUp="$rw_divPress(0)"></img></div>';
 sba += '  <div class="rwToolbarBarDisplay"></div>';
 sba += '<span id="rwpopupdisplay"></span>';
 sba += '\n</div></div>';

 
 sba += ' <div id="rwTrans">';
 sba += ' <div class="rwToolbarOutlineTrans">';
 sba += '  <div id="rwDragMeTrans" class="rwToolbarCaptionTrans" >';
 sba += '    <img name="transImg" alt="Sluiten"  align="right" src="' + Rba + 'rwimgs/thex.bmp" onMouseOver="$rw_divOver(1)" onMouseOut="$rw_divOut(1)" onMouseUp="$rw_divPress(1)"></img></div>';
 sba += '  <div class="rwToolbarBarTrans"></div>';
 sba += '<span id="rwpopuptrans"></span>';
 sba += '\n</div></div>';

 
 sba += '<div id="rwFF">';
 sba += ' <div class="rwToolbarOutlineFF">';
 sba += '  <div id="rwDragMeFF" class="rwToolbarCaptionFF" >';
 sba += '    <img name="FFImg" alt="Sluiten" align="right" src="' + Rba + 'rwimgs/thex.bmp" onMouseOver="$rw_divOver(2)" onMouseOut="$rw_divOut(2)" onMouseUp="$rw_divPress(2)"></img></div>';
 sba += '  <div class="rwToolbarBarFF"></div>';
 sba += '<span style="width:600px;height:400px;overflow:scroll;" id="rwpopupff"></span>';
 sba += '\n</div></div>';

 
 sba += '<div id="rwDict">';
 sba += ' <div class="rwToolbarOutlineDict">';
 sba += '  <div id="rwDragMeDict" class="rwToolbarCaptionDict" >';
 sba += '    <img name="dictImg" alt="Sluiten" align="right" src="' + Rba + 'rwimgs/thex.bmp" '+
 'onMouseOver="$rw_divOver(3)" onMouseOut="$rw_divOut(3)" '+
 'onMouseUp="$rw_divPress(3)"></img></div>';
 sba += '  <div class="rwToolbarBarDict"></div>';
 sba += '<span id="rwpopupdict"></span>';
 sba += '\n</div></div>';


 
 sba += '<div id="rwCollect">';
 sba += ' <div class="rwToolbarOutlineCollect">';
 sba += '  <div id="rwDragMeCollect" class="rwToolbarCaptionCollect" style="width:600px">';
 sba += '    <img name="collectImg" alt="Sluiten" align="right" src="' + Rba + 'rwimgs/thex.bmp" ' +
 'onMouseOver="$rw_divOver(4)" onMouseOut="$rw_divOut(4)" ' +
 'onMouseUp="$rw_divPress(4)"></img></div>';
 sba += '  <div class="rwToolbarBarCollect"></div>';
 sba += '<div id="rwTextCollect"><span id="rwpopupcollect"></span></div>';
 sba += '\n</div></div>';

 document.wr
 
 if(!Nba)
 {
 var tba = document.getElementsByTagName('input');
 for (var i = 0; i < tba.length; i++)
 {
 var vba = tba.item(i);
 Nca(vba, "mouseup", Mca)
 }
 }
 setTimeout("versionCheck();", 100);


}



function versionCheck()
{
 try
 {
 var flash;
 if (window.WebToSpeech)
 {
 flash = window.WebToSpeech;
 }
 else
 {
 flash = window.document.WebToSpeech;
 }
 var yba = flash.getVersion();

 var zba = parseFloat(yba);

 if(zba < 1.05) 
 {
 kaa = false;
 }
 }
 catch(err)
 {
 kaa = false;
 }


 if(!Nba && !aaa)
 {
 
 Hca();
 }
}




var Aca = "[\\x21\\x2E\\x3F\\x3A]";
function Hca()
{
 
 if(document && document.body)
 {
 var node = document.body;
 while(node != null)
 { 
 if(node.nodeType == 3)
 {
 var Eua = node.nodeValue;
 var Kta = Eua.search(Aca);
 if(Kta > 0 && Kta < (Eua.length - 1))
 { 
 var lla = Eua.substring(0, Kta + 1);
 var mla = Eua.substring(Kta + 1);
 var span = document.createElement("span");
 var Ica = document.createTextNode(lla);
 var Jca = document.createTextNode(mla);
 var Kca = node.parentNode;
 Kca.insertBefore(Jca, node);
 Kca.insertBefore(span, Jca);
 span.appendChild(Ica);
 Kca.removeChild(node);
 node = Jca;
 }
 else
 {
 node = Wsa(node, false);
 }
 }
 else
 {
 node = Wsa(node, false);
 }

 }
 }
}

var Lca = null;

function Mca(event)
{
 Lca = event.currentTarget;
}


function Nca(lma, eventType, func)
{
 if (lma.addEventListener)
 {
 lma.addEventListener(eventType, func, false);
 return true;
 }
 else if (lma.attachEvent)
 {
 return lma.attachEvent("on" + eventType, func);
 }
 else
 {
 return false;
 }
}


function eca(event)
{
 var Oca = event.Cma;
 var Pca = event.ctrlKey;

 if(event.ctrlKey == true)
 {
 var Qca = event.keyCode;
 if(event.shiftKey == true)
 { 
 switch(Qca)
 {
 case 49:
 for(var i=0; i<Bba.length; i++)
 {
 Bba[i] = 0.0;
 }
 for(var i=0; i<Bba.length; i++)
 {
 Cba[i] = 0.0;
 }
 break;
 case 50:
 for(var i=0; i<Bba.length; i++)
 {
 Bba[i] = 0.5;
 }
 for(var i=0; i<Bba.length; i++)
 {
 Cba[i] = 0.0;
 }
 break;
 case 51:
 for(var i=0; i<Bba.length; i++)
 {
 Bba[i] = 1.0;
 }
 for(var i=0; i<Bba.length; i++)
 {
 Cba[i] = 0.0;
 }
 break;
 case 52:
 for(var i=0; i<Bba.length; i++)
 {
 Bba[i] = 0.0;
 }
 for(var i=0; i<Bba.length; i++)
 {
 Cba[i] = 1.0;
 }
 break;
 case 53:
 for(var i=0; i<Bba.length; i++)
 {
 Bba[i] = 0.5;
 }
 for(var i=0; i<Bba.length; i++)
 {
 Cba[i] = 1.0;
 }
 break;
 case 54:
 for(var i=0; i<Bba.length; i++)
 {
 Bba[i] = 1.0;
 }
 for(var i=0; i<Bba.length; i++)
 {
 Cba[i] = 1.0;
 }
 break;
 default:
 }
 }
 else
 {
 switch(Qca)
 {
 case 49:
 xaa = 0.0;
 yaa = 0.0;
 break;
 case 50:
 xaa = 0.5;
 yaa = 0.0;
 break;
 case 51:
 xaa = 1.0;
 yaa = 0.0;
 break;
 case 52:
 xaa = 0.0;
 yaa = 1.0;
 break;
 case 53:
 xaa = 0.5;
 yaa = 1.0;
 if(Nba)
 { 
 mpa();
 }
 break;
 case 54:
 xaa = 1.0;
 yaa = 1.0;
 break;
 default:
 }
 }

 Lda();
 Qda();
 }

}






function rw_mouseOverIcon(p_strName)
{
if(vaa > 0)
{
 --vaa;
 return;
}
 if (saa == true)
 {
 return;
 }

 if (g_bSpeechActiveFlag && ICONS_TO_DISABLE.indexOf(p_strName) > -1)
 {
 return;
 }

 for (var i = 0; i < naa; i++)
 {
 if (p_strName == laa[i][0])
 {
 if(Oba)
 {
 document.images[laa[i][0]].src = laa[i][2].src;
 }
 else
 {
 mba(laa[i][0], "hover", false);
 }
 }
 }

 for (var i = 0; i < oaa; i++)
 {
 if (p_strName == g_toggleIcons[i][0])
 {
 if(Oba)
 {
 document.images[g_toggleIcons[i][0]].src = g_toggleIcons[i][2].src;
 }
 else
 {
 mba(g_toggleIcons[i][0], "hover", true);
 }
 }
 }
}

function rw_mouseOffIcon(p_strName)
{
if(vaa > 0)
{
 --vaa;
 return;
}
 if (saa == true)
 {
 return;
 }

 if (g_bSpeechActiveFlag && ICONS_TO_DISABLE.indexOf(p_strName) > -1)
 {
 return;
 }
 for (var i = 0; i < naa; i++)
 {
 if (p_strName == laa[i][0])
 {
 if(Oba)
 {
 document.images[laa[i][0]].src = laa[i][1].src;
 }
 else
 {
 mba(laa[i][0], "flat", false);
 }
 }
 }


 for (var i = 0; i < oaa; i++)
 {
 if (p_strName == g_toggleIcons[i][0])
 {
 if(Oba)
 {
 document.images[g_toggleIcons[i][0]].src = g_toggleIcons[i][1].src;
 }
 else
 {
 mba(g_toggleIcons[i][0], "flat", true);
 }
 }
 }
}


function rw_press(p_strName)
{
if(vaa > 0)
{
 --vaa;
 return;
}
 if (saa == true)
 {
 return;
 }

 if (g_bSpeechActiveFlag && ICONS_TO_DISABLE.indexOf(p_strName) > -1)
 {
 return;
 }
 for (var i = 0; i < naa; i++)
 {
 if (p_strName == laa[i][0])
 {
 if(Oba)
 {
 document.images[laa[i][0]].src = laa[i][3].src;
 }
 else
 {
 mba(laa[i][0], "toggle", false);
 }
 }
 }

 for (var i = 0; i < oaa; i++)
 {
 if (p_strName == g_toggleIcons[i][0])
 {
 if(Oba)
 {
 document.images[g_toggleIcons[i][0]].src = g_toggleIcons[i][3].src;
 }
 else
 {
 mba(g_toggleIcons[i][0], "toggle", true);
 }
 }
 }
}


function oca(event)
{
 
 var nca = lfa("rwebooks-x");
 var pca = lfa("rwebooks-y");

 if ((nca != null) && (pca != null))
 {
 xaa = parseFloat(nca);
 yaa = parseFloat(pca);
 }

 
 var Gsa = Bba.length;
 var Sta;
 for(var i=0; i<Gsa; i++)
 {
 Sta = lfa("rwebooks-div" + i +"x");
 if(Sta != null)
 {
 Bba[i] = parseFloat(Sta);
 }
 Sta = lfa("rwebooks-div" + i +"y");
 if(Sta != null)
 {
 Cba[i] = parseFloat(Sta);
 }
 }

 Lda();
 Qda();
}


function tca(event)
{
 
 if(!uaa && eaa)
 {
 event.returnValue = "Your data will be lost if you click OK!";
 }

 
 qfa("rwebooks-x", xaa, 20, "/", Qba);
 qfa("rwebooks-y", yaa, 20, "/", Qba);


 
 var Gsa = Bba.length;
 for(var i=0; i<Gsa; i++)
 {
 qfa("rwebooks-div" + i +"x", Bba[i], 20, "/", Qba);
 qfa("rwebooks-div" + i +"y", Cba[i], 20, "/", Qba);
 }

 
 if(!uaa && eaa)
 {
 return "Your data will be lost if you click OK!";
 }
 else
 {
 
 }
}


function wca(event)
{
 event = event || window.event;
 var target = event.target || event.srcElement;


 if(target.id == 'rwDragMe' || target.id == 'rwDragMeDisplay'
 || target.id == 'rwDragMeTrans' || target.id == 'rwDragMeFF'
 || target.id == 'rwDragMeDict' || target.id == 'rwDragMeCollect')
 {
 raa = target;
 saa = true;

 if (raa.setCapture)
 { 
 raa.setCapture(true);
 }

 
 qaa = fda(raa);
 paa = dda(event);


 return false;
 }

 return true;
}


function xca(event)
{ 
 var target = event.target || event.srcElement;

 if (target.tagName == "IMG" && target.id == "thnodragicon")
 {
 cda(event);
 return false;
 }
 return true;
}


function Dda(event)
{
 if (event == null)
 return true;

 if (!saa)
 { 
 
 if(Oba)
 {
 
 
 if(Gba && Hga == false)
 {
 Iqa(event);
 }
 }
 }
 return true;
}


function Eda(event)
{
 if (event == null)
 return true;

 if (raa == null)
 {
 if(Pba)
 { 
 

 if(Gba && Hga == false)
 {
 Iqa(event);
 }
 }
 else if(Nba)
 {
 
 if(Gba && Hga == false)
 {
 Iqa(event);
 }
 }

 saa = false;
 return true;
 }

 var Vua = dda(event);
 if (Vua.x < 0 || Vua.y < 0
 || Vua.x > zna() || Vua.y > Boa())
 { 
 cda(event);
 return false;
 }
 
 var zca = paa.x - (qaa.x);
 var Ada = paa.y - (qaa.y);

 
 var Bda = (Vua.x - zca);
 var Cda = (Vua.y - Ada);

 
 if(raa.id == 'rwDragMe')
 {
 
 ada(Bda, Cda);

 if ((Bda + zaa + taa + Koa()) > zna())
 { 
 Bda = zna() - zaa - taa - Koa();
 xaa = 1.0;
 }

 if (Bda < taa)
 { 
 Bda = taa;
 xaa = 0.0;
 }

 if ((Cda + Aba + taa + Loa()) > Boa())
 { 
 Cda = Boa() - Aba - taa - Loa();
 yaa = 1.0;
 }

 if (Cda < taa)
 { 
 Cda = taa;
 yaa = 0.0;
 }

 Lda();
 cda(event);
 }
 else if(raa.id == 'rwDragMeTrans' || raa.id == 'rwDragMeFF'
 || raa.id == 'rwDragMeDict' || raa.id == 'rwDragMeDisplay'
 || raa.id == 'rwDragMeCollect')
 {
 var Fda;
 if(raa.id == 'rwDragMeDisplay')
 {
 Fda = Iba;
 }
 else if(raa.id == 'rwDragMeTrans')
 {
 Fda = Jba;
 }
 else if(raa.id == 'rwDragMeFF')
 {
 Fda = Kba;
 }
 else if(raa.id == 'rwDragMeDict')
 {
 Fda = Lba;
 }
 else 
 {
 Fda = Mba;
 }
 
 bda(Fda, Bda, Cda);

 if ((Bda + Dba[Fda] + taa + Koa()) > zna())
 { 
 Bda = zna() - Dba[Fda] - taa - Koa();
 Bba[Fda] = 1.0;
 }

 if (Bda < taa)
 { 
 Bda = taa;
 Bba[Fda] = 0.0;
 }

 if ((Cda + Eba[Fda] + taa + Loa()) > Boa())
 { 
 Cda = Boa() - Eba[Fda] - taa - Loa();
 Cba[Fda] = 1.0;
 }

 if (Cda < taa)
 { 
 Cda = taa;
 Cba[Fda] = 0.0;
 }

 Tda(Fda);
 cda(event);
 }


 return false;
}


function Gda(event)
{
 
 
 
 

 if (saa == false)
 return true;

 if (raa.releaseCapture)
 {
 raa.releaseCapture();
 }

 raa = null;
 event = event || window.event;
 saa = false;

 cda(event);
 return false;
}


function Ida(event)
{
 event = event || window.event;
 if (saa)
 {
 if (!Nba && !Oba)
 { 
 var Vua = dda(event);
 if (Vua.x < 5 || Vua.y < 5
 || Vua.x > (zna() - 5) || Vua.y > (Boa() - 5))
 {
 
 

 
 Gda(event);
 cda(event);
 return;
 }
 }

 Eda(event);
 cda(event);
 }
 else
 {
 upa = null;
 }
}


function Lda()
{
 var yda;

 if (document.all)
 {
 var qda = document.all['rwDrag'];
 if (qda == null)
 {
 return;
 }
 yda = document.all['rwDrag'].style;
 }
 else
 {
 yda = document.getElementById('rwDrag').style;
 }

 if (yda == null) return;

 var width = zna();
 var height = Boa();

 if(iaa)
 {
 xaa = 1;
 yaa = 0;
 taa = 0;
 }

 var x = width * xaa;
 var y = height * yaa;


 
 
 if ((x + zaa + taa + Koa()) > zna())
 {
 x = zna() - zaa - taa - Koa();
 }

 if (x < taa)
 {
 x = taa;
 }

 if ((y + Aba + taa + Loa()) > Boa())
 {
 y = Boa() - Aba - taa - Loa();
 }

 if (y < taa)
 {
 y = taa;
 }

 x = Doa() + x;
 y = Hoa() + y;

 
 if (Aea != 100)
 {
 x = x * 100 / Aea;
 y = y * 100 / Aea;
 }
 if(iaa)
 {
 y = 0;
 }

 yda.left = x + 'px';
 yda.top = y + 'px';

 yda.visibility = 'visible';
}


function Qda()
{
 Tda(0);
 Tda(1);
 Tda(2);
 Tda(3);
 Tda(4);
}


function Tda(p_nType)
{
 
 var yda;
 var Psa;
 switch(p_nType)
 {
 case 0:
 Psa = "rwDisplay";
 break;
 case 1:
 Psa = "rwTrans";
 break;
 case 2:
 Psa = "rwFF";
 break;
 case 3:
 Psa = "rwDict";
 break;
 case 4:
 Psa = "rwCollect";
 break;
 default:
 Psa = "rwDisplay";
 }
 if (document.all)
 {
 var qda = document.all[Psa];
 if (qda == null)
 {
 return;
 }
 yda = document.all[Psa].style;
 }
 else
 {
 yda = document.getElementById(Psa).style;
 }

 if (yda == null) return;

 var vfa = zda(Psa);
 Eba[p_nType] = parseInt(vfa.offsetHeight) - 4;

 if(Fba[p_nType])
 {
 var width = zna();
 var height = Boa();

 var x = width * Bba[p_nType];
 var y = height * Cba[p_nType];

 
 if ((x + Dba[p_nType] + taa + Koa()) > zna())
 {
 x = zna() - Dba[p_nType] - taa - Koa();
 }

 if (x < taa)
 {
 x = taa;
 }

 if ((y + Eba[p_nType] + taa + Loa()) > Boa())
 {
 y = Boa() - Eba[p_nType] - taa - Loa();
 }

 if (y < taa)
 {
 y = taa;
 }

 x = Doa() + x;
 y = Hoa() + y;

 
 if (Aea != 100)
 {
 x = x * 100 / Aea;
 y = y * 100 / Aea;
 }

 yda.left = x + 'px';
 yda.top = y + 'px';
 yda.visibility = 'visible';
 }
 else
 {
 yda.visibility = 'hidden';
 }
}


function ada(x, y)
{
 
 
 

 xaa = x / zna();
 yaa = y / Boa();
}


function bda(p_nType, x, y)
{
 
 
 


 Bba[p_nType] = x / zna();
 Cba[p_nType] = y / Boa();
}


function cda(event)
{
 if (event == null)
 return;

 if (event.cancelBubble)
 {
 event.cancelBubble = true;
 }
 else if (event.stopPropagation)
 {
 event.stopPropagation();
 }

 if (event.returnValue)
 {
 event.returnValue = false;
 }
 else if (event.preventDefault)
 { 
 event.preventDefault(true);
 }
}


function dda(ev)
{
 if (ev.pageX)
 {
 return {x:(ev.pageX - document.body.scrollLeft), y:(ev.pageY - document.body.scrollTop)};
 }
 else
 { 
 return {x:ev.clientX, y:ev.clientY};
 }
}



function fda(p_element)
{
 var left = 0;
 var top = 0;

 while (p_element.offsetParent)
 {
 left += p_element.offsetLeft +
 (p_element.currentStyle ?
 (parseInt(p_element.currentStyle.borderLeftWidth)).NaN0():0);
 top += p_element.offsetTop +
 (p_element.currentStyle ?
 (parseInt(p_element.currentStyle.borderTopWidth)).NaN0():0);
 p_element = p_element.offsetParent;
 }

 left += p_element.offsetLeft +
 (p_element.currentStyle ?
 (parseInt(p_element.currentStyle.borderLeftWidth)).NaN0():0);
 top += p_element.offsetTop +
 (p_element.currentStyle ?
 (parseInt(p_element.currentStyle.borderTopWidth)).NaN0():0);

 
 left = (left * Aea / 100) - Doa();
 top = (top * Aea / 100) - Hoa();
 return {x:left, y:top};
}


var g_bSpeechActiveFlag = false;

var ICONS_TO_DISABLE = "play cyan magenta yellow green clear collect";


function kda(p_bState)
{
 try
 {
 for (var i = 0; i < naa; i++)
 {
 var Psa = laa[i][0];

 if (ICONS_TO_DISABLE.indexOf(Psa) > -1)
 {
 if (p_bState)
 {
 if(Oba)
 {
 document.images[laa[i][0]].src = laa[i][5].src;
 }
 else
 {
 mba(laa[i][0], "mask", false);
 }
 }
 else
 {
 if(Oba)
 {
 document.images[laa[i][0]].src = laa[i][1].src;
 }
 else
 {
 mba(laa[i][0], "flat", false);
 }
 }
 }
 }
 g_bSpeechActiveFlag = p_bState;
 }
 catch(err){}
}






function $rw_divOver(p_nType)
{
 var Psa;
 switch(p_nType)
 {
 case Iba:
 Psa = "displayImg";
 break;
 case Jba:
 Psa = "transImg";
 break;
 case Kba:
 Psa = "FFImg";
 break;
 case Lba:
 Psa = "dictImg";
 break;
 case Mba:
 Psa = "collectImg";
 break;
 default:
 Psa = "displayImg";
 }

 if (document.images[Psa] != null)
 {
 document.images[Psa].src = Rba + "rwimgs/thepressedx.bmp";
 }
}


function $rw_divOut(p_nType)
{
 var Psa;
 switch(p_nType)
 {
 case Iba:
 Psa = "displayImg";
 break;
 case Jba:
 Psa = "transImg";
 break;
 case Kba:
 Psa = "FFImg";
 break;
 case Lba:
 Psa = "dictImg";
 break;
 case Mba:
 Psa = "collectImg";
 break;
 default:
 Psa = "displayImg";
 }

 if (document.images[Psa] != null)
 {
 document.images[Psa].src = Rba + "rwimgs/thex.bmp";
 }
}


function $rw_divPress(p_nType)
{
 tda(false, p_nType);
}


function pda(p_nType, p_strText)
{
 var yda;
 var Psa;
 switch(p_nType)
 {
 case Iba:
 Psa = "rwpopupdisplay";
 break;
 case Jba:
 Psa = "rwpopuptrans";
 break;
 case Kba:
 Psa = "rwpopupff";
 break;
 case Lba:
 Psa = "rwpopupdict";
 break;
 case Mba:
 Psa = "rwpopupcollect";
 break;
 default:
 Psa = "rwpopupdisplay";
 }

 if (document.all)
 {
 var qda = document.all[Psa];
 if (qda == null)
 {
 return;
 }
 yda = document.all[Psa];
 }
 else
 {
 yda = document.getElementById(Psa);
 }

 if (yda == null) return;

 yda.innerHTML = p_strText;
}


function tda(p_bShow, p_nType)
{
 var yda;
 Fba[p_nType] = p_bShow;
 var Psa;
 switch(p_nType)
 {
 case Iba:
 Psa = "rwDisplay";
 break;
 case Jba:
 Psa = "rwTrans";
 break;
 case Kba:
 Psa = "rwFF";
 break;
 case Lba:
 Psa = "rwDict";
 break;
 case Mba:
 Psa = "rwCollect";
 break;
 default:
 Psa = "rwDisplay";
 }

 var vfa = zda(Psa);
 if(vfa != null)
 {
 yda = vfa.style;
 if (yda == null) return;

 if(p_bShow)
 {
 wda();
 yda.visibility = 'visible';
 yda.zIndex = 501;
 }
 else
 {
 yda.visibility = 'hidden';
 pda(p_nType, "");
 }
 }
 Qda();
}


function wda()
{
 var Psa;
 Psa = "rwDisplay";
 var vfa = zda(Psa);
 var yda;
 if(vfa != null && vfa.style)
 {
 yda = vfa.style;
 yda.zIndex = 500;
 }
 Psa = "rwTrans";
 vfa = zda(Psa);
 if(vfa != null && vfa.style)
 {
 yda = vfa.style;
 yda.zIndex = 500;
 }
 Psa = "rwFF";
 vfa = zda(Psa);
 if(vfa != null && vfa.style)
 {
 yda = vfa.style;
 yda.zIndex = 500;
 }
 Psa = "rwDict";
 vfa = zda(Psa);
 if(vfa != null && vfa.style)
 {
 yda = vfa.style;
 yda.zIndex = 500;
 }
 Psa = "rwCollect";
 vfa = zda(Psa);
 if(vfa != null && vfa.style)
 {
 yda = vfa.style;
 yda.zIndex = 500;
 }
}


function zda(p_strName)
{
 if (document.all)
 {
 return document.all[p_strName];
 }
 else
 {
 return document.getElementById(p_strName);
 }
}

Number.prototype.NaN0 = function()
{
 return isNaN(this)?0:this;
};




var Aea = 100;


var Bea = null;

var Cea = null;

var Dea = 0;


function $rw_event_play(event)
{
 
 

 try
 {
 var flash;

 if (window.WebToSpeech)
 {
 flash = window.WebToSpeech;
 }
 else
 {
 flash = window.document.WebToSpeech;
 }

 var Eua = xea();
 
 if(!(Eua == null || Eua.length == 0))
 {
 Dea = 1;
 kda(true);
 if(kaa)
 {
	
 flash.startSpeech(Eua.valueOf());
 }
 else
 { 
 flash.getFlashInfo(Eua.valueOf());
 }
 }
 
 }
 catch(err)
 {
 Rpa("Caught error " + err);
 }
}


function Hea(p_strText)
{
 try
 {
 var flash;

 if (window.WebToSpeech)
 {
 flash = window.WebToSpeech;
 }
 else
 {
 flash = window.document.WebToSpeech;
 }

 if(p_strText != null && p_strText.length != 0)
 {
 Dea = 2;
 kda(true);
 if(kaa)
 {
 flash.startSpeech(p_strText);
 }
 else
 {
 flash.getFlashInfo(p_strText);
 }
 }
 
 }
 catch(err)
 {
 Rpa("Caught error " + err);
 }
}


function $rw_event_stop()
{
 try
 {
 
 wpa = null;
 zpa = null;
 
 var flash;

 if (window.flashObject)
 {
 flash = window.WebToSpeech;
 }
 else
 {
 flash = window.document.WebToSpeech;
 }
 kda(false);
 if(kaa)
 {
 var Zea = flash.stopSpeech();
 }
 else
 {
 var Zea = flash.getFlashStop();
 }
 }
 catch(err)
 {
 Rpa("Caught error " + err);
 }
}


function $rw_event_stop_alt()
{ 
 try
 {
 var flash;

 if (window.flashObject)
 {
 flash = window.WebToSpeech;
 }
 else
 {
 flash = window.document.WebToSpeech;
 }
 if(kaa)
 {
 var Zea = flash.stopSpeechAlt();
 }
 else
 {
 var Zea = flash.getFlashStopAlt();
 }
 }
 catch(err)
 {
 Rpa("Caught error " + err);
 }
}


function $rw_event_trans()
{
 try
 {
 
 var eea = Efa();
 
 eea = Spa(eea);
 if (eea.length > 0)
 {
 var flash;

 if (window.flashObject)
 {
 flash = window.WebToSpeech;
 }
 else
 {
 flash = window.document.WebToSpeech;
 }

 
 var Zea = flash.getTransPage(eea);

 

 
 
 
 

 
 }
 }
 catch(err)
 {
 Rpa("Caught error " + err);
 }
}


function $rw_transReply(p_str)
{
 try
 {
 var Kta = p_str.indexOf("result=");
 if(Kta > -1)
 {
 var bea = "<html><body>" + p_str.substring(7) + "</body></html>";
 pda(Jba, bea);
 tda(true, Jba);
 }
 }
 catch(err)
 {
 Rpa("Caught error " + err);
 }
}



function $rw_event_ffinder()
{
 try
 {
 
 var Tea = Efa();
 Tea = ipa(Tea);
 if(Tea.length > 0)
 {
 
 

 var Eua = "http://www.infoplease.com/search?fr=iptn&query=" + Tea + "&in=all";
 ifa(Eua, 'popup', 600, 500, 1, 1, 0, 0, 0, 0, 0);
 }
 }
 catch(err)
 {
 Rpa("Caught error " + err);
 }
}


function $rw_ffReply(p_str)
{
 try
 {
 var Kta = p_str.indexOf("result=");
 if(Kta > -1)
 {
 var bea = "<iframe>" + p_str.substring(7) + "</iframe>";
 alert(bea);
 pda(Kba, bea);
 tda(true, Kba);
 }
 }
 catch(err)
 {
 Rpa("Caught error " + err);
 }
}


function $rw_event_dict()
{
 try
 {
 
 var eea = Efa();
 
 eea = Spa(eea);
 if(eea.length > 0)
 {
 var flash;

 if (window.flashObject)
 {
 flash = window.WebToSpeech;
 }
 else
 {
 flash = window.document.WebToSpeech;
 }
 var Zea = flash.getDictionaryPage(eea);

 
 
 




 }
 }
 catch(err)
 {
 Rpa("Caught error " + err);
 }
}


function $rw_dictionaryReply(p_str)
{
 try
 {
 var Kta = p_str.indexOf("result=");
 if(Kta > -1)
 {
 var bea = p_str.substring(7);
 pda(Lba, bea);
 tda(true, Lba);
 }
 }
 catch(err)
 {
 Rpa("Caught error " + err);
 }
}



function $rw_event_cyan()
{
 try
 {
 Wla('cyan');
 }
 catch(err)
 {
 Rpa("Caught error " + err);
 }
}


function $rw_event_magenta()
{
 try
 {
 Wla('magenta');
 }
 catch(err)
 {
 Rpa("Caught error " + err);
 }
}


function $rw_event_yellow()
{
 try
 {
 Wla('yellow');
 }
 catch(err)
 {
 Rpa("Caught error " + err);
 }
}


function $rw_event_green()
{
 try
 {
 Wla('lightgreen');
 }
 catch(err)
 {
 Rpa("Caught error " + err);
 }
}


function $rw_event_clear()
{
 try
 {
 vma();
 }
 catch(err)
 {
 Rpa("Caught error " + err);
 }
}


function $rw_event_collect()
{
 try
 {
 ufa();
 }
 catch(err)
 {
 Rpa("Caught error " + err);
 }
}


function $rw_event_zoomin()
{ 
 try
 {
 var nea = Aea;
 Aea = Aea * 1.25;
 if ((nea < 100 && Aea > 100)
 || (Aea < 100 && Aea > 85))
 {
 Aea = 100;
 }
 if (Aea > 500)
 {
 Aea = 500;
 }
 document.body.style.zoom = Aea + '%';
 lea();
 Lda();
 Tda();
 }
 catch(err)
 {
 Rpa("Caught error " + err);
 }
}


function $rw_event_zoomout()
{ 
 try
 {
 var nea = Aea;
 Aea = Aea / 1.25;
 if ((nea > 100 && Aea < 100)
 || (Aea > 100 && Aea < 115))
 {
 Aea = 100;
 }
 if (Aea < 50)
 {
 Aea = 50;
 }
 document.body.style.zoom = Aea + '%';
 lea();
 Lda();
 Tda();
 }
 catch(err)
 {
 Rpa("Caught error " + err);
 }
}


function $rw_event_mp3()
{
 try
 {
 
 var eea = Efa();
 eea = eea.trimTH();
 if (eea.length > 0)
 {
 var flash;

 if (window.WebToSpeech)
 {
 flash = window.WebToSpeech;
 }
 else
 {
 flash = window.document.WebToSpeech;
 }

 var gea = flash.getMP3File(eea);
 }
 }
 catch(err)
 {
 Rpa("Caught error " + err);
 }
}


function $rw_mp3reply(Eua)
{
 try
 {
 if(Eua.length > 0)
 {
 var hea = "Save Target As...";
 if(!Nba)
 {
 if(Oba)
 { 
 hea = "Download Linked File";
 }
 else
 { 
 hea = "Save Link As...";
 }
 }
 var iea = new Date();
 var jea = (iea.getTime() - 1164713747000);
 Eua = "<br></br>Right click on the link below and select " +
 "'" + hea + "' to save the mp3 file to your hard drive.<p></p>" +
 "<a type='application/octet-stream' href=\"" + Eua + "\">speech" + jea + ".mp3</a><p></p>";



 pda(Iba, Eua);
 tda(true, Iba);
 }
 }
 catch(err)
 {
 Rpa("Caught error " + err);
 }
}


function $rw_event_hover(event, i)
{
 Gba = !Gba;
 g_toggleIcons[i][8] = !g_toggleIcons[i][8];
 mba(g_toggleIcons[i][0], "toggleOn", true);
 
 if(Gba == false)
 {
 vpa = null;
 upa = null;
 }
}


function $rw_event_submit()
{
 try
 {
 uaa = true;
 lm_doSubmit();
 uaa = false;
 }
 catch(err)
 {
 Rpa("Caught error " + err);
 }
}


function lea()
{
 
 var kea = document.getElementById("rwDrag");
 var mea = document.getElementById("rwDisplay");
 

 var nea;
 if (Aea != 100)
 {
 nea = 100 / Aea * 100;
 }
 else
 {
 nea = 100;
 }
 kea.style.zoom = nea + '%';
 mea.style.zoom = nea + '%';
}



function pea()
{
 var Eua = '';
 if (window.getSelection)
 { 
 if (window.getSelection().isCollapsed == false)
 {
 return true;
 }
 
 if (top.window.frames.length > 0)
 {
 var i = 0;
 var Gsa = top.window.frames.length;
 for (i = 0; i < Gsa; i++)
 {
 if (top.window.frames[i].getSelection().isCollapsed == false)
 {
 return true;
 }
 }
 }
 }
 else if (document.selection)
 {
 var range = document.selection.createRange();
 if (range.text.length > 0)
 {
 return true;
 }
 
 if (top.window.frames.length > 0)
 {
 var i = 0;
 var Gsa = top.window.frames.length;
 for (i = 0; i < Gsa; i++)
 {
 var Epa = top.window.frames[i];
 range = Epa.document.selection.createRange();
 if (range.text != null && range.text.length > 0)
 {
 return true;
 }
 }
 }
 }

 return false;
}



function xea()
{
 
 var Eua = '';
 var ppa = Voa();
 if (ppa == null)
 { 
 if (Bea != null)
 {
 if (Bea.frame)
 { 
 ppa = Bea;
 }
 else
 { 
 range = Cea.document.body.createTextRange();
 range.moveToBookmark(Bea);
 if (Cea == null)
 {
 Cea = window;
 }
 ppa = {frame:Cea, range:range};
 }
 }
 }
 if (ppa == null || ppa.range == null || ppa.frame == null)
 {
 
 if(jaa!= null && jaa.length > 0)
 {
 alert(jaa);
 }
 return "";
 }
 if(ppa.range instanceof String)
 {
 return ppa.range;
 }

 
 Cea = ppa.frame;

 
 if (window.getSelection)
 { 
 if(haa == false)
 { 
 return ppa.range.toString();
 } Rpa("0");

 var range = ppa.range;

 range.refresh();

 Rpa("1" + range.toString());
 Eua = Oma(range.Zla.node, range.Zla.offset,
 range.ala.node, range.ala.offset);
 Rpa("2" + Eua);

 if(Eua != null && Eua.length > 0)
 {
 Xja();

 
 var Gsa = Nma.length;
 Bea = ppa;
 mpa();
 }
 }
 else if (document.selection)
 {
 if(haa == false)
 { 
 return ppa.range.text;
 }

 Eua = zla(ppa.range);
 if(Eua != null && Eua.length > 0)
 {
 var Bfa = true;
 try
 {
 var Cfa = ppa.range.Lqa();
 if(Cfa.tagName.toLowerCase() == "input")
 {
 if(Cfa.getAttribute("type") == "text")
 {
 Bfa = false;
 xla = new Array();
 }
 }

 }
 catch(err)
 {
 Rpa(err);
 }
 if(Bfa)
 {
 ppa.range.execCommand("backcolor", false, "yellow");
 Bea = ppa.range.getBookmark();
 ppa.range.collapse(true);
 ppa.range.select();
 }
 }
 }
 else
 {
 return "";
 }

 
 $rw_doSelection(0);
 return Eua;
}


function Efa()
{
 var Eua = '';
 if (window.getSelection)
 {
 Eua = new String(window.getSelection());
 }
 else if (document.getSelection)
 {
 Eua = new String(document.getSelection());
 }
 else if (document.selection)
 {
 var range = document.selection.createRange();

 
 if (range.text == null || range.text.length == 0)
 {
 if (top.window.frames.length > 0)
 {
 var i = 0;
 var Gsa = top.window.frames.length;
 for (i = 0; i < Gsa; i++)
 {
 var Epa = top.window.frames[i];
 range = Epa.document.selection.createRange();
 if (range.text != null && range.text.length > 0)
 {
 break;
 }
 }
 }
 }

 Eua = range.text;
 }
 else
 {
 return;
 }

 return Eua;
}



var Jfa = -1;


function $rw_doSelection(p_nPosition)
{ 
 if (p_nPosition < 0)
 {
 kda(false);
 }

 if(Dea == 2)
 {

 if(vpa && vpa.isRange())
 {
 if(p_nPosition != Jfa)
 {
 if (p_nPosition == -1 || p_nPosition == -2)
 { 
 if (Jfa > -1 && vpa.Pfa != null)
 {
 try
 { 
 var Pfa = vpa.Pfa;
 var Gsa = Pfa.length;
 if (Jfa < Gsa)
 {
 var Cra = Pfa[Jfa].range;
 var Mta = rw_getCaretFromDomPosition(Cra.base, Cra.startRef.path,
 Cra.startRef.offset, true);
 var Ota = rw_getCaretFromDomPosition(Cra.base, Cra.endRef.path,
 Cra.endRef.offset, false);

 Pja(aia(Mta.node, Ota.node), true);
 }
 }
 catch(err)
 {
 Rpa(" **** " + err.toString());
 }
 }

 Jfa = -1;

 try
 {
 vpa.unhighlightRange();

 }
 catch(err){alert("err z!" + err.message);}
 vpa = null;
 }
 else if(vpa.Pfa != null)
 {
 if (Jfa == p_nPosition)
 {
 return;
 }
 
 
 var Pfa = vpa.Pfa;
 var Gsa = Pfa.length;
 try
 { 
 if (Jfa > -1 && Jfa < Gsa)
 {
 var Cra = Pfa[Jfa].range;
 var Mta = rw_getCaretFromDomPosition(Cra.base, Cra.startRef.path,
 Cra.startRef.offset, true);
 var Ota = rw_getCaretFromDomPosition(Cra.base, Cra.endRef.path,
 Cra.endRef.offset, false);

 Pja(aia(Mta.node, Ota.node), true);
 }
 }
 catch(err)
 {
 Rpa(" **** " + err.toString());
 }

 if (p_nPosition < 0 || p_nPosition >= Gsa)
 {
 return;
 }

 Jfa = p_nPosition;


 
 var Cra = Pfa[p_nPosition].range;
 var Dma = Pfa[p_nPosition].word;

 var Mta = rw_getCaretFromDomPosition(Cra.base, Cra.startRef.path,
 Cra.startRef.offset, true);
 var Ota = rw_getCaretFromDomPosition(Cra.base, Cra.endRef.path,
 Cra.endRef.offset, true); 

 Zja(Mta.node, Mta.offset, Ota.node, Ota.offset, "csp");
 }
 
 }
 }

 
 if (p_nPosition == -1 || p_nPosition == -2)
 {
 Jfa = -1;
 vpa = null;
 }
 }
 else if(Dea == 1)
 {

 if (1==1) 
 {
 if (window.getSelection)
 {
 if (p_nPosition == -1 || p_nPosition == -2)
 { 
 if (Jfa > -1)
 {
 Kka(Jfa);
 }

 cja();
 Jfa = -1;

 if (p_nPosition == -1 && Bea != null)
 { 
 rpa(Bea.range);
 }
 }
 else
 {
 if (Jfa == p_nPosition)
 {
 return;
 }
 
 var Gsa = Nma.length;
 try
 { 
 if (Jfa > -1 && Jfa < Gsa)
 {
 Kka(Jfa);
 }
 }
 catch(err)
 {
 Rpa(" **** " + err.toString());
 }

 if (p_nPosition < 0 || p_nPosition >= Gsa)
 {
 return;
 }

 Jfa = p_nPosition;

 
 uja(p_nPosition);
 }
 }
 else if (document.selection && document.body.createTextRange && Bea != null)
 {
 if (Cea == null)
 {
 Cea = window;
 }
 var range = Cea.document.body.createTextRange();
 range.moveToBookmark(Bea);

 if (p_nPosition == -1)
 {
 if(Jfa > -1)
 {
 range.select();
 }
 range.execCommand("backcolor", false, "clear");
 vna(range);

 Jfa = p_nPosition;
 return;
 }
 if (p_nPosition == -2)
 {
 range.execCommand("backcolor", false, "clear");
 vna(range);
 range.collapse();
 range.select();

 Jfa = p_nPosition;
 return;
 }

 Jfa = p_nPosition;

 
 if(xla.length > p_nPosition)
 {
 p_nPosition = xla[p_nPosition];
 }
 else
 { 
 return;
 }
 
 var Xua = range.duplicate();
 range.collapse();
 range.moveEnd("character", 1);
 var Cma = range.text.charCodeAt(0);
 if(bpa(Cma) == false)
 {
 range.collapse(false);
 }
 range.move("word", p_nPosition);
 range.expand("word");

 if (epa(range.text) == false)
 {
 return;
 }

 var cfa = range.duplicate();
 cfa.collapse(true);
 cfa.move("Character", 1);
 if (Xua.inRange(cfa) == false)
 {
 return
 }

 var Ama = range.duplicate();
 Ama.collapse(false);
 Ama.moveStart("character", -1);
 if (Ama.text == ' ')
 {
 range.moveEnd("character", -1);
 }

 range.select();
 }
 else
 {
 }
 }
 else
 {
 }
 }


}


function efa(Eua)
{
 alert(Eua);
}


function ifa(a_str_windowURL, a_str_windowName, a_int_windowWidth, a_int_windowHeight,
 a_bool_scrollbars, a_bool_resizable, a_bool_menubar, a_bool_toolbar, a_bool_addressbar,
 a_bool_statusbar, a_bool_fullscreen)
{
 var ffa = (screen.width - a_int_windowWidth) / 2;
 var gfa = (screen.height - a_int_windowHeight) / 2;
 var hfa = 'height=' + a_int_windowHeight + ',width=' + a_int_windowWidth +
 ',top=' + gfa + ',left=' + ffa + ',scrollbars=' + a_bool_scrollbars +
 ',resizable=' + a_bool_resizable + ',menubar=' + a_bool_menubar +
 ',toolbar=' + a_bool_toolbar + ',location=' + a_bool_addressbar +
 ',statusbar=' + a_bool_statusbar + ',fullscreen=' + a_bool_fullscreen + '';

 var jfa = window.open(a_str_windowURL, a_str_windowName, hfa);
 if (parseInt(navigator.appVersion) >= 4)
 {
 jfa.window.focus();
 }
}



function lfa(name)
{
 var start = document.cookie.indexOf(name + "=");
 var mfa = start + name.length + 1;
 if (( !start ) && ( name != document.cookie.substring(0, name.length) ))
 {
 return null;
 }
 if (start == -1) return null;
 var end = document.cookie.indexOf(";", mfa);
 if (end == -1) end = document.cookie.length;
 return unescape(document.cookie.substring(mfa, end));
}


function qfa(name, value, expires, path, domain, secure)
{ 
 var ofa = new Date();
 ofa.setTime(ofa.getTime());
 if (expires)
 {
 expires = expires * 1000 * 60 * 60 * 24;
 }
 var pfa = new Date(ofa.getTime() + (expires));
 document.cookie = name + "=" + escape(value) +
 ( ( expires ) ? ";expires=" + pfa.toGMTString() : "" ) + 
 ( ( path ) ? ";path=" + path : "" ) +
 ( ( domain ) ? ";domain=" + domain : "" ) +
 ( ( secure ) ? ";secure" : "" );
}


function rfa(name, path, domain)
{
 if (lfa(name)) document.cookie = name + "=" +
 ( ( path ) ? ";path=" + path : "") +
 ( ( domain ) ? ";domain=" + domain : "" ) +
 ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}


function ufa()
{
 if(nna())
 {
 var Dma = Pna();
 pda(Mba, Dma);
 tda(true, Mba);

 
 var Psa = "rwcollatewrapper";
 var vfa = zda("rwTextCollect");
 if(parseInt(vfa.offsetHeight) >= 380)
 {
 vfa.parentNode.parentNode.style.height = (380);
 zda("rwDragMeCollect").style.width = "580px";
 zda("rwcollatewrapper").style.width = "580px";
 vfa.parentNode.parentNode.style.overflow = "auto";
 }
 else
 {
 vfa.parentNode.parentNode.style.height = (vfa.offsetHeight + 36) ;
 zda("rwDragMeCollect").style.width = "600px";
 zda("rwcollatewrapper").style.width = "600px";
 vfa.parentNode.parentNode.style.overflow = "hidden";
 }
 
 }
}


function $rw_event_axendolink(event)
{
 document.location = "http://www.browsealoud.info";
}

function dis(node)
{
 alert(node.tagName + "|" + node.nodeValue + "|" +
 vra(node));

}

function $rw_event_test(event)
{ 








 document.title = "-";
 var wfa = document.getElementById("q1");
 var tt = document.getElementById("q2");
 var yfa = tt.value;
 var n = parseInt(yfa);

 var Aga = new THDomRefPt(wfa.value, n, true);


 wfa = document.getElementById("q3");
 tt = document.getElementById("q4");
 yfa = tt.value;
 n = parseInt(yfa);

 var Bga = new THDomRefPt(wfa.value, n, true);

 var Cga = rw_getCaretFromDomPosition(document.body, Aga.path, Aga.offset, true);


alert(rw_getTextOverRangeToSpeak(document.body, Aga, Bga));
 alert(Cga + "   " + Cga.node.parentNode.tagName + " |" + Cga.node.nodeValue.substring(Cga.offset, Cga.offset+1));

 return;

 var node = document.getElementById("qwerty");
 dis(node);





















 var Roa = node.firstChild;

 var Fga = nsa(Roa, 10);
 var Gga = Ata(Roa, 10);

 


 alert("=" +rw_getTextOverRange(document.body, Fga, Gga));

 Fga = nsa(Roa, 1);
 Gga = Ata(Roa, 1);
 alert("=" +rw_getTextOverRange(document.body, Fga, Gga));

 Fga = nsa(Roa, 19);
 Gga = Ata(Roa, 19); 
 alert("=" +rw_getTextOverRange(document.body, Fga, Gga));













 
 
 

}






 
var Hga = false;


function Jga(p_theNode)
{
 var Jua = "";
 var wra = 0;
 var xra = "";
 if (p_theNode != null && p_theNode.ownerDocument != null)
 {
 var yra = p_theNode.ownerDocument.body;
 while (p_theNode != null && p_theNode != yra)
 {
 var Zua = p_theNode.previousSibling;
 while (Zua != null)
 {
 ++wra;
 Zua = Zua.previousSibling;
 }
 Jua = Jua + wra + "~";
 wra = 0;
 p_theNode = p_theNode.parentNode;
 if (p_theNode != null && p_theNode.getAttribute != null && p_theNode.tagName != null)
 {
 var Asa = p_theNode.getAttribute("chunk");
 if (p_theNode.tagName.toLowerCase() == "span" && Asa == "1")
 {
 var Bsa = Jga(p_theNode);
 xra = "#^th*" + Bsa + "#^th*";
 }
 }
 }
 }
 return xra + Jua;
};




function Rga(Zua, bIgnoreStartedAttr)
{
 if (bIgnoreStartedAttr == undefined)
 {
 bIgnoreStartedAttr = false;
 }
 if (Zua.nodeType != 1)
 {
 if (Zua.nodeType == 3)
 {
 return true;
 }
 else
 {
 return false;
 }
 }
 var Psa = Zua.tagName.toLowerCase().trimTH();
 if (Psa == "font" && bIgnoreStartedAttr == false)
 {
 var Osa = Zua.getAttribute("started");
 if (Osa != null && Osa == "1")
 {
 return false;
 }
 }
 if (Psa == "em" || Psa == "strong" || Psa == "b" || Psa == "i" || Psa == "u" ||
 Psa == "tt" || Psa == "font" || Psa == "kbd" || Psa == "dfn" || Psa == "cite" ||
 Psa == "sup" || Psa == "sub" || Psa == "a" || Psa == "embed" || Psa == "span" ||
 Psa == "nobr" || Psa == "wbr" || Psa == "acronym" || Psa == "abbr" || Psa == "code" ||
 Psa == "chunk" || Psa == "th" || Psa == "th:pron" || Psa == "img")
 {
 return true;
 }
 return false;
}
;


function Uga(Zua, bIgnoreStartedAttr)
{
 if (bIgnoreStartedAttr == undefined)
 {
 bIgnoreStartedAttr = false;
 }
 if (Zua == null)
 {
 return true;
 }
 if (Zua.nodeType != 1)
 {
 return false;
 }
 var Psa = Zua.tagName.toLowerCase();
 if (Psa == "font" && Zua.getAttribute != null &&
 Zua.getAttribute("started") == "1" && bIgnoreStartedAttr == false)
 {
 return true;
 }
 if (Psa == "link" || Psa == "area" || Psa == "script" || Psa == "noscript" || Psa == "annotation" || Psa == "style" || Psa == "!--" || Psa == "title")
 {
 return true;
 }
 return false;
}
;


function Wga(Zua)
{
 var uta = Zua;
 if (uta.previousSibling != null)
 {
 uta = uta.previousSibling;
 }
 else
 {
 uta = uta.parentNode;
 while (uta != null && uta.previousSibling == null)
 {
 uta = uta.parentNode;
 }
 if (uta != null)
 {
 uta = uta.previousSibling;
 }
 }
 return uta;
}
;



function bga(Zua)
{
 var vta = Zua;

 if (vta.nextSibling != null)
 {
 vta = vta.nextSibling;
 }
 else
 {
 vta = vta.parentNode;
 while (vta != null && vta.nextSibling == null)
 {
 vta = vta.parentNode;
 }
 if (vta != null)
 {
 vta = vta.nextSibling;
 }
 }
 return vta;
}
;




function cga(Zua, bGoByStyle, allowImg)
{
 var dta = Zua;
 var uta = Zua;
 var rta = true;
 while (uta != null)
 {
 if (rta == false && uta.nodeType == 3 && Uga(uta.parentNode) == false && uta.parentNode.tagName.toLowerCase() != "textarea")
 {
 if (bGoByStyle)
 {
 dta = uta;
 }
 else
 {
 var tta = uta.nodeValue;
 tta = tta.trimTH();
 if (tta.length > 0)
 {
 if (tta.length > 2)
 {
 return uta;
 }
 if (tta.length == 2)
 {
 var kta = tta.charCodeAt(0);
 var jta = tta.charCodeAt(1);
 if (kta > 32 && kta < 127 && jta > 32 && jta < 127) return uta;
 }
 else
 {
 var kta = tta.charCodeAt(0);
 if (kta > 32 && kta < 127)
 {
 return uta;
 }
 }
 }
 }
 }
 else
 {
 if (allowImg == true && rta == false && uta.nodeType == 1 && uta.tagName.toLowerCase() == "img")
 {
 var Dua = uta.getAttribute("msg");
 if (Dua != null && Dua.length > 0)
 {
 if (bGoByStyle)
 {
 dta = uta
 }
 else
 {
 return uta
 }
 }
 }
 }
 rta = false;
 if (bGoByStyle && uta.nodeType == 1 && Rga(uta) == false)
 {
 break;
 }
 if (uta.nodeType == 1 && uta.lastChild != null)
 {
 uta = uta.lastChild;
 }
 else
 {
 if (uta.previousSibling != null)
 {
 uta = uta.previousSibling;
 }
 else
 {
 uta = uta.parentNode;
 if (bGoByStyle && Rga(uta) == false)
 {
 break;
 }
 while (uta != null && uta.previousSibling == null)
 {
 uta = uta.parentNode;
 if (bGoByStyle && Rga(uta) == false)
 {
 uta = null;
 break;
 }
 }
 if (uta == null)
 {
 break;
 }
 uta = uta.previousSibling;
 }
 }
 }
 if (bGoByStyle)
 {
 return dta;
 }
 else
 {
 return null;
 }
}
;



function lga(Zua, bGoByStyle, Ksa, allowImg)
{
 var dta = Zua;
 var vta = Zua;
 var rta = true;
 while (vta != null)
 {
 if (vta == Ksa)
 {
 if (Ksa.nodeType == 3)
 {
 return vta;
 }
 break;
 }
 if (rta == false && vta.nodeType == 3 && Uga(vta.parentNode) == false && vta.parentNode.tagName.toLowerCase() != "textarea")
 {
 if (bGoByStyle)
 {
 dta = vta;
 }
 else
 {
 var tta = vta.nodeValue;
 tta = tta.trimTH();
 if (tta.length > 0)
 {
 if (tta.length > 2)
 {
 return vta;
 }
 if (tta.length == 2)
 {
 var kta = tta.charCodeAt(0);
 var jta = tta.charCodeAt(1);
 if (kta > 32 && kta < 127 && jta > 32 && jta < 127)
 return vta;
 }
 else
 {
 var kta = tta.charCodeAt(0);
 if (kta > 32 && kta < 127)
 {
 return vta;
 }
 }
 }
 }
 }
 else
 {
 if (allowImg == true && rta == false && vta.nodeType == 1 && vta.tagName.toLowerCase() == "img")
 {
 var Dua = vta.getAttribute("msg");
 if (Dua != null && Dua.length > 0)
 {
 if (bGoByStyle)
 {
 dta = vta;
 }
 else
 {
 return vta;
 }
 }
 }
 }
 rta = false;
 if (bGoByStyle && vta.nodeType == 1 && Rga(vta) == false)
 {
 break;
 }
 if (vta.nodeType == 1 && vta.firstChild != null)
 {
 vta = vta.firstChild;
 }
 else
 {
 if (vta.nextSibling != null)
 {
 vta = vta.nextSibling;
 }
 else
 {
 vta = vta.parentNode;
 if ((bGoByStyle && Rga(vta) == false)
 || vta == Ksa)
 {
 break;
 }
 while (vta != null && vta.nextSibling == null)
 {
 vta = vta.parentNode;
 if ((bGoByStyle && Rga(vta) == false)
 || vta == Ksa)
 {
 vta = null;
 break;
 }
 }
 if (vta == null)
 {
 break;
 }
 vta = vta.nextSibling;
 }
 }
 }
 if (bGoByStyle)
 {
 return dta;
 }
 else
 {
 return null;
 }
}
;


function tga(Zua, Ksa)
{
 var vta = Zua;
 var rta = true;
 while (vta != null)
 {
 if (vta == Ksa)
 {
 if (Ksa.nodeType == 3)
 {
 return vta;
 }
 break;
 }

 if (rta == false && vta.nodeType == 3 &&
 Uga(vta.parentNode, true) == false &&
 vta.parentNode.tagName.toLowerCase() != "textarea")
 {
 var tta = vta.nodeValue;
 tta = tta.trimTH();
 if (tta.length > 0)
 {

 return vta;

 }
 }
 rta = false;


 if (vta.nodeType == 1 && vta.firstChild != null)
 {
 vta = vta.firstChild;
 }
 else
 {
 if (vta.nextSibling != null)
 {
 vta = vta.nextSibling;
 }
 else
 {
 vta = vta.parentNode;
 if (vta == Ksa)
 {
 break;
 }

 while (vta != null && vta.nextSibling == null)
 {
 vta = vta.parentNode;
 if (vta == Ksa)
 {
 vta = null;
 break;
 }
 }
 if (vta == null)
 {
 break;
 }
 vta = vta.nextSibling;
 }
 }
 }

 return null;
}
;


function xga(Zua, Ksa)
{
 var vta = Zua;
 var rta = true;
 while (vta != null)
 {
 if (vta == Ksa)
 {
 if (Ksa.nodeType == 3)
 {
 return vta;
 }
 break;
 }

 if (rta == false && vta.nodeType == 3 &&
 Uga(vta.parentNode, true) == false &&
 vta.parentNode.tagName.toLowerCase() != "textarea")
 {
 var tta = vta.nodeValue;
 if (tta.length > 0)
 {
 return vta;
 }
 }
 rta = false;

 if (vta.nodeType == 1 && vta.firstChild != null)
 {
 vta = vta.firstChild;
 }
 else
 {
 if (vta.nextSibling != null)
 {
 vta = vta.nextSibling;
 }
 else
 {
 vta = vta.parentNode;
 if (vta == Ksa)
 {
 break;
 }

 while (vta != null && vta.nextSibling == null)
 {
 vta = vta.parentNode;
 if (vta == Ksa)
 {
 vta = null;
 break;
 }
 }
 if (vta == null)
 {
 break;
 }
 vta = vta.nextSibling;
 }
 }
 }

 return null;
}
;


function Cha(Zua)
{
 var uta = cga(Zua, true, true);
 var vta = lga(Zua, true, null, true);
 return Dha(uta, vta);
};


function Dha(uta, vta)
{
 var Hua = "";
 var zta = uta;
 while (zta != null)
 {
 if (zta.nodeType == 3)
 {
 if (zta.nodeValue.trimTH().length > 0)
 {
 var parent = zta.parentNode;
 var Aua = parent.tagName.toLowerCase();
 if (Aua == "span" && parent.getAttribute("pron") != null)
 {
 var Bua = parent.getAttribute("pron");
 Hua += (Jga(zta) + ":" + Bua.length + ";" + Bua + ";");
 }
 else if( (Aua == "acronym"|| Aua == "abbr") && parent.getAttribute("title") != null)
 {
 var Cua = parent.getAttribute("title");
 Hua += Jga(zta) + ":" + Cua.length + ";" + Cua + ";";
 }
 else
 {
 Hua += (Jga(zta) + ":" + zta.nodeValue.length + ";" + zta.nodeValue + ";");
 }
 }
 }
 else
 {
 if (zta.nodeType == 1 && zta.tagName.toLowerCase() == "img")
 {
 var Dua = zta.getAttribute("msg");
 if (Dua != null && Dua.length > 0)
 {
 Hua += (Jga(zta) + ":" + Dua.length + ";" + Dua.toString() + ";");
 }
 }
 }
 if (zta == vta)
 {
 break;
 }
 zta = lga(zta, false, vta, true);
 }
 if (Hua.indexOf("#^th*") != -1)
 {
 Hua = "[[~chunk~]]" + Hua;
 }
 return Hua;
}
;

function Kha(Zua)
{
 var Eua = "";
 if (Zua.nodeType == 3)
 {
 Eua = Zua.nodeValue;
 }
 else if (Zua.nodeType == 1)
 {
 var Gua = Zua.firstChild;
 while (Gua != null)
 {
 if (Gua.nodeType == 3)
 {
 Eua += Gua.nodeValue;
 }
 else if (Gua.nodeType == 1)
 {
 Eua += Kha(Gua);
 }
 Gua = Gua.nextSibling;
 }
 }
 return Eua;
}
;

function Pha(Zua)
{
 var Hua = null;
 var Iua = Zua.tagName.toLowerCase();
 var Jua = Jga(Zua);
 if (Iua == "input")
 {
 var Lua = Zua.getAttribute("type");
 if (Lua != null)
 {
 Lua = Lua.toLowerCase();
 }
 var Sua = "";
 if (Lua == null || Lua.equalsTH("") || Lua.equalsTH("text"))
 {
 Sua = Zua.value;
 }
 else if (Lua.equalsTH("password"))
 {
 Sua = "Masked password field"
 }
 else if (Lua.equalsTH("image"))
 {
 Sua = "";
 }
 else if (Lua.equalsTH("button") || Lua.equalsTH("submit") || Lua.equalsTH("reset"))
 {
 Sua = Zua.getAttribute("value");
 }
 if (Sua.equalsTH("") == false)
 {
 Hua = "form:" + Jua + ";" + Sua;
 }
 }
 else if (Iua == "select")
 {
 var Sua = "";
 var Oua = Zua.selectedIndex;
 var Pua = "";
 for (var Qua = 0; Qua < Zua.options.length; Qua++)
 {
 Pua += Zua.options[Qua].text + " ";
 }
 if (Pua.equalsTH("") == false)
 {
 if (Oua > -1)
 {
 Sua = Zua.options[Oua].text;
 Sua += " selected from the list " + Pua;
 }
 else
 {
 Sua = "No selection from the list " + Pua;
 }
 Hua = "form" + Jua + ";" + Sua;
 }
 }
 else if (Iua == "textarea")
 {
 var Sua = Zua.value;
 Hua = "form" + Jua + ";" + Sua;
 }
 else if (Iua == "option")
 {
 var Sua = Zua.value;
 Hua = "form" + Jua + ";" + Sua;
 }
 return Hua;
}
var aTmpVarToHoldBodyRef = null;

function reenableMouseOverTH(aTmpVarToHoldBodyRef)
{
 aTmpVarToHoldBodyRef.setAttribute("onMouseOver", "top.doMouseOverTH(event)");
}


function eha(Toa, Csa)
{
 var x = 0;
 var y = 0;
 var lma = Csa;
 var pla = "Offset parent is " + lma.offsetParent;
 while (lma != null)
 {
 pla += " y=" + y;
 x = x + lma.offsetLeft;
 y = y + lma.offsetTop;
 pla += " | after " + lma + " y=" + y;
 lma = lma.offsetParent
 }
 var fha;
 var gha;
 var hha;
 var iha;
 var jha = 30;
 if (Csa.nodeType == 3)
 {
 jha = 10 + 5 * Csa.nodeValue.length;
 if (jha > 60)
 {
 jha = 60;
 }
 }
 fha = Toa.pageXOffset;
 gha = Toa.pageYOffset;
 hha = Toa.innerWidth - jha;
 iha = Toa.innerHeight - 20;
 var kha;
 var lha;
 kha = (x < fha || x > (fha + hha));
 lha = (y < gha || y > (gha + iha));
 if (kha || lha)
 {
 Hga = true;
 if (x > (fha + hha))
 {
 x = (x + fha) / 2;
 }
 if (y > (gha + iha))
 {
 y = (y + gha) / 2;
 }
 aTmpVarToHoldBodyRef = Zua.ownerDocument.body;
 aTmpVarToHoldBodyRef.setAttribute("onMouseOver", "");
 Toa.scrollTo((kha?x:fha), (lha?y:gha));
 var mha = setTimeout("reenableMouseOverTH(aTmpVarToHoldBodyRef)", 500);
 }
}
;
function nha(Zua)
{
 Hia();
 if (document.getElementsByTagName("frameset").item(0) != null)
 {
 var oha = document.getElementsByTagName("frameset").item(0);
 oha.removeAttribute("thSafariReaderDetails");
 oha.removeAttribute("thSafariReaderAutoDetails");
 oha.removeAttribute("thSafariReaderFlag");
 }
 else
 {
 document.body.removeAttribute("thSafariReaderDetails");
 document.body.removeAttribute("thSafariReaderAutoDetails");
 document.body.removeAttribute("thSafariReaderFlag");
 }
}
;

function rha(theFrameSet, strLoc)
{
 var Moa = theFrameSet.document;
 if (Moa != null)
 {
 var yra = Moa.body;
 if (yra != null)
 {
 wha(theFrameSet, strLoc + ".");
 }
 }
 var Cia;
 var size = theFrameSet.frames.length;
 for (var i = 0; i < size; i += 1)
 {
 var Lia = theFrameSet.frames[i];
 Cia = strLoc + ".frames[" + i + "]";
 rha(Lia, Cia);
 }
}
;

function wha(aWindow, baseLoc)
{
 aWindow.String.prototype.trimTH = function()
 {
 return this.replace(/^[\s\xA0]+/, "").replace(/[\s\xA0]+$/, "");
 };
 aWindow.String.prototype.equalsTH = function(s)
 {
 if (this.length != s.length)
 {
 return false;
 }
 for (var i = 0; i < this.length; i += 1)
 {
 if (this.charAt(i) != s.charAt(i))
 {
 return false;
 }
 }
 return true;
 };
 var yra = aWindow.document.body;
 var zha = yra.getAttribute("onMouseOver");
 var Aia = yra.getAttribute("onClick");
 var Bia = yra.getAttribute("onUnload");
 if (typeof zha == 'function')
 {
 aWindow.onmouseover = function(event)
 {
 zha(event);
 top.doMouseOverTH(event);
 };
 }
 else
 {
 aWindow.onmouseover = function(event)
 {
 top.doMouseOverTH(event);
 }
 }
 if (typeof Aia == 'function')
 {
 aWindow.onclick = function(event)
 {
 Aia(event);
 top.doMouseClickTH(event);
 };
 }
 else
 {
 aWindow.onclick = function(event)
 {
 top.doMouseClickTH(event);
 }
 }
 if (typeof Bia == 'function')
 {
 aWindow.onunload = function()
 {
 Bia();
 top.nha();
 };
 }
 else
 {
 aWindow.onunload = function()
 {
 top.nha();
 }
 }
 var Cia = baseLoc + "document.body";
 yra.setAttribute("body_loc", Cia);
}
;

function Fia(lma)
{
 var Dia = 0;
 if (lma)
 {
 if (lma.offsetParent)
 {
 while (lma.offsetParent)
 {
 Dia += lma.offsetLeft;
 lma = lma.offsetParent;
 if (lma.offsetParent == null)
 {
 Dia += lma.offsetLeft;
 }
 }
 }
 else if (lma.offsetLeft)
 {
 Dia += lma.offsetLeft;
 }
 }
 return Dia;
}
;
function Gia(lma)
{
 var Eia = 0;
 if (lma)
 {
 if (lma.offsetParent)
 {
 while (lma.offsetParent)
 {
 Eia += lma.offsetTop;
 lma = lma.offsetParent;
 if (lma.offsetParent == null)
 {
 Eia += lma.offsetTop;
 }
 }
 }
 else if (lma.offsetTop)
 {
 Eia += lma.offsetTop;
 }
 }
 return Eia;
}
;

function Hia()
{
 setSpeechDetailsTH("");
 setSpeechAutoDetailsTH("");
 if (document.getElementsByTagName("frameset").item(0) != null)
 {
 Mia(top);
 }
 else
 {
 var yra = document.body;
 Nia(yra);
 }
}
;

function Mia(theFrameSet)
{
 var size = theFrameSet.frames.length;
 for (var i = 0; i < size; i += 1)
 {
 var Lia = theFrameSet.frames[i];
 if (Lia.length == 0)
 {
 Nia(Lia.document.body);
 Lia.String.prototype.trimTH = function()
 {
 return this.replace(/^[\s\xA0]+/, "").replace(/[\s\xA0]+$/, "");
 };
 Lia.String.prototype.equalsTH = function(s)
 {
 if (this.length != s.length)
 {
 return false;
 }
 for (i = 0; i < this.length; i += 1)
 {
 if (this.charAt(i) != s.charAt(i))
 {
 return false;
 }
 }
 return true;
 };
 }
 else
 {
 rha(Lia);
 }
 }
}
;

function Nia(Zua)
{
 if (Zua == null)
 {
 return;
 }
 if (Zua.nodeType == 1)
 {
 if (Zua.tagName.toLowerCase() == ("font") && Zua.getAttribute("started") == "1")
 {
 var Eua = Kha(Zua);
 var Moa = Zua.ownerDocument;
 var Roa = Moa.createTextNode(Eua);
 Zua.parentNode.replaceChild(Roa, Zua);
 }
 else
 {
 var Ria = Zua.firstChild;
 while (Ria != null)
 {
 var Sia = Ria;
 Ria = Ria.nextSibling;
 Nia(Sia);
 }
 }
 }
}
;

function Via(a)
{
}
;
function Wia(pla)
{
 var Tia = 150;
 if (pla.length > Tia)
 {
 while (pla.length > Tia)
 {
 var oma = pla.substring(0, Tia);
 pla = pla.substring(Tia);
 Rpa(oma);
 }
 }
 else
 {
 Rpa(pla);
 }
}
;



String.prototype.trimTH = function()
{
 return this.replace(/^[\s\xA0]+/, "").replace(/[\s\xA0]+$/, "");
};
String.prototype.trimStartTH = function()
{
 return this.replace(/^[\s\xA0]+/, "");
};
String.prototype.trimEndTH = function()
{
 return this.replace(/[\s\xA0]+$/, "");
};
String.prototype.equalsTH = function(s)
{
 if (this.length != s.length)
 {
 return false;
 }
 for (var i = 0; i < this.length; i += 1)
 {
 if (this.charAt(i) != s.charAt(i))
 {
 return false;
 }
 }
 return true;
};





function aia(p_startNode, p_endNode)
{
 var bia = new Array();
 var Zua = p_startNode;
 while (Zua != null)
 {
 bia.push(Zua);

 if (Zua == p_endNode)
 {
 break;
 }
 Zua = tga(Zua, p_endNode);
 }
 return bia;
}



function dia(p_range)
{
 p_range.refresh();
 var bia = aia(p_range.Zla.node, p_range.ala.node);
 var pla = "";
 for (var i = 0; i < bia.length; i++)
 {
 pla += bia[i].nodeValue;
 }
 return pla;
}



function gia(p_theBody, p_strPath, p_nPos)
{
 try
 {
 
 var Csa = p_theBody;
 if (p_strPath.lastIndexOf("*") > -1)
 {
 var Kta = p_strPath.lastIndexOf("*");
 p_strPath = p_strPath.substring(Kta + 1);
 }

 var Fsa = p_strPath.split("~");
 var Gsa = Fsa.length;
 var i;
 for (i = Gsa - 2; i > -1; i--)
 {
 Csa = Csa.firstChild;

 var Isa;
 if (Fsa[i].length == 0)
 {
 Isa = 0;
 }
 else
 {
 Isa = parseInt(Fsa[i]);
 }
 while (Isa > 0)
 {
 Csa = Csa.nextSibling;
 --Isa;
 }
 }

 var eua = 0;
 if(p_nPos > -1)
 {
 
 
 
 var Ksa = Csa.parentNode;
 var Lsa = false;
 while (Lsa == false)
 {
 if (Csa.nodeType == 3)
 {
 
 if (p_nPos < (eua + Csa.nodeValue.length))
 { 
 
 Lsa = true;
 break;
 }
 eua += Csa.nodeValue.length;
 }
 Csa = xga(Csa, Ksa);

 
 if (Csa == null || Csa == Ksa)
 {
 return null;
 }
 }
 }
 
 return new THCaret(Csa, p_nPos - eua);
 }
 catch(err)
 { 
 Rpa("error " + err);
 return null;
 }
}










function rw_setHighlight(p_startNode, p_startOffset, p_endNode, p_endOffset, p_strColour)
{ 
 if(p_startNode.nodeType != 3) alert("bad node sent to rw_setHighlight!");
 if(p_endNode.nodeType != 3) alert("bad node sent to rw_setHighlight!");
 
 var qia = p_startNode;
 var ria = p_endNode;
 var result = null;
 if (p_endNode == p_startNode)
 {
 result = rw_setNodeBackground(p_startNode, p_startOffset, p_endOffset, "ss", p_strColour);
 qia = result.node;
 ria = result.node;
 }
 else
 {
 
 if (p_startOffset > 0)
 {
 result = rw_setNodeBackground(p_startNode, p_startOffset, p_startNode.nodeValue.length, "ss", p_strColour);
 }
 else
 {
 result = rw_setNodeBackground(p_startNode, -1, -1, "ss", p_strColour);
 }
 qia = result.node;

 
 var Zua = tga(result.node, p_endNode);
 while (Zua != null)
 {
 if (Zua == p_endNode)
 {
 result = rw_setNodeBackground(Zua, 0, p_endOffset, "ss", p_strColour);
 Zua = result.node;
 ria = Zua;
 break;
 }
 else
 {
 result = rw_setNodeBackground(Zua, -1, -1, "ss", p_strColour);
 Zua = result.node;
 }
 ria = Zua;
 
 Zua = tga(Zua, p_endNode);
 }
 }
 return {start: qia, end:ria};
}


function Cja(p_arr)
{
 if (p_arr == null || (p_arr instanceof Array) == false || p_arr.length == 0)
 {
 return;
 }
 var joa = 0;
 var ioa = p_arr[0];
 var Wja = 0;
 var Ksa = p_arr[p_arr.length - 1];

 for (var i = 0; i < p_arr.length; i++)
 {
 var Sta = p_arr[i];
 if (Eja(Sta))
 {
 var Noa = Sta.parentNode;
 var Oja = Noa.parentNode;
 Oja.replaceChild(Sta, Noa);
 Oja.normalize();
 

 p_arr[i] = Sta;
 }
 }
}


function Eja(p_node)
{
 if (p_node.nodeType != 3 || p_node.parentNode == null || p_node.parentNode.parentNode == null)
 {
 return false;
 }

 var parent = p_node.parentNode;
 var Zra = parent.getAttribute("rwstate");

 if (parent.tagName.toLowerCase() != "font" || Zra == null || Zra != "ss")
 {
 return false;
 }
 return true;
}




 
function Pja(p_arr, p_bWord)
{
 if(p_bWord==undefined)p_bWord=false;
 if (p_arr == null || (p_arr instanceof Array) == false || p_arr.length == 0)
 {
 return;
 }
 var joa = 0;
 var ioa = p_arr[0];
 var Wja = 0;
 var Ksa = p_arr[p_arr.length - 1];

 for (var i = 0; i < p_arr.length; i++)
 {
 var Sta = p_arr[i];
 
 if (Rja(Sta, p_bWord))
 {
 var Noa = Sta.parentNode;
 if(Sta.nextSibling != null || Sta.previousSibling != null)
 { 
 var Eua = Xsa(Noa); 
 var Moa = Noa.ownerDocument;
 Sta = Moa.createTextNode(Eua);
 }

 var Oja = Noa.parentNode;
 Oja.replaceChild(Sta, Noa);
 Oja.normalize();
 

 }
 }
}


function Rja(p_node, p_bWord)
{
 if (p_node.nodeType != 3 || p_node.parentNode == null || p_node.parentNode.parentNode == null)
 {
 return false;
 }

 var parent = p_node.parentNode;
 var Zra = parent.getAttribute("rwstate");

 if (parent.tagName.toLowerCase() == "font" && Zra != null)
 { 
 if((p_bWord == false && Zra == "sp") || Zra == "csp")
 {
 return true;
 }

 }
 return false;
}


function Xja()
{
 try
 {
 if (Nma == null || Nma.length == 0 || Nma[0].length == 0)
 {
 return;
 }
 var ioa = Nma[0][0].node;
 var joa = Nma[0][0].pos;
 var Uja = Nma[Nma.length - 1];
 var Ksa = Uja[Uja.length - 1].node;
 var Wja = Uja[Uja.length - 1].endPos;

 Zja(ioa, joa, Ksa, Wja, "sp");
 }
 catch(err)
 {
 Rpa(err.message);
 }
}



function Zja(p_startNode, p_startOffset, p_endNode, p_endOffset, p_strState)
{
 
 if (p_endNode == p_startNode)
 {
 var result = rw_setNodeBackground(p_startNode, p_startOffset, p_endOffset, p_strState, "");
 vka(p_startNode, result.node, result.offset);
 return;
 }

 var result;
 
 if (p_startOffset > 0)
 {
 result = rw_setNodeBackground(p_startNode, p_startOffset, p_startNode.nodeValue.length, p_strState, "");
 }
 else
 {
 result = rw_setNodeBackground(p_startNode, -1, -1, p_strState, "");
 }
 vka(p_startNode, result.node, result.offset);


 
 var Zua = tga(result.node, p_endNode);
 while (Zua != null)
 {
 if (Zua == p_endNode)
 {
 result = rw_setNodeBackground(Zua, 0, p_endOffset, p_strState, "");
 vka(Zua, result.node, result.offset);
 Zua = result.node;
 break;
 }
 else
 {
 result = rw_setNodeBackground(Zua, -1, -1, p_strState, "");
 vka(Zua, result.node, result.offset);
 Zua = result.node;
 }
 if (Zua == p_endNode)
 {
 break;
 }
 Zua = tga(Zua, p_endNode);
 }
}


function cja()
{
 if (Nma == null || Nma.length == 0 || Nma[0].length == 0)
 {
 return;
 }

 Rpa("start remove");
 var i = 0;
 var hma = 0;
 var Gsa = Nma.length;
 for (i = 0; i < Gsa; i++)
 {
 var jma = Nma[i];
 var kma = jma.length;
 for (hma = 0; hma < kma; hma++)
 {
 Rpa("remove " + i + " " + hma);
 var lma = jma[hma].node;

 var Moa = lma.ownerDocument;
 
 var Noa = lma.parentNode;
 if (Noa == null)
 { 
 continue;
 }
 var Tka = "";

 if (Noa.tagName.toLowerCase() == "font")
 {
 Tka = Noa.getAttribute("rwstate");
 }

 if (Tka == null)
 {
 Rpa("null state");
 }
 if (Tka == "csp")
 { 
 var Eua = Kha(Noa);
 var zta = Noa;
 Noa = Noa.parentNode;
 if (Noa == null)
 {
 continue;
 }
 
 var Oka = Moa.createTextNode(Eua);
 Noa.replaceChild(Oka, zta);

 
 Tka = "";
 if (Noa.tagName.toLowerCase() == "font")
 {
 Tka = Noa.getAttribute("rwstate");
 }
 }

 if (Tka == "sp")
 { 
 Rpa("remove sp");
 var Eua = Kha(Noa);
 Rpa("text = " + Eua);
 var zta = Noa;
 Noa = Noa.parentNode;
 if (Noa == null)
 {
 continue;
 }

 
 var aua = zta.previousSibling;
 while(aua != null && aua.nodeType == 3)
 {
 Eua = aua.nodeValue + Eua;
 Noa.removeChild(aua);
 aua = zta.previousSibling;
 }

 var bua = zta.nextSibling;
 while(bua != null && bua.nodeType == 3)
 {
 Eua = Eua + bua.nodeValue;
 Noa.removeChild(bua);
 bua = zta.nextSibling;
 }

 Rpa("make new node");
 
 var Oka = Moa.createTextNode(Eua);

 Noa.replaceChild(Oka, zta);
 Rpa("after remove");

 
 
 }
 }
 }
 Nma = new Array();
}






function uja(p_nPos)
{
 Rpa("****start****");
 if (Nma == null || Nma.length == 0 || Nma[0].length == 0
 || p_nPos < 0 || p_nPos >= Nma.length)
 {
 Rpa("failed");
 return;
 }

 var zka = Nma[p_nPos];

 var Gsa = zka.length;
 var i;

 for (i = 0; i < Gsa; i++)
 {
 try
 {
 var bookmark = zka[i];
 var Csa = bookmark.node;
 var Wpa = bookmark.pos;
 var Xpa = bookmark.endPos;

 

 
 if (Csa.nodeType != 3)
 { 
 Rpa("hits element");
 continue;
 }

 var Cka = Csa.nodeValue.length;
 var result;
 if (Wpa > 0 || Xpa < Cka)
 {
 if (Wpa < 0)
 {
 Wpa = 0;
 }
 if (Xpa < 0 || Xpa > Cka)
 {
 Xpa = Cka;
 }

 
 result = rw_setNodeBackground(Csa, Wpa, Xpa, "csp", "");
 }
 else
 {
 
 result = rw_setNodeBackground(Csa, -1, -1, "csp", "");
 }

 
 

 vka(Csa, result.node, result.offset);
 }
 catch(err)
 {
 Rpa(err.toString());
 }
 }


 
 

 

 Rpa("**** end ****");
}



function Kka(p_nPos)
{
 if (Nma == null || Nma.length == 0 || Nma[0].length == 0
 || p_nPos < 0 || p_nPos >= Nma.length)
 {
 return;
 }

 var hma = 0;
 var jma = Nma[p_nPos];
 if (jma == null)
 {
 return;
 }
 var kma = jma.length;
 for (hma = 0; hma < kma; hma++)
 {
 var lma = jma[hma].node;
 if (lma == null)
 {
 return;
 }
 var Moa = lma.ownerDocument;
 if (Moa == null)
 {
 return;
 }
 
 var Noa = lma.parentNode;
 if (Noa == null)
 {
 Rpa("continue");
 continue;
 }
 if (Noa.tagName.toLowerCase() == "font")
 {
 var Tka = Noa.getAttribute("rwstate");
 if (Tka == "csp")
 { 
 var Eua = Kha(Noa);
 var zta = Noa;
 Noa = Noa.parentNode;
 
 var Oka = Moa.createTextNode(Eua);
 if (Oka == null || Noa == null)
 {
 Rpa(Oka + " " + Noa);
 return;
 }
 Noa.replaceChild(Oka, zta);
 vka(lma, Oka, -1);
 }
 }
 }

}


function Pka()
{
 this.node = null;
 this.offset = 0;
}


function rw_setNodeBackground(p_textNode, p_nStartPt, p_nEndPt, p_state, p_strCol)
{
 
 var oka = new Pka();
 oka.node = p_textNode;
 oka.offset = p_nStartPt;
 if (p_textNode.nodeType != 3)
 { 
 return oka;
 }
 
 var Moa = p_textNode.ownerDocument;
 var Noa = p_textNode.parentNode;
 var Tka = null;
 if (Noa.tagName.toLowerCase() == "font")
 {
 Tka = Noa.getAttribute("rwstate");
 }

 
 if (p_state == "ss")
 {
 if(Tka == null || Tka == "")
 { 
 oka = bka(Noa, p_textNode, p_nStartPt, p_nEndPt, p_state, p_strCol);
 }
 else if (Tka == "ss")
 { 
 return oka;
 }
 else
 { 
 return oka;
 }
 }
 else if (p_state == "sp")
 {
 if (Tka == "csp")
 {
 
 Rpa("fail in rw_setNodeBackground setting sp to csp");
 return oka;
 

 
 var Eua = Kha(Noa);
 var zta = Noa;
 Noa = Noa.parentNode;

 
 p_textNode = Moa.createTextNode(Eua);
 Noa.replaceChild(p_textNode, zta);

 
 Tka = "";
 if (Noa.tagName.toLowerCase() == "font")
 {
 Tka = Noa.getAttribute("rwstate");
 }
 }

 if (Tka == "sp")
 {

 
 Rpa("fail in rw_setNodeBackground setting sp to sp");
 return oka;
 

 
 var Eua = Kha(Noa);
 var zta = Noa;
 Noa = Noa.parentNode;

 
 p_textNode = Moa.createTextNode(Eua);
 Noa.replaceChild(p_textNode, zta);
 }

 
 
 oka = bka(Noa, p_textNode, p_nStartPt, p_nEndPt, p_state, "");
 }
 else if (p_state == "csp")
 {
 
 if (Tka == "csp")
 {
 Rpa("fail parent is csp for csp");
 return oka;

 
 
 var Eua = Kha(Noa);
 var zta = Noa;
 Noa = Noa.parentNode;

 
 p_textNode = Moa.createTextNode(Eua);
 Noa.replaceChild(p_textNode, zta);

 
 Tka = "";
 if (Noa.tagName.toLowerCase() == "font")
 {
 Tka = Noa.getAttribute("rwstate");
 }
 }

 if (Tka == "sp")
 {
 
 oka = bka(Noa, p_textNode, p_nStartPt, p_nEndPt, p_state, "");
 }
 else
 { 
 }
 }
 else
 { 
 }
 return oka;
}


function bka(p_parentNode, p_textNode, p_nStartPt, p_nEndPt, p_state, p_strCol)
{
 
 
 if (p_nEndPt == -1 || p_nEndPt > p_nStartPt)
 { 

 var Moa = p_parentNode.ownerDocument;
 var dka = false;
 if (p_nStartPt == -1 && p_nEndPt == -1)
 {
 dka = true;
 }
 else if (p_nEndPt == -1)
 {
 p_nEndPt = p_textNode.nodeValue.length;
 }

 if (p_nStartPt == 0 && p_nEndPt >= p_textNode.nodeValue.length)
 {
 dka = true;
 }

 var eka;
 if (p_state == "ss")
 {
 eka = "background:" + p_strCol;
 }
 else if (p_state == "sp")
 {
 eka = "color:#000000; background:#FFFF00";
 }
 else if (p_state == "csp")
 {
 eka = "color:#FFFFFF; background:#0000FF";
 }
 else
 {
 eka = "color:#ff000; background:#00ff00";
 }

 if (dka)
 {
 var kka = Moa.createElement("font");

 if(Nba)
 { 
 kka.style.setAttribute("cssText", eka, 0);
 kka.setAttribute("rwstate", p_state);
 kka.setAttribute("started", "1");
 }
 else
 {
 kka.setAttribute("STYLE", eka);
 kka.setAttribute("rwstate", p_state);
 kka.setAttribute("started", "1");
 }


 
 
 p_parentNode.replaceChild(kka, p_textNode);
 kka.appendChild(p_textNode);
 
 }
 else
 {
 var Eua = p_textNode.nodeValue;
 var hka;
 var ika;
 var jka;
 if (p_parentNode.tagName.toLowerCase() == "span" && p_parentNode.getAttribute("pron") != null)
 {
 hka = "";
 ika = Eua;
 jka = "";
 }
 else
 {
 hka = Eua.substring(0, p_nStartPt);
 ika = Eua.substring(p_nStartPt, p_nEndPt);
 jka = Eua.substring(p_nEndPt);
 }
 var kka = Moa.createElement("font");
 if(Nba)
 { 
 kka.style.setAttribute("cssText", eka, 0);
 kka.setAttribute("rwstate", p_state);
 kka.setAttribute("started", "1");
 }
 else
 {
 kka.setAttribute("STYLE", eka);
 kka.setAttribute("rwstate", p_state);
 kka.setAttribute("started", "1");
 }
 

 var lka = null;
 var Roa = null;
 var nka = null;

 if (hka.length > 0)
 {
 lka = Moa.createTextNode(hka);
 }
 Roa = Moa.createTextNode(ika);
 if (jka.length > 0)
 {
 nka = Moa.createTextNode(jka);
 }
 kka.appendChild(Roa);

 p_parentNode.replaceChild(kka, p_textNode);
 if (lka != null)
 {
 p_parentNode.insertBefore(lka, kka);
 }
 if (nka != null)
 {
 if (kka.nextSibling == null)
 {
 p_parentNode.insertBefore(nka, null);
 
 }
 else
 {
 p_parentNode.insertBefore(nka, kka.nextSibling);
 }

 }

 
 p_textNode = Roa;
 }
 }

 var oka = new Pka();
 oka.node = p_textNode;
 if (p_nStartPt < 0)
 {
 oka.offset = 0;
 }
 else
 {
 oka.offset = p_nStartPt;
 }
 return oka;
}



function vka(p_oldNode, p_newNode, p_nOffset)
{
 if (p_oldNode == p_newNode && p_nOffset == 0)
 { 
 return;
 }

 
 var i = 0;
 var hma = 0;
 var yka = Nma.length;
 for (i = 0; i < yka; i++)
 {
 var zka = Nma[i];
 var kma = zka.length;
 for (hma = 0; hma < kma; hma++)
 {
 var bookmark = zka[hma];
 if (bookmark.node == p_oldNode)
 {
 
 if (p_nOffset == -1)
 { 
 bookmark.node = p_newNode;
 }
 else
 {
 if (bookmark.pos < p_nOffset)
 {
 bookmark.node = p_newNode.parentNode.previousSibling;
 }
 else if (bookmark.pos < p_nOffset + p_newNode.nodeValue.length)
 {
 bookmark.node = p_newNode;
 bookmark.pos = bookmark.pos - p_nOffset;
 bookmark.endPos = bookmark.endPos - p_nOffset;
 }
 else
 {
 bookmark.node = p_newNode.parentNode.nextSibling;
 bookmark.pos = bookmark.pos - p_nOffset - p_newNode.nodeValue.length;
 bookmark.endPos = bookmark.endPos - p_nOffset - p_newNode.nodeValue.length;
 }
 }
 }
 }
 }
}


function Hla(p_parentNode)
{
 
 var i = 0;
 var hma = 0;
 var yka = Nma.length;

 for (i = 0; i < yka; i++)
 {
 var zka = Nma[i];
 var kma = zka.length;
 for (hma = 0; hma < kma; hma++)
 {
 var bookmark = zka[hma];
 var Zua = bookmark.node;

 
 if (Zua.parentNode == p_parentNode ||
 (Zua.parentNode != null && Zua.parentNode.parentNode == p_parentNode))
 {
 var zta = Zua.previousSibling;
 while (zta != null)
 {
 if (zta.nodeType == 3)
 {
 var Gsa = zta.nodeValue.length;
 bookmark.pos = bookmark.pos + Gsa;
 bookmark.endPos = bookmark.endPos + Gsa;
 }
 

 zta = zta.previousSibling;
 }
 }

 if (Zua.parentNode != null && Zua.parentNode.parentNode == p_parentNode)
 {
 var zta = Zua.parentNode.previousSibling;
 while (zta != null)
 {
 if (zta.nodeType == 3)
 {
 var Gsa = zta.nodeValue.length;
 bookmark.pos = bookmark.pos + Gsa;
 bookmark.endPos = bookmark.endPos + Gsa;
 }
 

 zta = zta.previousSibling;
 }
 }

 if (Zua.parentNode == p_parentNode ||
 (Zua.parentNode != null && Zua.parentNode.parentNode == p_parentNode))
 {
 bookmark.node = p_parentNode;
 }
 }
 }
}








function Kla(p_firstNode, p_secondNode)
{
 if (p_firstNode == p_secondNode)
 {
 return 0;
 }
 var Ila = Opa();
 Ila.setStart(p_firstNode, 0);
 Ila.setEnd(p_firstNode, 0);

 var Jla = Opa();
 Jla.setStart(p_secondNode, 0);
 Jla.setEnd(p_secondNode, 0);
 return (Ila.compareBoundaryPoints("START_TO_START", Jla));
}






var Lla = new Array();
var Mla = new Array();


function Wla(objRangeColor)
{
 try
 {
 var Nla = null;
 var Ola = true;

 
 var ppa = Voa();
 if (ppa == null || ppa.range == null
 || ppa.range instanceof String) return;

 var qma = ppa.range;

 if (document.selection)
 {
 
 Nla = kpa(qma);

 
 if (Nla.length == 0)
 {
 return false;
 }

 rna();

 
 
 for (var una = 0; una < Lla.length; una++)
 {
 

 var Sla = Lla[una];

 var Tla = qma.duplicate();
 Tla.collapse(true);
 var Ula = Sla.inRange(Tla);

 Tla = qma.duplicate();
 Tla.collapse(false);
 var Vla = Sla.inRange(Tla);

 if (Ula && Vla)
 { 
 ela(una, qma);
 }
 else if (!Ula && Vla)
 { 
 gla(una, qma);
 }
 else if (Ula && !Vla)
 { 
 ila(una, qma);
 }
 else if (qma.inRange(Sla))
 { 
 Lla.splice(una, 1);
 Mla.splice(una, 1);

 una--;
 }
 }
 }
 else if (qma.toString)
 { 
 if (qma == null || qma.toString() == null
 || qma.toString() == "")
 {
 return;
 }
 
 
 
 
 
 for (var una = 0; una < Lla.length; una++)
 {
 
 var Yla = Lla[una];




 
 }
 }
 else
 {
 return;
 }


 
 if (Ola)
 {
 if (qma.execCommand)
 { 
 qma.execCommand("backcolor", false, "clear");
 qma.execCommand("backcolor", false, objRangeColor);
 }
 else
 { 
 var Zla = qma.Zla;
 var ala = qma.ala;
 var result = rw_setHighlight(Zla.node, Zla.offset,
 ala.node, ala.offset, objRangeColor);
 }
 Lla.push(qma);
 Mla.push(objRangeColor);
 }

 
 mpa();

 return true;
 }
 catch (exc)
 {
 alert("Error in method: " + exc.name + " " + exc.message + " " + exc.description + " " + exc.toString());
 return false;
 }
}




function ela(Kta, qma)
{
 var Fna = Lla[Kta].duplicate();
 var Gna = Lla[Kta].duplicate();
 Fna.collapse(true);
 Gna.collapse(false);

 while (Fna.compareEndPoints("EndToStart", qma) < 0)
 { 
 Fna.moveEnd("character", 1);
 }

 while (Gna.compareEndPoints("StartToEnd", qma) > 0)
 {
 Gna.moveStart("character", -1);
 }

 Lla[Kta].execCommand("backcolor", false, "clear");
 Lla[Kta] = Fna;
 Lla[Kta].execCommand("backcolor", false, Mla[Kta]);

 Lla.push(Gna);
 Mla.push(Mla[Kta]);

 Gna.execCommand("backcolor", false, Mla[Kta]);
}


function gla(Kta, qma)
{
 var Gna = Lla[Kta].duplicate();
 Gna.collapse(false);

 while (Gna.compareEndPoints("StartToEnd", qma) > 0)
 {
 Gna.moveStart("character", -1);
 }

 Lla[Kta] = Gna;
}


function ila(Kta, qma)
{
 var Fna = Lla[Kta].duplicate();
 Fna.collapse(true);

 while (Fna.compareEndPoints("EndToStart", qma) < 0)
 {
 Fna.moveEnd("character", 1);
 }

 Lla[Kta] = Fna;
}


 
function qla(Csa, Kta)
{ 
 var uta;
 var vta;

 var lla = Csa.nodeValue.substring(0, Kta);
 var mla = Csa.nodeValue.substring(Kta);

 var Moa = Csa.ownerDocument;
 uta = Moa.createTextNode(lla);
 vta = Moa.createTextNode(mla);

 var Noa = Csa.parentNode;
 Noa.insertBefore(vta, Csa);
 Noa.insertBefore(uta, vta);
 Noa.removeChild(Csa);

 return {uta: uta, vta: vta};
}


function rla(Kta, qma)
{




























































































 
 

 




}


function sla(Kta, qma)
{














}


function tla(Kta, qma)
{













}


function ula(range)
{
 var pla = "";
pla += "range.collapse=" + range.collapse + "\n";
pla += "range.duplicate=" + range.duplicate + "\n";
pla += "range.inRange=" + range.inRange + "\n";
pla += "range.text=" + range.text + "\n";
pla += "range.compareEndPoints=" + range.compareEndPoints + "\n";

alert(pla);
}




var vla = '<bookmark mark="';
var wla = '"/>';


var xla = new Array();


function zla(range)
{ 
 var Qua = 0; 
 range.expand("word");
 var Ama = range.duplicate();
 range.moveEnd("character", -1);
 var msg = "";

 Ama.collapse();
 Ama.moveEnd("character", 1);
 var Cma = Ama.text.charCodeAt(0);
 if(bpa(Cma) == false)
 {
 Ama.collapse(false);
 }
 Ama.expand("word");

 var Dma = Mma(Ama.text);
 xla = new Array();
 if(Dma != null && Dma.length > 0)
 {
 xla.push(Qua);

 var Eua = Ama.text;
 Ama.moveEnd("character", 1);
 var Hma = Ama.text.charCodeAt(Eua.length);
 if(Hma == 33 || (Hma > 42 && Hma < 48)
 || (Hma > 57 && Hma < 65))
 {
 Eua = Ama.text;
 }
 if(haa)
 {
 msg += vla + Qua++ + wla + Eua;
 }
 else
 {
 msg += Eua;
 }
 }
 else
 {
 Qua++;
 }

 while(range.inRange(Ama))
 {
 Ama.move("word", 1);
 Ama.expand("word");
 Dma = Mma(Ama.text);
 if(Dma != null && Dma.length > 0)
 {
 xla.push(Qua);

 var Eua = Ama.text;
 Ama.moveEnd("character", 1);
 var Hma = Ama.text.charCodeAt(Eua.length);
 if(Hma == 33 || (Hma > 42 && Hma < 48)
 || (Hma > 57 && Hma < 65))
 {
 Eua = Ama.text;
 }
 if(haa)
 {
 msg += vla + Qua++ + wla + Eua;
 }
 else
 {
 msg += Ama.text;
 }
 }
 else
 {
 Qua++;
 }
 }

 range.moveEnd("character", 1);

 if(msg!=null && msg.length > 0)
 {
 if(haa)
 {
 msg += vla + Qua++ + wla;
 }
 }
 return msg;
}


function Mma(p_strText)
{
 p_strText = p_strText.trimTH();
 var Gsa = p_strText.length;
 var Jma = false;

 var i;
 for(i=0; i<Gsa; i++)
 {
 var Fra = p_strText.charCodeAt(i);
 if((Fra > 47 && Fra < 58) || (Fra >63 && Fra<91) || (Fra>96 && Fra<123) || Fra==38 || Fra==39)
 {
 return p_strText;
 }
 }
 return "";
}


var Nma = new Array();


function Oma(p_startNode, p_nStartOffset, p_endNode, p_nEndOffset)
{ 
 if(p_startNode == null){Rpa("adfasf");}
 
 Rpa("11|" + p_startNode.nodeValue);
 Rpa("12|" + p_nStartOffset);
 Rpa("13|" + p_endNode.nodeValue);
 Rpa("14|" + p_nEndOffset);
 var Qua = 0;
 var Qma = vla + Qua++ + wla;
 var Rma = Jga(p_startNode);
 Nma = new Array();

 var Sma = new Array();
 var Wpa = p_nStartOffset;
 var Xpa = -1;
 var zta = p_startNode;

 var Hra = false;

 var Xma = 0;
 
 var Yma = false;
 
 var Zma = false;
 
 var ama = false;
 

 
 while (zta != null)
 {
 if (Xma++ > 1000) 
 {
 break;
 }

 if(zta.nodeType == 3)
 { 
 var bma = zta.nodeValue;
 var i;
 var Gsa = bma.length;
 
 for (i = 0; i < Gsa; i++)
 {
 if (zta == p_startNode)
 { 
 if (i < p_nStartOffset)
 {
 i = p_nStartOffset;
 }
 }
 if (zta == p_endNode)
 { 
 if (i >= p_nEndOffset)
 {
 break;
 }
 }

 var Fra = bma.charCodeAt(i);
 if (Fra == 39 || (Fra > 47 && Fra < 59) || (Fra > 64 && Fra < 91) || (Fra > 95 && Fra < 123))
 { 
 Hra = true;
 
 if (Zma == true)
 { 
 Wpa = i;

 Qma += vla + Qua++ + wla;

 Yma = true;
 
 Zma = false;
 ama = false;
 }
 else
 {
 if(Fra == 38 || Fra == 64) 
 {
 Hra = true;
 }
 Yma = true;
 ama = false;
 }
 }
 else
 { 
 if (Yma == true && Zma == false)
 {
 Zma = true;
 
 Xpa = i;
 if (ama == false)
 {
 Sma.push({node:zta, root:document.body, pos:Wpa, endPos:Xpa});
 }
 
 

 
 if(Sma.length > 0)
 {
 Nma.push(Sma);
 }
 Sma = new Array();
 }
 }
 Qma += bma.charAt(i);
 }
 
 if (Yma == true)
 { 
 Xpa = i;

 if (Zma == true)
 {
 
 Qma += vla + Qua++ + wla;

 
 if(Sma.length > 0)
 {
 Nma.push(Sma);
 }
 Sma = new Array();

 Yma = false;
 Zma = false;
 }
 else
 {
 Sma.push({node:zta, root:document.body, pos:Wpa, endPos:Xpa});
 ama = true;
 }

 Wpa = 0;
 }
 }
 if (zta == p_endNode)
 {
 break;
 }
 zta = tga(zta, p_endNode);
 }
 Qma += vla + Qua++ + wla;

 
 if (Sma.length > 0)
 { 
 Nma.push(Sma);
 }

 

 Rpa(Qma);
 fma();

 if(Hra)
 {
 return Qma;
 }
 else
 {
 return "";
 }
}



function fma()
{
Rpa("****************************************************");

 var i = 0;
 var hma = 0;
 var Gsa = Nma.length;
 for(i=0; i<Gsa; i++)
 {
 var jma = Nma[i];
 var kma = jma.length;
 for(hma=0; hma<kma; hma++)
 {

 var lma = jma[hma];
 
 var Wpa= lma.pos;
 var Xpa= lma.endPos;
 var oma = Jga(lma.node);
 if(Xpa == -1)
 {
 Rpa(i + " " + hma + " node |" + oma + "|" + lma.node.nodeValue.substring(lma.pos) +
 "|  root " + lma.root+"  pos " + lma.pos + "   endPos " + lma.endPos);
 }
 else
 {
 Rpa(i + " " + hma + " node |" + oma + "|" + lma.node.nodeValue.substring(lma.pos, lma.endPos) +
 "|  root " + lma.root+"  pos " + lma.pos + "   endPos " + lma.endPos);

 }
 }

 }
 Rpa("****************************************************");
}

 





function vma()
{
 try
 {
 
 var ppa = Voa();

 var qma = null;
 var rma = null;
 if (ppa != null && ppa.range != null)
 {
 qma = ppa.range;
 rma = ppa.frame;
 }
 if(qma != null && qma instanceof String)
 { 
 
 
 if(Lca != null)
 {
 Lca.selectionStart = 0;
 Lca.selectionEnd = 0;
 }
 Lca = null;
 return;
 }

 if (document.selection)
 { 
 if (qma == null || qma.length == 0 || qma.text.length == 0)
 { 
 var Gsa = Lla.length;
 
 for (var una = 0; una < Gsa; una++)
 {
 var range = Lla[una];
 range.execCommand("backcolor", false, "clear");

 Lla[una] = null;
 Mla[una] = null;
 }

 Lla = new Array();
 Mla = new Array();

 if(!document.compatMode.equalsTH("CSS1Compat"))
 { 
 
 

 
 if (top.window.frames.length > 0)
 {
 var i = 0;
 var xma = top.window.frames.length;
 for (i = 0; i < xma; i++)
 {
 var Epa = top.window.frames[i];
 qma = Epa.document.selection.createRange();
 qma.expand("textedit");
 qma.execCommand("backcolor", false, "clear");
 }
 }
 else
 {
 qma = document.selection.createRange();
 qma.expand("textedit");
 qma.execCommand("backcolor", false, "clear");
 }
 }
 return;
 }
 qma.execCommand("backcolor", false, "clear");
 rna();

 

 var Gsa = Lla.length;
 var una = 0;
 var Mna = null;
 var Cna = null;
 for (una = 0; una < Gsa; una++)
 {
 Mna = Lla[una];

 if (Mna != null)
 {
 
 if (qma.inRange(Mna))
 {
 Mna = null;

 Lla.splice(una, 1);
 Mla.splice(una, 1);

 una--;
 continue;
 }

 
 Cna = Mna.duplicate();
 Cna.collapse(true);
 if (qma.inRange(Cna))
 {
 var Gna = Mna.duplicate();
 Gna.collapse(false);
 while (Gna.compareEndPoints("StartToEnd", qma) > 0)
 {
 Gna.moveStart("character", -1);
 }
 Lla[una].execCommand("backcolor", false, "clear");
 Lla[una] = Gna;
 Lla[una].execCommand("backcolor", false, Mla[una]);
 }
 else
 {
 
 Cna = Mna.duplicate();
 Cna.collapse(false);
 if (qma.inRange(Cna))
 {
 var Fna = Mna.duplicate();
 Fna.collapse(true);

 while (Fna.compareEndPoints("EndToStart", qma) < 0)
 {
 Fna.moveEnd("character", 1);
 }
 Lla[una].execCommand("backcolor", false, "clear");
 Lla[una] = Fna;
 Lla[una].execCommand("backcolor", false, Mla[una]);
 }
 }

 
 if (Mna.inRange(qma))
 {
 Mna.execCommand("backcolor", false, "clear");
 var Fna = Mna.duplicate();
 var Gna = Mna.duplicate();
 Fna.collapse(true);
 Gna.collapse(false);

 while (Fna.compareEndPoints("EndToStart", qma) < 0)
 {
 Fna.moveEnd("character", 1);
 }

 while (Gna.compareEndPoints("StartToEnd", qma) > 0)
 {
 Gna.moveStart("character", -1);
 }


 Lla[una].execCommand("backcolor", false, "clear");
 Lla[una] = Fna;

 Lla.push(Gna);
 Mla.push(Mla[una]);

 Fna.execCommand("backcolor", false, Mla[una]);
 Gna.execCommand("backcolor", false, Mla[una]);
 }
 }
 }

 qma.execCommand("UnSelect", false, null);
 }
 else
 { 
 var Hna = null;
 if (qma == null)
 { 
 Hna = Lla;
 Lla = new Array();
 Mla = new Array();
 }
 else
 { 
 qma.refresh();
 Hna = new Array();
 for (var i = 0; i < Lla.length; i++)
 {
 var Mna = Lla[i];
 var Kna = qma.compareRange(Mna);
 if(Kna == qma.TARGET_INSIDE || Kna == qma.TARGET_INCLUDES_THIS
 || Kna == qma.TARGET_OVERLAPS_START || Kna == qma.TARGET_OVERLAPS_END)
 {
 Hna.push(Mna);
 Lla.splice(i, 1);
 Mla.splice(i,1);
 i = i - 1;
 }
 }
 }
 for (var i = 0; i < Hna.length; i++)
 {
 var Mna = Hna[i];
 Mna.refresh();
 Cja(aia(Mna.Zla.node, Mna.ala.node));
 }
 mpa();
 }
 }
 catch(exc)
 {
 alert("Error in method: " + exc.name + " " + exc.message + " " + exc.description + " " + exc.toString());
 }
}






function Nna(a, b)
{ 
	try
	{
		return a.compareEndPoints("EndToEnd", b);
	}
	catch(exc)
	{ Rpa(exc);
		return 0; 		 
	}
}


function Pna()
{
 try
 {
 var Ona = "<div style='width:600px' id='rwcollatewrapper' face=Verdana size=-1>";
 
 
 

 
 var Qna = ena("cyan");

 
 var Rna = ena("magenta");

 
 var Sna = ena("yellow");

 
 var Tna = ena("lightgreen");

 Ona += Qna + Rna + Sna + Tna + '</div>';

 Ona += "<br><input type='button' onclick='rw_selectCollateText();'" +
 "value='Click here to copy the text to the clipboard.'></input>";

 return Ona;

 }
 catch (exc)
 {
	Rpa("Error in method: " + exc.name + " " + exc.message + " " + exc.toString());
 return "";
 }
 
}


function rw_selectCollateText()
{ 
 var Una = document.getElementById("rwcollatewrapper");
 

 if(Nba)
 {
 var range = Opa();
 range.moveToElementText(Una) ;
 range.select();
 }
 else
 {
 var Gsa;
 if(Oba)
 {
 Gsa = Npa(Una).length - 1;
 }
 else 
 {
 Gsa = Npa(Una.parentNode).length;
 }
 var range = new Kra(Una, 0, bga(Una), 0);
 
 rpa(range); 
 }
 
 

 try
 {
 var flash;

 if (window.WebToSpeech)
 {
 flash = window.WebToSpeech;
 }
 else
 {
 flash = window.document.WebToSpeech;
 }

 var Eua = Efa();
 if(!(Eua == null || Eua.length == 0))
 {
 if(kaa)
 {
 flash.setToClipboard(Eua.valueOf());
 }
 else
 {
 flash.getFlashString(Eua.valueOf());
 }
 }
 }
 catch(err)
 {
 
 }
}


function ena(p_strColour)
{
 var bna = new Array();

 var Gsa = Lla.length;
 var dna = "";
 var fna = '';
 var Qua = 0;
 for (var lna = 0; lna < Gsa; lna++)
 {
 var Psa = Mla[lna];

 if (Psa == p_strColour)
 {
 bna.push(Lla.slice(lna, lna + 1).pop());
 }
 }

 if (Nba)
 {
 
 bna.sort(Nna);
 }

 var jna = bna.length;
 var kna;
 for (var lna = 0; lna < jna; lna++)
 {
 if (Nba)
 { 
 var mna = bna.slice(lna, lna + 1).pop();
 kna = bna.slice(lna, lna + 1).pop().text;
 }
 else
 { 
 kna = bna[lna].toString();
 }
 if (kna.length > 0)
 {
 if(Qua > 0){fna += '<br>';}
 Qua++;
 fna += '' + Qua + ': ' + kna + '<br>';
 }
 }

 if(Qua > 0)
 {
 dna += '<p></p>';
 dna += '<div style="background:' + p_strColour + '">';
 dna += fna;
 dna += '</div><p></p><br>';
 }
 return dna;
}



function nna()
{
 return (Lla != null && Lla.length > 0);
}


function rna()
{
 try
 {
 var sna = null;
 var tna = false;
 var una = 0;

 
 for (una = 0; una < Lla.length; una++)
 {
 sna = Lla[una];

 try
 {
 if (sna.text == null || sna.text == "")
 {
 
 sna = null;
 }
 }
 catch(exe)
 { Rpa(exe);
 
 sna = null;
 }

 if (sna == null)
 {
 
 Lla.splice(una, 1);
 Mla.splice(una, 1);

 tna = true;
 
 
 una--;
 }
 }

 return tna;
 }
 catch (exc)
 {
 Rpa("Error in method: " + exc.toString());
 return false;
 }
}


function vna(range)
{
 try
 {
 var sna = null;
 var tna = false;
 var una = 0;

	 
 for (una = 0; una < Lla.length; una++)
 {
 sna = Lla[una];

 try
 {
 if (sna.text == null || sna.text == "")
 {
 
 sna = null;
 }
 }
 catch(exe)
 {
 Rpa(exe);
 
 sna = null;
 }

 if (sna == null)
 {
 
 Lla.splice(una, 1);
 Mla.splice(una, 1);

 tna = true;
 
 
 una--;
 }
		else
		{
 var wna = range.compareEndPoints("StartToEnd", sna);
			var xna = range.compareEndPoints("EndToStart", sna);
			if(wna == -1
			 && xna == 1)
		 { 
			sna.execCommand("backcolor", false, Mla[una]);
		 }
		}
 }
 }
 catch (exc)
 {
 Rpa(exc);
 }
}








function zna()
{
 var yna = (window.innerWidth)
 ? window.innerWidth
 : document.documentElement.offsetWidth;

 return yna * Aea / 100;
}


function Boa()
{
 var Foa = (window.innerHeight)
 ? window.innerHeight
 : document.documentElement.offsetHeight;

 return Foa * Aea / 100;
}


function Doa()
{
 var n = (window.pageXOffset)
	 ? window.pageXOffset
	 : (document.documentElement.scrollLeft)
	 ? document.documentElement.scrollLeft
	 : (document.body.scrollLeft)? document.body.scrollLeft:0;

 return n * Aea / 100;
}


function Hoa()
{
 var n = (window.pageYOffset)
 ? window.pageYOffset
 : (document.documentElement.scrollTop)
 ? document.documentElement.scrollTop
 : (document.body.scrollTop)?document.body.scrollTop:0;
 return n * Aea / 100;
}






function Ioa()
{var Foa = (document.documentElement && document.documentElement.clientHeight)
 ? document.documentElement.clientHeight 
 : document.body.clientHeight;
 return (document.body.clientHeight * Aea / 100) + Koa();
}


function Joa()
{var n = (window.pageXOffset)
	 ? window.pageXOffset
	 : (document.documentElement.scrollLeft)
	 ? document.documentElement.scrollLeft
	 : (document.body.scrollLeft)? document.body.scrollLeft:0;
 return (document.body.clientWidth * Aea / 100) + Koa();
}



function Koa()
{ 
 if(Nba)
 {
 if(document.compatMode.equalsTH("CSS1Compat"))
 {
 return (document.documentElement.offsetWidth - document.documentElement.clientWidth) * Aea / 100;
 }
 else
 {
	 return (document.body.offsetWidth - document.body.clientWidth) * Aea / 100;
	}
 }
 else
 {
	 if(window.scrollMaxY > 0)
		 return 18;
	 else
		 return 4;
 }
}

function Loa()
{
 if(Nba)
 {
	if(document.compatMode.equalsTH("CSS1Compat"))
 {
 return (document.documentElement.offsetWidth - document.documentElement.clientWidth) * Aea / 100;
 }
 else
 {
	 return (document.body.offsetWidth - document.body.clientWidth) * Aea / 100;
	}
 }
 else
 {
	 if(window.scrollMaxX > 0)

		 { return 18; }
	 else
		 { return 4; }
 }
}


function Soa(p_node)
{
 var Moa = p_node.ownerDocument;
 var Noa = p_node.parentNode;
 if(Noa != null && p_node.nodeType == 3)
 {
 while(p_node.previousSibling != null && p_node.previousSibling.nodeType == 3)
 {
 var Eua = p_node.previousSibling.nodeValue + p_node.nodeValue;
 var Roa = Moa.createTextNode(Eua);
 Noa.removeChild(p_node.previousSibling);
 Noa.replaceChild(Roa, p_node);
 p_node = Roa;
 }
 while(p_node.nextSibling != null && p_node.nextSibling.nodeType == 3)
 {
 var Eua = p_node.nodeValue + p_node.nextSibling.nodeValue;
 var Roa = Moa.createTextNode(Eua);
 Noa.removeChild(p_node.nextSibling);
 Noa.replaceChild(Roa, p_node);
 p_node = Roa;
 }
 }
 return p_node;
}







function Voa()
{
 var Toa = null;
 var voa = null;

 if(window.getSelection)
 { 
 var xoa = window.getSelection();
 var yoa = null;
 if(xoa.isCollapsed == false)
 {
 Toa = window;
 yoa = xoa;
 }
 else
 {
 
 
 if(Lca && Lca.selectionStart
 != Lca.selectionEnd)
 {
 

 return {frame:window, range:new String(vla + "0" + wla +
 Lca.value.substring(
 Lca.selectionStart, Lca.selectionEnd) +
 vla + "1" + wla)};
 }

 
 if(top.window.frames.length>0)
 {
 var i=0; var Gsa = top.window.frames.length;
 for(i = 0; i<Gsa; i++)
 {
 if(top.window.frames[i].getSelection().isCollapsed == false)
 {
 Toa = top.window.frames[i];
 yoa = top.window.frames[i].getSelection();
 break;
 }
 }
 }
	}
 if(yoa == null)
 {
 return null;
 }
 var aoa;
 if(yoa.getRangeAt)
 { 
 aoa = yoa.getRangeAt(0);
 }
 else
 { 

 var range = Opa();
 if(range != null)
 {
 
 if( yoa.anchorNode == yoa.focusNode && yoa.anchorOffset == yoa.focusOffset)
 { 
 range = hoa(yoa);
 
 
 }
 else
 {
 range.setStart(yoa.anchorNode, yoa.anchorOffset);
 range.setEnd(yoa.focusNode, yoa.focusOffset);
 
 if(range.toString().length == 0)
 { 
 range.setStart(yoa.focusNode, yoa.focusOffset);
 range.setEnd(yoa.anchorNode, yoa.anchorOffset);
 }
 }
 aoa = range;
 }
 Rpa(range + "|" + yoa + "|" + range.startContainer + "|" + aoa.startOffset);
 }
 voa = new Kra(aoa.startContainer, aoa.startOffset,
 aoa.endContainer, aoa.endOffset);
 }
 else if (document.selection)
 {
 var range = document.selection.createRange();

	
	if(range.text.length > 0)
	{ 
 Toa = window;
 voa = range;
	}
	else
 {
		if(top.window.frames.length>0)
		{ 
			var i=0; var Gsa = top.window.frames.length;
			for(i = 0; i<Gsa; i++)
			{
				var Epa = top.window.frames[i];
				range = Epa.document.selection.createRange();
				if(range.text.length > 0)
				{
				 Toa = Epa;
					voa = range;
					break;
				}
			}
		}
 }
 }

 if(Toa != null && voa != null)
 {
 return {frame:Toa, range:voa};
 }
 else
 {
 return null;
 }
}



function hoa(p_sel)
{
 try
 {
 var Eua = p_sel + "";
 Eua = Eua.trimTH();
 p_sel.collapseToStart();
 var ioa = p_sel.anchorNode;
 var joa = p_sel.anchorOffset;

 if (ioa.nodeType != 3)
 { 
 ioa = tga(ioa, null);
 }
 if (joa == ioa.nodeValue.length)
 { 
 ioa = tga(ioa, null);
 joa = 0;
 }
 
 var koa = ioa.nodeValue.substring(joa);
 var loa = koa.trimStartTH();
 while (koa.length > loa.length)
 {
 if (loa.length == 0)
 {
 ioa = tga(ioa, null);
 joa = 0;
 }
 else
 {
 joa += koa.length - loa.length;
 }
 koa = ioa.nodeValue.substring(joa);
 loa = koa.trimStartTH();
 }

 var range = Opa();

 if ((joa + Eua.length) < ioa.nodeValue.length)
 {
 range.setStart(ioa, joa);
 range.setEnd(ioa, joa + Eua.length);
 }
 else
 { 
 range = uoa(ioa, joa, Eua);
 }
 return range;
 }
 catch(ignore)
 {
 var range = Opa();
 range.setStart(p_sel.anchorNode, p_sel.anchorOffset);
 range.setEnd(p_sel.anchorNode, p_sel.anchorOffset);
 return range;
 }
}

function uoa(p_startNode, p_nOffset, p_txt)
{


 var range = Opa();
 range.setStart(p_startNode, p_nOffset);
 range.setEnd(p_startNode, p_nOffset);

 var Gsa = 0;
 var qoa = p_txt.length + p_nOffset;
 var Zua = p_startNode;
 while(Zua != null && Gsa < qoa)
 { 
 if(Zua.nodeType == 3)
 {
 var Eua = Zua.nodeValue;
 Gsa += Eua.length;
 }
 if(Gsa<qoa)
 {
 Zua = tga(Zua, null)
 }
 else
 { 
 var toa = Gsa - qoa;
 range.setEnd(Zua, Zua.nodeValue.length - toa);
 
 
 
 }
 }
 
 return range;
}


function woa()
{
 var voa = null;

 if(window.getSelection)
 { 
 var xoa = window.getSelection();
 var yoa = null;
 if(xoa.isCollapsed == false)
 {
 yoa = xoa;
 }
 else
 {
 
	 if(top.window.frames.length>0)
	 {
		var i=0; var Gsa = top.window.frames.length;
		for(i = 0; i<Gsa; i++)
		{
			if(top.window.frames[i].getSelection().isCollapsed == false)
			{
			 yoa = top.window.frames[i].getSelection();
 break;
			}
		}
	 }
	}
 if(yoa == null)
 {
 return null;
 }

 voa = yoa; 
 }
 else if (document.selection)
 {
 var range = document.selection.createRange();

	
	if(range.text.length > 0)
	{
 Toa = window;
 voa = range;
	}
	else
 {
		if(top.window.frames.length>0)
		{ 
			var i=0; var Gsa = top.window.frames.length;
			for(i = 0; i<Gsa; i++)
			{
				var Epa = top.window.frames[i];
				range = Epa.document.selection.createRange();
				if(range.text.length > 0)
				{
				 Toa = Epa;
					voa = range;
					break;
				}
			}
		}
 }
 }

 return voa; 
}


function Gpa()
{
 var Eua = "";
 if(document.selection)
	{
		var range = document.selection.createRange();
	 if(range.text.length > 0)
		{
		 Eua = range.text;
	 }
	}
	else if(window.getSelection)
	{
		if(window.getSelection().rangeCount > 0
			&& window.getSelection().getRangeAt(0).toString().length > 0)
		{
		 var range = window.getSelection().getRangeAt(0);
		 Eua = range.toString();
		}
	}
 return Eua;
}


function Kpa()
{
 var Eua = "";
 if(document.body.createTextRange)
	{
		var range = document.body.createTextRange();
		range.expand("textedit");

		Eua = range.text;
	}
	else if(document.createRange)
	{
 var range = document.createRange( );
 range.setStartBefore(document.body);
 range.setEndAfter(document.body);
 Eua = range.toString();
	}
	return Eua;
}








function Npa(p_node)
{
 if(p_node.innerText)
 { 
 return p_node.innerText;
 }
 else if(p_node.textContent)
 { 
 return p_node.textContent;
 }
 else
 { 
 
 return "";
 }
}


function Opa()
{
 if(document.body.createTextRange)
 {
 return document.body.createTextRange();
 }
 else if(document.createRange)
 {
 return document.createRange();
 }
 else
 { 
 return null;
 }
}


function Ppa(p_node)
{
 if(p_node.document)
 {
 return p_node.document.body;
 }
 else
 {
 return p_node.ownerDocument.body;
 }
}


function Qpa()
{

}

function Rpa(Qma)
{
	if(window.console && window.console.log)
	{
	 window.console.log(Qma);
	}
	else if (typeof(dump) != 'undefined')
	{
	 dump(Qma +"\n");
	}
}






function Spa(Eua)
{ 
 if (Eua == null)
 {
 return "";
 }
 var Tpa = "";
 var i = 0;
 var n = Eua.length;
 var Wpa = -1;
 var Xpa = -1;
 for (i = 0; i < n; i++)
 {
 var Isa = Eua.charCodeAt(i);
 if ((Isa > 64 && Isa < 91) || (Isa > 96 && Isa < 123 ))
 {
 if (Wpa == -1)
 {
 Wpa = i;
 }
 }
 else
 {
 if (Wpa > -1)
 {
 Xpa = i;
 break;
 }
 }
 }

 if (Wpa > -1)
 {
 if (Xpa > -1)
 {
 Tpa = Eua.substring(Wpa, Xpa);
 }
 else
 {
 Tpa = Eua.substring(Wpa);
 }
 }

 return Tpa
}


function Zpa(p_nCode)
{
 return (p_nCode > 64 && p_nCode < 91) ||
 (p_nCode > 96 && p_nCode < 123);
}



function apa(p_nCode)
{
 return (p_nCode > 47 && p_nCode < 58);

}



function bpa(p_nCode)
{
 return (p_nCode == 39 || (p_nCode > 47 && p_nCode < 58) ||
 (p_nCode > 64 && p_nCode < 91) || p_nCode == 96 ||
 (p_nCode > 96 && p_nCode < 123));

}


function epa(Eua)
{
 if (Eua == null)
 {
 return false;
 }
 for (var i = 0; i < Eua.length; i++)
 {
 var Isa = Eua.charCodeAt(i);
 if (Isa == 39 || (Isa > 47 && Isa < 58) ||
 (Isa > 64 && Isa < 91) || Isa == 96 ||
 (Isa > 96 && Isa < 123))
 {
 return true;
 }
 }
 return false;
}


function ipa(p_strPhrase)
{
 if (p_strPhrase == null || p_strPhrase.length == 0)
 {
 return p_strPhrase;
 }
 var Gsa = p_strPhrase.length;
 for (var i = 0; i < Gsa; i++)
 {
 
 var Isa = p_strPhrase.charCodeAt(i);
 if(! (Isa == 39 || Isa == 44 || Isa == 46 ||
 (Isa > 47 && Isa < 58) ||
 (Isa > 63 && Isa < 91) ||
 (Isa > 94 && Isa < 123)) )
 {
 p_strPhrase = p_strPhrase.replace(p_strPhrase.charAt(i), ' ');
 }
 }
 return p_strPhrase.trimTH();
}






function kpa(range)
{
	var Eua = "";

	if(range.text)
	{ 
	 Eua = range.text;
	}
	else
	{ 
	 Eua = range.toString();
	}
	return Eua;
}


function mpa()
{
	var lpa = woa();
	if(lpa == null)
	{
		return;
	}
	if(lpa.collapseToStart)
	{
		lpa.collapseToStart();
	}
	else if(lpa.execCommand)
	{
		lpa.execCommand("UnSelect", false, null);
	}
}



function rpa(p_range)
{
 if(Nba)
 {
 p_range.select();
 }
 else
 { var start = p_range.Zla;
 var end = p_range.ala;
 if (!Oba)
 {
 var ppa = window.getSelection();
 ppa.collapse(start.node, start.offset);
 ppa.extend(end.node, end.offset);
 }
 else 
 {
 window.getSelection().setBaseAndExtent(start.node, start.offset, end.node, end.offset)
 
 }
 }
}


function spa(p_char)
{
 return (p_char.search(/[\s\xa0]/) > -1);
}



function tpa(lma)
{
 var qpa = lma + "  ";
	for(prop in lma)
	{
	 qpa += prop + "  " + " | ";

	}
		
	alert(qpa);
}





var upa = null; 
var vpa = null; 



var wpa = "";

var xpa = 0;
var ypa = 0;
var zpa = null;


var Aqa = false;

if(Oba)
{
 var Bqa = navigator.appVersion;
 var Cqa = Bqa.lastIndexOf("/");
 Bqa = Bqa.substring(Cqa + 1);
 try
 {
 var Dqa = parseFloat(Bqa);
 if(Dqa < 300 || (Dqa > 400 && Dqa < 416))
 {
 Aqa = true;
 }
 }
 catch(err)
 {
 }
}

function Sta(pla)
{
 var Eqa = document.getElementById("asd");
 Eqa.innerText = pla;
};


function Iqa(evt)
{
 try
 {
 var Gqa;
 var Hqa = 0;

 
 if(Nba)
 {
 Gqa = evt.srcElement;

 if(Gqa.nodeType == 1 && Gqa.tagName.toLowerCase() == "textarea")
 { 
 }
 else 
 {
 var Qqa = cua(evt);
 if(Qqa != null)
 {
 Gqa = Qqa.node;
 Hqa = Qqa.offset;
 }
 }
 }
 else if(Oba)
 {
 Gqa = evt.target;
 if(Gqa != null)
 {
 if(Aqa == false)
 { 
 if(evt.fromElement != null && Gqa.nodeType == 1 &&
 Gqa.tagName.toLowerCase() != "textarea")
 {
 if(evt.fromElement.nodeType == 3)
 {
 Gqa = evt.fromElement;
 }
 }
 }
 }
 }
 else 
 {
 if(evt.explicitOriginalTarget.nodeValue != null)
 {
 if(evt.target.tagName.toLowerCase() == "textarea")
 {
 Gqa = evt.target;
 }
 else
 {
 Gqa = evt.explicitOriginalTarget;
 }
 }
 else
 {
 Gqa = evt.target;
 }
 }
 var Kqa = null;

 
 if(Gqa != null && Gqa.parentNode != null && Gqa.parentNode.getAttribute)
 {
 var Lqa = Gqa.parentNode;
 var Iua = Lqa.tagName;
 var Nqa = Lqa.getAttribute("started");
 var Oqa = Lqa.getAttribute("sp");
 var Pqa = Lqa.getAttribute("csp");

 
 if(Pqa != null || Oqa != null || Nqa != null)
 { 
 Kqa = null;
 }
 else
 {
 if(Gqa.nodeType == 3)
 { 
 var Qqa = new THCaret(Gqa, Hqa);
 try
 {
 var range = new THRange(Ppa(Lqa),
 nsa(Qqa),
 Ata(Qqa));

 Kqa = new THHoverTarget(null, null, range);
 }catch(err){alert(err.message);}
 }
 else if(Gqa.nodeType == 1)
 { 
 
 Kqa = new THHoverTarget(Ppa(Gqa), vra(Gqa), null);
 }
 else
 {
 Kqa = null;
 }
 }
 }
 else
 {
 Kqa = null;
 }

 if(Kqa!= null)
 {
 try
 {
 if(Kqa.equals(upa))
 { 
 return;
 }
 if(Kqa.equals(vpa))
 { 
 return;
 }
 upa = Kqa;
 
 Sqa(upa);

 }catch(err){alert("err " + err.message);}
 }
 else
 {
 upa = null;
 }
 }
 catch(err)
 {
 Rpa(err);
 }
};


function Sqa(p_hoverTarget)
{
 if (xpa >0)
 {
 clearTimeout(xpa);
 xpa = 0;
 }
 if (ypa > 0)
 {
 clearTimeout(ypa);
 ypa = 0;
 }

 xpa = setTimeout("rw_doHoverStep1()", 500);
};


function rw_doHoverStep1()
{
 if(Gba)
 {
 xpa = 0;
 if (upa != null)
 {
 $rw_event_stop_alt();
 ypa = setTimeout("rw_doHoverStep2()", 1000);
 }
 }
};


function rw_doHoverStep2()
{
 if(Gba)
 {
 xpa = 0;
 if (upa != null)
 {
 if(vpa!= null)
 {
 
 ypa = setTimeout("rw_doHoverStep2()", 500);
 return;
 }
 var Vqa = upa;
 vpa = Vqa;

 var Eua = Vqa.getText();











 Vqa.highlightRange();

 Hea(Eua);
 }
 }
};



function Xqa(p_range, p_strWord)
{
 this.range = p_range; 
 this.word = p_strWord; 

};


function rw_getTextOverRangeToSpeak(p_body, p_domRefLeft,
 p_domRefRight, p_wordNodes)
{ 
 try
 {
 if(p_domRefLeft == null || p_domRefRight == null)
 {
 return "";
 }
 var Mta = rw_getCaretFromDomPosition(p_body,
 p_domRefLeft.path, p_domRefLeft.offset, true);
 if(Mta == null)
 {
 return "";
 }

 var Ota = rw_getCaretFromDomPosition(p_body,
 p_domRefRight.path, p_domRefRight.offset, false);
 if(Ota == null)
 {
 return "";
 }


 
 if(Nsa(Mta.node, true))
 {
 var bqa = rqa(Mta.node);
 if(bqa != null)
 {
 Mta = new THCaret(bqa, 0, true);
 }
 }

 
 rw_getTextOverRangeToSpeakImpl(Mta, Ota, p_wordNodes);

 var Eua = "";
 var Gsa = p_wordNodes.length;
 var i = 0;
 for(i=0; i<Gsa; i++)
 {
 Eua += vla + i + wla + p_wordNodes[i].word;
 }
 Eua += vla + Gsa + wla;

 return Eua;
 }
 catch(err){alert("err rw_getTextOverRangeToSpeak:" + "|"+ err.message);return "";}
};


function fqa(p_node)
{
 if(p_node.nodeType == 1)
 {
 var tagName = p_node.tagName.toLowerCase();
 if(tagName == "span")
 {
 var Zra = p_node.getAttribute("pron");
 if(Zra != null)
 {
 return true;
 }
 Zra = p_node.getAttribute("chunk");
 if(Zra != null)
 {
 return true;
 }
 Zra = p_node.getAttribute("ignore");
 if(Zra != null)
 {
 return true;
 }
 }
 else if(tagName == "acronym" || tagName == "abbr")
 {
 var Zra = p_node.getAttribute("title");
 if(Zra != null)
 {
 return true;
 }
 }
 else if(tagName == "chunk")
 {
 return true;
 }
 else if(tagName == "img")
 {
 var Zra = p_node.getAttribute("msg");
 if(Zra != null)
 {
 return true;
 }
 }
 }
 return false;
};


function rqa(p_node)
{
 if(p_node.parentNode != null)
 {
 var body = Ppa(p_node);
 var parent = p_node.parentNode;
 while(parent != null && parent != body)
 {
 if(fqa(p_node))
 {
 return parent;
 }
 if(Rga(parent))
 {
 parent = parent.parentNode;
 }
 else
 {
 parent = null;
 }
 }
 }
 else
 {
 return null;
 }
};


function rw_getTextOverRangeToSpeakImpl(p_leftCaret, p_rightCaret, p_wordNodes)
{ 

 try
 { 
 var uta = p_leftCaret.node; var n = 1;
 var vta = p_rightCaret.node;
 var body = Ppa(uta);
 var rsa = p_leftCaret.offset;
 var Cta = p_rightCaret.offset;
 n = 2;
 var qqa = "";
 var Qta = uta;

 var Qua = 0;
 var vqa = ara(Qta, rsa);
 var wqa = null;
 while(Qta != null)
 { n = 3;
 if(fqa(Qta))
 { 
 n = 4;
 if(qqa.length > 0)
 {
 p_wordNodes[Qua++] = new Xqa(new THRange(body, vqa, wqa), qqa);
 qqa = "";
 }
 n = 41;
 
 var yqa = fsa(Qta);
 if(yqa.length > 0)
 {
 vqa = ara(Qta, -1);
 p_wordNodes[Qua++] = new Xqa(new THRange(body, vqa, vqa), yqa);
 qqa = "";
 }
 vqa = null;
 wqa = null;
 n = 42;

 
 if(rw_isNodeChildOfNode(vta, Qta))
 { 
 return;
 }
 
 while(Qta.nextSibling == null)
 { n = 43;
 Qta = Qta.parentNode;
 if(Qta == null || Qta == vta || Qta == body)
 {
 return;
 }
 } n = 44;
 Qta = Qta.nextSibling;
 }
 else if(Qta.nodeType == 1)
 { 
 n = 5;
 if(Qta == vta)
 {
 return;
 }

 
 Qta = Wsa(Qta, false);
 }
 else if(Qta.nodeType == 3)
 {
 n = 6;
 var yqa = fsa(Qta);
 if(yqa == null)
 { 
 yqa = "";
 }
 var eua = 0;
 if(vta == Qta && Cta > -1)
 {
 yqa = yqa.substring(0, Cta);
 }
 if(uta == Qta && rsa > 0)
 {
 yqa = yqa.substring(rsa);
 eua = rsa;
 }

 if(vqa == null)
 {
 vqa = ara(Qta, eua);
 }
 var Kta = Era(yqa);
 while(Kta > -1)
 { 

 wqa = ara(Qta, Kta + eua);

 
 var Cra = new THRange(body, vqa, wqa);
 p_wordNodes[Qua++] = new Xqa(Cra, qqa + yqa.substring(0, Kta + 1));
 qqa = "";

 
 eua += Kta + 1;
 yqa= yqa.substring(Kta + 1);
 vqa = ara(Qta, eua);
 Kta = Era(yqa);
 }

 if(yqa.length > 0)
 {
 qqa += yqa;
 }

 if(Qta == vta)
 {
 if(qqa.length > 0)
 {
 if(Cta > -1)
 {
 wqa = ara(Qta, Cta);
 }
 else
 {
 wqa = ara(Qta, Qta.nodeValue.length);
 }

 
 var Cra = new THRange(body, vqa, wqa);
 p_wordNodes[Qua++] = new Xqa(Cra, qqa);
 }
 return;
 }
 Qta = Wsa(Qta, false);
 }
 }
 return ;
 }
 catch(err)
 {alert("err rw_getTextOverRangeToSpeakImpl:"+n + "|"+ err.message);return ;}
};


function Era(p_txt)
{ 
 if(p_txt == null || p_txt.length == 0)
 {
 return -1;
 }
 var Kta = p_txt.search("\\W");
 if(Kta > -1)
 {
 var Fra = p_txt.charCodeAt(Kta);
 
 return Kta;
 }
 else
 {
 return -1;
 }
};











function THCaret(p_node, p_nOffset, p_bForwardBias)
{
 this.node = p_node;
 this.offset = p_nOffset;
 this.forwardBias = (p_bForwardBias == undefined?true:p_bForwardBias);


 
 this.check = function()
 {
 var Hra = true;
 with (this)
 {
 if(node == null || (node instanceof Node == false)
 || node.nodeType != 3 || node.parentNode == null)
 {
 Hra = false;
 }
 else if(this.offset < 0 || this.offset >node.nodeValue.length)
 {
 Hra = false;
 }
 }
 return Hra;
 };

 this.toString = function()
 {
 var Eua = "THCaret ";
 if(this.node != null && this.node.nodeType == 3)
 {
 Eua += this.node.nodeValue + " " + this.node.parentNode.tagName;
 }
 Eua += this.offset;
 return Eua;
 }
};



function THDomRefPt(p_strPath, p_nOffset, p_bForwardBias)
{
 
 this.path = p_strPath;
 this.offset = p_nOffset;
 this.forwardBias = (p_bForwardBias == undefined?true:p_bForwardBias);

 this.toString = function()
 {
 return "THDomRefPt " + this.path + " " + this.offset;
 };
};


function Kra(p_startNode, p_nStartOffset, p_endNode, p_nEndOffset)
{
 this.base = p_startNode.ownerDocument.body;
 this.Zla = new THCaret(p_startNode, p_nStartOffset);
 this.ala = new THCaret(p_endNode, p_nEndOffset);
 this.startRef = ara(p_startNode, p_nStartOffset);
 this.endRef = ara(p_endNode, p_nEndOffset);

 this.ERROR = -1;
 this.TARGET_SAME = 0;
 this.TARGET_BEFORE = 1;
 this.TARGET_AFTER = 2;
 this.TARGET_INSIDE = 3;
 this.TARGET_INCLUDES_THIS = 4;
 this.TARGET_OVERLAPS_START = 5;
 this.TARGET_OVERLAPS_END = 6;

 
 this.refresh = function()
 {
 with (this)
 {
 if(Zla.check() == false || ala.check() == false)
 { 
 Zla = gia(base, startRef.path , startRef.offset, true);
 ala = gia(base, endRef.path , endRef.offset, true);

 
 if(Zla == null && ala == null)
 {
 Zla = new THCaret(document.body, 0);
 ala = new THCaret(document.body, 0);
 }
 else if(Zla == null || ala == null)
 {
 if(Zla == null)
 { 
 Zla = new THCaret(ala.node, ala.offset);
 }
 else
 { 
 ala = new THCaret(Zla.node, Zla.offset);
 }
 }
 }
 }
 };

 
 this.toString = function()
 {
 with (this)
 {
 refresh();
 var range = Opa();
 range.setStart(Zla.node, Zla.offset);
 range.setEnd(ala.node, ala.offset);

 return range.toString();
 }
 };

 
 this.getStartAsRange = function()
 {
 var range = Opa();
 range.setStart(this.Zla.node, this.Zla.offset);
 range.setEnd(this.Zla.node, this.Zla.offset);
 return range;
 };

 
 this.getEndAsRange = function()
 {
 var range = Opa();
 range.setStart(this.ala.node, this.ala.offset);
 range.setEnd(this.ala.node, this.ala.offset);
 return range;
 };

 
 this.equals = function(p_target)
 {
 return (this.startRef.path == p_target.startRef.path
 && this.startRef.offset == p_target.startRef.offset
 && this.endRef.path == p_target.endRef.path
 && this.endRef.offset == p_target.endRef.offset);
 };

 
 this.compareRange = function(p_target)
 {
 if(this.equals(p_target))
 {
 return this.TARGET_SAME;
 }

 this.refresh();
 p_target.refresh();

 var Ora = this.getStartAsRange();
 var Pra = this.getEndAsRange();

 var Qra = p_target.getStartAsRange();
 var Rra = p_target.getEndAsRange();

 
 var Sra = Ora.compareBoundaryPoints("START_TO_START", Qra);
 var Tra = Ora.compareBoundaryPoints("START_TO_START", Rra);
 var Ura = Pra.compareBoundaryPoints("START_TO_START", Qra);
 var Vra = Pra.compareBoundaryPoints("START_TO_START", Rra);

 var Wra = this.ERROR;
 if(Tra > -1)
 { 
 Wra = this.TARGET_BEFORE;
 }
 else if(Ura < 1)
 { 
 Wra = this.TARGET_AFTER;
 }
 else if(Sra == 1 && Vra == -1)
 { 
 Wra = this.TARGET_INCLUDES_THIS;
 }
 else if(Sra == -1 && Vra == -1)
 { 
 Wra = this.TARGET_OVERLAPS_END;
 }
 else if (Sra == 1 && Vra == 1)
 { 
 Wra = this.TARGET_OVERLAPS_START;
 }
 else if(Sra == -1 && Vra == 1)
 { 
 Wra = this.TARGET_INSIDE;
 }
 return Wra;
 };
};





function THRange(p_body, p_startRefPt, p_endRefPt)
{
 this.base = p_body;
 this.startRef = p_startRefPt;
 this.endRef = p_endRefPt;

 
 
 this.equals = function(p_target)
 {
 return (this.startRef.path == p_target.startRef.path
 && this.startRef.offset == p_target.startRef.offset
 && this.endRef.path == p_target.endRef.path
 && this.endRef.offset == p_target.endRef.offset);
 };

 this.toString = function()
 {
 return "THRange " + this.startRef.toString() + " " + this.endRef.toString();
 };
};



 
function ara(p_node, p_nOffset)
{
 try
 {
 
 var eua = dra(p_node);

 var parent = p_node.parentNode;
 var Zra = parent.getAttribute("rwstate");
 while(Zra != null && Zra.length > 0)
 { 
 eua += dra(parent);
 parent = parent.parentNode;
 Zra = parent.getAttribute("rwstate");
 }
 if(p_nOffset == -1)
 {
 eua = -1;
 }
 return new THDomRefPt(Jga(parent), eua + p_nOffset);

 }
 catch(ignore)
 { 
 return null;
 }
};


function dra(p_node)
{
 var eua = 0;
 var uta = p_node.previousSibling;
 while(uta != null)
 {
 if(uta.nodeType ==3)
 {
 eua += uta.nodeValue.length;
 }
 else if(uta.nodeType == 1)
 {
 eua += Npa(uta).length;
 } 
 uta = uta.previousSibling;
 }
 return eua;
};











function THHoverTarget(p_body, p_strPath, p_thRange)
{
 this.body = p_body;
 this.path = p_strPath; 
 this.range = p_thRange; 

 this.Pfa = null; 

 
 this.isRange = function()
 {
 return this.range != null;
 };

 this.getText = function()
 {
 var Eua;
 if(this.isRange())
 {
 this.Pfa = new Array();
 Eua = rw_getTextOverRangeToSpeak(this.range.base,
 this.range.startRef, this.range.endRef,
 this.Pfa);
 }
 else
 {
 var fra = rw_getCaretFromDomPosition(this.body, this.path, -1, true);
 Eua = vla + "0" + wla + ira(fra.node) + vla + "1" + wla;
 }
 return Eua;
 };

 function ira(p_node)
 {
 var Eua = "";
 if(p_node.nodeType == 1)
 {
 var tagName = p_node.tagName.toLowerCase();
 if(tagName == "input")
 {
 var Lua = p_node.getAttribute("type");

 if(Lua != null)
 {
 Lua = Lua.toLowerCase();
 if(Lua.length == 0 || Lua == "text")
 {
 Eua = p_node.value;
 }
 else if(Lua == "password")
 {
 Eua = "";
 }
 else if(Lua == "image")
 {
 Eua = ""; 
 }
 else if(Lua == "button" || Lua == "submit" || Lua == "reset")
 {
 Eua = p_node.getAttribute("value");
 }
 }
 else 
 {
 Eua = p_node.value;
 }
 }
 else if(tagName == "select")
 {
 var Oua = p_node.selectedIndex;
 var Pua = "";
 var Gsa = p_node.options.length;
 for( var Qua = 0; Qua < Gsa; Qua++)
 {
 Pua += p_node.options[Qua].text + " ";
 }
 if(Gsa > 0)
 {
 if(Oua > -1)
 {
 Eua = p_node.options[Oua].text + " selected from the list " + Pua;
 }
 else
 {
 Eua = "No selection from list " + Pua;
 }
 }

 }
 else if(tagName == "textarea" || tagName == "option")
 {
 Eua = p_node.value;
 }
 else
 {
 Rpa("alt1");
 var ora = p_node.getAttribute("alt");
 Rpa("alt2 " + ora);
 if(ora != null && ora.length > 0)
 {
 Eua = ora;
 }
 else
 {
 
 }
 }
 }

 return Eua;
 };

 this.highlightRange = function()
 {
 try
 {
 
 if(this.range != null)
 {
 var Mta = rw_getCaretFromDomPosition(this.range.base, this.range.startRef.path,
 this.range.startRef.offset, true);
 var Ota = rw_getCaretFromDomPosition(this.range.base, this.range.endRef.path,
 this.range.endRef.offset, false);
 
 if(Mta != null && Ota != null)
 {
 Zja(Mta.node, Mta.offset, Ota.node, Ota.offset, "sp");
 }
 else
 {
 Rpa("failed to highlight in THHoverTargetClass"); 
 }
 }
 }
 catch(err)
 {
 alert("err THHoverTargetClass:highlightRange: " + err.message);

 }
 };

 this.unhighlightRange = function()
 {
 if(this.range != null)
 {
 var Mta = rw_getCaretFromDomPosition(this.range.base, this.range.startRef.path,
 this.range.startRef.offset, true);
 var Ota = rw_getCaretFromDomPosition(this.range.base, this.range.endRef.path,
 this.range.endRef.offset, false);
 Pja(aia(Mta.node, Ota.node), false);
 }
 };

 
 this.equals = function(p_hoverTarget)
 {
 if(p_hoverTarget == null)
 {
 return false;
 }
 if(this.isRange() != p_hoverTarget.isRange())
 {
 return false;
 }
 if(this.isRange())
 {
 return this.range.equals(p_hoverTarget.range);
 }
 else
 {
 return this.path.equalsTH(p_hoverTarget.path);
 }
 };

 this.toString = function()
 {
 var Eua = "THHoverTarget ";
 if(this.path != null)
 {
 Eua+= "path=" + this.path;
 }
 else if(this.range != null)
 {
 Eua+= this.range.toString();
 }
 return Eua;
 };
};









function vra(p_theNode)
{
 var Jua = "";
 var wra = 0;
 var xra = "";
 if (p_theNode != null && p_theNode.ownerDocument != null)
 {
 var yra = p_theNode.ownerDocument.body;
 while (p_theNode != null && p_theNode != yra)
 {
 var Zua = p_theNode.previousSibling;
 while (Zua != null)
 {
 ++wra;
 Zua = Zua.previousSibling;
 }
 Jua = Jua + wra + "~";
 wra = 0;
 p_theNode = p_theNode.parentNode;
 if (p_theNode != null && p_theNode.getAttribute != null && p_theNode.tagName != null)
 {
 var Asa = p_theNode.getAttribute("chunk");
 if (p_theNode.tagName.toLowerCase() == "span" && Asa == "1")
 {
 var Bsa = vra(p_theNode);
 xra = "#^th*" + Bsa + "#^th*";
 }
 }
 }
 }
 return xra + Jua;
};


function rw_getCaretFromDomPosition(p_theBody, p_strPath, p_nPos, p_bForwardBias)
{
 try
 {
 
 var Csa = p_theBody;
 if (p_strPath.lastIndexOf("*") > -1)
 {
 var Kta = p_strPath.lastIndexOf("*");
 p_strPath = p_strPath.substring(Kta + 1);
 }

 
 
 var Fsa = p_strPath.split("~");
 var Gsa = Fsa.length;
 var i;
 for (i = Gsa - 2; i > -1; i--)
 {
 Csa = Csa.firstChild;

 var Isa;
 if (Fsa[i].length == 0)
 {
 Isa = 0;
 }
 else
 {
 Isa = parseInt(Fsa[i]);
 }
 while (Isa > 0)
 {
 Csa = Csa.nextSibling;
 --Isa;
 }
 }

 var eua = 0;
 if(p_bForwardBias == false)
 { 
 ++eua;
 }
 if(p_nPos > -1)
 {
 
 
 
 var Ksa = Csa.parentNode;
 var Lsa = false;
 while (Lsa == false)
 {
 if (Csa.nodeType == 3)
 {
 
 if (p_nPos < (eua + Csa.nodeValue.length))
 { 
 
 Lsa = true;
 break;
 }
 eua += Csa.nodeValue.length;
 }
 Csa = xga(Csa, Ksa);

 
 if (Csa == null || Csa == Ksa)
 { 
 return null;
 }
 }
 }
 
 return new THCaret(Csa, p_nPos - eua);
 }
 catch(err)
 { 
 Rpa("error " + err); alert("rw_getCaretFromDomPosition err:" + err.message);
 return null;
 }
}



function Nsa(Zua, bIgnoreStartedAttr)
{
 if (bIgnoreStartedAttr == undefined)
 {
 bIgnoreStartedAttr = false;
 }
 if (Zua.nodeType != 1)
 {
 if (Zua.nodeType == 3)
 {
 return true;
 }
 else
 {
 return false;
 }
 }
 var Psa = Zua.tagName.toLowerCase().trimTH();
 if (Psa == "font" && bIgnoreStartedAttr == false)
 {
 var Osa = Zua.getAttribute("started");
 if (Osa != null && Osa == "1")
 {
 return false;
 }
 }
 if (Psa == "em" || Psa == "strong" || Psa == "b" || Psa == "i" || Psa == "u" ||
 Psa == "tt" || Psa == "font" || Psa == "kbd" || Psa == "dfn" || Psa == "cite" ||
 Psa == "sup" || Psa == "sub" || Psa == "a" || Psa == "embed" || Psa == "span" ||
 Psa == "nobr" || Psa == "wbr" || Psa == "acronym" || Psa == "abbr" || Psa == "code" ||
 Psa == "chunk" || Psa == "th" || Psa == "th:pron" || Psa == "img")
 {
 return true;
 }
 return false;
}
;


function Qsa(Zua, bIgnoreStartedAttr)
{
 if (bIgnoreStartedAttr == undefined)
 {
 bIgnoreStartedAttr = false;
 }
 if (Zua == null)
 {
 return true;
 }
 if (Zua.nodeType != 1)
 {
 return false;
 }
 var Psa = Zua.tagName.toLowerCase();
 if (Psa == "font" && Zua.getAttribute != null &&
 Zua.getAttribute("started") == "1" && bIgnoreStartedAttr == false)
 {
 return true;
 }
 if (Psa == "link" || Psa == "area" || Psa == "script" || Psa == "noscript"
 || Psa == "annotation" || Psa == "style" || Psa == "!--" || Psa == "title")
 {
 return true;
 }
 return false;
}
;


function Ssa(p_node, p_bGoByStyle)
{
 var uta = p_node;
 if (uta.previousSibling != null)
 {
 uta = uta.previousSibling;
 if(p_bGoByStyle)
 {
 if(Nsa(uta) == false)
 {
 uta = null;
 }
 }

 if(uta != null && Qsa(uta, true))
 {
 uta = Ssa(uta, p_bGoByStyle);
 }
 else
 {
 while(uta != null && uta.lastChild != null)
 {
 uta = uta.lastChild;
 if(p_bGoByStyle)
 {
 if(Nsa(uta) == false)
 {
 uta = null;
 }
 }
 if(uta != null && Qsa(uta, true))
 {
 uta = Ssa(uta, p_bGoByStyle);
 break;
 }
 }
 }
 }
 else
 {
 uta = uta.parentNode;
 if(p_bGoByStyle)
 {
 if(Nsa(uta) == false)
 {
 uta = null;
 }
 }
 }
 return uta;
};



function Wsa(Zua, p_bGoByStyle)
{
 var Tsa = Qsa(Zua, true);

 var vta = Zua;

 if (vta.firstChild != null && !Tsa)
 {
 vta = vta.firstChild;
 if(p_bGoByStyle)
 {
 if(Nsa(vta) == false)
 {
 vta = null;
 }
 }
 }
 else if(vta.nextSibling != null)
 {
 vta = vta.nextSibling;
 if(p_bGoByStyle)
 {
 if(Nsa(vta) == false)
 {
 vta = null;
 }
 }
 }
 else 
 {
 while (vta != null && vta.nextSibling == null)
 {
 vta = vta.parentNode;
 if(p_bGoByStyle)
 {
 if(Nsa(vta) == false)
 {
 vta = null;
 }
 }
 }
 if (vta != null)
 {
 vta = vta.nextSibling;
 if(p_bGoByStyle)
 {
 if(Nsa(vta) == false)
 {
 vta = null;
 }
 }
 }
 }

 if(vta != null && Qsa(vta, true))
 {
 vta = Wsa(vta, p_bGoByStyle);
 }
 return vta;
};


function Xsa(p_node)
{
 var Eua = "";
 if(p_node.nodeType == 3 && Qsa(p_node.parentNode, true) == false
 && p_node.parentNode.tagName.toLowerCase() != "textarea")
 {
 Eua = p_node.nodeValue;
 }
 else
 {
 if(p_node.nodeType == 1)
 {
 var Iua = p_node.tagName.toLowerCase();
 var Xta = false;
 if(Iua == "img")
 {
 var Dua = p_node.getAttribute("msg");
 if (Dua != null && Dua.trimTH().length > 0)
 {
 Eua = Dua.trimTH();
 }
 Xta = true;
 }
 else if(Iua == "span")
 {
 var Dua = p_node.getAttribute("pron");
 if (Dua != null && Dua.trimTH().length > 0)
 {
 Eua = Dua.trimTH();
 Xta = true;
 }
 }
 else if(Iua == "acronym" || Iua == "abbr")
 {
 var Dua = p_node.getAttribute("title");
 if (Dua != null && Dua.trimTH().length > 0)
 {
 Eua = Dua.trimTH();
 Xta = true;
 }
 }

 if(Xta == false)
 {
 var Gua = p_node.firstChild;
 while (Gua != null)
 {
 if (Gua.nodeType == 3)
 {
 Eua += Gua.nodeValue;
 }
 else if (Gua.nodeType == 1)
 {
 Eua += Xsa(Gua);
 }
 Gua = Gua.nextSibling;
 }
 }
 }
 }

 return Eua;
}


function fsa(p_node)
{
 var Eua = "";
 if(p_node.nodeType == 3 && Qsa(p_node.parentNode, true) == false
 && p_node.parentNode.tagName.toLowerCase() != "textarea")
 {
 Eua = p_node.nodeValue; 
 }
 else
 {
 if(p_node.nodeType == 1)
 {
 var Iua = p_node.tagName.toLowerCase();
 if(Iua == "img")
 {
 var Dua = p_node.getAttribute("msg");
 if (Dua != null && Dua.trimTH().length > 0)
 {
 Eua = Dua.trimTH();
 }
 }
 else if(Iua == "span")
 {
 var Dua = p_node.getAttribute("pron");
 if (Dua != null && Dua.trimTH().length > 0)
 {
 Eua = Dua.trimTH();
 }
 }
 else if(Iua == "acronym" || Iua == "abbr")
 {
 var Dua = p_node.getAttribute("title");
 if (Dua != null && Dua.trimTH().length > 0)
 {
 Eua = Dua.trimTH();
 }
 }
 }
 }

 return Eua;
}


function nsa(p_thCaret)
{
 var node = p_thCaret.node;
 var eua = p_thCaret.offset;
 var zsa = fsa(node);
 if(zsa == null)
 {
 zsa = "";
 }
 zsa = zsa.replace(/[\x21\x3f\x3a]/, "."); 
 if(zsa.length == 0)
 {
 eua = 0;
 zsa = " ";
 }
 if((zsa.length+1) < eua)
 {
 eua = 0;
 }

 if(!Nba && zsa.length > 0)
 { 
 
 eua = 0;
 }

 var dta = node;
 var Eta = eua;
 var uta = node;
 var rsa = eua;

 

 var Xta = false;

 var Gta = zsa.charAt(eua);
 var rta = true;
 while(!Xta)
 {
 var Eua;
 if(rta)
 { 
 if(eua > 0)
 {
 Eua = zsa.substring(0, eua);
 }
 else
 {
 Eua = "";
 }
 }
 else
 { 
 Eua = fsa(uta);
 }
 rta = false;

 if(Eua.length > 0)
 { 
 if(rsa == -1)
 {
 rsa = Eua.length;
 }

 Eua = Eua.replace(/[\x21\x3f\x3a]/, "."); 
 var Kta = Eua.lastIndexOf(".", rsa);
 if(Kta > -1)
 { 
 
 if(Kta < Eua.length - 1) 
 {
 Gta = Eua.charAt(Kta + 1);
 if(spa(Gta))
 {
 dta = uta;
 Eta = Kta + 1;
 Xta = true;
 break;
 }
 }
 else
 {
 if(spa(Gta))
 { 
 Xta = true;
 break;
 }
 }
 }
 
 dta = uta;
 Eta = 0;

 Gta = Eua.charAt(0);
 }

 uta = Ssa(uta, true); 
 rsa = -1;
 if(uta == null)
 { 
 Xta = true;
 break;
 }
 }

 
 return new THDomRefPt(vra(dta), Eta, true);
}


function Ata(p_thCaret)
{ 
 var node = p_thCaret.node;
 var eua = p_thCaret.offset;

 var zsa = fsa(node);
 if(zsa == null)
 {
 zsa = "";
 }
 zsa = zsa.replace(/[\x21\x3f\x3a]/, "."); 
 if(zsa.length == 0)
 {
 eua = 0;
 zsa = " ";
 }
 if((zsa.length + 1) < eua)
 {
 eua = 0;
 }

 if(!Nba && zsa.length > 0)
 { 
 
 eua = zsa.length - 1;
 }

 var vta = node;
 var Cta = eua;

 var dta = node;
 var Eta = eua + 1;

 

 var Xta = false;

 var Gta = zsa.charAt(eua);
 var rta = true;
 while(!Xta)
 {
 
 var Eua;
 if(rta)
 { 
 if(eua < zsa.length)
 {
 Eua = zsa;
 }
 else
 {
 Eua = "";
 }
 }
 else
 { 
 Eua = fsa(vta);
 }
 rta = false;

 
 if(Eua.length > 0)
 { 
 if(Cta == -1)
 {
 Cta = 0;
 }

 
 if(Gta == '.')
 {
 var Jta = Eua.charAt(Cta);
 if(spa(Jta))
 { 
 Xta = true;
 break;
 }
 }

 Eua = Eua.replace("[\\x21\\x3f\\x3a]", "."); 
 var Kta = Eua.indexOf(".", Cta);

 if(Kta > -1)
 { 
 
 if(Kta < Eua.length - 1)
 {
 Gta = Eua.charAt(Kta + 1);
 if(spa(Gta))
 {
 dta = vta;
 Eta = Kta + 1;
 Xta = true;
 break;
 }
 }
 
 }
 
 dta = vta;
 Eta = vta.length;
 Gta = Eua.charAt(Eua.length -1);
 }

 vta = Wsa(vta, true); 
 Cta = -1;
 if(vta == null)
 { 
 Xta = true;
 break;
 }
 }

 
 return new THDomRefPt(vra(dta), Eta, false);
}



function rw_getTextOverRange(p_body, p_domRefLeft, p_domRefRight)
{ 
 try
 {
 if(p_domRefLeft == null || p_domRefRight == null)
 {
 return "";
 }
 var Mta = rw_getCaretFromDomPosition(p_body,
 p_domRefLeft.path, p_domRefLeft.offset, true);
 if(Mta == null)
 {
 return "";
 }
 var uta = Mta.node;

 var Ota = rw_getCaretFromDomPosition(p_body,
 p_domRefRight.path, p_domRefRight.offset, false);
 if(Ota == null)
 {
 return "";
 }
 var vta = Ota.node;

 var Qta = uta;
 var Eua = "";
 while(Qta != null)
 {
 var Sta = fsa(Qta);
 if(Sta != null)
 {
 if(Qta == vta)
 {
 Sta = Sta.substring(0, Ota.offset);
 }
 if(Qta == uta)
 {
 Sta = Sta.substring(Mta.offset);
 }

 Eua += Sta;
 }
 if(Qta == vta)
 {
 Qta = null;
 }
 else
 {
 Qta = Wsa(Qta, true);
 }
 }
 return Eua;
 }
 catch(err){alert("err rw_getTextOverRange:" + "|"+ err.message);return "";}
}










function Wta(Zua, bGoByStyle, allowImg)
{
 var dta = Zua;
 var uta = Zua;
 var rta = true; 
 while (uta != null)
 {
 if (rta == false && uta.nodeType == 3 && Qsa(uta.parentNode) == false
 && uta.parentNode.tagName.toLowerCase() != "textarea")
 {
 var Xta = false;

 var tta = uta.nodeValue;
 tta = tta.trimTH();
 if (tta.length > 0)
 {
 if (tta.length > 2)
 {
 Xta = true;
 }
 if (tta.length == 2)
 {
 var kta = tta.charCodeAt(0);
 var jta = tta.charCodeAt(1);
 if (kta > 32 && kta < 127 && jta > 32 && jta < 127)
 {
 Xta = true;
 }
 }
 else
 {
 var kta = tta.charCodeAt(0);
 if (kta > 32 && kta < 127)
 {
 Xta = true;
 return uta;
 }
 }
 }
 if(Xta)
 {
 if(bGoByStyle)
 {
 dta = uta;
 }
 else
 {
 return uta;
 }
 }
 }
 else
 {
 if (allowImg == true && rta == false && uta.nodeType == 1 && uta.tagName.toLowerCase() == "img")
 {
 var Dua = uta.getAttribute("msg");
 if (Dua != null && Dua.length > 0)
 {
 if (bGoByStyle)
 {
 dta = uta
 }
 else
 {
 return uta
 }
 }
 }
 }
 rta = false;
 if (bGoByStyle && uta.nodeType == 1 && Nsa(uta) == false)
 {
 break;
 }
 if (uta.nodeType == 1 && uta.lastChild != null)
 {
 uta = uta.lastChild;
 }
 else
 {
 if (uta.previousSibling != null)
 {
 uta = uta.previousSibling;
 }
 else
 {
 uta = uta.parentNode;
 if (bGoByStyle && Nsa(uta) == false)
 {
 break;
 }
 while (uta != null && uta.previousSibling == null)
 {
 uta = uta.parentNode;
 if (bGoByStyle && Nsa(uta) == false)
 {
 uta = null;
 break;
 }
 }
 if (uta == null)
 {
 break;
 }
 uta = uta.previousSibling;
 }
 }
 }
 if (bGoByStyle)
 {
 return dta;
 }
 else
 {
 return null;
 }
}
;



function gta(Zua, bGoByStyle, Ksa, allowImg)
{
 var dta = Zua;
 var vta = Zua;
 var rta = true;
 while (vta != null)
 {
 if (vta == Ksa)
 {
 if (Ksa.nodeType == 3)
 {
 return vta;
 }
 break;
 }
 if (rta == false && vta.nodeType == 3 && Qsa(vta.parentNode) == false && vta.parentNode.tagName.toLowerCase() != "textarea")
 {
 if (bGoByStyle)
 {
 dta = vta;
 }
 else
 {
 var tta = vta.nodeValue;
 tta = tta.trimTH();
 if (tta.length > 0)
 {
 if (tta.length > 2)
 {
 return vta;
 }
 if (tta.length == 2)
 {
 var kta = tta.charCodeAt(0);
 var jta = tta.charCodeAt(1);
 if (kta > 32 && kta < 127 && jta > 32 && jta < 127)
 return vta;
 }
 else
 {
 var kta = tta.charCodeAt(0);
 if (kta > 32 && kta < 127)
 {
 return vta;
 }
 }
 }
 }
 }
 else
 {
 if (allowImg == true && rta == false && vta.nodeType == 1 && vta.tagName.toLowerCase() == "img")
 {
 var Dua = vta.getAttribute("msg");
 if (Dua != null && Dua.length > 0)
 {
 if (bGoByStyle)
 {
 dta = vta;
 }
 else
 {
 return vta;
 }
 }
 }
 }
 rta = false;
 if (bGoByStyle && vta.nodeType == 1 && Nsa(vta) == false)
 {
 break;
 }
 if (vta.nodeType == 1 && vta.firstChild != null)
 {
 vta = vta.firstChild;
 }
 else
 {
 if (vta.nextSibling != null)
 {
 vta = vta.nextSibling;
 }
 else
 {
 vta = vta.parentNode;
 if ((bGoByStyle && Nsa(vta) == false)
 || vta == Ksa)
 {
 break;
 }
 while (vta != null && vta.nextSibling == null)
 {
 vta = vta.parentNode;
 if ((bGoByStyle && Nsa(vta) == false)
 || vta == Ksa)
 {
 vta = null;
 break;
 }
 }
 if (vta == null)
 {
 break;
 }
 vta = vta.nextSibling;
 }
 }
 }
 if (bGoByStyle)
 {
 return dta;
 }
 else
 {
 return null;
 }
}
;


function ota(Zua, Ksa)
{
 var vta = Zua;
 var rta = true;
 while (vta != null)
 {
 if (vta == Ksa)
 {
 if (Ksa.nodeType == 3)
 {
 return vta;
 }
 break;
 }

 if (rta == false && vta.nodeType == 3 &&
 Qsa(vta.parentNode, true) == false &&
 vta.parentNode.tagName.toLowerCase() != "textarea")
 {
 var tta = vta.nodeValue;
 tta = tta.trimTH();
 if (tta.length > 0)
 {

 return vta;

 }
 }
 rta = false;


 if (vta.nodeType == 1 && vta.firstChild != null)
 {
 vta = vta.firstChild;
 }
 else
 {
 if (vta.nextSibling != null)
 {
 vta = vta.nextSibling;
 }
 else
 {
 vta = vta.parentNode;
 if (vta == Ksa)
 {
 break;
 }

 while (vta != null && vta.nextSibling == null)
 {
 vta = vta.parentNode;
 if (vta == Ksa)
 {
 vta = null;
 break;
 }
 }
 if (vta == null)
 {
 break;
 }
 vta = vta.nextSibling;
 }
 }
 }

 return null;
}
;


function sta(Zua, Ksa)
{
 var vta = Zua;
 var rta = true;
 while (vta != null)
 {
 if (vta == Ksa)
 {
 if (Ksa.nodeType == 3)
 {
 return vta;
 }
 break;
 }

 if (rta == false && vta.nodeType == 3 &&
 Qsa(vta.parentNode, true) == false &&
 vta.parentNode.tagName.toLowerCase() != "textarea")
 {
 var tta = vta.nodeValue;
 if (tta.length > 0)
 {
 return vta;
 }
 }
 rta = false;

 if (vta.nodeType == 1 && vta.firstChild != null)
 {
 vta = vta.firstChild;
 }
 else
 {
 if (vta.nextSibling != null)
 {
 vta = vta.nextSibling;
 }
 else
 {
 vta = vta.parentNode;
 if (vta == Ksa)
 {
 break;
 }

 while (vta != null && vta.nextSibling == null)
 {
 vta = vta.parentNode;
 if (vta == Ksa)
 {
 vta = null;
 break;
 }
 }
 if (vta == null)
 {
 break;
 }
 vta = vta.nextSibling;
 }
 }
 }

 return null;
}
;


function xta(Zua)
{
 var uta = Wta(Zua, true, true);
 var vta = lga(Zua, true, null, true);
 return Dha(uta, vta);
};


function yta(uta, vta)
{
 var Hua = "";
 var zta = uta;
 while (zta != null)
 {
 if (zta.nodeType == 3)
 {
 if (zta.nodeValue.trimTH().length > 0)
 {
 var parent = zta.parentNode;
 var Aua = parent.tagName.toLowerCase();
 if (Aua == "span" && parent.getAttribute("pron") != null)
 {
 var Bua = parent.getAttribute("pron");
 Hua += (vra(zta) + ":" + Bua.length + ";" + Bua + ";");
 }
 else if( (Aua == "acronym" || Aua == "abbr") && parent.getAttribute("title") != null)
 {
 var Cua = parent.getAttribute("title");
 Hua += vra(zta) + ":" + Cua.length + ";" + Cua + ";";
 }
 else
 {
 Hua += (vra(zta) + ":" + zta.nodeValue.length + ";" + zta.nodeValue + ";");
 }
 }
 }
 else
 {
 if (zta.nodeType == 1 && zta.tagName.toLowerCase() == "img")
 {
 var Dua = zta.getAttribute("msg");
 if (Dua != null && Dua.length > 0)
 {
 Hua += (vra(zta) + ":" + Dua.length + ";" + Dua.toString() + ";");
 }
 }
 }
 if (zta == vta)
 {
 break;
 }
 zta = lga(zta, false, vta, true);
 }
 if (Hua.indexOf("#^th*") != -1)
 {
 Hua = "[[~chunk~]]" + Hua;
 }
 return Hua;
}
;

function Fua(Zua)
{
 var Eua = "";
 if (Zua.nodeType == 3)
 {
 Eua = Zua.nodeValue;
 }
 else if (Zua.nodeType == 1)
 {
 var Gua = Zua.firstChild;
 while (Gua != null)
 {
 if (Gua.nodeType == 3)
 {
 Eua += Gua.nodeValue;
 }
 else if (Gua.nodeType == 1)
 {
 Eua += Kha(Gua);
 }
 Gua = Gua.nextSibling;
 }
 }
 return Eua;
}
;

function Kua(Zua)
{
 var Hua = null;
 var Iua = Zua.tagName.toLowerCase();
 var Jua = vra(Zua);
 if (Iua == "input")
 {
 var Lua = Zua.getAttribute("type");
 if (Lua != null)
 {
 Lua = Lua.toLowerCase();
 }
 var Sua = "";
 if (Lua == null || Lua.equalsTH("") || Lua.equalsTH("text"))
 {
 Sua = Zua.value;
 }
 else if (Lua.equalsTH("password"))
 {
 Sua = "Masked password field"
 }
 else if (Lua.equalsTH("image"))
 {
 Sua = "";
 }
 else if (Lua.equalsTH("button") || Lua.equalsTH("submit") || Lua.equalsTH("reset"))
 {
 Sua = Zua.getAttribute("value");
 }
 if (Sua.equalsTH("") == false)
 {
 Hua = "form:" + Jua + ";" + Sua;
 }
 }
 else if (Iua == "select")
 {
 var Sua = "";
 var Oua = Zua.selectedIndex;
 var Pua = "";
 for (var Qua = 0; Qua < Zua.options.length; Qua++)
 {
 Pua += Zua.options[Qua].text + " ";
 }
 if (Pua.equalsTH("") == false)
 {
 if (Oua > -1)
 {
 Sua = Zua.options[Oua].text;
 Sua += " selected from the list " + Pua;
 }
 else
 {
 Sua = "No selection from the list " + Pua;
 }
 Hua = "form" + Jua + ";" + Sua;
 }
 }
 else if (Iua == "textarea")
 {
 var Sua = Zua.value;
 Hua = "form" + Jua + ";" + Sua;
 }
 else if (Iua == "option")
 {
 var Sua = Zua.value;
 Hua = "form" + Jua + ";" + Sua;
 }
 return Hua;
}


function rw_isNodeChildOfNode(p_first, p_second)
{ if(p_first == null){alert("first null");}
if(p_second == null){alert("second null");}
 try
 {
 if(p_first == p_second)
 {
 return true;
 }
 
 var Zua = p_second.lastChild;
 while(Zua != null && Zua.lastChild != null)
 {
 Zua = Zua.lastChild;
 }

 while(Zua != null && Zua != p_second)
 {
 if(Zua == p_first)
 {
 return true;
 }
 Zua = Ssa(Zua);
 }
 }
 catch(err)
 {
 alert("err rw_isNodeChildOfNode:" + err.message); 
 }
}






function cua(evt)
{
 try
 {
 var Vua = dda(evt);
 var Wua = Opa();
 Wua.moveToPoint(Vua.x, Vua.y);

 var Xua = Opa();
 var Yua = Opa();

 var Zua = evt.srcElement.firstChild;

 
 while((Zua != null))
 {
 if(Zua.nodeType == 3 && Zua.nodeValue.trimTH().length > 0)
 { 
 
 

 
 var aua = Zua.previousSibling;
 while(aua != null && aua.nodeType != 1)
 {
 aua = aua.previousSibling;
 }
 if(aua != null)
 {
 Xua.moveToElementText(aua);
 Xua.collapse(false);
 }
 else
 { 
 Xua.moveToElementText(Zua.parentNode);
 }

 
 var bua = Zua.nextSibling;
 while(bua != null && bua.nodeType != 1)
 {
 b+= bua.nodeValue + "|";
 bua = bua.nextSibling;
 }
 if(bua != null)
 {
 Yua.moveToElementText(bua);
 Xua.setEndPoint("EndToStart", Yua);
 }
 else
 { 

 Yua.moveToElementText(Zua.parentNode);
 Xua.setEndPoint("EndToEnd", Yua);
 }

 if(Xua.inRange(Wua))
 { 
 
 
 var eua = gua(Zua, Xua, Wua);
 return new THCaret(Zua, eua);
 }
 }
 Zua = Zua.nextSibling;
 }
 
 }
 catch(exc)
 {
 Rpa(exc);
 }
 return null;
}


function gua(p_aNode, p_range, p_evtRange)
{
 try
 {
 var eua = 0;
 
 var range = p_range.duplicate();
 range.collapse();

 while(range.compareEndPoints("EndToEnd", p_evtRange) == -1)
 {
 range.move("character", 1);
 ++eua;
 }
 return eua;
 }
 catch(err)
 { 
 return 0;
 }
}


