var CALLCSite = function(){
	this.StepQuantity = 5;	
	
	this.Add2Basket = function(id, q, min_q){	
		var thisObj = this;
		min_q = min_q || this.StepQuantity;
		
		if(this.CheckQuantity(q, min_q)){
			return false;	
		}
		
		$.ajax({
			type:'post',			
			data:'pid='+id+'&q='+q+'&action=add2basket',
			dataType: 'json',
			url: '/bitrix/ajax/Add2Basket.php',
			beforeSend:function(){
				thisObj.HideQuantity();
				thisObj.HideSwimCard();	
			},
			success: function(msg){				
				if(msg.status == 'done'){
					if(msg.count > 0){
						$('#sm_basket_empty').hide();
						$('#sm_basket_info').show();
						
						$('#sm_basket_quantity').html(msg.count);
						$('#sm_basket_price').html(msg.price);
					} else {
						$('#sm_basket_empty').show();
						$('#sm_basket_info').hide();						
					}
				}
			}
		});	
	}
	
	this.ShowSwimCard = function(id){
		var thisObj = this;
		id = parseInt(id);
		
		this.HideSwimCard();
		this.HideQuantity();
		
		if(id > 0){
			$.ajax({
				type:'post',			
				data:'pid='+id,			
				url: '/bitrix/ajax/GetSwimCard.php',
				beforeSend:function(){					
					$('#swim_card table').remove();
					$('#swim_loader').remove();
					$('<img src="/bitrix/templates/index/img/ajaxloader.gif" id="swim_loader" />').appendTo('#swim_card');
					$('#swim_card').show();
				}, 
				success: function(msg){				
					$('#swim_loader').remove();
					$('#swim_card table').remove();
					$('#swim_card').append(msg);
					
					thisObj.HidePopupBlock('#swim_card', "CSite.HideSwimCard();");
				}
			});		
		}
	}
	
	this.HideSwimCard = function(){
		$('#swim_card').hide(); 
		$('body').unbind('click');	
	}
	
	this.ChekBasketQuantity = function(obj, min_q){
		var q = parseInt($(obj).val());
		min_q = min_q || this.StepQuantity;
		
		if(this.CheckQuantity(q, min_q)){
			var qd = parseInt(q%min_q);
			
			if(qd < 3){
				q = q-qd;	
			} else {
				q = q+(min_q-qd);	
			}
			
			if(q < min_q){
				q = min_q;	
			}
			
			$(obj).val(q); 
		}
	}
	
	this.CheckQuantity = function(q, min_q){
		if(q%min_q != 0){
			this.ShowMessage('Ошибка!\nКоличество должно быть кратно '+min_q+'.');	
			return true;
		}	
		
		return false;
	}
	
	this.ShowQuantity = function(id){
		this.HideSwimCard();
		this.HideQuantity();
		
		$('#swim_basket'+id).show();
		this.HidePopupBlock('.good_links, .swim_basket', "CSite.HideQuantity();");
	}
	
	this.HideQuantity = function(){
		$('div[id^=swim_basket]').hide();
		$('body').unbind('click');
	}
	
	this.Time = function(){		
		var DateObj = new Date();
		var s = DateObj.getSeconds();
		
		var m = DateObj.getMinutes();		
		if(parseInt(m, 10) < 10) m = '0'+m;
		
		if(s%2 == 0){
			$('#mega_time').html(DateObj.getHours()+':'+m);
		} else {
			$('#mega_time').html(DateObj.getHours()+'<span style="color:#fff;">:</span>'+m);
		}
	}
	
	this.HidePopupBlock = function(notActive, callback){		
		$('body').bind('click', function(){
			eval(callback);			
			$('body').unbind('click');
		});
		
		$(window).bind('keypress', function(e) {
			if(e.keyCode == 27){
				eval(callback);				
				$(window).unbind('keypress');
			}
		});
		
		$(notActive).click(function(e){
			even = e || window.event 				
			if (even.stopPropagation) {	
				even.stopPropagation()	
			} else {					
				even.cancelBubble = true	
			}		
		});
	}
	
	this.ShowMessage = function(msg){
		alert(msg);
	}	
}

var CSite = new CALLCSite();
setInterval('CSite.Time();', 500);						   

