
function glossarysack(file){this.xmlhttp=null;this.resetData=function(){this.method="POST";this.queryStringSeparator="?";this.argumentSeparator="&";this.URLString="";this.encodeURIString=true;this.execute=false;this.element=null;this.elementObj=null;this.requestFile=file;this.vars=new Object();this.responseStatus=new Array(2);};this.resetFunctions=function(){this.onLoading=function(){};this.onLoaded=function(){};this.onInteractive=function(){};this.onCompletion=function(){};this.onError=function(){};this.onFail=function(){};};this.reset=function(){this.resetFunctions();this.resetData();};this.createAJAX=function(){try{this.xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");}catch(e1){try{this.xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}catch(e2){this.xmlhttp=null;}}
if(!this.xmlhttp){if(typeof XMLHttpRequest!="undefined"){this.xmlhttp=new XMLHttpRequest();}else{this.failed=true;}}};this.setVar=function(name,value){this.vars[name]=Array(value,false);};this.encVar=function(name,value,returnvars){if(true==returnvars){return Array(encodeURIComponent(name),encodeURIComponent(value));}else{this.vars[encodeURIComponent(name)]=Array(encodeURIComponent(value),true);}}
this.processURLString=function(string,encode){encoded=encodeURIComponent(this.argumentSeparator);regexp=new RegExp(this.argumentSeparator+"|"+encoded);varArray=string.split(regexp);for(i=0;i<varArray.length;i++){urlVars=varArray[i].split("=");if(true==encode){this.encVar(urlVars[0],urlVars[1]);}else{this.setVar(urlVars[0],urlVars[1]);}}}
this.createURLString=function(urlstring){if(this.encodeURIString&&this.URLString.length){this.processURLString(this.URLString,true);}
if(urlstring){if(this.URLString.length){this.URLString+=this.argumentSeparator+urlstring;}else{this.URLString=urlstring;}}
this.setVar("rndval",new Date().getTime());urlstringtemp=new Array();for(key in this.vars){if(false==this.vars[key][1]&&true==this.encodeURIString){encoded=this.encVar(key,this.vars[key][0],true);delete this.vars[key];this.vars[encoded[0]]=Array(encoded[1],true);key=encoded[0];}
urlstringtemp[urlstringtemp.length]=key+"="+this.vars[key][0];}
if(urlstring){this.URLString+=this.argumentSeparator+urlstringtemp.join(this.argumentSeparator);}else{this.URLString+=urlstringtemp.join(this.argumentSeparator);}}
this.runResponse=function(){eval(this.response);}
this.runAJAX=function(urlstring){if(this.failed){this.onFail();}else{this.createURLString(urlstring);if(this.element){this.elementObj=document.getElementById(this.element);}
if(this.xmlhttp){var self=this;if(this.method=="GET"){totalurlstring=this.requestFile+this.queryStringSeparator+this.URLString;this.xmlhttp.open(this.method,totalurlstring,true);}else{this.xmlhttp.open(this.method,this.requestFile,true);try{this.xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}catch(e){}}
this.xmlhttp.onreadystatechange=function(){switch(self.xmlhttp.readyState){case 1:self.onLoading();break;case 2:self.onLoaded();break;case 3:self.onInteractive();break;case 4:self.response=self.xmlhttp.responseText;self.responseXML=self.xmlhttp.responseXML;self.responseStatus[0]=self.xmlhttp.status;self.responseStatus[1]=self.xmlhttp.statusText;if(self.execute){self.runResponse();}
if(self.elementObj){elemNodeName=self.elementObj.nodeName;elemNodeName.toLowerCase();if(elemNodeName=="input"||elemNodeName=="select"||elemNodeName=="option"||elemNodeName=="textarea"){self.elementObj.value=self.response;}else{self.elementObj.innerHTML=self.response;}}
if(self.responseStatus[0]=="200"){self.onCompletion();}else{self.onError();}
self.URLString="";break;}};this.xmlhttp.send(this.URLString);}}};this.reset();this.createAJAX();}
var x_offset_tooltip=5;var y_offset_tooltip=10;var glossary_ajax_tooltipObj=false;var glossary_ajax_tooltipObj_iframe=false;var ajax_tooltip_MSIE=false;if(navigator.userAgent.indexOf('MSIE')>=0)ajax_tooltip_MSIE=true;var refToTagTriggerTooltip=false;var tooltipTimer=1000;function glossary_ajax_showTooltip(externalFile,inputObj,init)
{if(init)tooltipTimer=0;if(tooltipTimer==-1)return;if(tooltipTimer<10&&tooltipTimer>=0){tooltipTimer++;refToTagTriggerTooltip=inputObj;setTimeout('glossary_ajax_showTooltip(\''+externalFile+'\',refToTagTriggerTooltip,false)',30);return;}
if(!glossary_ajax_tooltipObj)
{glossary_ajax_tooltipObj=document.createElement('DIV');glossary_ajax_tooltipObj.style.position='absolute';glossary_ajax_tooltipObj.id='glossary_ajax_tooltipObj';document.body.appendChild(glossary_ajax_tooltipObj);var leftDiv=document.createElement('DIV');leftDiv.className='glossary_ajax_tooltip_arrow';leftDiv.id='glossary_ajax_tooltip_arrow';glossary_ajax_tooltipObj.appendChild(leftDiv);var contentDiv=document.createElement('DIV');contentDiv.className='glossary_ajax_tooltip_content';glossary_ajax_tooltipObj.appendChild(contentDiv);contentDiv.id='glossary_ajax_tooltip_content';if(ajax_tooltip_MSIE){glossary_ajax_tooltipObj_iframe=document.createElement('<IFRAME frameborder="0">');glossary_ajax_tooltipObj_iframe.style.position='absolute';glossary_ajax_tooltipObj_iframe.border='0';glossary_ajax_tooltipObj_iframe.frameborder=0;glossary_ajax_tooltipObj_iframe.style.backgroundColor='#FFF';glossary_ajax_tooltipObj_iframe.src='about:blank';contentDiv.appendChild(glossary_ajax_tooltipObj_iframe);glossary_ajax_tooltipObj_iframe.style.left='0px';glossary_ajax_tooltipObj_iframe.style.top='0px';}}
glossary_ajax_tooltipObj.style.display='block';glossary_ajax_loadContent('glossary_ajax_tooltip_content',externalFile);if(ajax_tooltip_MSIE){glossary_ajax_tooltipObj_iframe.style.width=glossary_ajax_tooltipObj.clientWidth+'px';glossary_ajax_tooltipObj_iframe.style.height=glossary_ajax_tooltipObj.clientHeight+'px';}
glossary_ajax_positionTooltip(inputObj);}
function glossary_ajax_positionTooltip(inputObj)
{var leftPos=(glossary_ajaxTooltip_getLeftPos(inputObj)+inputObj.offsetWidth);var topPos=glossary_ajaxTooltip_getTopPos(inputObj);var tooltipWidth=document.getElementById('glossary_ajax_tooltip_content').offsetWidth+document.getElementById('glossary_ajax_tooltip_arrow').offsetWidth;glossary_ajax_tooltipObj.style.left=leftPos+'px';glossary_ajax_tooltipObj.style.top=topPos+'px';}
function glossary_ajax_hideTooltip()
{tooltipTimer=-1;if(glossary_ajax_tooltipObj)glossary_ajax_tooltipObj.style.display='none';}
function glossary_ajaxTooltip_getTopPos(inputObj)
{var returnValue=inputObj.offsetTop;while((inputObj=inputObj.offsetParent)!=null){if(inputObj.tagName!='HTML')returnValue+=inputObj.offsetTop;}
return returnValue;}
function glossary_ajaxTooltip_getLeftPos(inputObj)
{var returnValue=inputObj.offsetLeft;while((inputObj=inputObj.offsetParent)!=null){if(inputObj.tagName!='HTML')returnValue+=inputObj.offsetLeft;}
return returnValue;}
var enableCache=false;var jsCache=new Array();var dynamicContent_ajaxObjects=new Array();function glossary_ajax_showContent(divId,ajaxIndex,url)
{document.getElementById(divId).innerHTML=dynamicContent_ajaxObjects[ajaxIndex].response;if(enableCache){jsCache[url]=dynamicContent_ajaxObjects[ajaxIndex].response;}
dynamicContent_ajaxObjects[ajaxIndex]=false;}
function glossary_ajax_loadContent(divId,url)
{if(enableCache&&jsCache[url]){document.getElementById(divId).innerHTML=jsCache[url];return;}
var ajaxIndex=dynamicContent_ajaxObjects.length;document.getElementById(divId).innerHTML='Loading Glossary Term - Please Wait ...<br /><br /><br /><br />';dynamicContent_ajaxObjects[ajaxIndex]=new glossarysack();dynamicContent_ajaxObjects[ajaxIndex].requestFile=url;dynamicContent_ajaxObjects[ajaxIndex].onCompletion=function(){glossary_ajax_showContent(divId,ajaxIndex,url);};dynamicContent_ajaxObjects[ajaxIndex].runAJAX();}