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