PageText=function(){this.DOM=document.createElement("div");this.DOM.className="leaf";YAHOO.util.Dom.generateId(this.DOM,"PageText");YAHOO.util.Dom.setStyle(this.DOM,"display","none");this.verso=document.createElement("div");this.verso.className="verso";this.recto=document.createElement("div");this.recto.className="recto";this.vLoaded=false;this.rLoaded=false;this.DOM.appendChild(this.verso);this.DOM.appendChild(this.recto);this.writing=false;this.docId="097";this.set=null;this.xslpath="./quartos.xsl";this.xmlconnect=null;this.page=0;this.clearText=new YAHOO.util.CustomEvent("clearText");this.retrieveHTML=new YAHOO.util.CustomEvent("retrieveHTML");this.storeTextAnno=new YAHOO.util.CustomEvent("storeTextAnno");this.pageLoaded=new YAHOO.util.CustomEvent("pageLoaded");this.pageLoaded.subscribe(this.handlePagesLoaded,this);this.annoMode=0;};PageText.prototype.stopXML=function(){if(this.xmlconnect){YAHOO.util.Connect.abort(this.xmlconnect);}};PageText.prototype.loadXML=function(g,e){var d=g;var f={success:function(k){var j=k.responseXML;k.argument.obj.applyXSL(k.argument.obj.xslpath,j,k.argument.target);},failure:function(j){alert("Failure getting XML content. Please refresh your browser.");},argument:{obj:this,target:e}};this.xmlconnect=YAHOO.util.Connect.asyncRequest("GET",d,f);if(YAHOO.env.ua.ie==0){setTimeout(function(j){if(YAHOO.util.Connect.isCallInProgress(j.xmlconnect)){YAHOO.util.Connect.abort(j.xmlconnect);}},5000,this);}};PageText.prototype.applyXSL=function(f,e,g){var j={success:function(r){var q=r.argument.obj;var l=r.responseXML;var p=r.argument.target;var n="";if(YAHOO.env.ua.gecko>0){var k=new XSLTProcessor();k.importStylesheet(l);var m=k.transformToFragment(r.argument.xml,document);n=(new XMLSerializer()).serializeToString(m);}else{if(window.ActiveXObject){n=r.argument.xml.transformNode(l);}}if(p.firstChild){while(p.firstChild.nextSibling){p.removeChild(p.firstChild.nextSibling);}p.removeChild(p.firstChild);}p.innerHTML=n;},failure:function(k){alert("Failed to return XML.");},argument:{xsl:f,xml:e,target:g,obj:this}};var d=YAHOO.util.Connect.asyncRequest("GET",f,j);setTimeout(function(){if(YAHOO.util.Connect.isCallInProgress(d)){YAHOO.util.Connect.abort(d);}},5000);};PageText.prototype.retrieveContentOld=function(e,f){XSLURI="./quartos.xsl";xml=this.loadXML(e);xsl=this.loadXML(XSLURI);if(window.ActiveXObject){ex=xml.transformNode(xsl);f.innerHTML=ex;}else{if(document.implementation&&document.implementation.createDocument){xsltProcessor=new XSLTProcessor();xsltProcessor.importStylesheet(xsl);resultDocument=xsltProcessor.transformToFragment(xml,document);var d=(new XMLSerializer()).serializeToString(resultDocument);f.innerHTML=d;}}this.pageLoaded.fire(f);};PageText.prototype.retrieveContent=function(d,e){if(d.indexOf("blank.xml",1)<0){this.loadXML(d,e);}};PageText.prototype.handlePagesLoaded=function(g,f,d){pageText=d;if(f[0].className=="recto"){if(pageText.vLoaded){pageText.setUpPage();}else{pageText.rLoaded=true;}}else{if(pageText.rLoaded){pageText.setUpPage();}else{pageText.vLoaded=true;}}};PageText.prototype.fillPage=function(d,g,e,f,j){this.docId=e;this.page=f;this.set=j;this.retrieveContent(d,this.verso);this.retrieveContent(g,this.recto);};PageText.prototype.clearNotes=function(f,d){d.clearText.fire();};PageText.prototype.createAnnotation=function(e){sel=e.annoInfo;if(sel){if(sel.startNodeParent.className!="annoMarker"){e.annoMode=0;e.annoBar.closeBar();note=[];note.type="text";note.page=e.curPage;note.panel=e.id;anno=new Annotation("text");var d=YAHOO.util.Dom.getX(e.annoBar.DOM);var f=YAHOO.util.Dom.getY(e.annoBar.DOM);e.DOM.appendChild(anno.DOM);anno.saveAnnoCall.subscribe(e.saveAnno,[e,anno]);anno.annoClosed.subscribe(e.cancelAnno,[e,anno]);anno.annoClosed.subscribe(e.closeAnnotation,e);}}};PageText.prototype.startAnno=function(){this.annoMode=1;this.annoBar=new TextAnnoBar();document.documentElement.getElementsByTagName("body")[0].appendChild(this.annoBar.DOM);this.annoBar.markerSelect.subscribe(this.setEndSelection,this);};PageText.prototype.setEndSelection=function(g,f,d){d.annoMode=2;};PageText.prototype.saveAnno=function(g,f,d){panelText=d[0];panelText.storeTextAnno.fire(d);};PageText.prototype.closeAnnotation=function(g,f,d){if(obj.annoBar){document.getElementsByTagName("body")[0].removeChild(obj.pageText.annoBar.DOM);}};PageText.prototype.positionAnno=function(d){anno=d[2];mousex=d[0];mousey=d[1];h=parseFloat(YAHOO.util.Dom.getStyle(anno.DOM.id,"height"))+mousey;bottom=parseFloat(YAHOO.util.Dom.getStyle(anno.DOM.parentNode,"height"))+YAHOO.util.Dom.getY(anno.DOM.parentNode);if(h>bottom){mousey=mousey-parseFloat(YAHOO.util.Dom.getStyle(anno.DOM.id,"height"));}if(mousey<YAHOO.util.Dom.getY(anno.DOM.parentNode)){mousey=YAHOO.util.Dom.getY(anno.DOM.parentNode);}YAHOO.util.Dom.setX(anno.DOM.id,parseFloat(mousex));YAHOO.util.Dom.setY(anno.DOM.id,parseFloat(mousey));YAHOO.util.Dom.setStyle(anno.DOM,"z-index",45);};PageText.prototype.setUpPage=function(){var f="?type=text&doc="+this.docId+"&page="+this.page+"&set="+this.set;var e="./lib/Annotation/retrieveAnno.php"+f;var g={success:function(j){annosOnPage=j.responseText;j.argument.pageText.markAnnos(j);},failure:function(j){alert("Notes could not be loaded.  Check your connection.");},argument:{pageText:this}};var d=YAHOO.util.Connect.asyncRequest("GET",e,g);};PageText.prototype.markAnnos=function(e){marks=e.responseText.split(";");for(var d=0;d<marks.length;d++){mark=marks[d];if(!(mark=="")){pieces=mark.split("%");if(document.getElementById(pieces[2])){endNode=document.getElementById(pieces[2]).childNodes[pieces[5]];if(endNode){o={id:pieces[0],node2:pieces[2],pageText:e.argument.pageText,offset2:pieces[4],endNode:pieces[6],markerChild:null};e.argument.pageText.createTextAnno(o);}}}}};PageText.prototype.cancelAnno=function(d){if(document.getElementById("startMark")){sm=document.getElementById("startMark");a=sm.previousSibling;b=sm.nextSibling;if((a.nodeType==3)&&(b.nodeType==3)){c=document.createTextNode(a.nodeValue+b.nodeValue);if((selNode==a)||(selNode==b)){selNode=c;if((selNode==b)){annoOffset=annoOffset+a.nodeValue.length;}}}a.parentNode.removeChild(a);b.parentNode.removeChild(b);sm.parentNode.replaceChild(c,sm);}};PageText.prototype.alertSelect=function(j,g){if(g.annoMode>0){g.mouseX=YAHOO.util.Event.getPageX(j);g.mouseY=YAHOO.util.Event.getPageY(j);g.selection.init(g.selection);var f=g.selection.getRangeValue(g.selection,YAHOO.util.Event.getPageX(j),YAHOO.util.Event.getPageY(j));if(g.annoMode==1){selNode=f.startNode;nodeParent=selNode.parentNode;annoOffset=f.startValue;curStart=selNode;curOffset=annoOffset;}else{selNode=f.endNode;nodeParent=selNode.parentNode;annoOffset=f.endValue;}var d=0;for(i=0;i<nodeParent.childNodes.length;i++){node=nodeParent.childNodes[i];if(node==selNode){break;}else{if((node.className=="annoMarker")||(node.id=="startMark")){if(((node.previousSibling)&&(node.previousSibling.nodeType==3))&&((node.nextSibling)&&(node.nextSibling.nodeType==3))){annoOffset=parseInt(annoOffset)+node.previousSibling.length;d--;}}else{d++;}}}if(g.annoMode==1){if(((f.startNode.nodeType==3)&&(f.endNode.nodeType==3))&&((f.startNode.parentNode.id!="startMark")&&(f.endNode.parentNode.id!="startMark"))){g.annoInfo.startNodeParent=nodeParent;g.annoInfo.startChildNum=d;g.annoInfo.startOffset=annoOffset;txt=curStart.nodeValue;before=document.createTextNode(txt.substring(0,curOffset));end=document.createTextNode(txt.substring(curOffset));startMark=document.createElement("span");startMark.id="startMark";nodeParent.replaceChild(end,curStart);nodeParent.insertBefore(startMark,end);nodeParent.insertBefore(before,startMark);g.annoBar.initEnd();}else{alert("Selection cannot begin or end on marker.");}}else{if((f.endNode.nodeType==3)&&(nodeParent.id!="startMark")){g.annoInfo.endNodeParent=nodeParent;g.annoInfo.endChildNum=d;g.annoInfo.endOffset=annoOffset;g.createAnnotation(g);}else{alert("invalid selection");}}}};