/**
 * wad (wicked awesome dropdown)
 *
 * http://www.604media.com/jquery
 *
 * Copyright (c) 2008 Tim Kraumanis
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 * Version: 1.0a
 */

(function($) {


$.fn.wad = function(settings) {
	
		

    // settings
    settings = $.extend({
		containerClass:	'dropdown_container',
        headClass: 		'drophead',
		openClass: 		'drop_open',
		closedClass: 	'drop_closed',
        dropClass: 		'dropdown',
		slideTime: 		250,
		inForm:			'true',
		overlay:		'true'
    }, settings || {});

    return this.each(function() {
							  
		$(document).ready(function() {
			$(this).children('.' + settings.dropClass).hide();
			if (settings.overlay) $('#dropoverlay').css('opacity', '0.6');
			else $('#dropoverlay').css('opacity', '0');
		});
		
		
		var $this = $(this);
		
		function open_drop() {
			close_drop;
			$this.find('.' + settings.headClass).removeClass(settings.closedClass).addClass(settings.openClass).siblings('.' + settings.dropClass).slideDown(settings.slideTime);
			$('.' + settings.containerClass).css('z-index','1');
			$this.css('z-index','420');
			if (settings.overlay) $('#dropoverlay').fadeIn(settings.slideTime);
			else $('#dropoverlay').show();
		};
		
		function close_drop() {
			$this.find('.' + settings.headClass).removeClass(settings.openClass).addClass(settings.closedClass).siblings('.' + settings.dropClass).slideUp(settings.slideTime);
			if (settings.overlay) $('#dropoverlay').fadeOut(settings.slideTime);
			else $('#dropoverlay').hide();
			$this.css('z-index','1');
		};
		
		$(this).find('.' + settings.headClass).click(function() {
			if ($(this).hasClass(settings.closedClass)) {
				open_drop();
			} else {
				close_drop();
			}
		});		

		if (settings.inForm) {
			$this.find('li').children('a').click(function() {
				$this.find('input:hidden').val($(this).attr('href'));
				$this.children('.' + settings.headClass).html($(this).html()).addClass('active');
				close_drop();
				return false;
			});
		};
		
		$('#dropoverlay').live('click', function() {
			close_drop();
		});


	});

};



})(jQuery);
