var note_gap=20; // px;

function update_title() {
   var text=top.contents.document.title;
   var title=getById(top.title.document,"follow");
   if (top.isNS4) {
      replaceText(title, '<span class="title"><font size="+3">' + text + '</font></span>');
      setX(title, winW(top.title)-20-getW(title));
      setY(title, 10);
   } else {
      replaceText(title, '<span class="title">' + text + '</span>');
   }
   if (!title.isVisible) {
      var title_img=getById(top.title.document,"start");
      setVisibility(title_img, "hidden");
      setVisibility(title, "visible");
      setVisibility(getById(top.logo.document, "logo"), "visible");
      title.isVisible=true;
   }
}

var pinned_note=null;
var clicked=false;

function show_note(e) {
   if (clicked) {
      clicked=false;
      return;
   }
   var doc=top.contents.document;
   var note=this.attachedNote;
   if (pinned_note) {
      window.status="Click to hide the note";
      return true;
   }
   var h=getH(note);
   var w=getW(note);
   var con=top.contents;
   var x=relMouseX(e,con);
   var y=relMouseY(e,con);
   var x_note=Math.max(0, Math.min(x - note_gap, winW(con) - w));
   var y_note=y - note_gap - h;
   if (y_note<=0) y_note=y + note_gap;
   setX(note, x_note+winL(con));
   setY(note, y_note+winT(con));
   if (top.isDOM) setBgColor(note, doc.bgColor);
   setVisibility(note, "visible");
   if (!this.isLink) window.status="Click to pin the note down";
   return true;
}

function pin_note(e) {
   var note=this.attachedNote;
   if (!pinned_note) {
      setVisibility(note, "visible");
      pinned_note=note;
      return this.isLink;
   }
   if (pinned_note === note) {
      setVisibility(note, "hidden");
      pinned_note=null;
      clicked=true;
      return false;
   }
   setVisibility(pinned_note, "hidden");
   pinned_note=null;
   this.onmouseover(e);
   return this.isLink;
}

function hide_note(e) {
   if (!pinned_note) setVisibility(this.attachedNote, "hidden");
   window.status="";
   clicked=false;
   return true;
}

function init_note_refs() {
   var doc=top.contents.document;
   var links=getByTag(doc, "a");
   for (var i=0; i<links.length; ++i) {
      var href=getAttr(links[i], "href");
      if (href == undefined) continue;
      var quest=href.indexOf("?");
      if (quest>0 && (quest<=1 || href.indexOf("&") < quest)) {
	 var note=getById(doc, href.substring(quest+1));
	 if (note) {
	    links[i].attachedNote=note;
	    links[i].onmouseover=show_note;
	    links[i].onmouseout=hide_note;
	    links[i].onclick=pin_note;
	    if ((links[i].isLink= quest>1 && href.charAt(quest-1)!="#")) {
	       setAttr(links[i], "href", href.substr(0,quest));
	    } else {
	       setAttr(links[i], "href", "javascript:void(0)");
	    }
	 }
      }
   }
   pinned_note=null;
   clicked=false;
}
