$(function() {
	$('div.public-newsletter form').submit(function(event){
		event.preventDefault();
		newsletter_submit();
	}); 

	$('div.more-info form').submit(function(event){
		event.preventDefault();
		more_info_submit();
	}); 

//	setup_global_nav_hover();	
	setup_global_nav();
	setup_collapse_nav(); 
	setup_lightbox();
});

function setup_global_nav(){
	$('#global-navigation li a').not('#global-navigation li ul a').click(function(event){
		var text = $(this).text();
		if (text == 'Home' || text == 'Contact Us'){
			return true;
		} else {
			event.preventDefault();
			var this_dd = $(this).next('ul');
			if (this_dd.is(':visible')) {
				this_dd.slideUp();	
			} else {
				var other_dds = $('#global-navigation li ul').not(this_dd).not('#global-products ul li ul');
				if (other_dds.is(':visible')) {
					other_dds.fadeOut('fast');
					this_dd.fadeIn('fast');			
				} else {
					this_dd.slideDown();	
				}
			}		
		}
	});
}

function setup_global_nav_hover(){

	$('#global-navigation li a').not('#global-navigation li ul a').hover(function(event){

		var this_dd = $(this).next('ul');
		this_dd.stop(true,true);

		var other_dds = $('#global-navigation li ul').not(this_dd).not('#global-products ul li ul');
		if (other_dds.is(':visible')) {
			other_dds.fadeOut('fast');
			this_dd.fadeIn('fast');			
		} else {
			this_dd.slideDown();	
		}

	}, function(){
		var this_dd = $(this).next('ul');
		this_dd.stop(true,true);
		
		var other_dds = $('#global-navigation li ul').not(this_dd).not('#global-products ul li ul');
		if (other_dds.height > 0) {
			other_dds.fadeOut('fast');
			this_dd.fadeIn('fast');			
		} else {
			this_dd.slideUp();	
		}		
	});
}

function setup_lightbox(){
	$('#favorites a').click(function(event){
		event.preventDefault();
		the_link = $(this);
		the_href = the_link.attr('href');
		the_link.attr('href', ''); // prevents clicking again if the request takes awhile.
		
		$.get(the_href, function(data){

			if (data.indexOf('successfully added') != -1) {
				success_msg = "Product has been added to your lightbox.";
			} else if (data.indexOf('successfully deleted') != -1) {
				success_msg = "Product has been removed from your lightbox.";
			} else {
				success_msg = "Sorry, there was a problem. Please reload page and try again.";
			}
			
			if ($('body#lightbox').length > 0) { // if we're on lightbox page
				the_link.closest('div').fadeOut(function(){
					$(this).remove();
					var fav_count = $('div.favorite_item').size();
					$('span#favorites_count').text(fav_count);
				});	
			} else { // we're on product page
				the_link.parent().fadeOut(function(){
					$(this).html('<a>'+success_msg+'</a>').fadeIn();
				});			
			}			

		});		
	});
}

function setup_collapse_nav(){
	var segs = window.location.pathname.split('/');
	if (segs[4]) {
		var seg4 = segs[4].split('-');
		var flag = seg4[0];
	}
	
	$('#secondary-navigation li.collapse ul').hide();
	if (flag == 'indoor' || flag == 'outdoor'){
		$('#secondary-navigation li.collapse.'+flag+' ul:first').slideDown();
	}
	
	var trigger = $('#secondary-navigation li.collapse a').not('li.collapse ul li a');
	trigger.click(function(event){
		event.preventDefault();
		$(this).next('ul').slideToggle();
	});
}

function more_info_submit(){
	var form = $('div.more-info form');
	var form_data = form.serialize();

	var name = form.find('input[name=name]').val();
	var email = form.find('input[name=email]').val();	
	
	if (name == '' || name == 'Your Full Name') {
		alert('Please fill in your name');
		return false;
	} else if (email == '' || email == 'Your E-mail Address') {
		alert('Please fill in your email address');
		return false;
	}
	
	$.ajax({
		url:'http://' + window.location.hostname + '/',
		type:'POST', 
		data:form_data, 
		success:function(data){

			if (data == 'success') {
				form.fadeOut('slow', function(){
					$('.more-info .form_success').fadeIn();
				});			
			} else {
				alert("Sorry, there was a problem submitting the form, please try again");
			}			
			
		}
	});
	
}

function newsletter_submit(){
	var form = $('div.public-newsletter form');
	var form_data = form.serialize();

	var name = form.find('input[name=name]').val();
	var email = form.find('input[name=email]').val();	
	
	if (name == '' || name == 'Your Full Name') {
		alert('Please fill in your name');
		return false;
	} else if (email == '' || email == 'Your E-mail Address') {
		alert('Please fill in your email address');
		return false;
	}
	
	$.ajax({
		url:'http://' + window.location.hostname + '/',
		type:'POST', 
		data:form_data, 
		success:function(data){

			if (data == 'success') {
				form.fadeOut('slow', function(){
					$('#form_success').fadeIn();
				});			
			} else {
				alert("Sorry, there was a problem submitting the form, please try again");
			}			
			
		}
	});
	
}
