var preloadImages = new Array();

Classes.PromoBoxes = Class();
Classes.PromoBoxes.prototype = {

	__construct: function(params) {
		this.copy(params);
	},
	
	getPromoProducts: function(boxId, statusType, statusId, page){
		var content=$('#inBoxContent'+boxId);
		var inbox=$('#inBox'+boxId);
		
		$('#inBoxLoader'+boxId).css('margin-left', (inbox.width()/2-16)+'px').css('margin-top', (inbox.height()/2-16)+'px').show();
		
		content.fadeOut("slow", function(){
			var params='page='+page+'&boxId='+boxId;
			
			ajax.callMethod('PromoBoxesKomponent','getBoxContentAjax',params,params,null,
				function(http,bb) {		
			
					var root = http.getResponseJSON(alert);

					if (root) {
						this.getPromoProductsCallback(root);
					}	
			}.bindResponse(this));
		}.bind(this));
	},
	
	getPromoProductsCallback: function(data)
	{

		if(parseInt(data['page'])<parseInt(data['pages'])){
			$('#naviNext'+data['boxId']).attr('rel', 1+parseInt(data['page']));
			$('#naviNext'+data['boxId']).children().attr('rel' , 1+parseInt(data['page']));
			$('#naviNext'+data['boxId']).removeClass('disable');
			$('#naviNext'+data['boxId']).children().removeClass('disable');
		}else{
			$('#naviNext'+data['boxId']).addClass('disable');
			$('#naviNext'+data['boxId']).children().addClass('disable');
		}
		if(parseInt(data['page'])>1){
			$('#naviPrev'+data['boxId']).children().attr({rel :  -1+parseInt(data['page'])});
			$('#naviPrev'+data['boxId']).attr('rel', -1+parseInt(data['page']));
			$('#naviPrev'+data['boxId']).removeClass('disable');
			$('#naviPrev'+data['boxId']).children().removeClass('disable');
		}else{
			$('#naviPrev'+data['boxId']).addClass('disable');
			$('#naviPrev'+data['boxId']).children().addClass('disable');
		}
		
		$('.pager'+data['boxId']+'[rel!='+data['page']+']').removeClass('active');
		$('.pager'+data['boxId']+'[rel='+data['page']+']').addClass('active');
		
		$('#inBoxLoader'+data['boxId']).hide();
		$('#inBoxContent'+data['boxId']).html(data['html']).fadeIn("slow");
		
	},
	
	bindEvents: function(statusType, statusId, boxId){
		
		$('#naviNext'+boxId+', #naviPrev'+boxId+ ', .pager'+boxId).click(function(object){
			//var target=$(object.originalEvent.currentTarget);
			var target=object.target;
			
			if(target.rel==undefined)
				var target=object.currentTarget;

			if(!$(target).hasClass('disable')){
				this.getPromoProducts(boxId, statusType, statusId, target.rel);
			}
		}.bind(this));
	}
}

var promoBoxes=new Classes.PromoBoxes();


