

He.Bootstrap('He.Components.Selection');

He.Components.Selection.Json		= null;
He.Components.Selection.Interval	= null;

He.Components.Selection.CheckResponse = function(obj, func)
{
	if(He.Components.Selection.Json != null)
	{
		window.clearInterval(He.Components.Selection.Interval);
		He.Components.Selection.Response(obj, func);
	}	
}

He.Components.Selection.Response = function(obj, func)
{
	He.Components[obj][func]();
}

	/* --------------------------
		Add to selection
	-------------------------- */

He.Bootstrap('He.Components.AddToSelection');

He.Components.AddToSelection.CallJson = function()
{	
	callAjaxAddToSelection(He.Components.AddToCart.UnitPriceObj.skuKey);
	He.Components.Selection.Interval = window.setInterval('He.Components.Selection.CheckResponse("AddToSelection","ResponseJson")',1000);
}

He.Components.AddToSelection.ResponseJson = function(json)
{
	$('#add_to_selection')
	.removeClass('popup_small')
	.addClass('popup_large');
	
	if(He.Components.Selection.Json.status == 'ok')
	{
		$('#add_to_selection_loading').hide();
		$('#add_to_selection_ok').show();
	}
	else
	{
		$('#add_to_selection_loading').hide();
		$('#add_to_selection_fail').show();
		
		if( He.Components.Selection.Json.log != null 
				&& He.Components.Selection.Json.log.action == 'redirect' ){
			$('#add_to_selection_fail a.std_button').attr("href",He.Components.Selection.Json.log.code);
			$('#add_to_selection_fail_span').show();
		}
	}
}

He.Components.AddToSelection.ResetPopup = function()
{
	$('#add_to_selection_loading').show();
	$('#add_to_selection_ok').hide();
	$('#add_to_selection_fail').hide();
}

He.Components.AddToSelection.Init = function()
{	
	/* Popup Trigger */
	$('#add_to_selection').jqm({
		trigger: '#btn_add_to_selection',
		onShow: function(hash)
		{
			hash.w.css('display', 'block');
			He.Components.AddToSelection.ResetPopup();
			window.setTimeout(He.Components.AddToSelection.CallJson, 1000);
		}
	});
}



	/* --------------------------
		Remove from selection
	-------------------------- */

He.Bootstrap('He.Components.RemoveFromSelection');

He.Components.RemoveFromSelection.CallJson = function(uidpk)
{	
	callAjaxRemoveFromSelection(uidpk);
	He.Components.Selection.Interval = window.setInterval('He.Components.Selection.CheckResponse("RemoveFromSelection","ResponseJson")',1000);
}

He.Components.RemoveFromSelection.ResponseJson = function()
{
	if(He.Components.Selection.Json.status == 'ok')
	{		
		$('#selection_'+He.Components.Selection.Json.log.code).fadeOut('1000', function()
		{
			$(this).remove();
		});
	}
	else
	{
		He.Components.RemoveFromSelection.ResponseFail();
	}
}

He.Components.RemoveFromSelection.Init = function()
{	

	$('ul.selection_list a.product_delete').click(function(e)
	{
		e.preventDefault();
		var uidpk = $(this).closest('li[id]').attr('id').replace('selection_', '');
		He.Components.RemoveFromSelection.CallJson(uidpk);
	});
}

/* --------------------------
	Move from selection to Cart
-------------------------- */

He.Bootstrap('He.Components.MoveFromSelectionToCart');

He.Components.MoveFromSelectionToCart.Trigger = function(hash)
{	
	$('#moveToCart').click(function()
	{
		He.Components.MoveFromSelectionToCart.CallJson();
	});
};

He.Components.MoveFromSelectionToCart.CallJson = function()
{	
	callAjaxMoveFromSelectionToCart();
	He.Components.Selection.Interval = window.setInterval('He.Components.Selection.CheckResponse("MoveFromSelectionToCart","ResponseJson")',1000);
}

He.Components.MoveFromSelectionToCart.ResponseJson = function()
{
	if(He.Components.Selection.Json.status == 'ok')
	{
		$('#add_from_selection_to_cart')
		.removeClass('popup_small')
		.addClass('popup_large');
		
		$('#user_cart_href').remove();
		$('#user_cart')
		.prepend(
			$('#He_Template_Basket_link')
			.html()
			.parseTemplate(He.Components.Selection.Json.content)
		);
		
		$('#add_from_selection_to_cart_loading').hide();
		$('#add_from_selection_to_cart_ok').show();
	}
	else if(He.Components.Selection.Json.status == 'nosku')
	{
		$('#add_from_selection_to_cart_loading').hide();
		$('#add_from_selection_to_cart_fail_nosku').show();
	}
	else
	{
		$('#add_from_selection_to_cart_loading').hide();
		$('#add_from_selection_to_cart_fail').show();
	}
}

He.Components.MoveFromSelectionToCart.ResetPopup = function()
{
	$('#add_from_selection_to_cart')
	.removeClass('popup_large')
	.addClass('popup_small');
	
	$('#add_from_selection_to_cart_loading').show();
	$('#add_from_selection_to_cart_ok').hide();
	$('#add_from_selection_to_cart_fail').hide();
	$('#add_from_selection_to_cart_fail_nosku').hide();
}

He.Components.MoveFromSelectionToCart.Init = function()
{	
	/* Popup Trigger */
	$('#add_from_selection_to_cart').jqm({
		trigger: '#move_to_cart',
		onShow: function(hash)
		{
			hash.w.css('display', 'block');
			He.Components.MoveFromSelectionToCart.ResetPopup();
			window.setTimeout(He.Components.MoveFromSelectionToCart.CallJson, 1000);
		}
	});
}


