if(!window.A4J){window.A4J={};} function Sarissa(){} Sarissa.VERSION="0.9.9.3";Sarissa.PARSED_OK="Document contains no parsing errors";Sarissa.PARSED_EMPTY="Document is empty";Sarissa.PARSED_UNKNOWN_ERROR="Not well-formed or other error";Sarissa.IS_ENABLED_TRANSFORM_NODE=false;Sarissa.REMOTE_CALL_FLAG="gr.abiss.sarissa.REMOTE_CALL_FLAG";Sarissa._sarissa_iNsCounter=0;Sarissa._SARISSA_IEPREFIX4XSLPARAM="";Sarissa._SARISSA_HAS_DOM_IMPLEMENTATION=document.implementation&&true;Sarissa._SARISSA_HAS_DOM_CREATE_DOCUMENT=Sarissa._SARISSA_HAS_DOM_IMPLEMENTATION&&document.implementation.createDocument;Sarissa._SARISSA_HAS_DOM_FEATURE=Sarissa._SARISSA_HAS_DOM_IMPLEMENTATION&&document.implementation.hasFeature;Sarissa._SARISSA_IS_MOZ=Sarissa._SARISSA_HAS_DOM_CREATE_DOCUMENT&&Sarissa._SARISSA_HAS_DOM_FEATURE;Sarissa._SARISSA_IS_SAFARI=navigator.userAgent.toLowerCase().indexOf("safari")!=-1||navigator.userAgent.toLowerCase().indexOf("konqueror")!=-1;Sarissa._SARISSA_IS_SAFARI_OLD=Sarissa._SARISSA_IS_SAFARI&&(parseInt((navigator.userAgent.match(/AppleWebKit\/(\d+)/)||{})[1],10)<420);Sarissa._SARISSA_IS_IE=document.all&&window.ActiveXObject&&navigator.userAgent.toLowerCase().indexOf("msie")>-1&&navigator.userAgent.toLowerCase().indexOf("opera")==-1;Sarissa._SARISSA_IS_IE9=Sarissa._SARISSA_IS_IE&&(parseFloat(navigator.appVersion.substring(navigator.appVersion.indexOf("MSIE")+5)))>=9;Sarissa._SARISSA_IS_OPERA=navigator.userAgent.toLowerCase().indexOf("opera")!=-1;if(!window.Node||!Node.ELEMENT_NODE){Node={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12};} if(Sarissa._SARISSA_IS_SAFARI_OLD){HTMLHtmlElement=document.createElement("html").constructor;Node=HTMLElement={};HTMLElement.prototype=HTMLHtmlElement.__proto__.__proto__;HTMLDocument=Document=document.constructor;var x=new DOMParser();XMLDocument=x.constructor;Element=x.parseFromString("","text/xml").documentElement.constructor;x=null;} if(typeof XMLDocument=="undefined"&&typeof Document!="undefined"){XMLDocument=Document;} if(Sarissa._SARISSA_IS_IE){Sarissa._SARISSA_IEPREFIX4XSLPARAM="xsl:";var _SARISSA_DOM_PROGID="";var _SARISSA_XMLHTTP_PROGID="";var _SARISSA_DOM_XMLWRITER="";Sarissa.pickRecentProgID=function(idList){var bFound=false,e;var o2Store;for(var i=0;i1){prefix=sName.substring(0,sName.indexOf(":"));sName=sName.substring(sName.indexOf(":")+1);}else{prefix="a"+(Sarissa._sarissa_iNsCounter++);}} if(sUri){oDoc.loadXML('<'+prefix+':'+sName+" xmlns:"+prefix+"=\""+sUri+"\""+" />");}else{oDoc.loadXML('<'+sName+" />");}} return oDoc;};Sarissa.getParseErrorText=function(oDoc){var parseErrorText=Sarissa.PARSED_OK;if(oDoc&&oDoc.parseError&&oDoc.parseError.errorCode&&oDoc.parseError.errorCode!=0){parseErrorText="XML Parsing Error: "+oDoc.parseError.reason+"\nLocation: "+oDoc.parseError.url+"\nLine Number "+oDoc.parseError.line+", Column "+ oDoc.parseError.linepos+":\n"+oDoc.parseError.srcText+"\n";for(var i=0;i')+2);} var xml=''.concat('',s,'');oDoc.loadXML(xml);container=oDoc.documentElement;while(container.hasChildNodes()){f.appendChild(container.firstChild);}} return f;};XSLTProcessor.prototype.setParameter=function(nsURI,name,value){value=value?value:"";if(nsURI){this.processor.addParameter(name,value,nsURI);}else{this.processor.addParameter(name,value);} nsURI=""+(nsURI||"");if(!this.paramsSet[nsURI]){this.paramsSet[nsURI]=[];} this.paramsSet[nsURI][name]=value;};XSLTProcessor.prototype.getParameter=function(nsURI,name){nsURI=""+(nsURI||"");if(this.paramsSet[nsURI]&&this.paramsSet[nsURI][name]){return this.paramsSet[nsURI][name];}else{return null;}};XSLTProcessor.prototype.clearParameters=function(){for(var nsURI in this.paramsSet){for(var name in this.paramsSet[nsURI]){if(nsURI!=""){this.processor.addParameter(name,"",nsURI);}else{this.processor.addParameter(name,"");}}} this.paramsSet=[];};}else{if(Sarissa._SARISSA_HAS_DOM_CREATE_DOCUMENT){Sarissa.__handleLoad__=function(oDoc){Sarissa.__setReadyState__(oDoc,4);};_sarissa_XMLDocument_onload=function(){Sarissa.__handleLoad__(this);};Sarissa.__setReadyState__=function(oDoc,iReadyState){oDoc.readyState=iReadyState;oDoc.readystate=iReadyState;if(oDoc.onreadystatechange!=null&&typeof oDoc.onreadystatechange=="function"){oDoc.onreadystatechange();}};Sarissa.getDomDocument=function(sUri,sName){var oDoc=document.implementation.createDocument(sUri?sUri:null,sName?sName:null,null);if(!oDoc.onreadystatechange){oDoc.onreadystatechange=null;} if(!oDoc.readyState){oDoc.readyState=0;} oDoc.addEventListener("load",_sarissa_XMLDocument_onload,false);return oDoc;};if(window.XMLDocument){} else if(Sarissa._SARISSA_HAS_DOM_FEATURE&&window.Document&&!Document.prototype.load&&document.implementation.hasFeature('LS','3.0')){Sarissa.getDomDocument=function(sUri,sName){var oDoc=document.implementation.createDocument(sUri?sUri:null,sName?sName:null,null);return oDoc;};} else{Sarissa.getDomDocument=function(sUri,sName){var oDoc=document.implementation.createDocument(sUri?sUri:null,sName?sName:null,null);if(oDoc&&(sUri||sName)&&!oDoc.documentElement){oDoc.appendChild(oDoc.createElementNS(sUri,sName));} return oDoc;};}}} if(!window.DOMParser||Sarissa._SARISSA_IS_IE9){if(Sarissa._SARISSA_IS_SAFARI){DOMParser=function(){};DOMParser.prototype.parseFromString=function(sXml,contentType){var xmlhttp=new XMLHttpRequest();xmlhttp.open("GET","data:text/xml;charset=utf-8,"+encodeURIComponent(sXml),false);xmlhttp.send(null);return xmlhttp.responseXML;};}else if(Sarissa.getDomDocument&&Sarissa.getDomDocument()&&Sarissa.getDomDocument(null,"bar").xml){DOMParser=function(){};DOMParser.prototype.parseFromString=function(sXml,contentType){var doc=Sarissa.getDomDocument();doc.loadXML(sXml);return doc;};}} if((typeof(document.importNode)=="undefined")&&Sarissa._SARISSA_IS_IE){try{var importTable={TBODY:['','
'],THEAD:['','
'],TFOOT:['','
'],TR:['','
'],TH:['','
'],TD:['','
'],OPTION:['']};document.importNode=function(oNode,bChildren){var tmp;if(oNode.nodeName=='#text'){return document.createTextNode(oNode.data);} else{var tagName=oNode.nodeName.toUpperCase();var wrapper=importTable[tagName];var nodeHtml;if(bChildren){nodeHtml=oNode.xml?oNode.xml:oNode.outerHTML;}else{nodeHtml=oNode.xml?oNode.cloneNode(false).xml:oNode.cloneNode(false).outerHTML;} var wrapperElt=document.createElement("div");if(wrapper){nodeHtml=wrapper[0]+nodeHtml+wrapper[1];} wrapperElt.innerHTML=nodeHtml;var stack=new Array(wrapperElt.firstChild);var result;while(!result){var newStack=new Array();for(var i=0;i0){var parsererror=oDoc.getElementsByTagName("parsererror")[0];parseErrorText=Sarissa.getText(parsererror,true)+"\n";}else if(oDoc.parseError&&oDoc.parseError.errorCode!=0){parseErrorText=Sarissa.PARSED_UNKNOWN_ERROR;} return parseErrorText;};} Sarissa.getText=function(oNode,deep){var s="";var nodes=oNode.childNodes;for(var i=0;i]+>/g,""):s;};Sarissa.clearChildNodes=function(oNode){while(oNode.firstChild){oNode.removeChild(oNode.firstChild);}};Sarissa.copyChildNodes=function(nodeFrom,nodeTo,bPreserveExisting){if(Sarissa._SARISSA_IS_SAFARI&&nodeTo.nodeType==Node.DOCUMENT_NODE){nodeTo=nodeTo.documentElement;} if((!nodeFrom)||(!nodeTo)){throw"Both source and destination nodes must be provided";} if(!bPreserveExisting){Sarissa.clearChildNodes(nodeTo);} var ownerDoc=nodeTo.nodeType==Node.DOCUMENT_NODE?nodeTo:nodeTo.ownerDocument;var nodes=nodeFrom.childNodes;var i;if(typeof(ownerDoc.importNode)!="undefined"){for(i=0;i';var isLeaf=false;if(!(anyObject instanceof Object)||anyObject instanceof Number||anyObject instanceof String||anyObject instanceof Boolean||anyObject instanceof Date){s+=Sarissa.escape(""+anyObject);isLeaf=true;}else{s+="\n";var isArrayItem=anyObject instanceof Array;for(var name in anyObject){s+=Sarissa.xmlize(anyObject[name],(isArrayItem?"array-item key=\""+name+"\"":name),indentSpace+" ");} s+=indentSpace;} return(s+=(objectName.indexOf(' ')!=-1?"\n":"\n"));};Sarissa.escape=function(sXml){return sXml.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'");};Sarissa.unescape=function(sXml){return sXml.replace(/'/g,"'").replace(/"/g,"\"").replace(/>/g,">").replace(/</g,"<").replace(/&/g,"&");};Sarissa.updateCursor=function(oTargetElement,sValue){if(oTargetElement&&oTargetElement.style&&oTargetElement.style.cursor!=undefined){oTargetElement.style.cursor=sValue;}};Sarissa.updateContentFromURI=function(sFromUrl,oTargetElement,xsltproc,callback,skipCache){try{Sarissa.updateCursor(oTargetElement,"wait");var xmlhttp=new XMLHttpRequest();xmlhttp.open("GET",sFromUrl,true);xmlhttp.onreadystatechange=function(){if(xmlhttp.readyState==4){try{var oDomDoc=xmlhttp.responseXML;if(oDomDoc&&Sarissa.getParseErrorText(oDomDoc)==Sarissa.PARSED_OK){Sarissa.updateContentFromNode(xmlhttp.responseXML,oTargetElement,xsltproc);callback(sFromUrl,oTargetElement);} else{throw Sarissa.getParseErrorText(oDomDoc);}} catch(e){if(callback){callback(sFromUrl,oTargetElement,e);} else{throw e;}}}};if(skipCache){var oldage="Sat, 1 Jan 2000 00:00:00 GMT";xmlhttp.setRequestHeader("If-Modified-Since",oldage);} xmlhttp.send("");} catch(e){Sarissa.updateCursor(oTargetElement,"auto");if(callback){callback(sFromUrl,oTargetElement,e);} else{throw e;}}};Sarissa.updateContentFromNode=function(oNode,oTargetElement,xsltproc){try{Sarissa.updateCursor(oTargetElement,"wait");Sarissa.clearChildNodes(oTargetElement);var ownerDoc=oNode.nodeType==Node.DOCUMENT_NODE?oNode:oNode.ownerDocument;if(ownerDoc.parseError&&ownerDoc.parseError.errorCode!=0){var pre=document.createElement("pre");pre.appendChild(document.createTextNode(Sarissa.getParseErrorText(ownerDoc)));oTargetElement.appendChild(pre);} else{if(xsltproc){oNode=xsltproc.transformToDocument(oNode);} if(oTargetElement.tagName.toLowerCase()=="textarea"||oTargetElement.tagName.toLowerCase()=="input"){oTargetElement.value=new XMLSerializer().serializeToString(oNode);} else{if(oNode.nodeType==Node.DOCUMENT_NODE||oNode.ownerDocument.documentElement==oNode){oTargetElement.innerHTML=new XMLSerializer().serializeToString(oNode);} else{oTargetElement.appendChild(oTargetElement.ownerDocument.importNode(oNode,true));}}}} catch(e){throw e;} finally{Sarissa.updateCursor(oTargetElement,"auto");}};Sarissa.formToQueryString=function(oForm){var qs="";for(var i=0;i0){this._timeoutID=window.setTimeout(function(){LOG.warn("request stopped due to timeout");if(!_this._aborted){if(typeof(A4J.AJAX.onAbort)=="function"){A4J.AJAX.onAbort(_this);}} _this._aborted=true;_this._request.onreadystatechange=A4J.AJAX.Stub;_this._request.abort();if(_this._onerror){_this._errorMessage="Request timeout";_this._onerror(_this,500,_this._errorMessage);} if(_this.onfinish){_this.onfinish(_this);} _this._request=undefined;_this=undefined;},this._timeout);}},abort:function(){this._oncomplete_aborted=true;if(!this._aborted){if(typeof(A4J.AJAX.onAbort)=="function"){A4J.AJAX.onAbort(this);}} this._aborted=true;},getResponseText:function(){try{return this._request.responseText;}catch(e){return null;}},getError:function(){return this._errorMessage;},getParserStatus:function(){return this._parsingStatus;},getContentType:function(){if(!this._contentType){var contentType=this.getResponseHeader('Content-Type');if(contentType){var i=contentType.indexOf(';');if(i>=0){this._contentType=contentType.substring(0,i);}else{this._contentType=contentType;}}else{this._contentType="text/html";}} return this._contentType;},getResponseHeader:function(name){var result;try{result=this._request.getResponseHeader(name);if(result===""){result=undefined;}}catch(e){} if(!result){LOG.debug("Header "+name+" not found, search in ");if(this._parsingStatus==Sarissa.PARSED_OK){var metas=this.getElementsByTagName("meta");for(var i=0;i");if(meta.getAttribute("name")==name){result=meta.getAttribute("content");break;}}}} return result;},getElementsByTagName:function(elementname,element){if(!element){element=this._request.responseXML;} LOG.debug("search for elements by name '"+elementname+"' "+" in element "+element.nodeName);var elements;try {elements=element.selectNodes(".//*[local-name()=\""+ elementname+"\"]");} catch(ex){try{elements=element.getElementsByTagName(elementname);}catch(nf){LOG.debug("getElementsByTagName found no elements, "+nf.Message);}} return elements;},getElementById:function(id){var oDoc=this._request.responseXML;if(oDoc){if(typeof(oDoc.getElementById)!='undefined'){LOG.debug("call getElementById for id= "+id);return oDoc.getElementById(id);} else if(typeof(oDoc.selectSingleNode)!="undefined"){LOG.debug("call selectSingleNode for id= "+id);return oDoc.selectSingleNode("//*[@id='"+id+"']");} else if(typeof(oDoc.nodeFromID)!="undefined"){LOG.debug("call nodeFromID for id= "+id);return oDoc.nodeFromID(id);} LOG.error("No functions for getElementById found ");}else{LOG.debug("No parsed XML document in response");} return null;},getJSON:function(id){var data;var dataElement=this.getElementById(id);if(dataElement){try{data=Sarissa.getText(dataElement,true);data=window.eval('('+data+')');}catch(e){LOG.error("Error on parsing JSON data "+e.message,data);}} return data;},_evaluateScript:function(node){var includeComments=!A4J.AJAX.isXhtmlScriptMode();var newscript=A4J.AJAX.getText(node,includeComments);try{LOG.debug("Evaluate script replaced area in document: ",newscript);if(window.execScript){window.execScript(newscript);}else{window.eval(newscript);} LOG.debug("Script evaluation succeeded");}catch(e){LOG.error("ERROR Evaluate script: Error name: "+e.name+e.message?". Error message: "+e.message:"");}},evaluateQueueScript:function(){var queueScript=this.getElementById('org.ajax4jsf.queue_script');if(queueScript){this._evaluateScript(queueScript);}},evalScripts:function(node,isLast){var newscripts=this.getElementsByTagName("script",node);LOG.debug("Scripts in updated part count : "+newscripts.length);if(newscripts.length>0){var _this=this;window.setTimeout(function(){for(var i=0;i in response with src="+src);for(var j=0;j0){cref=href.substring(0,sessionid);var params=href.lastIndexOf("?");if(params>sessionid){cref=cref+href.substring(params);}}} return cref;},_copyAttribute:function(src,dst,attr){var value=src.getAttribute(attr);if(value){dst.setAttribute(attr,value);}}};A4J.AJAX.Listener=function(onafterajax){this.onafterajax=onafterajax;};A4J.AJAX.AjaxListener=function(type,callback){this[type]=callback;};A4J.AJAX._listeners=[];A4J.AJAX.AddListener=function(listener){A4J.AJAX._listeners.push(listener);};A4J.AJAX.removeListeners=function(listener){A4J.AJAX._listeners=[];};A4J.AJAX.removeListener=function(listener){for(var i=A4J.AJAX._listeners.length-1;i>=0;i--){if(A4J.AJAX._listeners[i]==listener){A4J.AJAX._listeners.splice(i,1);}}};A4J.AJAX.HeadElementTransformer=function(elt){this.elt=elt;};A4J.AJAX._headTransformers=[];A4J.AJAX.AddHeadElementTransformer=function(listener){A4J.AJAX._headTransformers.push(listener);};A4J.AJAX.SetZeroRequestDelay=function(options){if(typeof options.requestDelay=="undefined"){options.requestDelay=0;}};A4J.AJAX._pollers={};A4J.AJAX.Poll=function(form,options){A4J.AJAX.StopPoll(options.pollId);if(!options.onerror){options.onerror=function(req,status,message){if(typeof(A4J.AJAX.onError)=="function"){A4J.AJAX.onError(req,status,message);} A4J.AJAX.Poll(form,options);};} if(!options.onqueuerequestdrop){options.onqueuerequestdrop=function(){A4J.AJAX.Poll(form,options);};} A4J.AJAX.SetZeroRequestDelay(options);A4J.AJAX._pollers[options.pollId]=window.setTimeout(function(){A4J.AJAX._pollers[options.pollId]=undefined;if((typeof(options.onsubmit)=='function')&&(options.onsubmit()==false)){A4J.AJAX.Poll(form,options);}else{A4J.AJAX.Submit(form,null,options);}},options.pollinterval);};A4J.AJAX.StopPoll=function(Id){if(A4J.AJAX._pollers[Id]){window.clearTimeout(A4J.AJAX._pollers[Id]);A4J.AJAX._pollers[Id]=undefined;}};A4J.AJAX.Push=function(form,options){A4J.AJAX.StopPush(options.pushId);options.onerror=function(){A4J.AJAX.Push(form,options);};options.onqueuerequestdrop=function(){LOG.debug("Push main request dropped from queue");};A4J.AJAX._pollers[options.pushId]=window.setTimeout(function(){var request=new XMLHttpRequest();request.onreadystatechange=function(){if(request.readyState==4){try{if(request.status==200){if(request.getResponseHeader("Ajax-Push-Status")=="READY"){A4J.AJAX.SetZeroRequestDelay(options);A4J.AJAX.Submit(form||options.dummyForm,null,options);}}}catch(e){} request=null;A4J.AJAX._pollers[options.pushId]=null;A4J.AJAX.Push(form,options);}} A4J.AJAX.SendPush(request,options);},options.pushinterval);};A4J.AJAX.SendPush=function(request,options){var url=options.pushUrl||options.actionUrl;request.open('HEAD',url,true);request.setRequestHeader("Ajax-Push-Key",options.pushId);if(options.timeout){request.setRequestHeader("Timeout",options.timeout);} request.send(null);} A4J.AJAX.StopPush=function(Id){if(A4J.AJAX._pollers[Id]){window.clearTimeout(A4J.AJAX._pollers[Id]);A4J.AJAX._pollers[Id]=null;}};A4J.AJAX.CloneObject=function(obj,noFunctions){var cloned={};for(var n in obj){if(noFunctions&&typeof(evt[prop])=='function'){continue;} cloned[n]=obj[n];} return cloned;} A4J.AJAX.SubmitForm=function(form,options){var opt=A4J.AJAX.CloneObject(options);if(A4J._formInput){LOG.debug("Form submitted by button "+A4J._formInput.id);opt.control=A4J._formInput;A4J._formInput=null;opt.submitByForm=true;} A4J.AJAX.Submit(form,null,opt);} A4J.AJAX.SubmiteventsQueue=function(eventsQueue){eventsQueue.submit();};A4J.AJAX.CloneEvent=function(evt){var domEvt;evt=evt||window.event||null;if(evt){try{domEvt=A4J.AJAX.CloneObject(evt,false);}catch(e){LOG.warn("Exception on clone event "+e.name+":"+e.message);} LOG.debug("Have Event "+domEvt+" with properties: target: "+domEvt.target+", srcElement: "+domEvt.srcElement+", type: "+domEvt.type);} return domEvt;};A4J.AJAX.PrepareQuery=function(formId,domEvt,options){for(var li=0;li