function ComponentArt_Callback(id){ this.Id=id; this.DomElement=document.getElementById(id+'_div'); this.Parameter=null; }; ComponentArt_Callback.prototype.ReadData=function(qzau){ return qzau.firstChild.nodeValue; }; ComponentArt_Callback.prototype.Callback=function(param){ if(this.Parameter!=param){ this.Parameter=param; var oParamObj=document.getElementById(this.Id+'_ParamField'); if(oParamObj){ oParamObj.value=param; }; } else if(this.IsDownLevel){ return false; }; if(this.IsDownLevel){ if(!window.CallbackPostingBack){ setTimeout(this.Id+'.Postback();',300); window.CallbackPostingBack=true; }; return false; }; if(this.Cache){ var sContent=this.Cache[param]; if(sContent){ this.ProcessContent(sContent); return true; }; }; if(this.CallbackInProgress){ return false; } else{ this.CallbackInProgress=true; }; if(this.ClientSideOnCallback){ this.ClientSideOnCallback(param); }; if(this.LoadingPanelClientTemplate){ this.DomElement.innerHTML=this.LoadingPanelClientTemplate; }; var url=this.CallbackPrefix,postData="Cart_"+this.Id+"_Callback_Param="+escape(param); if(this.Debug){ alert('Performing callback: '+param); }; this.DoCallback(url,postData,param); return true; }; ComponentArt_Callback.prototype.DoCallback = function(url,postData,param) { var ajaxbox=this,xmlHttpRequest=false,qzzc; function qzAjj(){ ajaxbox.CallbackInProgress=false; if(ajaxbox.ClientSideOnCallbackComplete){ ajaxbox.ClientSideOnCallbackComplete(); }; }; function qzzs() { if(qzzc.readyState&&qzzc.readyState!=4&&qzzc.readyState!='complete') { return; }; var responseText=qzzc.responseText; if(ajaxbox.Debug){ if(responseText){ alert('Received content:\n'+responseText); }; }; if(xmlHttpRequest){ qzzc=qzzc.responseXML; }; if(qzzc&&qzzc.documentElement){ var arData=qzzc.documentElement,sEncodedContent=ajaxbox.ReadData(arData),sContent=sEncodedContent.replace(/\$\$\$CART_CDATA_CLOSE\$\$\$/g,"]]>"); if(ajaxbox.Cache){ ajaxbox.Cache[param]=sContent; }; ajaxbox.ProcessContent(sContent); } else{ alert('The data could not be loaded.'); }; qzAjj(); }; function createXmlHttp() { xmlhttp = false; try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { xmlhttp = new XMLHttpRequest(); } return xmlhttp; } var _postData_ = GetPostString(document.forms[0].id, this.id, '', postData); /* if(window.XMLHttpRequest){ xmlHttpRequest=true; var qzzc=new XMLHttpRequest(); qzzc.onreadystatechange=qzzs; qzzc.open("POST",url,true); qzzc.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); qzzc.send(_postData_[0]); } else if(document.implementation&&document.implementation.createDocument){ qzzc=document.implementation.createDocument("","",null); qzzc.onload=qzzs; } else if(document.all){ var qzac=this.Id+'_island',qzv=document.getElementById(qzac); if(!qzv){ qzv=document.createElement('xml'); qzv.id=qzac; document.body.appendChild(qzv); }; if(qzv.XMLDocument){ qzzc=qzv.XMLDocument; qzzc.onreadystatechange=qzzs; } else{ return false; }; } else{ if(this.Postback){ this.Postback(); }; return false; }; */ /**/ qzzc = createXmlHttp(); qzzc.onreadystatechange=qzzs; qzzc.open("POST",url,true); qzzc.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); qzzc.setRequestHeader('Content-Length', _postData_[1]); qzzc.send(_postData_[0]); xmlHttpRequest = true; if(!qzzc) { alert("Data not loaded"); } /**/ if(!xmlHttpRequest){ qzzc.async=true; try{ qzzc.load(url+_postData_[0]); } catch(ex){ qzAjj(); alert("Data not loaded: "+(ex.message?ex.message:ex)); }; }; return true; }; ComponentArt_Callback.prototype.GetParameter = function() { if(this.Parameter) { return this.Parameter; } else { var oParamObj=document.getElementById(this.Id+'_ParamField'); if(oParamObj){ this.Parameter=oParamObj.value; }; }; return this.Parameter; }; ComponentArt_Callback.prototype.ProcessContent = function(sContent) { var qzzv="",sProcessContent=sContent.toLowerCase(); while(true){ var iStartIndex=sProcessContent.indexOf("",iStartIndex)+1; var iEndScriptIndex=sProcessContent.indexOf("",iStartIndex); if(iEndScriptIndex>=iStartScriptIndex) { if(iEndScriptIndex==iStartScriptIndex){ var iStartFileNameIndex=sProcessContent.indexOf('src="',iStartIndex); if(iStartFileNameIndex>0){ iStartFileNameIndex+=5; var iEndFileNameIndex=sProcessContent.indexOf('"',iStartFileNameIndex) var sFileName=sContent.substring(iStartFileNameIndex,iEndFileNameIndex); if(sFileName.length>0) { var scriptElement=document.createElement("script"); scriptElement.setAttribute("type","text/javascript"); scriptElement.setAttribute("src",sFileName); document.getElementsByTagName("head").item(0).appendChild(scriptElement); }; }; }; var iEndIndex=iEndScriptIndex+9; if(iEndScriptIndex>iStartScriptIndex){ var sScriptBlock=sContent.substring(iStartScriptIndex,iEndScriptIndex); qzzv+=sScriptBlock+"\n"; }; sContent=sContent.substring(0,iStartIndex)+sContent.substring(iEndIndex); sProcessContent=sProcessContent.substring(0,iStartIndex)+sProcessContent.substring(iEndIndex); }; }; }; this.DomElement.innerHTML=sContent; if(qzzv.length>0){ window.eval(qzzv); }; }; var ComponentArt_Callback_Loaded=true; function GetPostString(formName, target, arguments, postData) { var ret = ""; if(target == null) { target = ''; } if(arguments == null) { arguments = ''; } for(var i = 0; i < document.forms[formName].length; ++i) { if(typeof document.forms[formName][i].type == 'undefined') { continue; } var elemType = document.forms[formName][i].type.toLowerCase(); if(!document.forms[formName][i].disabled) { if(document.forms[formName][i].name == '__EVENTTARGET' || document.forms[formName][i].name == '__EVENTARGUMENT') { continue; } if(document.forms[formName][i].name == '' || elemType == 'button' || elemType == 'submit') { continue; } if(elemType == 'select-multiple') { var trgList = document.forms[formName][i]; var selValues = ''; for(var selListIdx = 0; selListIdx < trgList.options.length; ++selListIdx) { if(!trgList.options[selListIdx].selected) { continue; } ret += ffsp.encoding.EncodeURIComponent(document.forms[formName][i].name); ret += "=" + ffsp.encoding.EncodeURIComponent(trgList.options[selListIdx].value) + '&'; } continue; } if(elemType == 'checkbox' || elemType == 'radio') { if(document.forms[formName][i].checked == false) { continue; } } ret += ffsp.encoding.EncodeURIComponent(document.forms[formName][i].name); ret += "=" + ffsp.encoding.EncodeURIComponent(document.forms[formName][i].value) + '&'; } } ret += postData + '&' ret += '__EVENTTARGET=' + ffsp.encoding.EncodeURIComponent(target) + '&__EVENTARGUMENT=' + ffsp.encoding.EncodeURIComponent(arguments); return [ret, ret.length]; }