/** 
Seminars.js

Seminars section functionality

**/

var clickedSeminar, seminarInfo, seminarText = new Array(),
chosenSeminarsBox, lastItemChosen;


$(document).ready(function(){
	chosenSeminarsBox = $('.page34 .right .box');

	$('.page34  .left  input.add').live('click',addSeminar);
	$('.page34  .right input.remove, .seminars .remove').live('click',removeSeminar);
	$('.left .book').hide();

	$('.page34 .left .down').live('click',showInfo);
	$('.page34 .left .up').live('click',hideInfo);

	$('.ajaxload').ajaxError(ajaxError);

	$('.right .book span').bind('click',showBasket);
	$('#seminarForm').hide();
	
	var options = {
		target:     '.details',
		url:        '/assets/snippets/email/email.php'
	};
	$("#semForm").validate({
		submitHandler: function(form) {
			$(form).ajaxSubmit(options);
		}
	});

	$('#TB_window .close').live('click',tb_remove);
	//$('#TB_window p.book input:button').live('click',processForm);
	
	$('.box h2').each(function () {
		if ($(this).height() >= 42) {
			$(this).parent('div').height('40px');
		}
	});
});


function hideInfo() {
	seminarInfo = $(this);
	seminarInfo.parents('.box').stop();
	seminarInfo.removeClass('up');
	seminarInfo.addClass('down');
	newContentHeight = contentHeight - seminarInfo.parents('.box').find('.boxContent').height() - 45;

	if (seminarInfo.siblings('h2').height() >= 42)
		seminarInfo.parent('div.box').animate({height: '40px'});
	else
		seminarInfo.parent('div.box').animate({height: '20px'});
	
	contentWrap.animate({
						height: newContentHeight+"px"
						});
	$('#footer').animate({
						top: (newContentHeight+67)+"px"
						},
						function () {
							finishAnimation = false;
							linkClicked = false;
							checkQueue();
						});
	contentHeight = newContentHeight;
}

function showInfo() {
	seminarInfo = $(this);
	seminarInfo.parents('.box').stop();
	seminarInfo.removeClass('down');
	seminarInfo.addClass('up');
	newHeight = seminarInfo.parents('div.box').find('div.boxContent').height() + 65;
	seminarInfo.parents('div.box').animate({height: newHeight+'px'});
	
	newContentHeight = contentHeight + newHeight - 20;
	contentWrap.animate({
						height: newContentHeight+"px"
						});
	$('#footer').animate({
						top: (newContentHeight+67)+"px"
						},
						function () {
							finishAnimation = false;
							linkClicked = false;
							checkQueue();
						});
	contentHeight = newContentHeight;
}

function addSeminar() {
	$('.page34 .bookError').hide();
	if (allowAdditions == true) {
		allowAdditions = false;
		clickedSeminar = $(this).parents('li');

		seminarText['location'] = clickedSeminar.find('.location').text();
		seminarText['title'] = clickedSeminar.parents('.box').find('h2').text();
		seminarText['date'] = clickedSeminar.find('.date').text();
		
		newHeight = chosenSeminarsBox.height() + 40;
		chosenSeminarsBox.animate({height: newHeight+'px'});
		lastItemChosen = $('<li class="fixture"><span class="seminar">' + seminarText['title'] + '</span><span class="location">' + seminarText['location'] + '</span><span class="date">'+ seminarText['date'] +'</span><input type="button" class="remove" /></li>').appendTo('div.right ul').hide().fadeIn('slow').data('button',clickedSeminar);
			clickedSeminar.slideUp('normal', function () {
			allowAdditions = true;								  
		});
	}
}

function removeSeminar() {
	
	if (allowAdditions == true) {
		
		allowAdditions = false;
		clickedSeminar = $(this).parents('li');
		clickedSeminar.data('button').slideDown('normal');
		
		clickedSeminar.slideUp('normal').fadeOut('normal',function() {
			clickedSeminar.remove();
		});
		newHeight = chosenSeminarsBox.height() - 40;
		chosenSeminarsBox.animate({height: newHeight+'px'}, function () {
			allowAdditions = true;															 
		});
	}
	
	
}

function delSeminar() {
	/**var $li = $(this).parents('li:first');

	$li.fadeOut('fast');
	var $original = $li.data('original');

	var $list = $('div.left ul.' + $original.parent('ul'));
	$original.appendTo($list);
	$original.find('input.remove').removeClass('remove').addClass('add');**/
	
	if (allowAdditions == true) {
		allowAdditions = false;
		clickedSeminar = $(this).parents('li:first');
		var originalSeminar = clickedSeminar.data('original');
		var addSeminar   = originalSeminar.data('button');
	
		clickedSeminar.slideUp('normal',function() {
			clickedSeminar.remove();
		});
		addSeminar.show();
		originalSeminar.slideUp('normal',function() {
			originalSeminar.remove();
			
			if ($('#TB_ajaxContent .fixture').length == 0)
				tb_remove();
			allowAdditions = true;
		});
	}
}

function showBasket() {
	if ($('div.right .seminars li').length > 1) {
		tb_show(null, '#TB_inline?height=440&width=570&inlineId=seminarForm', false);
		
		var $ul = $('div#TB_window ul.basket');
		$ul.empty();
		
		$('.hidden').remove();
		
		$('div.right .basket li').each(function() {
			var $this = $(this);
			var $new = $this.clone()
			$new.data('original',$this)
			$new.appendTo($ul);
			
			var index = $('div.right li').index(this);
			
			if (index != 0) {
				var title = $this.find('span').html();
				var location = $this.find('span.location').html();
				var date = $this.find('span.date').html();
				$('form#semForm fieldset').append('<input type="text" class="hidden" name="seminar['+(index-1)+']" value="'+title+'" />');
				$('form#semForm fieldset').append('<input type="text" class="hidden" name="seminarLocation['+(index-1)+']" value="'+location+'" />');
				$('form#semForm fieldset').append('<input type="text" class="hidden" name="seminarDate['+(index-1)+']" value="'+date+'" />');
			}
		});
		$ul.find('li .remove').bind('click',delSeminar);
	} else {
		$('.page34 .bookError').fadeIn('fast');
	}
}

function processForm() {
	$('#TB_window').hide();

	var $ul = $('div#TB_window ul');

	var seminars = '';
	$('div#TB_window ul li:not(.heading)').each(function() {
		var $spans = $(this).find('span');
		seminars += '   * ' + $($spans[0]).text() + ' in ' + $($spans[1]).text() + ' on ' + $($spans[2]).text() + '\n';
	});

	$ul.append('<input type="hidden" name="seminars" />');
	$ul.find('input[name=seminars]').val(seminars);

	var $post = $('div#TB_window input').serializeArray();

	$.post("/assets/snippets/email/email.php", $post, function(data){
		tb_remove();
	 	alert("Data Loaded: " + data);
	});
}

function ajaxError(event, request, settings) {
	alert('Error requesting page ' + settings.url);
}

