function sendAjaxRequest(n){this.name='sendAjaxRequest';if(!this.ajaxRequest){this.ajaxRequest=this.createRequest();}}
sendAjaxRequest.prototype.createRequest=function(){var request=null
try{request=new XMLHttpRequest();}catch(trymicrosoft){try{request=new ActiveXObject("Msxml2.XMLHTTP");}catch(othermicrosoft){try{request=new ActiveObject("Microsoft.XMLHTTP");}catch(failed){request=null;alert("Ajax request failed")}}}
return request;}
sendAjaxRequest.prototype.returnName=function(){return this.name;}
sendAjaxRequest.prototype.sendRequest=function(url,handler,method,xml,async){method=method?method:'GET';xml=(typeof xml=='undefined')?false:xml;async=(typeof async=='undefined')?true:async;var data=null;if(url&&typeof url=='object'){if(url.tagName=='FORM'){data=(data)?data:'';var form=url;for(var i=0;i<form.elements.length;i++){data+=(((form.elements[i].type!='checkbox'&&form.elements[i].type!='radio')||(form.elements[i].checked))&&form.elements[i].name!='')?'&'+form.elements[i].name+'='+encodeURIComponent(form.elements[i].value):'';}
data+='&ajax=1&sendrequest='+this.returnName();if(typeof form.getAttribute('action')=='string'){url=form.getAttribute('action');}else if(typeof form.attributes['action']=='object'&&typeof form.attributes['action'].nodeValue=='string'){url=form.attributes['action'].nodeValue;}else{return false;}}else if(url.tagName=='A'){return false;}else if(url.form){return false;}else{return false;}}else if(url&&typeof url!='string'){return false;}else{url+='&ajax=1&requesthandler='+this.returnName();}
url=url.replace(/^http(s)?\:\/\/[^\/]+/,'');var r=this.ajaxRequest;if(typeof handler=='function'){var f=handler;}else{var f=(typeof this[handler]=='function')?this[handler]:this.doAction;f=(typeof self[handler]=='function')?self[handler]:f;}
this.ajaxRequest.onreadystatechange=function(){if(r.readyState==4){(xml)?f(r.responseXML):f(r.responseText);}}
this.ajaxRequest.open(method,url,async);this.ajaxRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');this.ajaxRequest.send(data);}
sendAjaxRequest.prototype.doAction=function(t){alert('Error: no handler defined');}
