var resultAClick = false;

$(document).ready(function(){

  $('.result-row .description:first').slideDown();
	
	$('#course_location_id').live('change', function(){
		var id = $(this).val();
		
		changeAddress(id);
		
		
	});
	
	$('#course_manage_locations').live('click', function(event){
		event.preventDefault();
		
		$.ajax({
			type: "POST",
			url: "/locations/js",
			success: function( msg ){
				$('#flash_banner_container').hide();
				$.facebox('<div>' + msg + '</div>');
			}
		});
		
		return false;
	});
	
	$('#facebox .location_link').live('click', function(event){
		event.preventDefault();

		var url = $(this).attr('href') + '/js';

		$.ajax({
			type: "POST",
			url: url,
			success: function( msg ){
				$('#flash_banner_container').hide();
				$.facebox('<div>' + msg + '</div>');
			}
		});

		return false;
	});
	
	$('#facebox #LocationAddForm .submit input').live('click', function(event){
		event.preventDefault();
		
		var url = $('#facebox #LocationAddForm').attr('action') + '/js';
		
		var data = '';
		
		$('#facebox #LocationAddForm :input').each(function(){
			data += $(this).attr('name') + '=' + $(this).val() + '&';
		});
		
		$.ajax({
			type: "POST",
			url: url,
			data: data,
			success: function( msg ){
				$.ajax({
					type: "POST",
					url: "/locations/update_locations",
					data: data,
					success: function( msg ){
						$('#course_locations').html(msg);
						jQuery(document).trigger('close.facebox');
					}
				});
			}
		});
		
		return false;
	});
	
	$('#facebox #LocationEditForm .submit input').live('click', function(event){
		event.preventDefault();
		
		var url = $('#facebox #LocationEditForm').attr('action') + '/js';
		
		var data = '';
		
		$('#facebox #LocationEditForm :input').each(function(){
			data += $(this).attr('name') + '=' + $(this).val() + '&';
		});
		
		$.ajax({
			type: "POST",
			url: url,
			data: data,
			success: function( msg ){
				$.ajax({
					type: "POST",
					url: "/locations/update_locations",
					data: data,
					success: function( msg ){
						$('#course_locations').html(msg);
						jQuery(document).trigger('close.facebox');
					}
				});
			}
		});
		
		return false;
	});
	
	$('.location_remove').live('click', function(event){
		event.preventDefault();

		if ( confirm('Are you sure you want to delete this location?' ) ) {
			
			var url = $(this).attr('href') + '/js';
			
			$.ajax({
				type: "POST",
				url: url,
				success: function( msg ){
					$.ajax({
						type: "POST",
						url: "/locations/js",
						success: function( msg ){
							$.facebox('<div>' + msg + '</div>');
							
							id = $('#course_location_id').val();

							$.ajax({
								type: "POST",
								url: "/locations/update_locations/id:" + id,
								success: function( msg ){
									$('#course_locations').html(msg);
									changeAddress(id);
								}
							});
						},
						error: function( msg ) {
							alert( msg );
						}
					});
				}
			});
		}
		
		return false;
	});
	
	$('.facebox-close').live('click', function(event){
		event.preventDefault();
		
		jQuery(document).trigger('close.facebox');

		return false;
	});

	$('.facebox-submit').live('click', function(event){
		event.preventDefault();

		jQuery(document).trigger('close.facebox');
		
		var id = $('.facebox-container #course_id').val();
		
		var to_name = $('.facebox-container #to_name').val();
		var to_email = $('.facebox-container #to_email').val();
		var from_name = $('.facebox-container #from_name').val();
		var from_email = $('.facebox-container #from_email').val();
		
		$.ajax({
			type: "POST",
			url: "/courses/email_friend/" + id + "/js",
			data: "data[to_email]=" + to_email + "&data[to_name]=" + to_name + "&data[from_email]=" + from_email + "&data[from_name]=" + from_name + "",
			success: function( msg ){
				$('#flash_banner_container').hide();
				$.facebox('<div>' + msg + '</div>');
			}
		});

		return false;
	});

	$('.result-row .friend a').click(function(event){
	
		event.preventDefault();
		
		var href = $(this).attr('href');
		
		$.ajax({
			type: "POST",
			url: href + "/js",
			success: function(msg){
				$('#flash_banner_container').hide();
				$.facebox('<div>' + msg + '</div>');
			}
		});

	});
  
	$('.result-row a').click(function(){
		resultAClick = true;
	});
	
	$('.result-row').click(function(){
		if ( !resultAClick ) {
			currentState = $(this).find('.description').css('display');
	
			$('.result-row .description').slideUp();
	
			if ( currentState == 'none' ) {
				if ($(this).find('.description').html().length > 0) {
					$(this).find('.description').slideDown();
				}
			}
		}
		
		resultAClick = false;
	});

	$('.advanced-search').click(function(){
		$('.advanced-search-container').slideToggle();
	});
	
	if ( $('.message').html() ) {
		alert( $('.message').html() );
	}
	
});

function changeAddress(id){
	var fadeTime = 500;
	$('#course_address_container').fadeOut(fadeTime, function() {
		$.ajax({
			type: "POST",
			url: "/courses/location_change/" + id,
			success: function( msg ){
				$('#course_address_container').html(msg);
				$('#course_address_container').fadeIn(fadeTime);
			}
		});
	});
}

