

var cart = {};

//-------------------------------------------------------------------------------------------------------------------- add
cart.add = function(item)
{
	var cartItem = item.parentNode.parentNode;
	$(cartItem).html('&nbsp;').addClass('progress');
	cart.lastItem = cartItem;
	$.get(site_domain+'cart/add/'+cartItem.className.split(' ')[1],function(data){eval(data);});
}


//-------------------------------------------------------------------------------------------------------------------- remove
cart.remove = function(item_id)
{
	$('#cartEditor').hide();
	cart.activeItem=0;
	$.get(site_domain+'cart/remove/'+item_id,function(data){eval(data);});
	window.setTimeout("$('#cartEditor').hide();",300);
}


//-------------------------------------------------------------------------------------------------------------------- click
cart.click = function()
{
	if($('#cartContents').css('display')=='none')
		cart.open();
	else
		cart.close();
}


//-------------------------------------------------------------------------------------------------------------------- open
cart.opened = false;
cart.open = function()
{
	if(cart.opened) return;

	$('.menuCell a').css({color:'#cacaca'});
	$('#cartContents').show();

	if(document.all)
		$('#cartBody').css({height:''});
	else
		$('#cartBody').css({height:0}).animate({height:$('#cartData').height()+48},function(){$('#cartBody').css({height:''});});

	cart.lastActive = $('td.menuCell.active:not(.cartIcon)').removeClass('active');
	cart.refresh();
	$('div.subMenu').css({'display':'none'});
	$('#cartEditor').hide();
	cart.opened = true;
}


//-------------------------------------------------------------------------------------------------------------------- close
cart.close = function()
{
	if(!cart.opened) return;

	infoBox.hide();
	$('.menuCell a').css({color:''});

	if(document.all)
		$('#cartContents').hide();
	else
		$('#cartBody').animate({height:0},function(){$('#cartContents').hide();});

	if(typeof(cart.lastActive) != 'undefined')
		cart.lastActive.addClass('active');

	$('div.subMenu').css({'display':''});

	cart.opened=false;
}

//-------------------------------------------------------------------------------------------------------------------- plus
cart.plus  = function(input){ input.value=parseInt(input.value)+1;cart.refreshTotal();}


//-------------------------------------------------------------------------------------------------------------------- minus
cart.minus = function(input){ 
	if(parseInt(input.value)>1)
	{
		input.value=parseInt(input.value)-1;
		cart.refreshTotal();
	}
	else
	{
		cart.remove(input.id.substr(14));
	}
}


//-------------------------------------------------------------------------------------------------------------------- refreshTotal
cart.refreshTotal = function()
{
	cart.totalQ = 0;
	cart.totalP = 0;

	$('table.cartContents tr').each(function()
		{
			var q=parseInt(this.cells[9].firstChild.value);
			cart.totalQ+=q;
			cart.totalP+=q*parseInt(this.cells[6].firstChild.innerHTML);

			var exQ = parseInt(this.cells[9].firstChild.className.substr(3));
			if(exQ!=q)
				$(this).addClass('cart_changed');
			else
				$(this).removeClass('cart_changed');
		});

	$('#cart_totalQ').html(cart.totalQ);
	$('#cart_totalP').html(cart.totalP);

	$('#actionWarning').show();

	if(cart.activeItem)
		$('#cartEditorNumber').html($$('#cart_quantity_'+cart.activeItem).value);
}


//-------------------------------------------------------------------------------------------------------------------- refresh
cart.refresh = function()
{
	$.get(site_domain+'cart/get',
		function(data){
			if(user_logged && data.lastIndexOf('<!-- logout -->')>-1)
			{
				user_logged=0;
				cart.timeout=1;
			}

			$('#cartData').html(data);
			if(!cart.activeItem)
				$('#cartEditor').hide();

			if(cart.lastItem)
			{
				cart.activateItem(cart.lastItem);
				cart.lastItem=null;
			}
		});
	$('#cart_title').html("Kosár tartalma");
}


//-------------------------------------------------------------------------------------------------------------------- update
cart.update = function(item)
{
	$.get(site_domain+'cart/update/'+item+'/'+$('#cart_quantity_'+item).attr('value'),function(data){eval(data);});
}


//-------------------------------------------------------------------------------------------------------------------- buy
cart.buy = function(button,doIt)
{
	if(!user_logged)
		infoBox.showInfo(button,cart.timeout ? '<b>Lejárt a biztonsági időkorlát, kérjük lépjen be újra!</b>' : '<b>A megrendeléshez be kell jelentkeznie!</b>',{vPlus:-10});
	else
	{
		$.get(site_domain+'konyveink/megrendeles/'+(doIt ? 1 : 0),function(data){$('#cartData').html(data);$('.cartItem.cartAdded').removeClass('cartAdded').html(cart.addButton);rounded_edge_engine.generate();});
		$('#cart_title').html("Megrendelés");
	}
}


cart.addButton = "<div class=\"btn medium\" style=\"margin-top:3px;\"><a onclick=\"cart.add(this)\">kosárba</a></div>";

cart.activeItem=0;

//-------------------------------------------------------------------------------------------------------------------- quickPlus
cart.quickPlus = function()
{
	if(!cart.activeItem || !$('#cart_quantity_'+cart.activeItem).length)
		return;

	cart.plus($$('#cart_quantity_'+cart.activeItem));
	cart.update(cart.activeItem);
}

//-------------------------------------------------------------------------------------------------------------------- quickMinus
cart.quickMinus = function()
{
	if(!cart.activeItem || !$('#cart_quantity_'+cart.activeItem).length)
		return;

	cart.minus($$('#cart_quantity_'+cart.activeItem));
	if(cart.activeItem)
		cart.update(cart.activeItem);
}


//-------------------------------------------------------------------------------------------------------------------- quickMinus
cart.activateItem = function(item)
{
	cart.activeItem=item.className.split(' ')[1];
	if($('#cart_quantity_'+cart.activeItem).length && $$('#cart_quantity_'+cart.activeItem).value)
	{
		var pos = $(item).offset();
		$('#cartEditor').css({top:''+(pos.top-1)+'px',left:''+(pos.left-1)+'px'}).show();
		$('#cartEditorNumber').html($$('#cart_quantity_'+cart.activeItem).value);
	}
}








$(document).ready(function(){
	$('.cartItem').mouseover(
		function()
		{
			if($(this).hasClass('cartAdded') && !$(this).hasClass('cartEditor'))
			{
				cart.activateItem(this);
			}
		});

		$('#cartEditor').mouseover(function(){if(!cart.activeItem || !$('#cart_quantity_'+cart.activeItem).length)$('#cartEditor').hide();});


		if(document.all)
			$('div.cartItem.cartAdded.cartEditor').css({height:'26px'});
	});
