crossSellEngineClass.prototype.load = function(params){
		if(params.ajaxConfig){
			var stateClass = "crossSellOffers crossSellOffersLoading"; // loading, view result, view no result, view error msg
			var oArea = document.getElementById(this.prefixId);
			oArea.className = stateClass;	
			
	 	var ajaxConfig = params.ajaxConfig;
			ajaxConfig.extraParams = params;
			ajaxConfig.success = function(o){return function(response, config){o.loadSuccessCallBack(response, config)}}(this);
			ajaxConfig.error = function(o){return function(response, config){o.loadErrorCallBack(response, config)}}(this);			
			Ext.Ajax.request(ajaxConfig);		
		}
	};
	
crossSellEngineClass.prototype.loadSuccessCallBack = function(response, config){
		var stateClass = "crossSellOffers"; // loading, view result, view no result, view error msg
		var oArea = document.getElementById(this.prefixId);
		eval("this.offersRs=" + response.responseText);
		if(this.offersRs.data){
			/* result */
			stateClass+= "";
			oArea.className = stateClass;	
			this.show({});
		}
		else {
			/* error with success marker */
			document.getElementById(this.prefixId+"_noResult").innerHTML = this.offersRs.error.content;
			stateClass+= " crossSellOffersNoResults";
			oArea.className = stateClass;				
		}	
	};	
	
crossSellEngineClass.prototype.loadErrorCallBack = function(response, config){
		var stateClass = "crossSellOffers"; // loading, view result, view no result, view error msg
		var oArea = document.getElementById(this.prefixId);
		eval("this.offersRs=" + response.responseText);
		
		/* error without success marker */
		stateClass+= " crossSellOffersError";
		oArea.className = stateClass;			
	};