var email = {
	dialog: null,
	initialize: function() {
		// set up the dialog
		var dialog_options = {
			autoOpen: false,
			closeOnEscape: true,
			modal: true,
			overlay: { background: '#111111', opacity: '0.5' },
			resizable: false,
			width: 'auto',
			height: 'auto'
		};
		email.dialog = $('#email_dialog');
		email.dialog.dialog( dialog_options );

		// set click events for email form links
		$('a.email_link').click( function($e) {
				$e.preventDefault( );
				email.dialog.dialog( 'open' );
			}
		);

		email.dialog.find('form').submit( function($e) {
				// prevent the traditional post to go through
				// so we can do an ajax post.
				$e.preventDefault( ); 
				$.post( 'email/ajax_email', $(this).find(':input').serialize(), 
					function(json) {
						email.dialog.find('div.error').append('<ol></ol><br />');
						var errors_list = email.dialog.find('div.error ol');

						errors_list.empty();

						if( json.success )
						{
							email.dialog.dialog('close');
						}
						else // failure
						{
							email.dialog.find('div.error').removeClass('hidden');
							var date = new Date();
							email.dialog.find('img').attr('src', 'captcha/default/' + date.getTime());

							$.each( json.errors, function() {
									errors_list.append( '<li>' + this + '</li>' );
								}
							);
						}
					},
					'json'
				);
			}
		);
	},
};

$(document).ready( email.initialize );
