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