(function($){
	var debug = true;

 	$.fn.extend({ 
 		//plugin name - panelselector
 		panelselector: function(options) {
 			var defaults = {
				selected: false,
				fadeInSpeed: 125,
				fadeOutSpeed: 750
			};
			
			var options = $.extend(defaults, options);
			var selected = false;
			
 			return this.each(function() {
 				var o = options;
				var obj = $(this);
				var s = selected;
				
				
				//$(".panel", $(this)).show();
				obj.bind('click', function(e) {
					e.preventDefault();
					$.log('clickme '+'');
					var brandstr = $(".panel", this).attr('id');
					tmp = brandstr.split('-');
					var brandid = (tmp[1] != undefined)?parseInt(tmp[1]):0;
					var urlstr = $("a", this).attr('href');
					$.log('brand = '+brandid+', url = '+urlstr);
					$(this).postGo(urlstr, {brand: brandid});
					o.selected = true;
					//hmmm
				});
				
				obj.bind('mouseenter', function(e) {
					if(o.selected) return;
					//$.log('mouseenter '+obj);
					$("#selectorgfx").stop(true,false).fadeTo(o.fadeOutSpeed, 0.5);
					$("#groupselector li").stop(true,true).fadeTo(o.fadeOutSpeed, 0.5);
					$("#groupselector li .expand").stop(true,true).slideUp(o.fadeInSpeed).fadeTo(o.fadeInSpeed, 0);
					$(this).stop(true,true).fadeTo(o.fadeInSpeed, 1.0);
					$("#groupselector li .panel").stop(true,true).fadeTo(o.fadeInSpeed, 0.5);
					$(".panel", $(this)).stop(true,true).fadeTo(o.fadeInSpeed, 1.0, function(e) {
						$(this).css('filter','')
					});//.fadeTo(125, 1.0);
					$(".expand", $(this)).stop(true,true).fadeTo(o.fadeInSpeed, 1.0).slideDown((o.fadeInSpeed*2));
				});
				
				obj.bind('mouseleave', function(e) {
					if(o.selected) return;
					//$.log('mouseleave '+obj);
					$("#selectorgfx").stop(true,true).fadeTo(o.fadeInSpeed, 1);
					$("#groupselector li").stop(true,true).fadeTo(o.fadeInSpeed, 1);
					$("#groupselector li .panel").stop(true,true).fadeTo(o.fadeInSpeed, 1);
					$("#groupselector li .expand").stop(true,true).slideUp(o.fadeInSpeed).fadeTo(o.fadeInSpeed, 0);
				});	
 			});
    	},
        getGo: function(url, params) {
            document.location = url + '?' + $.param(params);
        },
        postGo: function(url, params) {
            var $form = $("<form>")
                .attr("method", "post")
                .attr("action", url);
            $.each(params, function(name, value) {
                $("<input type='hidden'>")
                    .attr("name", name)
                    .attr("value", value)
                    .appendTo($form);
            });
            $form.appendTo("body");
            $form.submit();
        }
	});
		
	//Logging function - for debug purposes only.
	jQuery.log = function(message) {
		if(debug) {
			if (window.console && window.console.log) {
				console.debug(message);
			} else {
				window.status = 'Error: '+message;
			}
		}
	};
	
})(jQuery);