
	/* --------------------------
		Tone Selector
	-------------------------- */

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

He.Components.ToneSelector.IsOpen = false;
He.Components.ToneSelector.Event = null;
He.Components.ToneSelector.PreSelect = false;

He.Components.ToneSelector.Open = function()
{
	if(!He.Components.ToneSelector.IsOpen)
	{
		$('div.product_details_options').css('display','none');
		$('div.product_details_tone_selector').css('display','block');
		He.Components.ToneSelector.IsOpen = true;
	}
}

He.Components.ToneSelector.Close = function()
{
	if(He.Components.ToneSelector.IsOpen)
	{
		$('div.product_details_options').css('display','block');
		$('div.product_details_tone_selector').css('display','none');
		He.Components.ToneSelector.IsOpen = false;
	}
}

He.Components.ToneSelector.Expose = function(type)
{
	$('#tone_selector a').each(function()
	{
		$(this).css('opacity', '1');
		if(type != 'all')
		{
			if(!$(this).hasClass(type))
			{
				$(this).css('opacity', '0.1');
			}
		}
	});	
}

He.Components.ToneSelector.Select = function(id, title)
{
	// Ref
	var ref = title.split(' - ');
	
	$('#selected_tone span').html(ref[0]);
	$('#selected_tone_name').html(ref[1]);
	$('#tone').val(id);
	$('#sku').val(id);
	
	var num_item	= He.Components.AddToCart.ItemUnitPriceRef.productSkus.length;
	for(i = 0; i < num_item; i++)
	{
		if(He.Components.AddToCart.ItemUnitPriceRef.productSkus[i].skuKey == id)
		{
			He.Components.AddToCart.UnitPriceObj.skuKey		= He.Components.AddToCart.ItemUnitPriceRef.productSkus[i].skuKey;
			He.Components.AddToCart.UnitPriceObj.skuLabel	= He.Components.AddToCart.ItemUnitPriceRef.productSkus[i].skuLabel;
			He.Components.AddToCart.UnitPriceObj.price		= He.Components.AddToCart.ItemUnitPriceRef.productSkus[i].price;
			He.Components.AddToCart.UpdateUnitPrice();
		}
	}

	// IMG
	var img = $('#'+id+' img').attr('src');
	$('#tone_picker_button img').attr('src', img);

	He.Components.ToneSelector.PreSelect = false;

	// Close tone selector
	He.Components.ToneSelector.Close();
}

He.Components.ToneSelector.BindFiltersEvents = function()
{
	$('a.tone_selector_new').bind(He.Components.ToneSelector.Event, function()
	{
		He.Components.ToneSelector.Reset();
		He.Components.ToneSelector.Unbind();
		He.Components.ToneSelector.Tones = $('#tone_selector a.tone_new_item');
		He.Components.ToneSelector.BindTonesEvents();
		
		$('p.tone_selector_nav a').removeClass('active');
		$(this).addClass('active');
		
		He.Components.ToneSelector.Expose('tone_new_item');
	});
	
	$('a.tone_selector_look').bind(He.Components.ToneSelector.Event, function()
	{
		He.Components.ToneSelector.Reset();
		He.Components.ToneSelector.Unbind();
		He.Components.ToneSelector.Tones = $('#tone_selector a.tone_look_item');
		He.Components.ToneSelector.BindTonesEvents();
		
		$('p.tone_selector_nav a').removeClass('active');
		$(this).addClass('active');
		
		He.Components.ToneSelector.Expose('tone_look_item');
	});
	
	$('a.tone_selector_all').bind(He.Components.ToneSelector.Event, function()
	{
		He.Components.ToneSelector.Reset();
		He.Components.ToneSelector.Unbind();
		He.Components.ToneSelector.Tones = $('#tone_selector a');
		He.Components.ToneSelector.BindTonesEvents();
		
		$('p.tone_selector_nav a').removeClass('active');
		$(this).addClass('active');
		
		He.Components.ToneSelector.Expose('all');
	});
}

He.Components.ToneSelector.BindTonesEvents = function()
{	
	He.Components.ToneSelector.Tones.bind(He.Components.ToneSelector.Event, function()
	{
		He.Components.ToneSelector.Reset();
		var obj = $(this);

		var img	= obj
				  .find('img')
				  .attr('src')
				  .replace('_cs','_tx')
				  .replace('width=20','width=300')
				  .replace('height=20','height=215')
				  .replace('swatches','textures');
				  
		$('img.tone_visuel').attr('src', img);
		
		$('p.new_tone span').text(obj.attr('title'));
		obj.addClass('active');
	});
	
	He.Components.ToneSelector.Tones.click(function()
	{
		var obj		= $(this);
		var id		= obj.attr('id');
		var title	= obj.attr('title');
		
		obj.addClass('active');

		if(He.Application.Config.IBrowser)
		{
			if(He.Components.ToneSelector.PreSelect == id)
			{
				He.Components.ToneSelector.Select(id, title);
			}
			
			He.Components.ToneSelector.PreSelect = id;
		}
		else
		{			
			He.Components.ToneSelector.Select(id, title);
		}
		
	});
}

He.Components.ToneSelector.Unbind = function()
{
	He.Components.ToneSelector.Tones.unbind('mouseover');
	He.Components.ToneSelector.Tones = null;
}

He.Components.ToneSelector.Reset = function()
{
	He.Components.ToneSelector.Tones.removeClass('active');
}

He.Components.ToneSelector.Init = function()
{
	He.Components.ToneSelector.Event  = (He.Application.Config.IBrowser) ? 'click' : 'mouseover';
	
	$('#selected_tone, #tone_picker').click(function()
	{
		He.Components.ToneSelector.Open();
	});
	
	$('a.close_selector').click(function()
	{
		He.Components.ToneSelector.Close();
	});
	
	He.Components.ToneSelector.Tones = $('#tone_selector a');
	
	He.Components.ToneSelector.BindFiltersEvents();
	
	He.Components.ToneSelector.BindTonesEvents();
}
