(function(actions) {
	// Public
	actions.init = function() {
		initPrintLinks();
		initFormSubmitting();
	};

	// Private
	function initPrintLinks() {
	    $('a.print').live('click', function(e) {
	    	e.preventDefault();
	        window.print();
	    });
	}

	function initFormSubmitting() {
		function submitForm(e) {
			if (e.type === 'click') { e.preventDefault() };

			var $this = $(this),
				metadata = $this.metadata()['form-submit'] || {},
				fuseaction = metadata['fuseaction'],
				$form = metadata['form'] ? 
					$(metadata['form']) : 
					$.coalesce($(this.form), $this.closest('form'));

			if (fuseaction) {
				$form.find('input[name=fuseaction]').val(fuseaction);
			}
			$form.trigger('submit');
		}

		$('body')
			.delegate('input.form-submit,select.form-submit', 'change', submitForm)
			.delegate('.form-submit:not(input,select)', 'click', submitForm);
	}
})($.namespace('WEBLINC.actions'));
