/**
* jQuery Plugin dropdown implements a nice dropdown selector.
* @author NOSE
*/
jQuery.fn.dropdown = function(op) {
	// defaults
	var defaults = {
		durationSlideDown:200,
		durationSlideUp:100,
	 	catchEvent: "click"
	 };
	 jQuery.extend(defaults, op);
	
	// state
	var expanded = false;

	
	// references
	var elDropdownList = jQuery("ul",this);
	var elDropdownSelector = jQuery("a.selector",this);
	
	// event
	jQuery(elDropdownSelector).bind(defaults.catchEvent,toggleDropdown);
	jQuery("html, body").bind("click",closeDropdown);
	
			
	/*
	* Toggles the dropdown.
	*/
	function toggleDropdown() {
		if (expanded) {
			closeDropdown();	
		}
		else {
			openDropdown();	
		}
		
	}
	/*
	* Opens the dropdown.
	*/
	function openDropdown() {
		if (! expanded) {
			jQuery(elDropdownList).slideDown({duration: defaults.durationSlideDown, easing: "easeOutSine", complete: function(){expanded = true}});
		}
		return true;
	}
	/*
	* Closes the dropdown.
	*/
	function closeDropdown() {
		if (expanded) {
			jQuery(elDropdownList).slideUp({duration: defaults.durationSlideUp, easing: "easeOutSine", complete: function(){expanded = false}});
		}
		return true;
	}
	
	
	// chain
	return true;
}
