var JSON={stringify:function(c){var b=[];function f(a){b[b.length]=a}function d(a){var j,h,e,g;switch(typeof a){case"object":if(a){if(a instanceof Array){f("[");e=b.length;for(h=0;h<a.length;h+=1){g=a[h];if(typeof g!="undefined"&&typeof g!="function"){if(e<b.length){f(",")}d(g)}}f("]");return}else{if(typeof a.toString!="undefined"){f("{");e=b.length;for(h in a){g=a[h];if(a.hasOwnProperty(h)&&typeof g!="undefined"&&typeof g!="function"){if(e<b.length){f(",")}d(h);f(":");d(g)}}return f("}")}}}f("null");return;case"number":f(isFinite(a)?+a:"null");return;case"string":e=a.length;f('"');for(h=0;h<e;h+=1){j=a.charAt(h);if(j>=" "){if(j=="\\"||j=='"'){f("\\")}f(j)}else{switch(j){case"\b":f("\\b");break;case"\f":f("\\f");break;case"\n":f("\\n");break;case"\r":f("\\r");break;case"\t":f("\\t");break;default:j=j.charCodeAt();f("\\u00"+Math.floor(j/16).toString(16)+(j%16).toString(16))}}}f('"');return;case"boolean":f(String(a));return;default:f("null");return}}d(c);return b.join("")},parse:function(text){return(/^(\s+|[,:{}\[\]]|"(\\["\\\/bfnrtu]|[^\x00-\x1f"\\]+)*"|-?\d+(\.\d*)?([eE][+-]?\d+)?|true|false|null)+$/.test(text))&&eval("("+text+")")}};var this_url="/";var Agent_ShowWorking=1;var Agent_ShowWorkingDiv="AjaxWorking";var Agent_Showing=0;function AgentWorking(a){if(Agent_ShowWorking&&document.getElementById(Agent_ShowWorkingDiv)){if(a==true){Agent_Showing++;document.getElementById(Agent_ShowWorkingDiv).style.display="inline"}else{Agent_Showing--;if(Agent_Showing<=0&&document.getElementById(Agent_ShowWorkingDiv)){document.getElementById(Agent_ShowWorkingDiv).style.display="none"}}}}function Agent(){this.debug=false;this.call=function(){var aa_sfunc="";var aa_cfunc="";var result="";var xmlHttpObject;if(arguments.length<3){alert("Incorrect number of parameters. Please check your function call");return false}var aa_url=arguments[0];aa_sfunc=arguments[1];aa_cfunc=arguments[2];if((aa_url==null)||(aa_url=="")){aa_url=this_url}var aa_poststr="aa_afunc=call&aa_sfunc="+encodeURI(aa_sfunc)+"&aa_cfunc="+encodeURI(aa_cfunc);for(var i=3;i<arguments.length;i++){if(typeof(arguments[i])=="object"){aa_poststr+="&aa_sfunc_args[]="+encodeURIComponent(JSON.stringify(arguments[i]))}else{aa_poststr+="&aa_sfunc_args[]="+encodeURIComponent(arguments[i])}}xmlHttpObject=false;if(window.XMLHttpRequest){xmlHttpObject=new XMLHttpRequest()}else{if(window.ActiveXObject){try{xmlHttpObject=new ActiveXObject("Msxml2.XMLHTTP")}catch(e){try{xmlHttpObject=new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}}}}if(!xmlHttpObject){alert("Agent unable to establish communication  :( ");return false}if((aa_sfunc==null)||(aa_sfunc=="")){if(arguments[3]){aa_poststr=arguments[3]}}if((aa_cfunc==null)||(aa_cfunc=="")){AgentWorking(true);xmlHttpObject.open("POST",aa_url,false);xmlHttpObject.setRequestHeader("Content-type","application/x-www-form-urlencoded");xmlHttpObject.setRequestHeader("Content-length",arguments.length+1);xmlHttpObject.send(aa_poststr);result=xmlHttpObject.responseText;var res=JSON.parse(result);AgentWorking(false);if(res===false){return result}else{return res}}else{xmlHttpObject.onreadystatechange=function(){if(xmlHttpObject.readyState==4){if(xmlHttpObject.status==200){result=xmlHttpObject.responseText;if(document.getElementById(aa_cfunc)){var res=JSON.parse(result);if(res===false){res=result}try{document.getElementById(aa_cfunc).innerHTML=res}catch(e){document.getElementById(aa_cfunc).value=res}}else{var res=JSON.parse(result);if(res===false){eval(aa_cfunc+"(result);")}else{eval(aa_cfunc+"(res);")}}}else{if(xmlHttpObject.status!=0){alert("There was a problem with the request.")}}AgentWorking(false)}};xmlHttpObject.open("POST",aa_url,true);xmlHttpObject.setRequestHeader("Content-type","application/x-www-form-urlencoded");xmlHttpObject.setRequestHeader("Content-length",arguments.length+1);xmlHttpObject.send(aa_poststr);AgentWorking(true);return xmlHttpObject}return false};this.listen=function(aa_event,aa_cfunc){}}var agent=new Agent();
