  function AjaxRequest(parameters){
		var type = parameters.type ? parameters.type : 'POST';
		var data = parameters.data ? parameters.data : {};	
		if(!parameters.action){
			alert('Не указано действие');
			return;
		}
		
		var success = parameters.success ? parameters.success : NULL;		
		data.action = parameters.action;

		$.ajax({
			"type"   : type,
			"url"    : "/?r=page/ajax",
			"data"   : data,
			"success": success,
			"beforeSend" : function(){
				/*alert('Отправляем запрос');*/
			},
			"complete": function(){
				/*alert('Запрос завершен');*/
			},
			"error"  : function(xmlhttpobj,textStatus,errorThrown){
	    		alert('Не удалось обработать запрос');
	    	},
	    	"cache": false
		});
	}

$(document).ready(function(){
	
// ## работа с Корзиной
function reloadCart(id){
	$.ajax({
		    "type": "POST",
		    "url": "/?r=page/ajax",
			"data":{
		      "action": "BasketButton"
		    },
		    "success":function(data){
		    	$(document.getElementById(id)).html(data);
		    }
	});	
}


$('.add_to_cart_button').click(function(){
  $.ajax({
    "type": "POST",
    "url": "/?r=page/ajax",
	"data":{
      "action": "AddToCart",
      "goodid": this.getAttribute('goodid')
    },
    "success":function(data){
       reloadCart('basket_container');
       alert(data);
       if ( $('#numofgoods').length && !(data.indexOf('уже')+1))
    	   $('#numofgoods').html(parseInt($('#numofgoods').html())+1);  
    },
    "error": function(){
    	alert('Не удалось обработать запрос');
    }
  });
});

$('.remove_from_cart_button').click(function(){
	var goodid = this.getAttribute('goodid');
	$.ajax({
	    "type": "POST",
	    "url": "/?r=page/ajax",
		"data":{
	      "action": "RemoveFromCart",
	      "goodid": goodid
	    },
	    "success":function(data){
	        reloadCart('basket_container');
	    	var goodNode = document.getElementById('basket_good_'+goodid);
	    	goodNode.parentNode.removeChild(goodNode.nextSibling);
	    	goodNode.parentNode.removeChild(goodNode);
	    	
	    	var cont1 = document.getElementById('basket_container_1');
	    	var cont2 = document.getElementById('basket_container_2');
	    	
	    	if(document.getElementsByClassName('good_in_cart').length == 0){
	    		$(cont1).addClass('invisible');
	    		$(cont2).removeClass('invisible');
	    	}
	    }
	  });	  
	});

function reloadSum(){
	var sum = 0;
	$(".price").each(function(){
		sum += parseInt($('strong',this).text());		
	});

	$("#total_price").text(sum);	
}
reloadSum();
$(".goodsnumber").change(function(){
	var newnum = parseInt(this.value);
	if(newnum < 0) return;
	var obj = this.id.split('_');
	var goodid = obj[1];
	var key    = obj[2];

	var priceObj = $(this).parent().next();
	priceObj=$('strong',priceObj);
	$(priceObj).text(parseInt(priceObj.attr('price')) * newnum);

	reloadSum();
});

$('#register_order').click(function(){
	if(($('[name="Phone"]').attr('value').length<1) && ($('[name="Mail"]').attr('value').length<1)){
		alert('Заполните поле e-mail или телефон');
		return false;
	}
	var orderform = {};
	$('.orderinput').each(function(){
		var key = this.name;
		orderform[key] = this.value;
	});
	
	var arr = [];
	$(".goodsnumber").each(function(){
		var parObj = this.id.split('_');
		var par = parObj[1]+'_'+parObj[2];
		orderform['goods_'+par] = this.value;
	});
	
	var data = orderform;
	data.action = "RegisterOrder";	
	
	AjaxRequest({
		"data": orderform,
		"action": "RegisterOrder",
		"success": function(data){
			alert(data);
			window.location.href = "/";
		}
	});
});
// ## "раскрываемые" элементы страницы
$('.expandable').click(function(){
	if(this.nextSibling){
		var obj = $(this.nextSibling);
		var expandedClass  = this.getAttribute('expandedClass');
		var minimizedClass = this.getAttribute('minimizedClass');
		
		if(obj.hasClass('invisible')){
			if(minimizedClass) $(this).removeClass(minimizedClass);
			if(expandedClass)  $(this).addClass(expandedClass);
			obj.removeClass('invisible');
		}else{
			// alert('make invisible');
			if(minimizedClass) $(this).addClass(minimizedClass);
			if(expandedClass)  $(this).removeClass(expandedClass);
			obj.addClass('invisible');
		}
	}
}); 


});
