var globalOffsetTop=0;
var globalOffsetLeft=0;
var hovering=new Boolean(false);
var shown=new Boolean(false);
var timeout=setTimeout("",1);
function clearTime(){timeout=setTimeout("",1)
}var scrollbarWidth=(document.all)?0:22;
var superCites=new Array();
var lastCitationValue="";
var currentCitationValue="";
var citationSpace="";
function overCitation(){hovering=true
}function outCitation(){hovering=false
}function manualClear(){hovering=false;
clearCitation()
}function clearCitation(){if(hovering==false){if(shown==true){new Effect.Opacity(citationSpace,{duration:0.7,from:0.9,to:0});
setTimeout("citationSpace.style.display = 'none';",200);
shown=false
}}else{timeout=setTimeout("clearCitation();",5000)
}}function showCitation(){if(shown==false){citationSpace.style.display="block";
new Effect.Opacity(citationSpace,{duration:0.7,from:0,to:0.9})
}shown=true;
globalOffsetTop-=citationSpace.offsetHeight;
citationSpace.style.top=globalOffsetTop+"px";
var a=document.body.scrollTop;
var b=document.body.clientWidth+document.body.scrollLeft;
var d=document.body.clientHeight+document.body.scrollTop;
var c=document.body.scrollLeft;
if(!document.all){a=window.pageYOffset;
b=window.innerWidth+window.pageXOffset;
d=window.innerHeight+window.pageYOffset;
c=window.pageXOffset
}if(globalOffsetTop<a){citationSpace.style.top=a+"px"
}if(globalOffsetLeft<c){citationSpace.style.left=c+"px"
}if(globalOffsetTop+citationSpace.offsetHeight>d){citationSpace.style.top=d-citationSpace.offsetHeight-scrollbarWidth+"px"
}if(globalOffsetLeft+citationSpace.offsetWidth>b){citationSpace.style.left=b-citationSpace.offsetWidth-scrollbarWidth+"px"
}}function makeCitation(){citationSpace=document.getElementById("citationSpace");
var b=document.getElementById("citationBody");
function e(g,h){this.element=g;
this.element.id=h;
this.id=h;
this.unique=new Boolean(true);
g.onmouseover=c;
g.onmouseout=f;
this.source=(g.getAttribute("source"))?g.getAttribute("source"):"default_citation";
if(this.source=="default_citation"){g.setAttribute("source","default_citation")
}this.loaded=new Boolean(false);
this.loading=new Boolean(false);
this.body="loading";
g.setAttribute("citation",this)
}function c(){hovering=new Boolean(true);
this.setAttribute("class","citation_over");
this.setAttribute("className","citation_over");
if(this!==window){currentCitationValue=superCites[this.id].body;
if(currentCitationValue!=lastCitationValue){citationGuts=currentCitationValue
}lastCitationValue=currentCitationValue
}b.innerHTML=citationGuts;
globalOffsetTop=0;
globalOffsetLeft=0;
var g=this.offsetParent;
while(g!=null&&g!=document){globalOffsetLeft+=g.offsetLeft;
globalOffsetTop+=g.offsetTop;
g=g.offsetParent
}globalOffsetLeft=globalOffsetLeft+this.offsetLeft+this.offsetWidth;
globalOffsetTop=globalOffsetTop+this.offsetTop;
citationSpace.style.left=globalOffsetLeft+"px";
citationSpace.style.top=globalOffsetTop+"px";
showCitation()
}function f(){hovering=new Boolean(false);
this.setAttribute("class","citation_off");
this.setAttribute("className","citation_off");
timeout=setTimeout("clearCitation();",4000)
}main:{var a=document.getElementsByTagName("cite");
superCites=new Array(a.length);
for(i=0;
i<superCites.length;
i++){superCites[i]=new e(a[i],i);
checkDupes:for(j=0;
j<i;
j++){if(superCites[i].source==superCites[j].source){superCites[i].element.setAttribute("citation",superCites[j].element.citation);
superCites[i].element=superCites[j].element;
superCites[i].unique=new Boolean(false);
break checkDupes
}}}function d(g){new Ajax.Request(g.source+".cite",{method:"get",onSuccess:function(h){g.body=h.responseText
},onFailure:function(){alert("citation request failed")
}})
}for(i=0;
i<superCites.length;
i++){d(superCites[i])
}}};
