(function ($) {
	
	/**
	 * Initialise input hints on all matched inputs.
	 *
	 * Usage example:
	 *   $('*[hint]').inputHint();
	 *
	 * Options keys:
	 *   hintClass - CSS class to apply to inputs with active hints
	 */
	$.fn.inputHint = function(options) {
		options = $.extend({hintClass: 'hint'}, options || {});

		function showHint() {
			if ($(this).val() == '') {
				$(this).addClass(options.hintClass).val($(this).attr('accesskey'));
			}
		}

		function removeHint() {
			if ($(this).hasClass(options.hintClass)) $(this).removeClass(options.hintClass).val('');
		}
		
		this.focus(removeHint).blur(showHint).blur();

        var $form = this.parents('form:eq(0)');
        this.each(function() {
            var self = this;
            $form.submit(function() { removeHint.apply(self); });
        });
	};
	
})(jQuery);










function initMenus() {
	$('ul.menu ul').hide();
	$.each($('ul.menu'), function(){
		$('#' + this.id + '.expandfirst ul:first').show();
		$('li .active').show();
	});
	$('ul.menu li a').click(
		function() {
			var checkElement = $(this).next();
			var parent = this.parentNode.parentNode.id;

			if($('#' + parent).hasClass('noaccordion')) {
				$(this).next().slideToggle('normal');
				return false;
			}
			if((checkElement.is('ul')) && (checkElement.is(':visible'))) {
				if($('#' + parent).hasClass('collapsible')) {
					$('#' + parent + ' ul:visible').slideUp('normal');
				}
				return false;
			}
			if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
				$('#' + parent + ' ul:visible').slideUp('normal');
				checkElement.slideDown('normal');
				return false;
			}
		}
	);
}
$(document).ready(function() {initMenus();});


















      $(function() {
        $('*[@accesskey]').inputHint();
      });