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