/* JSCmprsd Hash:a69c4b34afddd233534004e61d8481d4 */
function cpaint(){this.version="2.0.2";var B=new Array();B.debugging=-1;B.proxy_url="";B.transfer_mode="GET";B.async=false;B.response_type="OBJECT";B.persistent_connection=false;B.use_cpaint_api=true;var C=0;this.capable=D();this.set_debug=function(){if(typeof arguments[0]=="boolean"){if(arguments[0]===true){B.debugging=1}else{B.debugging=0}}else{if(typeof arguments[0]=="number"){B.debugging=Math.round(arguments[0])}}};this.set_proxy_url=function(){if(typeof arguments[0]=="string"){B.proxy_url=arguments[0]}};this.set_transfer_mode=function(){if(arguments[0].toUpperCase()=="GET"||arguments[0].toUpperCase()=="POST"){B.transfer_mode=arguments[0].toUpperCase()}};this.set_async=function(){if(typeof arguments[0]=="boolean"){B.async=arguments[0]}};this.set_response_type=function(){if(arguments[0].toUpperCase()=="TEXT"||arguments[0].toUpperCase()=="XML"||arguments[0].toUpperCase()=="OBJECT"||arguments[0].toUpperCase()=="E4X"||arguments[0].toUpperCase()=="JSON"){B.response_type=arguments[0].toUpperCase()}};this.set_persistent_connection=function(){if(typeof arguments[0]=="boolean"){B.persistent_connection=arguments[0]}};this.set_use_cpaint_api=function(){if(typeof arguments[0]=="boolean"){B.use_cpaint_api=arguments[0]}};function D(){var E=new cpaint_call(0,B,this.version);return E.test_ajax_capability()}this.call=function(){var E=-1;if(B.persistent_connection==true&&__cpaint_stack[0]!=null){switch(__cpaint_stack[0].get_http_state()){case -1:E=0;A("no XMLHttpObject object to re-use for persistence, creating new one later",2);break;case 4:E=0;A("re-using the persistent connection",2);break;default:A("the persistent connection is in use - skipping this request",2)}}else{if(B.persistent_connection==true){E=0;__cpaint_stack[E]=new cpaint_call(E,B,this.version);A("no cpaint_call object available for re-use, created new one",2)}else{E=C;__cpaint_stack[E]=new cpaint_call(E,B,this.version);A("no cpaint_call object created new one",2)}}if(E!=-1){__cpaint_stack[E].set_client_callback(arguments[2]);if(B.proxy_url!=""){__cpaint_stack[E].call_proxy(arguments)}else{__cpaint_stack[E].call_direct(arguments)}C++;A("stack size: "+__cpaint_stack.length,2)}};var A=function(F,E){var G="[CPAINT Debug] ";if(E<1){G="[CPAINT Error] "}if(B.debugging>=E){alert(G+F)}}}var __cpaint_stack=new Array();var __cpaint_transformer=new cpaint_transformer();function cpaint_call(){var F=arguments[2];var C=new Array();C.debugging=arguments[1]["debugging"];C.proxy_url=arguments[1]["proxy_url"];C.transfer_mode=arguments[1]["transfer_mode"];C.async=arguments[1]["async"];C.response_type=arguments[1]["response_type"];C.persistent_connection=arguments[1]["persistent_connection"];C.use_cpaint_api=arguments[1]["use_cpaint_api"];var B=false;var D;var E=arguments[0];this.set_client_callback=function(){if(typeof arguments[0]=="function"){D=arguments[0]}};this.get_http_state=function(){var J=-1;if(typeof B=="object"){J=B.readyState}return J};this.call_direct=function(N){var K=N[0];var M=N[1];var J="";var L=0;if(K=="SELF"){K=document.location.href}if(C.use_cpaint_api==true){for(L=3;L<N.length;L++){if((typeof N[L]=="string"&&N[L]!=""&&N[L].search(/^\s+$/g)==-1)&&!isNaN(N[L])&&isFinite(N[L])){J+="&cpaint_argument[]="+encodeURIComponent(JSON.encode(Number(N[L])))}else{J+="&cpaint_argument[]="+encodeURIComponent(JSON.encode(N[L]))}}J+="&cpaint_response_type="+C.response_type;if(C.transfer_mode=="GET"){if(K.indexOf("?")!=-1){K=K+"&cpaint_function="+M+J}else{K=K+"?cpaint_function="+M+J}}else{J="cpaint_function="+M+J}}else{for(L=3;L<N.length;L++){if(L==3){J+=encodeURIComponent(N[L])}else{J+="&"+encodeURIComponent(N[L])}}if(C.transfer_mode=="GET"){K=K+J}}H();A('opening connection to "'+K+'"',1);B.open(C.transfer_mode,K,C.async);if(C.transfer_mode=="POST"){try{B.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}catch(O){A("POST cannot be completed due to incompatible browser.  Use GET as your request method.",0)}}B.setRequestHeader("X-Powered-By","CPAINT v"+F+" :: http://sf.net/projects/cpaint");B.onreadystatechange=I;if(C.transfer_mode=="GET"){B.send(null)}else{A("sending query: "+J,1);B.send(J)}if(C.async==false){I()}};this.call_proxy=function(O){var N=C.proxy_url;var K=O[0];var M=O[1];var J="";var L=0;var Q="cpaint_argument[]=";if(C.use_cpaint_api==false){Q=""}for(L=3;L<O.length;L++){if(C.use_cpaint_api==true){if((typeof O[L]=="string"&&O[L]!=""&&O[L].search(/^\s+$/g)==-1)&&!isNaN(O[L])&&isFinite(O[L])){J+=encodeURIComponent(Q+JSON.encode(Number(O[L]))+"&")}else{J+=encodeURIComponent(Q+JSON.encode(O[L])+"&")}}else{J+=encodeURIComponent(Q+O[L]+"&")}}if(C.use_cpaint_api==true){J+=encodeURIComponent("&cpaint_function="+M);J+=encodeURIComponent("&cpaint_responsetype="+C.response_type)}if(C.transfer_mode=="GET"){N+="?cpaint_remote_url="+encodeURIComponent(K)+"&cpaint_remote_query="+J+"&cpaint_remote_method="+C.transfer_mode+"&cpaint_response_type="+C.response_type}else{J="cpaint_remote_url="+encodeURIComponent(K)+"&cpaint_remote_query="+J+"&cpaint_remote_method="+C.transfer_mode+"&cpaint_response_type="+C.response_type}H();A('opening connection to proxy "'+N+'"',1);B.open(C.transfer_mode,N,C.async);if(C.transfer_mode=="POST"){try{B.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}catch(P){A("POST cannot be completed due to incompatible browser.  Use GET as your request method.",0)}}B.setRequestHeader("X-Powered-By","CPAINT v"+F);B.onreadystatechange=I;if(C.transfer_mode=="GET"){B.send(null)}else{A("sending query: "+J,1);B.send(J)}if(C.async==false){I()}};this.test_ajax_capability=function(){return H()};var H=function(){var K=false;var L=false;if(C.persistent_connection==false){A("Using new connection object",1);L=true}else{A("Using shared connection object.",1);if(typeof B!="object"){A("Getting new persistent connection object.",1);L=true}}if(L==true){try{B=new ActiveXObject("Msxml2.XMLHTTP")}catch(M){try{B=new ActiveXObject("Microsoft.XMLHTTP")}catch(J){B=null}}if(!B&&typeof XMLHttpRequest!="undefined"){B=new XMLHttpRequest()}if(!B){A("Could not create connection object",0)}else{K=true}}if(B.readyState!=4){B.abort()}return K};var I=function(){var J=null;if(B.readyState==4&&B.status==200){A(B.responseText,1);A("using response type "+C.response_type,2);switch(C.response_type){case"XML":A(B.responseXML,2);J=__cpaint_transformer.xml_conversion(B.responseXML);break;case"OBJECT":J=__cpaint_transformer.object_conversion(B.responseXML);break;case"TEXT":J=__cpaint_transformer.text_conversion(B.responseText);break;case"E4X":J=__cpaint_transformer.e4x_conversion(B.responseText);break;case"JSON":J=__cpaint_transformer.json_conversion(B.responseText);break;default:A("invalid response type '"+response_type+"'",0)}if(J!=null&&typeof D=="function"){D(J,B.responseText)}G()}else{if(B.readyState==4&&B.status!=200){A("invalid HTTP response code '"+Number(B.status)+"'",0)}}};var G=function(){if(typeof E=="number"&&__cpaint_stack[E]&&C.persistent_connection==false){__cpaint_stack[E]=null}};var A=function(K,J){var L="[CPAINT Debug] ";if(C.debugging<1){L="[CPAINT Error] "}if(C.debugging>=J){alert(L+K)}}}function cpaint_transformer(){this.object_conversion=function(C){var D=new cpaint_result_object();var F=0;var H="";if(typeof C=="object"&&C!=null){for(F=0;F<C.childNodes.length;F++){if(C.childNodes[F].nodeType==1){H=C.childNodes[F].nodeName;break}}var G=C.getElementsByTagName(H);D[H]=new Array();for(F=0;F<G.length;F++){var E=A(G[F]);E.id=G[F].getAttribute("id");D[H].push(E)}}else{debug("received invalid XML response",0)}return D};this.xml_conversion=function(C){return C};this.text_conversion=function(C){return B(C)};this.e4x_conversion=function(C){C=C.replace(/^\<\?xml[^>]+\>/,"");return new XML(C)};this.json_conversion=function(C){return JSON.decode(C)};var A=function(H){var C=new cpaint_result_object();var D="";var F=0;var G=0;if(H.hasChildNodes()==true){for(F=0;F<H.childNodes.length;F++){D=H.childNodes[F].nodeName;D=D.replace(/[^a-zA-Z0-9_]*/g,"");if(typeof C[D]!="object"){C[D]=new Array()}if(H.childNodes[F].nodeType==1){var E=A(H.childNodes[F]);for(G=0;G<H.childNodes[F].attributes.length;G++){E.set_attribute(H.childNodes[F].attributes[G].nodeName,H.childNodes[F].attributes[G].nodeValue)}C[D].push(E)}else{if(H.childNodes[F].nodeType==3){C.data=B(String(H.firstChild.data))}}}}return C};var B=function(H){var J="";var G=0;var I=0;var F=0;var D=0;var C=0;var E=0;while(G<H.length){if(H.charAt(G)=="\\"&&H.charAt(G+1)=="u"){C=0;for(j=2;j<6;j+=1){E=parseInt(H.charAt(G+j),16);if(!isFinite(E)){break}C=C*16+E}J+=String.fromCharCode(C);G+=6}else{J+=H.charAt(G);G++}}if(J!=""&&J.search(/^\s+$/g)==-1&&!isNaN(J)&&isFinite(J)){J=Number(J)}return J}}function cpaint_result_object(){this.id=0;this.data="";var A=new Array();this.find_item_by_id=function(){var B=null;var D=arguments[0];var E=arguments[1];var C=0;if(this[D]){for(C=0;C<this[D].length;C++){if(this[D][C].get_attribute("id")==E){B=this[D][C];break}}}return B};this.get_attribute=function(){var B=null;var C=arguments[0];if(typeof A[C]!="undefined"){B=A[C]}return B};this.set_attribute=function(){A[arguments[0]]=arguments[1]}};