/*
Plugin Stickybar
Sebastián Dominguez
v 1.0
---------------------------
---------------------------
Desc: 
---------------------------
---------------------------
*/
(function($) {
    $.fn.stickyBar = function(options) {
        var settings = {
			openClass: "open",
			closeClass: "close",
            stickyContainerId: "stickyContents",
			stickyContainerWrapperId: "stickyContentsElements",
			openerId: "stickyOpener",
            closerId: "stickyCloser",
            openCloseWidthDiff: 67
        };
        var options = $.extend(settings, options);
        
		
		
        return this.each(function() {
            var sticky = $(this);
			var stickyContents = $("#"+settings.stickyContainerId+"");
			var stickyContentsMask = $("#"+settings.stickyContainerWrapperId+"");
			var opener = $("#"+settings.openerId+"");
			var closer = $("#"+settings.closerId+"");
			var stickyState = sticky.attr("state");
					
			var open = function(){
				opener.stop(false,false).animate({
					top: settings.openCloseWidthDiff + "px"
				}, 500);
				sticky.attr("state", settings.openClass);
				sticky.removeClass(settings.openClass + " " + settings.closeClass);
				sticky.addClass(settings.openClass);
				sticky.stop(false,false).animate({
					bottom: -1
					}, 500, function(){
						showContents();
					}
				);
			}
			
			var close = function(){
				opener.stop(false,false).animate({
					top: "-"+settings.openCloseWidthDiff + "px"
				}, 500);
				sticky.stop(false,false).animate({
					bottom: "-"+settings.openCloseWidthDiff + "px"
					}, 500, function(){
						sticky.attr("state", settings.closeClass);
						sticky.removeClass(settings.openClass + " " + settings.closeClass);
						sticky.addClass(settings.closeClass);
						hideContents();
					}
				);
			}
			
			var showContents = function(){
				document.cookie = "stickyState=open;path=/";
			}
			var hideContents = function(){
				document.cookie = "stickyState=close;path=/";
			}
			
			opener.click(function(){
				if(sticky.attr("state")=="close"){
					open();
				}
				return false;
			});
			
			closer.click(function(){
				if(sticky.attr("state")=="open"){
					close();
				}
				return false;
			});
        });
    };
})(jQuery);

