
var XHRHelper={request:null,callBack:undefined,init:function(){try{XHRHelper.request=new XMLHttpRequest();}catch(trymicrosoft){try{XHRHelper.request=new ActiveXObject("Msxml2.XMLHTTP");}catch(othermicrosoft){try{XHRHelper.request=new ActiveXObject("Microsoft.XMLHTTP");}catch(failed){XHRHelper.request=null;}}}
return XHRHelper.request;},initRequest:function(objName,url,callBack)
{try{url+='&stopCache='+new Date().getTime();XHRHelper.request.open("GET",url,true);XHRHelper.callBack=callBack;XHRHelper.caller=objName;XHRHelper.request.onreadystatechange=XHRHelper.getResponse;XHRHelper.request.setRequestHeader('If-Modified-Since','Wed, 05 Apr 2006 00:00:00 GMT');XHRHelper.request.send(null);}
catch(ex){if(objName!='ErrorHelper'){ex.croakedInMethod='in XHRHelper.initRequest method in XHRHelper.js ';ErrorHelper.onError(ex);}
else{alert("Unfortunately we have experienced an error and therefore the page may not work as expected");}}},getResponse:function(){try{var STATUS_OK=200;var READY_OK=4;var outStr;var i=0;if(XHRHelper.request.readyState==READY_OK)
{if(XHRHelper.request.status==STATUS_OK)
{outStr=XHRHelper.request.responseText;if(XHRHelper.callBack){XHRHelper.callBack(outStr);}}
else
{var errObj=new Error('Invalid XHR status : '+XHRHelper.request.status);throw(errObj);}}}
catch(ex){if(XHRHelper.caller!='ErrorHelper'){ex.croakedInMethod='in XHRHelper.getResponse method in XHRHelper.js ';ErrorHelper.onError(ex);}
else{alert("Unfortunately we have experienced an error and therefore the page may not work as expected");}}}};