
function Ajax(mtd,handler,debug,displayErrors,addRequestVars)
{this.async_image='/interface/backoffice/gfx/wait.gif';this._method=mtd;this._handler=handler;this._debug=debug;this._displayErrors=displayErrors;this._addRequestVars=addRequestVars;this._userid;this.msg=function(msg)
{if(this.userid!=536)
return;alert(msg);}
this.execjs=function(text)
{reg='(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)';var match=new RegExp(reg,'img');var response=text.replace(match,'');var scripts=text.match(match);match2=new RegExp(reg,'im');var arr=new Array(3)
arr[0]=response
arr[1]=scripts
arr[2]=match2
return arr;}
this.call=function(func,params)
{var data=this._prepareData(func,params);var xmlHttpRequest=this._getXmlHttpRequestObject();var finalData=this._prepareXmlHttpRequest(xmlHttpRequest,params,data);xmlHttpRequest.send(finalData);if(!this._paramsHaveCallbackFunction(params))
return this._decodeResponse(xmlHttpRequest.responseText).response;}
this.getTagWithId=function(id)
{var tag=document.getElementById(id);if(!tag)
alert("Tag with id '"+id+"' not found!");return tag;}
this.replace=function(id,content)
{var tag=ajax.getTagWithId(id);if(!tag)
return;tag.innerHTML=content;}
this.replaceSync=function(id,func,params)
{var parameters=new Array();for(var i=2;i<this.replaceSync.arguments.length;++i)
parameters.push(this.replaceSync.arguments[i]);ajax.replace(id,ajax.call(func,parameters));}
this.replaceAsync=function(id,func,params,timeout)
{if(this.async_image)
ajax.replace(id,'<img src="'+this.async_image+'">');var parameters=new Array();for(var i=2;i<this.replaceAsync.arguments.length;++i)
parameters.push(this.replaceAsync.arguments[i]);parameters.push(function(content){ajax.replace(id,content);});ajax.call(func,parameters);if(timeout)
ajax.t=setTimeout("ajax.replaceAsync('"+id+"', '"+func+"', '"+params+"', '"+timeout+"')",timeout);}
this.getFormData=function(form)
{if(typeof form=='string')
form=document.getElementById(form);if(!form)
return;var parameters=new Object();for(i=0;i<form.elements.length;i++){element=form.elements[i];if(element.name){var value=element.value;switch(element.type){case'checkbox':value=element.value=='on';break;case'radio':if(!element.checked)
continue;break;}
if(element.name.match(/\[\]$/)){var name=element.name.replace(/\[\]$/,'');if(!parameters[name])
parameters[name]=new Array();if(element.options){for(var j=0;j<element.options.length;j++)
if(element.options[j].selected)
parameters[name].push(element.options[j].value);}
else
parameters[name].push(value);}
else
parameters[element.name]=value;}}
return parameters;}
this._getXmlHttpRequestObject=function()
{var xmlHttpRequest=false;if(window.XMLHttpRequest){xmlHttpRequest=new XMLHttpRequest();}
else if(window.ActiveXObject){try{xmlHttpRequest=new ActiveXObject("Msxml2.XMLHTTP");}
catch(e)
{try{xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");}
catch(e){}}}
if(xmlHttpRequest.overrideMimeType){xmlHttpRequest.overrideMimeType("text/json");}
return xmlHttpRequest;}
this._prepareXmlHttpRequest=function(xmlHttpRequest,params,data)
{var callbackFunction=this._getCallbackFunction(params);var handler;var finalData;if(this._method=='GET')
{handler=this._handler+'?'+data+'&'+this._addRequestVars;finalData=null;}
else{handler=this._handler;finalData=data+'&'+this._addRequestVars;}
xmlHttpRequest.open(this._method,handler,callbackFunction!=null);if(this._method=="POST")
{xmlHttpRequest.setRequestHeader("Method","POST "+this._handler+" HTTP/1.1");xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");xmlHttpRequest.setRequestHeader("Content-Length",finalData.length);}
xmlHttpRequest.onreadystatechange=function()
{if(xmlHttpRequest.readyState==4)
{try
{var response=ajax._decodeResponse(xmlHttpRequest.responseText);if(!response&&ajax._displayErrors){alert("AJAX error:\n"+'leere Antwort erhalten');return;}
else if(!response)
return;}
catch(e)
{if(ajax._displayErrors)
alert("AJAX error:\nUnknown response from server!\n\n"+xmlHttpRequest.responseText);return;}
if(response.errorCode==0&&callbackFunction!=null){if(ajax._debug){alert("AJAX debug info:\n\nServer response: "+xmlHttpRequest.responseText);}
callbackFunction(response.response);}
else if(response.errorCode!=0&&ajax._displayErrors){alert("AJAX error:\n"+response.errorMessage);}}}
return finalData;}
this._paramsHaveCallbackFunction=function(params)
{if(typeof(params)=="object"&&params.length>0)
return(typeof(params[params.length-1])=="function");return false;}
this._getCallbackFunction=function(params)
{if(this._paramsHaveCallbackFunction(params))
return params[params.length-1];return null;}
this._prepareParams=function(params)
{var preparedParams=new Array();if(typeof(params)=="object"&&params.length>0)
{var end=this._paramsHaveCallbackFunction(params)?1:0;for(var i=0;i<params.length-end;i++)
preparedParams.push(params[i]);}
return preparedParams;}
this._prepareData=function(func,params)
{var data=new Object();data["params"]=this._prepareParams(params);data["func"]=func;return"ajax="+encodeURIComponent(JSON.stringify(data));}
this._decodeResponse=function(responseText)
{return JSON.parse(responseText);}}

// Cache: 2010-03-11 19:20:24 | MTime: 2006-04-21 19:13:14 | Packer: JSMin | ajax.js