function Message(){this.params=new Array();this.beans=new Array();this.addBean=function j(a){this.beans=this.beans.concat(a)};this.addParam=function h(b,a){this.params=this.params.concat(new Field(b,a))};this.getParam=function f(b){for(var a=0;a<this.params.length;a++){if(this.params[a].name==b){return this.params[a].value}}return null};this.parse=function i(c){try{var a=c.getElementsByTagName("params");for(var d=0;d<a.length;d++){for(var e=0;e<a[d].childNodes.length;e++){if(a[d].childNodes[e].nodeName.toLowerCase()=="param"){if(a[d].childNodes[e].firstChild!=null){this.addParam(a[d].childNodes[e].attributes.getNamedItem("name").nodeValue,a[d].childNodes[e].firstChild.data)}}}}var o=c.getElementsByTagName("bean");for(var d=0;d<o.length;d++){var p=new Bean(o[d].getAttribute("name"));for(var e=0;e<o[d].childNodes.length;e++){if(o[d].childNodes[e].nodeName.toLowerCase()=="field"){if(o[d].childNodes[e].firstChild!=null){p.addField(o[d].childNodes[e].attributes.getNamedItem("name").nodeValue,o[d].childNodes[e].firstChild.data)}}}this.addBean(p)}}catch(b){window.location.reload()}};this.toXML=function g(){var b='<?xml version="1.0"?>';b+="<message>";b+="<params>";for(var a=0;a<this.params.length;a++){b+='<param name="'+this.params[a].name+'"><![CDATA['+this.params[a].value+"]]></param>"}b+="</params>";b+="<beans>";for(var a=0;a<this.beans.length;a++){b+='<bean name="'+this.beans[a].name+'">';for(var c=0;c<this.beans[a].fields.length;c++){b+='<field name="'+this.beans[a].fields[c].name+'"><![CDATA['+this.beans[a].fields[c].value+"]]></field>"}b+="</bean>"}b+="</beans>";b+="</message>";return b}}function Bean(d){this.name=d;this.fields=new Array();this.addField=function f(b,a){this.fields=this.fields.concat(new Field(b,a))};this.getField=function e(b){for(var a=0;a<this.fields.length;a++){if(this.fields[a].name==b){return this.fields[a]}}return new Field(b,"")}}function Field(d,c){this.name=d;this.value=c}function sendMessage(e,d,f){new Ajax.Request(d,{method:"post",parameters:{xml:e.toXML()},onSuccess:f,onFailure:function(){alert("Error occured")},onLoading:function(){}})}function sendMessageWithHandler(f,e,g,h){new Ajax.Request(e,{method:"post",parameters:{xml:f.toXML()},onSuccess:g,onFailure:h,onLoading:function(){}})}function sendMessage(g,j,i,f,h){new Ajax.Request(j,{method:"post",parameters:{xml:g.toXML()},onSuccess:i,onFailure:function(){alert("Error occured")},onLoading:function(a){if(a.status!=200){f.innerHTML=h}}})}var sortG;var orderG;function getTable(Q,z,H,k,j,C,i,N,J,K,G,I,P,R,M){sortG=j;orderG=C;var L='<table width="100%" cellpadding="0" cellspacing="0">';L+="<tr>";for(var A=0;A<H.length;A++){L+='<td class="table-header"><a href="#" onclick="'+i+"('"+H[A]+"', (sortG == '"+H[A]+"' ? (orderG == 'ASC' ? 'DESC' : 'ASC') : 'ASC')); return false;\">"+k[A]+"</a></td>"}L+="</tr>";var E=1;for(var A=0;A<Q.length;A++){if(Q[A].name==z||z=="*"){L+="<tr>";for(var D=0;D<H.length;D++){if(N==""){L+='<td class="table-row'+E+'">'+getFieldTranslated(H[D],Q[A].getField(H[D]).value,R,M)+"</td>"}else{var O="";for(var F=0;F<J.length;F++){if(F==0){O+="?"}else{O+="&"}O+=Q[A].getField(J[F]).name+"="+Q[A].getField(J[F]).value}var B=N+O;if(K){L+='<td class="table-row'+E+'"><a href="#" onclick="openWindow(\''+B+"', "+G+", "+I+", '"+P+"'); return false;\">"+getFieldTranslated(H[D],Q[A].getField(H[D]).value,R,M)+"</a></td>"}else{L+='<td class="table-row'+E+'"><a href="'+B+'">'+getFieldTranslated(H[D],Q[A].getField(H[D]).value,R,M)+"</a></td>"}}}L+="</tr>";if(E==1){E=2}else{E=1}}}return L+"</table>"}function getFieldTranslated(h,i,g,f){for(var j=0;j<g.length;j++){if(g[j]==h){return f[j](i)}}return i}function getOptions(i,h,j,m,n){for(var l=0;l<h.length;l++){if(h[l].name==j){var k=document.createElement("OPTION");k.value=h[l].getField(m).value;k.appendChild(document.createTextNode(h[l].getField(n).value));i.appendChild(k)}}}function handleSpecial(h,g,i,j){for(var f=0;f<i.length;f++){if(h==i[f]){return j[f](h,g)}}return g.getField(h).value}function getList(j,i,n,o,m,t){var p='<table width="100%" cellpadding="0" cellspacing="0">';p+="<tr>";for(var q=0;q<n.length;q++){p+='<td class="table-header">'+o[q]+"</td>"}p+="</tr>";var s=1;for(var q=0;q<i.length;q++){if(i[q].name==j||j=="*"){p+="<tr>";for(var r=0;r<n.length;r++){p+='<td class="table-row'+s+'">'+handleSpecial(n[r],i[q],m,t)+"</td>"}p+="</tr>";if(s==1){s=2}else{s=1}}}return p+"</table>"}function BeanHash(){this.hash=new Array();this.add=function c(a){this.hash=this.hash.concat(a)};this.get=function d(a,b,g){for(var h=0;h<this.hash.length;h++){if(this.hash[h].name==a&&this.hash[h].getField(b).value==g){return this.hash[h]}}return null}}var listBeanHash=new BeanHash();function List(o,v,m,n,r,w,q,s,u,t,p){this.beanName=o;this.columns=v;this.beans=m;this.height=n;this.rowAction=null;this.index=null;this.emptyMessage=null;this.showHeader=true;this.idPage=r;this.actionPage=w;this.totalPage=s;this.currentPage=q;this.quantity=u;this.data=(t!=null?t:new Array());this.args=p;this.get=function x(){var d="";if(this.showHeader){d+='<div class="list-headers">';for(var e=0;e<this.columns.length;e++){var c=this.columns[e].sortstyle?"list-header-sortable":"list-header";d+='<div class="'+c+'" style="width: '+this.columns[e].size;if(e==0){d+="; clear:both"}if(e==this.columns.length-1){d+="; border: 0"}d+='">';if(this.columns[e].columnAction!=null){d+='<a href="#" onclick="'+this.columns[e].columnAction+"('"+this.columns[e].field+"'); return false;\">"+this.columns[e].label+"</a>"}else{d+=this.columns[e].label}if(this.columns[e].tooltip){d+="<span onmouseout=\"closeRollover('tt"+e+"')\" onmouseover=\"displayRollover($('"+this.columns[e].tooltipParent+"'), '"+this.columns[e].tooltipMessage+"', 'tt"+e+"', '"+this.columns[e].tooltipTop+"', '"+this.columns[e].tooltipLeft+'\');"><img src="'+this.columns[e].tooltipContext+'img/questionmark.gif" align="absmiddle" style="padding:0px 2px 2px 2px;" /></span>'}if(this.columns[e].sortstyle){d+='<div class="list-header-sort-symbol"';if(this.columns[e].columnAction!=null){d+=' onclick="'+this.columns[e].columnAction+"('"+this.columns[e].field+"'); return false;\""}d+="></div>"}d+="</div>"}d+="</div>"}d+='<div style="overflow:auto; height:'+this.height+'; clear:both">';var h=1;for(var e=0;e<this.beans.length;e++){if(this.beanName=="*"||this.beanName==this.beans[e].name){listBeanHash.add(this.beans[e]);d+='<div class="list-row'+h+'"';d+=">";for(var f=0;f<this.columns.length;f++){d+='<div class="';if(f<this.columns.length-1){d+='list-cell" style="width: '+this.columns[f].size+";"}else{d+='list-cell-no-border" style="width: '+this.columns[f].size+";"}if(f==0){d+="clear:both;"}if(this.rowAction!=null&&this.index!=null&&!this.columns[f].preventRowAction){d+='cursor: hand; cursor: pointer;" onclick="'+this.rowAction+"(listBeanHash.get('"+this.beans[e].name+"', '"+this.index+"', '"+this.beans[e].getField(this.index).value+"'));\""}d+='">';var g=this.beans[e].getField(this.columns[f].field).value!=""?this.beans[e].getField(this.columns[f].field).value:"&nbsp;";if(this.columns[f].handler!=null){d+=this.columns[f].handler(this.columns[f].field,this.beans[e])}else{d+=g}d+="</div>"}d+="</div>";if(h==1){h=2}else{h=1}}}if(this.beans.length==0){d+='<div style="padding:30px; text-align:center; font-family: arial; font-size:12px; font-weight:bold; color:gray">';if(this.emptyMessage==null){d+="No items to display"}else{d+=this.emptyMessage}d+="</div>"}d+="</div>";if(r!=null&&s!=null&&q!=null&&w!=null){var a="";if(p!=null&&p.length>0){for(var e=0;e<p.length;++e){a+=(typeof(p[e])=="string"?"'"+p[e]+"'":p[e])+", "}}var b=(q>1?'<a href="#" onclick="'+w+"("+a+(q-2)+" * "+u+'); return false;">&lt;&lt; Previous</a>&nbsp;&nbsp;&nbsp;':'<span style="color: gray">&lt;&lt; Previous&nbsp;&nbsp;&nbsp;</span>')+"Page <b>"+q+"</b> of <b>"+s+"</b>"+(q<s?'&nbsp;&nbsp;&nbsp;<a href="#" onclick="'+w+"("+a+q+" * "+u+'); return false;">Next &gt;&gt;</a>':'<span style="color: gray">&nbsp;&nbsp;&nbsp;Next &gt;&gt;</span>');$(r).update(b)}return d}}function ListColumn(h,g,i,j,f){this.field=h;this.label=g;this.handler=i;this.size=f;this.columnAction=j;this.preventRowAction=false;this.tooltip=false;this.tooltipMessage="";this.tooltipContext="";this.tooltipParent=this;this.tooltipTop=0;this.tooltipLeft=25;this.sortstyle=false};