/*
	POPULATE ITINERARY SIDEBAR
*/

function get_trip_items_html() {
	$.ajax({
		type: "POST",
		url: "/inc/trip-utility.php",
		data: "action=get_trip_items_html",
		success: function(trip_items_html) {
			$('#trip-iten').html(trip_items_html);
			// Determine which items in the item listing should have the check mark
			var cnt=0;
			$('.iten-ul-list li a').each(function() {
				cnt++
				var raw_id = this.id;
				var id_split = raw_id.split('-');
				var id = id_split[2];
				$('#'+id).removeClass('start-trip').removeClass('add-trip').removeClass('load-trip').addClass('check-trip');
			});
			if(cnt == 0) {
				$('.right').removeClass('add-trip').removeClass('load-trip').removeClass('check-trip').addClass('start-trip');
			}
		}
	});
}

$(document).ready(function() {

	/*
		DETERMINE THE DEFAULT STATE OF THE ADD BUTTONS
	*/
	// Get the number of trip items, to determine if the add buttons should be to "start" or "add"
	$.ajax({
		type: "POST",
		url: "/inc/trip-utility.php",
		data: "action=get_num_trip_items",
		success: function(num) {
			num = num * 1;
			if(num > 0) {
				$('.right').addClass('add-trip').removeClass('start-trip, check-trip');
			} else {
				$('.right').addClass('start-trip').removeClass('add-trip, check-trip');
			}
			$('.right').show();
		}
	});

	/*
		BUILD OUT THE SIDEBAR TRIP ITEMS HTML
	*/
	// Go ahead and build the sidebar html for the trip items
	get_trip_items_html();

	/*
		ADD ITEM TO ITINERARY
	*/
	// Return false for items already added
	$('.load-trip, .check-trip').livequery('click', function() {
		return false;
	});
	
	$('.start-trip, .add-trip').livequery('click', function() {

		// Show a loading icon
		$(this).removeClass('add-trip, start-trip');
		$(this).addClass('load-trip');
		
		// Get some ID's
		var entry_id	= this.id;
		var cat_id 		= $('div#main-content div.visit-entry-wrap:first').attr('id');

		// Post to add the item
		$.ajax({
			type: "POST",
			url: "/inc/trip-utility.php",
			data: "action=add_trip_item&entry_id="+entry_id+"&category_id="+cat_id,
			success: function(html) {
				$('#'+entry_id).addClass('check-trip');
				$('div#main-content div.visit-entry-wrap a.right').each(function() {
					if($(this).hasClass('check-trip')) {
						$(this).removeClass('start-trip');
						$(this).removeClass('add-trip');
						$(this).removeClass('load-trip');
					} else {
						$(this).removeClass('start-trip');
						$(this).addClass('add-trip');
						$(this).removeClass('load-trip');
					}
				});
				// Regenerate the itinerary list in the sidebar
				get_trip_items_html();
			}
		});
		return false;
	});

	/*
		REMOVE ITEM FROM ITINERARY
	*/
	$('#trip-iten a.remove').livequery('click', function() {
		var raw_id = this.id;
		var id_split = raw_id.split('-');
		var id = id_split[2];
		var rel = $(this).attr('rel');
		$.ajax({
			type: "POST",
			url: "/inc/trip-utility.php",
			data: "action=delete_trip_item&item_id="+rel,
			success: function() {
				$('#trip-iten a#'+raw_id).parent().fadeOut(300, function() {
					$('#'+id).removeClass('check-trip');
					$('#'+id).addClass('add-trip');
					get_trip_items_html();
				});
			}
		});
		return false;
	});

	/*
		EMAIL ITINERARY
	*/
	var default_vals = new Array();
	default_vals['e1'] = 'Email Address #1';
	default_vals['e2'] = 'Email Address #2';
	default_vals['e3'] = 'Email Address #3';
	default_vals['e4'] = 'Email Address #4';
	default_vals['e5'] = 'Email Address #5';
	default_vals['name'] = 'Your Name';
	default_vals['email'] = 'Your Email Address';
	default_vals['note'] = 'Enter custom notes here';
	
	// Clear out the default values for the email fields
	$('#iten-email-address-1').livequery('focus', function() { if($(this).val() == default_vals['e1']) $(this).val(''); });
	$('#iten-email-address-2').livequery('focus', function() { if($(this).val() == default_vals['e2']) $(this).val(''); });
	$('#iten-email-address-3').livequery('focus', function() { if($(this).val() == default_vals['e3']) $(this).val(''); });
	$('#iten-email-address-4').livequery('focus', function() { if($(this).val() == default_vals['e4']) $(this).val(''); });
	$('#iten-email-address-5').livequery('focus', function() { if($(this).val() == default_vals['e5']) $(this).val(''); });
	$('#iten-your-name').livequery('focus', function() { if($(this).val() == default_vals['name']) $(this).val(''); });
	$('#iten-your-email-address').livequery('focus', function() { if($(this).val() == default_vals['email']) $(this).val(''); });
	$('#iten-note').livequery('focus', function() { if($(this).val() == default_vals['note']) $(this).val(''); });

	// Restore the default values for the email fields
	$('#iten-email-address-1').livequery('blur', function() { if($(this).val() == '') $(this).val(default_vals['e1']); });
	$('#iten-email-address-2').livequery('blur', function() { if($(this).val() == '') $(this).val(default_vals['e2']); });
	$('#iten-email-address-3').livequery('blur', function() { if($(this).val() == '') $(this).val(default_vals['e3']); });
	$('#iten-email-address-4').livequery('blur', function() { if($(this).val() == '') $(this).val(default_vals['e4']); });
	$('#iten-email-address-5').livequery('blur', function() { if($(this).val() == '') $(this).val(default_vals['e5']); });
	$('#iten-your-name').livequery('blur', function() { if($(this).val() == '') $(this).val(default_vals['name']); });
	$('#iten-your-email-address').livequery('blur', function() { if($(this).val() == '') $(this).val(default_vals['email']); });
	$('#iten-note').livequery('blur', function() { if($(this).val() == '') $(this).val(default_vals['note']); });
	
	$('#trip-iten a.email-iten').livequery('click', function() {
		var h = '<h3>Email Your Itinerary <span><a href="#" class="close">close form</a></span></h3>';
		h += '<p class="msg">Enter up to five recipients at a time and have this list emailed to them.</p>';
		h += '<form id="email-iten-form">';
		h += '<fieldset>';
		h += '<legend></legend>';
		h += '<input type="text" id="iten-your-name" value="'+default_vals['name']+'" />';
		h += '<input type="text" id="iten-your-email-address" value="'+default_vals['email']+'" />';
		for(var i = 1; i <= 5; i++) {
			h += '<input type="text" class="txt" id="iten-email-address-'+i+'" value="'+default_vals['e'+i]+'" />';
		}
		h += '<textarea id="iten-note">'+"\r\n"+default_vals['note']+'</textarea>';
		h += '</fieldset>';
		h += '<input type="submit" value="SEND IT" class="btn" />';
		// h += '<a href="#" class="close">close form</a>';
		h += '</form>';
		$('#email-iten').html(h);
		$('#email-iten').fadeIn();
		return false;
	});

	$('#email-iten a.close').livequery('click', function() {
		$('#email-iten').fadeOut(300, function() {
			$('#email-iten input.txt, #email-iten textarea').val('');
		});
		return false;
	});
	
	$('#email-iten-form').livequery('submit', function() {
		// Do some validation for their name, email address and at least one recipient
		if($('#iten-your-name').val() == default_vals['name']) {
			alert('Please enter your name.');
			return false;
		}

		if($('#iten-your-email-address').val() == default_vals['email']) {
			alert('Please enter your email address.');
			return false;
		}

		var num_good_emails = 0;
		for(var iea=1; iea<=5; iea++) {
			if($('#iten-email-address-'+iea).val() != default_vals['e'+iea]) {
				num_good_emails++;
			}
		}
		if(num_good_emails == 0) {
			alert('Please enter at least one email address.');
			return false;
		}
		
		var form_vals = 'action=email_trip';
		for(var i = 1; i <= 5; i++) {
			form_vals += '&e'+i+'='+$('#iten-email-address-'+i).val();
		}
		form_vals += '&from_name='+$('#iten-your-name').val()+'&from_email='+$('#iten-your-email-address').val()+'&note='+$('#email-iten #iten-note').val();
		$.ajax({
			type: "POST",
			url: "/inc/trip-utility.php",
			data: form_vals,
			success: function() {
				for(var i = 1; i <= 5; i++) {
					// $('#iten-email-address-'+i).val('');
				}
				$('#email-iten p.msg').html('<strong>Success!</strong> Enter more recipients, or <a href="#" class="close">click here</a> to close the form.');
			}
		});
		return false;
	});

});

