$(document).ready(function()
{
	$('.clickmenu a').click(function(){
		var parentdiv = $(this).parent().get(0);
		$(parentdiv).children().removeClass('active');
		$(this).addClass('active');
	});
	
	// Handle clicks on ajax tabs
	$('.ajax_tab_bar a').click(function(event){
		event.preventDefault();
		load_tab(this);
	});
	
	// Load first tab in any tab control
	$('.ajax_tab_bar .active').each(function(i){
		load_tab(this);
	});
	
	// Cart actions
	$('#cart_right').click(function()
	{
		var active = $('#cart_right').hasClass('active');
			
		if (active)
		{
			close_cart();
		}
		else
		{
			open_cart();
		}
	});
	
	post_load_init();	
	process_banners();
	load_autocomplete();
});

function process_banners()
{
	// Set delay to prevent all banners refreshing at once, we increment per banner container load
	var initial_delay = 0;
	
	$('.banner_wrapper').each(function(i)
	{
		var paging_div = '#' + this.id + ' > .banner_paging';
		var banners_div = '#' + this.id + ' > .banners';
		
		$(banners_div).cycle
		({
			fx: 'fade',
			pause: true,
			speed:500,
			timeout: 6000,
			delay: initial_delay,
			pager: paging_div 
		});
		
		initial_delay += 800;
		
		// Shows and hides navigation based on hovering over the banners
		$(banners_div).hover
		(
			function(){$(this).next().css('display','block')},
			function(){$(this).next().css('display','none')}
		);
		
		$(paging_div).hover
		(
			function(){$(this).css('display','block')}
		);
	});
}

function process_scroll(content_div)
{
	var selector = '.jScroll';
	
	if(content_div != null)
		selector = '#' + content_div.attr('id') + ' ' + selector;
	
	$(selector).jScrollPane({
		showArrows: true,
		scrollbarWidth: 15
	});
}

function process_carousels(contentDiv)
{
	var selector = '.carousel';
	
	if (contentDiv != null)
	{
		selector = '#' + contentDiv.attr('id') + ' ' + selector;
	}
		
	$(selector).each(function(i)
	{
		carousel_init(this.id);
	});
}

function carousel_init(id)
{
	var id = '#' + id;
	var count = parseInt($(id + '_count').val());
	var auto_speed = parseInt($(id + '_auto_speed').val());
	var scroll_count = parseInt($(id + '_scroll_count').val());
	
	if(count <= scroll_count)
	{
		auto_speed = 0;
		scroll_count = 0;
	}
		
	$(id + ' .carousel_content').jCarouselLite(
	{
		btnNext: id + " .carousel_right",
		btnPrev: id + " .carousel_left",
		visible: count,
		speed: 500,
		scroll: scroll_count,
		auto: auto_speed,
		mouseWheel : true,
		circular: true
	});
}

function load_tab(clicked_tab)
{
	var parentdiv = $(clicked_tab).parents().get(1);
	parentdiv = '#' + parentdiv.id;
	$(parentdiv + ' .ajax_tab_bar').children().removeClass('active');
	var content_div = $(parentdiv + ' .ajax_tab_control_content');
	
	$.ajax
	({
		url: clicked_tab.href,
		beforeSend:function()
		{
			$(content_div).css('background-image','url(' + BASE + '/img/template/ajax.gif)').html('');
		},
		complete:function()
		{
			$(content_div).css('background-image','');
		},
		success:function(msg)
		{
			$(content_div).html(msg);
			post_load_init(content_div);
		}
	});
	
		
	$(clicked_tab).addClass('active');
}

function post_load_init(content_div)
{
	if(content_div == null)
	{
		process_carousels();
		process_scroll();
	}
	else
	{
		process_carousels(content_div);
		process_scroll(content_div);
	}
}

function load_autocomplete()
{
	var returnhtml = '';
	
	$('#master_search').autocomplete
	(
		BASE + '/ajax/search/',
		{
			resultsClass: 'ac_results ac_main_search_results',
			width: 263,
			minChars: 3,
			delay: 300,
			matchSubset: false,
			scrollHeight: 600,
			formatItem:function(item)
			{
				var returnhtml = '';
				
				if (item.length > 3 && item[3] == 'first')
				{
					returnhtml += '<hr />';
				}
				
				returnhtml += item[1].length > 4 ? "<img class=\"right\" src=\"" + item[1] + "\" alt=\"\"/>\n" : "";
				
				return returnhtml + item[0];
			}
		}
	);
	
	$('#master_search').autocomplete().result
	(
		function(event, item, formatted)
		{
			if (item[2].length > 4)
			{
				location = item[2];
			}
		}
	);	
}

function open_cart()
{
	$('#cart_right').addClass('active');
	$('#cart_details').slideDown();
	$('#search_bar').slideUp();	
}

function close_cart()
{
	$('#cart_right').removeClass('active');
	$('#cart_details').slideUp();
	$('#search_bar').slideDown();
}

function facebook_share()
{
	u=location.href;
	t=document.title;
	
	window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436');
	return false;
}

/* Login form functions start*/

function close_form()
{
	tb_remove();
}

function submit_form(prevPage)
{
	var username = $("#loginUsername").val();
	var password = $("#loginPassword").val();
	var remember = $("#loginRemember").attr("checked");
	
	$.ajax({
		type: "POST",
		url: BASE + "/ajax/login",
		prevPage: prevPage,
		data: "username=" + username
			+ "&password=" + password
			+ "&remember=" + remember
			+ "&prevpage=" + prevPage,
		success: function(msg)
		{
			if (msg == "OK")
			{
				close_form();
				window.location = BASE + '/' + prevPage; 
			}
			else
			{
				$("#loginBox").html(msg);
			}
		}
	});
}

function reset_password()
{
	window.location = BASE + "/reset";
	close_form();
}

function signup()
{
	$.ajax({
		type: "POST",
		url: BASE + "/signup",
		success: function(msg)
		{
			$("#loginBox").html(msg);
		}
	});	
}

function signup_submit(prevPage)
{
	var name = $("#name").val();
	var email = $("#email").val();
	var password = $("#newPassword").val();
	var confirmpassword = $("#confirmPassword").val();
	var newsletter = $("#newsletter").attr("checked");
	
	$.ajax({
		type: "POST",
		url: BASE + "/ajax/signupprocess",
		data: "name=" + name
			+ "&email=" + email
			+ "&newPassword=" + password
			+ "&confirmPassword=" + confirmpassword
			+ "&newsletter=" + newsletter,
		success: function(msg)
		{
			if (msg == "OK")
			{
				close_form();
				window.location = BASE + '/' + prevPage;
			}
			else
			{
				$("#signup_form_box").html(msg);
			}
		}
	});
}

function radio()
{
	var w = screen.width;
	var h = screen.height;
	var popW = 442;
	var popH = 481;
	var leftPos = (w - popW) / 2;
	var topPos = (h - popH) / 2;
	
	var audioUrl = BASE + "/radio";
	var popupTitle = "WaterfrontRadio";
	var popupVars = "width=" + popW + ",height=" + popH + ",top=" + topPos + ",left=" + leftPos
		+ ",menubar=no,toolbar=0,location=0,resizable=0,scrollbars=0";
	
	window.open(audioUrl, popupTitle, popupVars);
}



/* Login Form functions end */