var AjaxJspTag={Version:"1.3"};AjaxJspTag.Base=function(){};AjaxJspTag.Base.prototype={resolveParameters:function(){var a=delimitQueryString(extractQueryString(this.url));if(this.options.parameters){this.options.parameters+=","+a}else{this.options.parameters=a}this.url=trimQueryString(this.url);if((this.options.parameters.length>0)&&(this.options.parameters.charAt(this.options.parameters.length-1)===",")){this.options.parameters=this.options.parameters.substr(0,this.options.parameters.length-1)}}};AjaxJspTag.PreFunctionUpdateInvoke=Class.create();AjaxJspTag.PreFunctionUpdateInvoke.prototype=Object.extend(new AjaxJspTag.Base(),{initialize:function(b){this.preFunction=b.preFunction;if(isFunction(this.preFunction)){this.preFunction()}if(this.cancelExecution){this.cancelExecution=false;return}var a=new Ajax.Updater(b.id,b.href,{onComplete:b.postFunction})}});AjaxJspTag.UpdateField=Class.create();AjaxJspTag.UpdateField.prototype=Object.extend(new AjaxJspTag.Base(),{initialize:function(b,a){this.url=b;this.setOptions(a);this.setListeners();addAjaxListener(this)},reload:function(){this.setListeners()},setOptions:function(a){this.options=Object.extend({parameters:a.parameters||"",doPost:a.doPost||false,valueUpdateByName:a.valueUpdateByName||false,eventType:a.eventType?a.eventType:"click",parser:a.parser?a.parser:(a.valueUpdateByName?new ResponseXmlParser():new ResponseTextParser()),handler:a.handler?a.handler:this.handler},a||{})},setListeners:function(){eval("$(this.options.action).on"+this.options.eventType+" = this.execute.bindAsEventListener(this)")},execute:function(c){if(isFunction(this.options.preFunction)){this.options.preFunction()}if(this.options.cancelExecution){this.cancelExecution=false;return}var f=buildParameterString(this.options.parameters);var d=this.options.target.split(",");var b=this;var a=this.setField;var g=new Ajax.Request(this.url,{asynchronous:true,method:b.options.doPost?"post":"get",evalScripts:true,parameters:f,onSuccess:function(h){b.options.parser.load(h);var e=b.options.parser.itemList;b.options.handler(h,{targets:d,items:e})},onFailure:function(e){if(isFunction(b.options.errorFunction)){b.options.errorFunction(e,b.options.parser)}},onComplete:function(e){if(isFunction(b.options.postFunction)){b.options.postFunction()}}})},handler:function(b,c){for(var a=0;a<c.targets.length&&a<c.items.length;a++){namedIndex=a;if(this.valueUpdateByName){for(j=0;j<c.items.length;j++){if(c.targets[a]===c.items[j][0]){namedIndex=j}}}$(c.targets[a]).value=c.items[namedIndex][1]}}});AjaxJspTag.Callback=Class.create();AjaxJspTag.Callback.prototype=Object.extend(new AjaxJspTag.Base(),{initialize:function(b,a){this.url=b;this.setOptions(a);this.errorCount=0;addOnLoadEvent(this)},setOptions:function(a){this.options=Object.extend({parameters:a.parameters||"",parser:a.parser?a.parser:new ResponseCallBackXmlParser(),plainText:a.plainText?true:false,handler:a.handler?a.handler:this.handler},a||{})},onload:function(){this.run()},run:function(){if(!this.isRunning&&this.errorCount<100){this.execute()}},execute:function(b){if(isFunction(this.options.preFunction)){this.options.preFunction()}if(this.options.cancelExecution){this.cancelExecution=false;return}this.isRunning=true;var a=this;var c=new Ajax.Request(this.url,{asynchronous:true,method:"post",evalScripts:true,onSuccess:function(d){a.options.parser.load(d);a.options.list=a.options.parser.items;a.errorCount=0},onFailure:function(d){if(isFunction(a.options.errorFunction)){a.options.errorFunction()}a.isRunning=false;a.errorCount++},onComplete:function(d){if(isFunction(a.options.postFunction)){a.options.postFunction()}a.isRunning=false;a.run()}})}});AjaxJspTag.Select=Class.create();AjaxJspTag.Select.prototype=Object.extend(new AjaxJspTag.Base(),{initialize:function(b,a){this.url=b;this.setOptions(a);this.setListeners();if(parseBoolean(this.options.executeOnLoad)){this.execute()}addAjaxListener(this)},reload:function(){this.setListeners()},setOptions:function(a){this.options=Object.extend({parameters:a.parameters||"",doPost:a.doPost||false,emptyOptionValue:a.emptyOptionValue||"",emptyOptionName:a.emptyOptionName||"",eventType:a.eventType?a.eventType:"change",parser:a.parser?a.parser:new ResponseXmlParser(),handler:a.handler?a.handler:this.handler},a||{})},setListeners:function(){$(this.options.source).ajaxSelect=this;Event.observe($(this.options.source),this.options.eventType,this.execute.bindAsEventListener(this),false);eval("$(this.options.source).on"+this.options.eventType+" = function(){return false;};")},execute:function(b){if(isFunction(this.options.preFunction)){this.options.preFunction()}if(this.options.cancelExecution){this.cancelExecution=false;return}var c=buildParameterString(this.options.parameters);var a=this;var d=new Ajax.Request(this.url,{asynchronous:true,method:a.options.doPost?"post":"get",evalScripts:true,parameters:c,onSuccess:function(f){a.options.parser.load(f);var e=a.options.parser.itemList;a.options.handler(f,{target:a.options.target,items:e})},onFailure:function(e){if(isFunction(a.options.errorFunction)){a.options.errorFunction()}},onComplete:function(e){if(isFunction(a.options.postFunction)){a.options.postFunction()}}})},handler:function(d,a){$(a.target).options.length=0;$(a.target).disabled=false;for(var b=0;b<a.items.length;b++){var c=new Option(a.items[b][0],a.items[b][1]);if(c.selected==false&&a.items[b].length==3&&parseBoolean(a.items[b][2])){c.selected=true}$(a.target).options[b]=c}if(a.items.length==0){$(a.target).options[b]=new Option(this.emptyOptionName,this.emptyOptionValue);$(a.target).disabled=true}if($(a.target).ajaxSelect&&$(a.target).ajaxSelect.execute){$(a.target).ajaxSelect.execute()}}});AjaxJspTag.HtmlContent=Class.create();AjaxJspTag.HtmlContent.prototype=Object.extend(new AjaxJspTag.Base(),{initialize:function(b,a){this.url=b;this.setOptions(a);this.setListeners();addAjaxListener(this)},reload:function(){this.setListeners()},setOptions:function(a){this.options=Object.extend({parameterName:a.parameterName?a.parameterName:AJAX_DEFAULT_PARAMETER,parameters:a.parameters||"",doPost:a.doPost||false,preFunctionParameter:a.preFunctionParameter||null,errorFunctionParameter:a.errorFunctionParameter||null,postFunctionParameter:a.postFunctionParameter||null,eventType:a.eventType?a.eventType:"click",parser:a.parser?a.parser:new ResponseHtmlParser(),handler:a.handler?a.handler:this.handler},a||{})},setListeners:function(){if(this.options.source){eval("$(this.options.source).on"+this.options.eventType+" = this.execute.bindAsEventListener(this)")}else{if(this.options.sourceClass){var elementArray=document.getElementsByClassName(this.options.sourceClass);for(var i=0;i<elementArray.length;i++){eval("elementArray[i].on"+this.options.eventType+" = this.execute.bindAsEventListener(this)")}}}},execute:function(f){this.options.preFunctionParameters=evalJScriptParameters(this.options.preFunctionParameter);if(isFunction(this.options.preFunction)){this.options.preFunction()}if(this.options.cancelExecution){this.cancelExecution=false;return}var b=this.options.parameters;if(this.options.sourceClass){var a=new RegExp("(\\{"+this.options.parameterName+"\\})","g");var c=Event.element(f);if(c.type){b=b.replace(a,$F(c))}else{b=b.replace(a,c.innerHTML)}}var g=buildParameterString(b);var d=this;var h=new Ajax.Updater(this.options.target,this.url,{asynchronous:true,method:d.options.doPost?"post":"get",evalScripts:true,parameters:g,onFailure:function(e){d.options.errorFunctionParameters=evalJScriptParameters(d.options.errorFunctionParameter);if(isFunction(d.options.errorFunction)){d.options.errorFunction()}},onComplete:function(e){d.options.postFunctionParameters=evalJScriptParameters(d.options.postFunctionParameter);if(isFunction(d.options.postFunction)){d.options.postFunction()}}})}});AjaxJspTag.Tree=Class.create();AjaxJspTag.Tree.prototype=Object.extend(new AjaxJspTag.Base(),{initialize:function(b,a){this.url=b;this.setOptions(a);this.execute()},setOptions:function(a){this.options=Object.extend({parameters:a.parameters||"",eventType:a.eventType?a.eventType:"click",parser:a.parser?a.parser:new ResponseXmlToHtmlLinkListParser(),handler:a.handler?a.handler:this.handler,collapsedClass:a.collapsedClass?a.collapsedClass:"collapsedNode",expandedClass:a.expandedClass?a.expandedClass:"expandedNode",treeClass:a.treeClass?a.treeClass:"tree",nodeClass:a.nodeClass||""},a||{});this.calloutParameter=AJAX_DEFAULT_PARAMETER},execute:function(g){if(isFunction(this.options.preFunction)){this.options.preFunction()}if(this.options.cancelExecution){this.cancelExecution=false;return}if(this.options.target!=null){var d=$("span_"+this.options.target);if(d!=null){var a=this.toggle(d);if(!a){$(this.options.target).innerHTML="";if(!$(this.options.target).style){$(this.options.target).setAttribute("style","")}$(this.options.target).style.display="none";return}}}var c=this.options.parameters||"";var b=new RegExp("(\\{"+this.calloutParameter+"\\})","g");c=c.replace(b,this.options.target);var h=buildParameterString(c);var f=this;var i=new Ajax.Request(this.url,{asynchronous:true,method:"get",evalScripts:true,parameters:h,onSuccess:function(e){objx=new Object();objx.responseXML=e.responseXML;f.options.parser.load(Object.extend(objx,{collapsedClass:f.options.collapsedClass,treeClass:f.options.treeClass,nodeClass:f.options.nodeClass}));f.options.handler(objx,{target:f.options.target,parser:f.options.parser,eventType:f.options.eventType,url:f.url})},onFailure:function(e){if(isFunction(f.options.errorFunction)){f.options.errorFunction()}},onComplete:function(e){if(isFunction(f.options.postFunction)){f.options.postFunction()}reloadAjaxListeners()}})},toggle:function(b){var a=b.className==this.options.expandedClass;b.className=a?this.options.collapsedClass:this.options.expandedClass;return !a},handler:function(request,options){var parser=options.parser;var target=$(options.target);if(parser.content==null){if(!target.style){target.setAttribute("style","")}target.style.display="none";target.innerHTML="";return}target.appendChild(parser.content);if(!target.style){target.setAttribute("style","")}target.style.display="block";var images=target.getElementsByTagName("span");for(var i=0;i<images.length;i++){var id=images[i].id.substring(5);var toggleFunction="function() {toggleTreeNode('"+id+"', '"+options.url+"', null);}";eval("images[i].on"+options.eventType+"="+toggleFunction)}var expandedNodes=parser.expandedNodes;for(var i=0;i<expandedNodes.length;i++){toggleTreeNode(expandedNodes[i],options.url,null)}}});AjaxJspTag.TabPanel=Class.create();AjaxJspTag.TabPanel.prototype=Object.extend(new AjaxJspTag.Base(),{initialize:function(b,a){this.url=b;this.setOptions(a);this.execute()},setOptions:function(a){this.options=Object.extend({parameters:a.parameters||"",eventType:a.eventType?a.eventType:"click",parser:a.parser?a.parser:new ResponseHtmlParser(),handler:a.handler?a.handler:this.handler},a||{})},execute:function(b){if(isFunction(this.options.preFunction)){this.options.preFunction()}if(this.options.cancelExecution){this.cancelExecution=false;return}this.resolveParameters();var c=buildParameterString(this.options.parameters);var a=this;var d=new Ajax.Updater(this.options.target,this.url,{asynchronous:true,method:"get",evalScripts:true,parameters:c,onSuccess:function(e){var f;if(a.options.source){f=a.options.source}else{f=document.getElementsByClassName(a.options.currentStyleClass,$(a.options.panelId))[0]}a.options.handler(e,{source:f,panelStyleId:a.options.panelId,currentStyleClass:a.options.currentStyleClass})},onFailure:function(e){if(isFunction(a.options.errorFunction)){a.options.errorFunction()}},onComplete:function(e){if(isFunction(a.options.postFunction)){a.options.postFunction()}}})},handler:function(b,a){var c=document.getElementsByClassName(a.currentStyleClass,$(a.panelStyleId));if(c.length>0){c[0].className=""}a.source.className=a.currentStyleClass}});AjaxJspTag.Portlet=Class.create();AjaxJspTag.Portlet.prototype=Object.extend(new AjaxJspTag.Base(),{initialize:function(b,a){this.url=b;this.setOptions(a);this.setListeners();if(parseBoolean(this.options.executeOnLoad)){this.execute()}if(this.preserveState){this.checkCookie()}if(parseBoolean(this.options.startMinimize)){this.togglePortlet()}addAjaxListener(this)},reload:function(){this.setListeners()},setOptions:function(a){this.options=Object.extend({parameters:a.parameters||"",target:a.source+"Content",close:a.source+"Close",startMinimize:a.startMinimize||false,refresh:a.source+"Refresh",toggle:a.source+"Size",isMaximized:true,expireDays:a.expireDays||"0",expireHours:a.expireHours||"0",expireMinutes:a.expireMinutes||"0",executeOnLoad:evalBoolean(a.executeOnLoad,true),refreshPeriod:a.refreshPeriod||null,eventType:a.eventType?a.eventType:"click",parser:a.parser?a.parser:new ResponseHtmlParser(),handler:a.handler?a.handler:this.handler},a||{});if(parseInt(this.options.expireDays)>0||parseInt(this.options.expireHours)>0||parseInt(this.options.expireMinutes)>0){this.preserveState=true;this.options.expireDate=getExpDate(parseInt(this.options.expireDays),parseInt(this.options.expireHours),parseInt(this.options.expireMinutes))}this.isAutoRefreshSet=false},setListeners:function(){if(this.options.imageClose){eval("$(this.options.close).on"+this.options.eventType+" = this.closePortlet.bindAsEventListener(this)")}if(this.options.imageRefresh){eval("$(this.options.refresh).on"+this.options.eventType+" = this.refreshPortlet.bindAsEventListener(this)")}if(this.options.imageMaximize&&this.options.imageMinimize){eval("$(this.options.toggle).on"+this.options.eventType+" = this.togglePortlet.bindAsEventListener(this)")}},execute:function(c){if(isFunction(this.options.preFunction)){this.options.preFunction()}if(this.options.cancelExecution){this.cancelExecution=false;return}this.resolveParameters();var d=buildParameterString(this.options.parameters);var b=this;if(this.options.refreshPeriod&&this.isAutoRefreshSet==false){var a=this.options.refreshPeriod;this.ajaxPeriodicalUpdater=new Ajax.PeriodicalUpdater(this.options.target,this.url,{asynchronous:true,method:"get",evalScripts:true,parameters:d,frequency:a,onFailure:function(e){if(isFunction(b.options.errorFunction)){b.options.errorFunction()}},onComplete:function(e){},onSuccess:function(e){if(isFunction(b.options.postFunction)){b.options.postFunction()}}});this.isAutoRefreshSet=true}else{this.ajaxUpdater=new Ajax.Updater(this.options.target,this.url,{asynchronous:true,method:"get",parameters:d,evalScripts:true,onFailure:function(e){if(isFunction(b.options.errorFunction)){b.options.errorFunction()}},onComplete:function(e){if(isFunction(b.options.postFunction)){b.options.postFunction()}}})}},checkCookie:function(){var a=getCookie("AjaxJspTag.Portlet."+this.options.source);if(a!=null){if(a==AJAX_PORTLET_MIN){this.togglePortlet()}else{if(a==AJAX_PORTLET_CLOSE){this.closePortlet()}}}},stopAutoRefresh:function(){if(this.ajaxPeriodicalUpdater!=null&&this.options.refreshPeriod&&this.isAutoRefreshSet==true){this.ajaxPeriodicalUpdater.stop()}},startAutoRefresh:function(){if(this.ajaxPeriodicalUpdater!=null&&this.options.refreshPeriod){this.ajaxPeriodicalUpdater.start()}},refreshPortlet:function(a){this.stopAutoRefresh();if(this.ajaxPeriodicalUpdater!=null){this.startAutoRefresh()}else{this.execute()}},closePortlet:function(a){this.stopAutoRefresh();Element.remove(this.options.source);if(this.preserveState){setCookie("AjaxJspTag.Portlet."+this.options.source,AJAX_PORTLET_CLOSE,this.options.expireDate)}},togglePortlet:function(a){Element.toggle(this.options.target);if(this.options.isMaximized){if(this.options.imageMaximize){$(this.options.toggle).src=this.options.imageMaximize}this.stopAutoRefresh()}else{if(this.options.imageMinimize){$(this.options.toggle).src=this.options.imageMinimize}this.startAutoRefresh()}this.options.isMaximized=!this.options.isMaximized;if(this.preserveState){setCookie("AjaxJspTag.Portlet."+this.options.source,(this.options.isMaximized===true?AJAX_PORTLET_MAX:AJAX_PORTLET_MIN),this.options.expireDate)}}});Ajax.XmlToHtmlAutocompleter=Class.create();Object.extend(Object.extend(Ajax.XmlToHtmlAutocompleter.prototype,Autocompleter.Base.prototype),{initialize:function(c,d,b,a){this.baseInitialize(c,d,a);this.options.asynchronous=true;this.options.onComplete=this.onComplete.bind(this);this.options.defaultParams=this.options.parameters||null;this.url=b},onBlur:function(a){if(this.active){if(Element.getStyle(this.update,"height")!=""){var h=999999;var f=999999;var d=Position.positionedOffset(this.update);var g=d[1];var c=d[0];var e=Element.getDimensions(this.update);var b=e.width;var i=e.height;if(a){h=a.x-c;f=a.y-g}if(h>0&&h<b&&f>0&&f<i){this.element.focus();return}}setTimeout(this.hide.bind(this),250);this.hasFocus=false;this.active=false}},getUpdatedChoices:function(){if(isFunction(this.options.preFunction)){this.options.preFunction()}if(this.options.cancelExecution){this.cancelExecution=false;this.stopIndicator();return}entry=encodeURIComponent(this.options.paramName)+"="+encodeURIComponent(this.getToken());this.options.parameters=this.options.callback?this.options.callback(this.element,entry):entry;var a=buildParameterString(this.options.defaultParams);if(!isEmpty(a)||(isString(a)&&a.length>=0)){this.options.parameters+="&"+a}new Ajax.Request(this.url,this.options)},onComplete:function(a){var b=this.options.parser;b.load(a);this.updateChoices(b.content)}});AjaxJspTag.Autocomplete=Class.create();AjaxJspTag.Autocomplete.prototype=Object.extend(new AjaxJspTag.Base(),{aj:null,initialize:function(b,a){this.url=b;this.setOptions(a);new Insertion.After(this.options.source,'<div id="'+this.options.divElement+'" class="'+this.options.className+'"></div>');this.execute()},setOptions:function(a){this.options=Object.extend({divElement:"ajaxAuto_"+a.source,indicator:a.indicator||"",parameters:a.parameters||"",parser:a.parser?a.parser:new ResponseXmlToHtmlListParser(),handler:a.handler?a.handler:this.handler},a||{})},execute:function(b){var a=this;aj=new Ajax.XmlToHtmlAutocompleter(this.options.source,this.options.divElement,this.url,{minChars:a.options.minimumCharacters,tokens:a.options.appendSeparator,indicator:a.options.indicator,parameters:a.options.parameters,evalScripts:true,preFunction:a.options.preFunction,parser:a.options.parser,afterUpdateElement:function(c,d){a.options.handler(null,{selectedItem:d,tokens:a.options.appendSeparator,target:a.options.target,inputField:c,postFunction:a.options.postFunction,list:a.options.parser.getArray(),options:a.options,autocomplete:aj})}})},handler:function(c,a){if(a.target){if(a.tokens){if($(a.target).value.length>0){$(a.target).value+=a.tokens}$(a.target).value+=a.selectedItem.id}else{$(a.target).value=a.selectedItem.id}}a.selectedIndex=a.autocomplete.index;a.selectedObject=a.list[a.autocomplete.index];if(a.list[0][1]!="0"){if(isFunction(a.postFunction)){var b=$(a.inputField).onupdate;$(a.inputField).onupdate="";a.postFunction();$(a.inputField).onupdate=b}}else{a.inputField.value=""}}});AjaxJspTag.Toggle=Class.create();AjaxJspTag.Toggle.prototype=Object.extend(new AjaxJspTag.Base(),{initialize:function(b,a){this.url=b;this.setOptions(a);if(this.options.messageClass){this.messageContainer=new Insertion.Top($(this.options.source),'<div id="'+this.options.source+'_message" class="'+this.options.messageClass+'"></div>')}this.setListeners();addAjaxListener(this)},reload:function(){this.setListeners()},setOptions:function(a){this.options=Object.extend({parameters:a.parameters||"rating={ajaxParameter}",parser:a.parser?a.parser:new ResponseTextParser(),handler:a.handler?a.handler:this.handler,updateFunction:a.updateFunction||false},a||{});this.ratingParameter=AJAX_DEFAULT_PARAMETER},setListeners:function(){var b=$(this.options.source).getElementsByTagName("a");for(var a=0;a<b.length;a++){b[a].onmouseover=this.raterMouseOver.bindAsEventListener(this);b[a].onmouseout=this.raterMouseOut.bindAsEventListener(this);b[a].onclick=this.raterClick.bindAsEventListener(this)}},getCurrentRating:function(c){var a=-1;for(var b=0;b<c.length;b++){if(Element.hasClassName(c[b],this.options.selectedClass)){a=b}}return a},getCurrentIndex:function(d,c){var a=0;for(var b=0;b<d.length;b++){if(c==d[b]){a=b}}return a},raterMouseOver:function(g){var c=Event.findElement(g,"div");var f=c.getElementsByTagName("a");var a=this.getCurrentRating(f);var b=this.getCurrentIndex(f,Event.element(g));if(this.options.messageClass){$(c.id+"_message").innerHTML=Event.element(g).title}for(var d=0;d<f.length;d++){if(a>-1){if(d<=a&&d<=b){Element.addClassName(f[d],this.options.selectedOverClass)}else{if(d<=a&&d>b){Element.addClassName(f[d],this.options.selectedLessClass)}else{if(d>a&&d<=b){Element.addClassName(f[d],this.options.overClass)}}}}else{if(d<=b){Element.addClassName(f[d],this.options.overClass)}}}},raterMouseOut:function(d){var a=Event.findElement(d,"div");var c=a.getElementsByTagName("a");if(this.options.messageClass){$(a.id+"_message").innerHTML=""}for(var b=0;b<c.length;b++){Element.removeClassName(c[b],this.options.selectedOverClass);Element.removeClassName(c[b],this.options.selectedLessClass);Element.removeClassName(c[b],this.options.overClass)}},raterClick:function(h){var b=Event.findElement(h,"div");var g=b.getElementsByTagName("a");var a=this.getCurrentIndex(g,Event.element(h));for(var d=0;d<g.length;d++){Element.removeClassName(g[d],this.options.selectedOverClass);Element.removeClassName(g[d],this.options.selectedLessClass);Element.removeClassName(g[d],this.options.overClass);if(d<=a){if(Element.hasClassName(b,"onoff")&&Element.hasClassName(g[d],this.options.selectedClass)){Element.removeClassName(g[d],this.options.selectedClass)}else{Element.addClassName(g[d],this.options.selectedClass)}}else{if(d>a){Element.removeClassName(g[d],this.options.selectedClass)}}}var c=g[a].title;if(Element.hasClassName(b,"onoff")){var f=this.options.ratings.split(",");if(f[0]==c){c=f[1]}else{c=f[0]}g[a].title=c}this.execute(c);if(this.options.state){$(this.options.state).value=c}},execute:function(a){if(isFunction(this.options.preFunction)){this.options.preFunction()}if(this.options.cancelExecution){this.cancelExecution=false;return}var c=this.options.parameters||"";var b=new RegExp("(\\{"+this.ratingParameter+"\\})","g");c=c.replace(b,a);var f=buildParameterString(c);var d=this;var e=this.getToggleStateValue;var g=new Ajax.Request(this.url,{asynchronous:true,method:"get",evalScripts:true,parameters:f,onSuccess:function(i){d.options.parser.load(i);var h=d.options.parser.itemList;d.options.handler(i,{items:h})},onFailure:function(h){if(isFunction(d.options.errorFunction)){d.options.errorFunction()}},onComplete:function(h){if(isFunction(d.options.postFunction)){d.options.postFunction()}}})},handler:function(c,a){var b=a.items[0][0];try{this.updateFunction(b)}catch(d){}},getToggleStateValue:function(a,c){for(var b=0;b<c.length;b++){if(c[b][0]==a){return c[b][1]}}return""}});AjaxJspTag.Callout=Class.create();AjaxJspTag.Callout.prototype=Object.extend(new AjaxJspTag.Base(),{initialize:function(b,a){this.url=b;this.setOptions(a);this.setListeners();addAjaxListener(this)},reload:function(){this.setListeners()},setOptions:function(a){this.options=Object.extend({parameters:a.parameters||"",overlib:a.overlib||AJAX_CALLOUT_OVERLIB_DEFAULT,parser:a.parser?a.parser:new ResponseXmlToHtmlParser(),handler:a.handler?a.handler:this.handler,doPost:a.doPost?true:false,openEvent:a.openEvent?a.openEvent:"mouseover",closeEvent:a.closeEvent?a.closeEvent:"mouseout"},a||{});this.calloutParameter=AJAX_DEFAULT_PARAMETER},setListeners:function(){if(this.options.sourceClass){var elemList=document.getElementsByClassName(this.options.sourceClass);for(var i=0;i<elemList.length;i++){eval("elemList[i].on"+this.options.openEvent+" = this.calloutOpen.bindAsEventListener(this)");eval("elemList[i].on"+this.options.closeEvent+" = this.calloutClose.bindAsEventListener(this)")}}},calloutOpen:function(a){this.execute(a)},calloutClose:function(a){nd()},execute:function(f){if(isFunction(this.options.preFunction)){this.options.preFunction()}if(this.options.cancelExecution){this.cancelExecution=false;return}var b=this.options.parameters||"";var a=new RegExp("(\\{"+this.calloutParameter+"\\})","g");var c=Event.element(f);if(c.type){b=b.replace(a,$F(c))}else{b=b.replace(a,c.innerHTML)}var g=buildParameterString(b);var d=this;var h=new Ajax.Request(this.url,{asynchronous:true,method:d.options.doPost?"post":"get",evalScripts:true,parameters:g,onSuccess:function(e){d.options.parser.load(e);d.options.handler(d.options.parser.content,{title:d.options.title,overlib:d.options.overlib})},onFailure:function(e){if(isFunction(d.options.errorFunction)){d.options.errorFunction()}},onComplete:function(e){if(isFunction(d.options.postFunction)){d.options.postFunction()}}})},handler:function(content,options){if(content!=""){if(options.overlib){if(options.title){return eval("overlib(content,CAPTION,options.title,"+options.overlib+")")}else{return eval("overlib(content,"+options.overlib+")")}}else{if(options.title){return overlib(content,CAPTION,options.title)}else{return overlib(content)}}}}});