﻿function objCB(id){this.id=id;this.element=this.DomElement=document.getElementById(id);return this;};objCB.prototype.Callback=function(param){var scriptFiles=[],cssElement,request,elem=this,callback=document.getElementById(this.id),scriptElement;scriptElement=document.createElement('script');scriptElement.setAttribute("type","text/javascript");if(this.CallbackInProgress){return false;}else{this.CallbackInProgress=true;};handleResponse=function(){if(request.readyState&&request.readyState!=4&&request.readyState!='complete'){return;};elem.CallbackInProgress=false;var responseText=request.responseText;if(elem.Debug){if(responseText){alert('Data received: '+request.responseText);};};request=request.responseXML;if(request&&request.documentElement){if(request.documentElement.nodeName=="CallbackError"){if(elem.Debug){alert(request.documentElement.firstChild.nodeValue);}else{alert("An error has occured");};return;};var data=request.documentElement.firstChild.nodeValue;callback.innerHTML=recieveServerData(data);if(scriptFiles.length>0){for(sci=0;sci<scriptFiles.length;sci++){var scriptFileElement=document.createElement("script");scriptFileElement.setAttribute("type","text/javascript");scriptFileElement.setAttribute("src",scriptFiles[sci]);document.getElementsByTagName("head").item(0).appendChild(scriptFileElement);};};cssElement=document.createElement('style');cssElement.setAttribute("type","text/css");var css=groupCSS(data);if(css!=""){if(cssElement.styleSheet){cssElement.styleSheet.cssText=css;}else{var cssText=doc.createTextNode(css);cssElement.appendChild(cssText);};document.body.appendChild(cssElement);};if(scriptElement.innerHTML!=""){document.body.appendChild(scriptElement);};if(elem['CBC_'+elem.id]){elem['CBC_'+elem.id]();};}else{var formTag=responseText.substring(responseText.indexOf('<form'),responseText.indexOf('>',responseText.indexOf('<form'))),errorMsg=formTag.substring(formTag.indexOf('error=')+6,formTag.indexOf('&',formTag.indexOf('error=')));if(elem.debug){alert(errorMsg);};};};recieveServerData=function(value){elem.innerHTML='';var scripts=groupScripts(value);scriptElement.text=scripts;if(elem.Debug){if(scripts!=""){alert('Registered scripts: '+getOuterHTML(scriptElement));};};return value;};groupCSS=function(string){var css="",data=string;while(true){var start=data.indexOf('<style');if(start<0){break;};var startCssIndex=data.indexOf(">",start)+1,endCssIndex=data.indexOf("</sty"+"le>",start);if(endCssIndex>=startCssIndex){var end=endCssIndex+8;if(endCssIndex>startCssIndex){var cssBlock=data.substring(startCssIndex,endCssIndex);css+=cssBlock;};data=data.substring(0,start)+data.substring(end);};};return css;};groupScripts=function(string){var scripts="",data=string;while(true){var start=data.indexOf('<script');if(start<0){break;};var startScriptIndex=data.indexOf(">",start)+1,endScriptIndex=data.indexOf("</scr"+"ipt>",start);if(endScriptIndex>=startScriptIndex){if(endScriptIndex==startScriptIndex){var iStartFileNameIndex=data.indexOf('src="',start);if(iStartFileNameIndex>0){iStartFileNameIndex+=5;var iEndFileNameIndex=data.indexOf('"',iStartFileNameIndex),sFileName=data.substring(iStartFileNameIndex,iEndFileNameIndex);if(sFileName.length>0){var headElement=document.getElementsByTagName("head").item(0);if(headElement){var arHeadScripts=headElement.getElementsByTagName('script'),bPreLoaded=false;for(var qzAde=0;qzAde<arHeadScripts.length;qzAde++){if(arHeadScripts[qzAde].src&&arHeadScripts[qzAde].src==sFileName){bPreLoaded=true;break;};};if(!bPreLoaded){scriptFiles[scriptFiles.length]=sFileName;};};};};};var end=endScriptIndex+9;if(endScriptIndex>startScriptIndex){var sScriptBlock=data.substring(startScriptIndex,endScriptIndex);scripts+=sScriptBlock;};data=data.substring(0,start)+data.substring(end);};};return scripts;};httpRequest=function(reqType,url,asynch,data){initReq=function(reqType,url,bool,data){if(elem.Debug){alert('Data sent: '+data);};request.onreadystatechange=handleResponse;request.open(reqType,url,bool);request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');request.send(data);};if(window.XMLHttpRequest){request=new XMLHttpRequest();}else if(window.ActiveXObject("Microsoft.XMLHTTP")){if(!request){request=new ActiveXObject("Microsoft.XMLHTTP");};};if(request){if(elem['LT_'+elem.id]){elem.element.innerHTML=elem['LT_'+elem.id];};initReq(reqType,url,asynch,data);};};var data="";if(arguments.length==0){data="amCB_"+this.id+"=0";};encode=function(str){if(str == undefined){return undefined;}else{return str.toString().replace(/&/g,"!AM#").replace(/=/g,"#AM!").replace(/\+/g,"#MA!");};};for(cbi=0;cbi<arguments.length;cbi++){if(data==""){data+="amCB_"+this.id+"="+encode(arguments[cbi]);}else{data+="&amCB_"+this.id+"="+encode(arguments[cbi]);};};httpRequest("POST",elem.Location,true,data);};function getOuterHTML(object){if(document.all){return object.outerHTML;}else{var element;if(!object){return null;};element=document.createElement("div");element.appendChild(object.cloneNode(true));return element.innerHTML;};};