
addLoadListener(initTooltips);function initTooltips()
{var tips=getElementsByAttribute("class","hastooltip");for(var i=0;i<tips.length;i++)
{attachEventListener(tips[i],"mouseover",showTip,false);attachEventListener(tips[i],"mouseout",hideTip,false);}
return true;}
function showTip(event)
{if(typeof event=="undefined")
{event=window.event;}
var target=getEventTarget(event);while(target.className==null||!/(^| )hastooltip( |$)/.test(target.className))
{target=target.parentNode;}
var tip=document.createElement("div");var content=target.getAttribute("title");target.tooltip=tip;target.setAttribute("title","");if(target.getAttribute("id")!="")
{tip.setAttribute("id",target.getAttribute("id")+"tooltip");}
tip.className="tooltip";tip.appendChild(document.createTextNode(content));var scrollingPosition=getScrollingPosition();var cursorPosition=[0,0];if(typeof event.pageX!="undefined"&&typeof event.x!="undefined")
{cursorPosition[0]=event.pageX;cursorPosition[1]=event.pageY;}
else
{cursorPosition[0]=event.clientX+scrollingPosition[0];cursorPosition[1]=event.clientY+scrollingPosition[1];}
tip.style.position="absolute";tip.style.left=cursorPosition[0]+10+"px";tip.style.top=cursorPosition[1]+10+"px";tip.style.visibility="hidden";document.getElementsByTagName("body")[0].appendChild(tip);var viewportSize=getViewportSize();if(cursorPosition[0]-scrollingPosition[0]+10+tip.offsetWidth>viewportSize[0]-25)
{tip.style.left=scrollingPosition[0]+viewportSize[0]-25-tip.offsetWidth+"px";}
else
{tip.style.left=cursorPosition[0]+10+"px";}
if(cursorPosition[1]-scrollingPosition[1]+10+tip.offsetHeight>viewportSize[1]-25)
{if(event.clientX>(viewportSize[0]-25-tip.offsetWidth))
{tip.style.top=cursorPosition[1]-tip.offsetHeight-10+"px";}
else
{tip.style.top=scrollingPosition[1]+viewportSize[1]-25-tip.offsetHeight+"px";}}
else
{tip.style.top=cursorPosition[1]+10+"px";}
tip.style.visibility="visible";return true;}
function hideTip(event)
{if(typeof event=="undefined")
{event=window.event;}
var target=getEventTarget(event);while(target.className==null||!target.className.match(/(^| )hastooltip( |$)/))
{target=target.parentNode;}
if(target.tooltip!=null)
{target.setAttribute("title",target.tooltip.childNodes[0].nodeValue);target.tooltip.parentNode.removeChild(target.tooltip);}
return false;}
function addLoadListener(fn)
{if(typeof window.addEventListener!='undefined')
{window.addEventListener('load',fn,false);}
else if(typeof document.addEventListener!='undefined')
{document.addEventListener('load',fn,false);}
else if(typeof window.attachEvent!='undefined')
{window.attachEvent('onload',fn);}
else
{var oldfn=window.onload;if(typeof window.onload!='function')
{window.onload=fn;}
else
{window.onload=function()
{oldfn();fn();};}}}
function attachEventListener(target,eventType,functionRef,capture)
{if(typeof target.addEventListener!="undefined")
{target.addEventListener(eventType,functionRef,capture);}
else if(typeof target.attachEvent!="undefined")
{target.attachEvent("on"+eventType,functionRef);}
else
{eventType="on"+eventType;if(typeof target[eventType]=="function")
{var oldListener=target[eventType];target[eventType]=function()
{oldListener();return functionRef();}}
else
{target[eventType]=functionRef;}}
return true;}
function getEventTarget(event)
{var targetElement=null;if(typeof event.target!="undefined")
{targetElement=event.target;}
else
{targetElement=event.srcElement;}
while(targetElement.nodeType==3&&targetElement.parentNode!=null)
{targetElement=targetElement.parentNode;}
return targetElement;}
function getViewportSize()
{var size=[0,0];if(typeof window.innerWidth!='undefined')
{size=[window.innerWidth,window.innerHeight];}
else if(typeof document.documentElement!='undefined'&&typeof document.documentElement.clientWidth!='undefined'&&document.documentElement.clientWidth!=0)
{size=[document.documentElement.clientWidth,document.documentElement.clientHeight];}
else
{size=[document.getElementsByTagName('body')[0].clientWidth,document.getElementsByTagName('body')[0].clientHeight];}
return size;}
function getScrollingPosition()
{var position=[0,0];if(typeof window.pageYOffset!='undefined')
{position=[window.pageXOffset,window.pageYOffset];}
if(typeof document.documentElement.scrollTop!='undefined'&&document.documentElement.scrollTop>0)
{position=[document.documentElement.scrollLeft,document.documentElement.scrollTop];}
else if(typeof document.body.scrollTop!='undefined')
{position=[document.body.scrollLeft,document.body.scrollTop];}
return position;}
function getElementsByAttribute(attribute,attributeValue)
{var elementArray=new Array();var matchedArray=new Array();if(document.all)
{elementArray=document.all;}
else
{elementArray=document.getElementsByTagName("*");}
for(var i=0;i<elementArray.length;i++)
{if(attribute=="class")
{var pattern=new RegExp("(^| )"+attributeValue+"( |$)");if(elementArray[i].className.match(pattern))
{matchedArray[matchedArray.length]=elementArray[i];}}
else if(attribute=="for")
{if(elementArray[i].getAttribute("htmlFor")||elementArray[i].getAttribute("for"))
{if(elementArray[i].htmlFor==attributeValue)
{matchedArray[matchedArray.length]=elementArray[i];}}}
else if(elementArray[i].getAttribute(attribute)==attributeValue)
{matchedArray[matchedArray.length]=elementArray[i];}}
return matchedArray;}

/* Simple AJAX Code-Kit (SACK) v1.6.1 */
function sack(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="";delete self.xmlhttp['onreadystatechange'];self.xmlhttp=null;self.responseStatus=null;self.response=null;self.responseXML=null;break;}};this.xmlhttp.send(this.URLString);}}};this.reset();this.createAJAX();}




/* Ajax dynamic content */
var enableCache = true;
var jsCache = new Array();
var dynamicContent_ajaxObjects = new Array();
function ajax_showContent(divId,ajaxIndex,url,callbackOnComplete)
{
var targetObj = document.getElementById(divId);
targetObj.innerHTML = dynamicContent_ajaxObjects[ajaxIndex].response;
if(enableCache){
jsCache[url] =	dynamicContent_ajaxObjects[ajaxIndex].response;
}
dynamicContent_ajaxObjects[ajaxIndex] = false;
ajax_parseJs(targetObj);
if(callbackOnComplete) {
executeCallback(callbackOnComplete);
}
}
function executeCallback(callbackString) {
if(callbackString.indexOf('(')==-1) {
callbackString = callbackString + '()';
}
try{
eval(callbackString);
}catch(e){
}
}
function ajax_loadContent(divId,url,callbackOnComplete)
{
if(enableCache && jsCache[url]){
document.getElementById(divId).innerHTML = jsCache[url];
ajax_parseJs(document.getElementById(divId))
evaluateCss(document.getElementById(divId))
if(callbackOnComplete) {
executeCallback(callbackOnComplete);
}	return;
}
var ajaxIndex = dynamicContent_ajaxObjects.length;
document.getElementById(divId).innerHTML = '<br /><br /><br /><p>Loading listing...</p><br /><br /><br />';
dynamicContent_ajaxObjects[ajaxIndex] = new sack();
if(url.indexOf('?')>=0){
dynamicContent_ajaxObjects[ajaxIndex].method='GET';
var string = url.substring(url.indexOf('?'));
url = url.replace(string,'');
string = string.replace('?','');
var items = string.split(/&/g);
for(var no=0;no<items.length;no++){
var tokens = items[no].split('=');
if(tokens.length==2){
dynamicContent_ajaxObjects[ajaxIndex].setVar(tokens[0],tokens[1]);
}	}	url = url.replace(string,'');
}
dynamicContent_ajaxObjects[ajaxIndex].requestFile = url;
dynamicContent_ajaxObjects[ajaxIndex].onCompletion = function(){ ajax_showContent(divId,ajaxIndex,url,callbackOnComplete); };
dynamicContent_ajaxObjects[ajaxIndex].runAJAX();	}
function ajax_parseJs(obj)
{
var scriptTags = obj.getElementsByTagName('SCRIPT');
var string = '';
var jsCode = '';
for(var no=0;no<scriptTags.length;no++){	if(scriptTags[no].src){
var head = document.getElementsByTagName("head")[0];
var scriptObj = document.createElement("script");
scriptObj.setAttribute("type", "text/javascript");
scriptObj.setAttribute("src", scriptTags[no].src);	}else{
if(navigator.userAgent.toLowerCase().indexOf('opera')>=0){
jsCode = jsCode + scriptTags[no].text + '\n';
}
else
jsCode = jsCode + scriptTags[no].innerHTML;	}
}
if(jsCode)ajax_installScript(jsCode);
}
function ajax_installScript(script)
{	if (!script)
return;	if (window.execScript){	window.execScript(script)
}else if(window.jQuery && jQuery.browser.safari){
window.setTimeout(script,0);
}else{	window.setTimeout( script, 0 );
}
}	function evaluateCss(obj)
{
var cssTags = obj.getElementsByTagName('STYLE');
var head = document.getElementsByTagName('HEAD')[0];
for(var no=0;no<cssTags.length;no++){
head.appendChild(cssTags[no]);
}	}

