/* Moodboard and style-drop down and footer signup form JS */

function scrollTo(jquery_selector)
{
	$('html,body').animate({scrollTop: parseInt($(jquery_selector).offset().top)}, 1000);
}


var successMessage = '';

$(document).ready(function(){
	successMessage = $('#form_result').html();
	$('#subscribe_to_newsletter').ajaxForm({
		dataType:	'json',
		beforeSubmit: hideErrorsNLFrm,
		success:	checkJsonNLFrm
	});
});

function hideErrorsNLFrm()
{
	$('#form_result').slideUp('fast');
	$(':input').removeClass('error');
}

function checkJsonNLFrm(json)
{
	if(json.sent == false)
	{
		scrollTo('#subscribe_to_newsletter');
		for(var i=0; i<json.fields.length; i++)
		{
			$('#'+json.fields[i]).addClass('error');
		}
	}
	else
	{
		$('#newsletter_form').fadeOut();
		$('#subscribe_to_newsletter #form_result').fadeIn();
		$('#subscribe_to_newsletter #form_result').html(successMessage);
		$('#subscribe_to_newsletter').resetForm();
		$('#form_result').removeClass('error');
		$('#subscribe_to_newsletter #form_result').show();
		scrollTo('#subscribe_to_newsletter');
		setTimeout(function(){
			$('#newsletter_form').fadeIn();
			$('#subscribe_to_newsletter #form_result').fadeOut();
		}, 5000);
	}
}


<!-- JS styled select drop-down and Moodboard -->

$(document).ready(function(){

	
	$('.styleDropdown').sSelect({ddMaxHeight: '300px'})

	/* Setup toggle for Mood Board */

	var state = 0;
	$('.toggle').click(
		function(){
			switch(state)
			{
				case 0:
					$('#moodboard').fadeIn();
					state = 1;
					break;
				case 1:
					$('#moodboard').fadeOut();
					state = 0;
					break;
			}
		}
	);

	$('.moodboard_delete').click(function(){
		var mb_id = this.id.replace('mb', '');
		$.get('<?=base_url()?>mboard/remove_product/'+this.id, function(data){
			if(data == 'DELETED')
			{
				console.log($(this).attr('id'));
				$('#saved'+mb_id).fadeOut();
			}
			else
			{
				alert('An Error Occured:\n\n'+data);
			}
		});
	});
});


// search
var req = null;

var runScroll = function(el)
{
	var elof = el.offset();
	var bxof = $('#search-dd ul').offset();
	var amnt = parseInt(elof.top) - parseInt(bxof.top);

	$('#search-dd ul').animate({scrollTop:amnt + 'px'}, 'slow');	
}
var search_init = function()
{
	var search_text = 'Search...';
	$('#search-input').val(search_text);
	$('#search-input').bind('click', function()
	{
		if ($(this).val() == search_text) 
		{
			$(this).val('');
		};
	});
	$('#search-input').bind('blur', function()
	{
		if ($(this).val() == '') 
		{
			$(this).val(search_text);
		};
	});
	
	var i = 0;
	$('#search-input').bind('keyup', function(e)
	{
		if ($(this).attr('value') == "") {
			$('#search-dd').hide();
		} else {
			var inp = $('#search-input');
			if(e.keyCode  != 27 && e.keyCode != 13 && e.keyCode != 37 && e.keyCode != 38 && e.keyCode != 39 && e.keyCode != 40 && inp.val().length > 1)
			{
				if (req !== null) 
				{
					req.abort();
				}
			
				req = $.ajax({
					type: 'POST',
					url: $('form#search-form').attr('action'),
					data: inp.parents('form').serialize() + '&is_ajax=true',
					success: function(resp)
					{
						i = 0;
						$('#search-dd').remove();
						var v = $('<div id="search-dd">' + resp + '</div>');
					
						v.insertAfter(inp);
						$('#search-dd').css('position', 'absolute');
				
					}
				});
			}
			// Escape
			if (e.keyCode == 27)
			{
				$('#search-dd').remove();
			} 
			// Return
			if (e.keyCode == 13) 
			{
				e.preventDefault();
				if ($('#search-dd li.selected a, #search-dd li:hover a').size() > 0) 
				{
					$('#search-dd li.selected a, #search-dd li:hover a').first().click();
					return false;
				};
			}
			// UP key (or left)
			if (e.keyCode == 38 || e.keyCode == 37) 
			{
				$('#search-dd li#search_item_' + i).removeClass('selected');
				if(i > 0)
				{
					i--;
					sel = $('#search-dd li#search_item_' + i)
					sel.addClass('selected');	
				
					runScroll(sel);				
				}

			}			
			// Down key (or right)
			if (e.keyCode == 39 || e.keyCode == 40) 
			{
				$('#search-dd li#search_item_' + i).removeClass('selected');
				if(i < $('#search-dd li').size())
				{
					i++;
				}
				var sel = $('#search-dd li#search_item_' + i);
				sel.addClass('selected');
				runScroll(sel);
			}
		}
	});
}

$(document).ready(search_init);

