function JargonBuster(b){var a=this;a.jargon=new Object;a.jargonCached=false;a.targetContainer=$("#content");$.browser.msie?a.targetElements=$(".applyjargon",a.targetContainer).find("p, ul, ol, .spec th, .spec td"):a.targetElements=$(".applyjargon",a.targetContainer).find("p, ul, ol, .spec");a.regexPrefix="(";a.regexPostfix=')(?!([a-zA-Z0-9 _:;/#?&-]*?"?(>| [a-zA-Z0-9_-]*?="?[a-zA-Z0-9 _:;/#?&-]"?)|.*?</(a|h[1-2]|button|option|script|style|textarea)>|.*?" />))';a.regexOptions="gi";a.divOffsetX=-10;a.divOffsetY=-24;a.initBubble=function(){var c=$('<div id="ajaxNode" style="display: none;"><div id="ajaxNodeTitle"><h3 id="ajaxHeadTitle"></h3></div><div id="ajaxNodeText"></div></div>');$("body").append(c);return(c)};a.updateBubble=function(d){var c=d.className.split(" ")[1];if(!a.divHead){a.divHead=$("#ajaxNodeTitle > h3");a.divBody=$("#ajaxNodeText")}a.divHead.text(a.jargon[c].term);a.divBody.html(a.jargon[c].description)};a.positionBubble=function(c,d){a.jargonBubble.css({left:c+a.divOffsetX,top:(d-a.jargonBubble.height())+a.divOffsetY})};a.jargonWindow=function(c){window.open(c,"Jargon","width=647,height=680,scrollbars=yes,resizable=yes").focus();return(false)};a.insertJargon=function(e){var c=a.targetElements,f=new Array,d=$("jargonterm",e);c.each(function(g){f[g]=$(this).html()});d.each(function(i){var i=0,g=$(this),h=new RegExp(a.regexPrefix+g.attr("regex")+a.regexPostfix,a.regexOptions);a.jargon[g.attr("id")]=new Object({term:g.attr("term"),description:$("description",g).text(),href:g.attr("href"),regex:g.attr("regex")});for(i=0;i<f.length;i++){f[i]=f[i].replace(h,'\r\n<a class="jargonbuster '+g.attr("id")+'" href="'+g.attr("href")+'">$1</a>\r\n')}});c.each(function(g){$(this).html(f[g])})};a.addJargonEvents=function(){var c=$(".jargonbuster",a.targetContainer);c.click(function(d){return(a.jargonWindow(this.href))});c.hover(function(d){a.updateBubble(this);a.jargonBubble.css("display","block");a.positionBubble(d.pageX,d.pageY)},function(d){a.jargonBubble.css("display","none")});c.mousemove(function(d){a.positionBubble(d.pageX,d.pageY)})};a.fetchJargon=function(c){$.ajax({type:"GET",dataType:"xml",url:c,data:{sid:Math.random()},success:function(d){$(".jargon-buster").hide();a.insertJargon(d);a.addJargonEvents()}})};a.jargonBubble=a.initBubble();a.fetchJargon(b)};
