(function($){

  $.fn.meltCookie = function( method ) {
    
    var methods = {
      
      set: function(name, value, days, path, domain, secure){
        
        var c = name + '=' + escape(value);
        var expires = null;
        if (days)
            expires = new Date(new Date().getTime() + (days * 24 * 60 * 60 * 1000));
        if (expires)
            c += '; expires=' + expires.toUTCString();
        if (path)
            c += '; path=' + path;
        if (domain)
            c += '; domain=' + domain;
        if (secure)
            c += '; secure';
        document.cookie = c;
        
      },
      
      get: function(name){
        
        var pattern = new RegExp('(^|; )' + name + '=([^;]*)');
        var m = document.cookie.match(pattern);
        return m && unescape(m[2]);
        
      }
      
    };
    
    // Method calling logic
    if ( methods[method] ) {
      return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));
    }else{
      $.error( 'Method ' +  method + ' does not exist on jQuery.meltCookie' );
    }  
               
  
  };

})(jQuery);
