/**
 * Slide Box : a jQuery Plug-in
 * Samuel Garneau <samgarneau@gmail.com>
 * http://samuelgarneau.com
 * 
 * Released under no license, just use it where you want and when you want.
 */

(function($){
	
	$.fn.slideBox = function(params){
	
		var content = $(this).html();
		var defaults = {
			width: "100%",
			height: "300px",
			position: "bottom",			// Possible values : "top", "bottom"
			speed: "normal"				// Possible values : slow normal fast or a number of milliseconds
		}
		
		// extending the fuction
		if(params) $.extend(defaults, params);
		
		var divPanel = $("<div class='slide-panel'>");
		var divContent = $("<div class='menu_content'>");
	
		$(divContent).html(content);
		$(divPanel).addClass(defaults.position);
		$(divPanel).css("width", defaults.width);
		
		// centering the slide panel
		$(divPanel).css("left", (100 - parseInt(defaults.width))/2 + "%");
	
		// if position is top we're adding 
		if(defaults.position == "top")
			$(divPanel).append($(divContent));
		
		// adding buttons
		$(divPanel).append("<div class='slide-button'></div>");
		$(divPanel).append("<div style='display: none' id='close-button' class='slide-button'></div>");
		
		if(defaults.position == "bottom")
			$(divPanel).append($(divContent));
		
		$(this).replaceWith($(divPanel));
		
		// Buttons action
		function close() {
				// hide the list items
				$('ul.list li.item', divContent).hide(defaults.speed);
				// now shrink the wrapper divs
				$('div.list-height', divContent).animate({'height' : '35px'}, defaults.speed);
				// now slide the thing up
				$(divContent).animate({height: "65px"}, defaults.speed);
		}
		function open() {
				// slide down
				$(divContent).animate({height: defaults.height}, defaults.speed);
				// wrapper divs
				$('div.list-height', divContent).animate({'height' : '255px'}, defaults.speed);
				// list items
				$('ul.list li.item', divContent).show(defaults.speed);
		}
		$(".slide-button").click(function(){
			if($(this).attr("id") == "close-button") {
				close();
			} else {
				open();
			}
			
			$(".slide-button").toggle();
		});		

		// starting positions...
		$('ul.list li.item', divContent).hide('fast');
		$('div.list-height', divContent).css({'height' : '35px'});
		$(divContent).css({'height' : '65px'});

	};
	
})(jQuery);