(function($){
	$.fn.csb = function(options) {
		$(this).hide();

		var style = options.style;
		var mode = options.mode;

		var thisid = this.attr('id');
		var selected = this.find("option[selected]");

		if (mode == 'link') var selects = this.find("option:not([selected])");
		else var selects = this.find("option");
		
		$(this).parent().append('<dl id="'+thisid+'" class="'+style+'"></dl>');
		$('dl#'+thisid).append('<dt><a name="' + selected.val() + '">' + selected.text() + '</a></dt>');
		$('dl#'+thisid).append('<dd><ul></ul></dd>');
		
		selects.each(function(){			
			$('dl#'+ thisid + " dd ul").append('<li><a name="' + $(this).val() + '">' + $(this).text() + '</a></li>');
		});

		$('.'+style+' dt a').click(function() {
			var elem = $('.'+style+' dd ul');
			var dd = $("."+style+" dd");
			if(elem.is(":hidden")){
				dd.css("height","240px");
				dd.show();
				elem.show();
			}
			else{
				dd.css("height","0px");
				//alert("should hide");
				dd.hide();
				elem.hide();
			}
			return false;
		});

		$(document).bind('click', function(e) {
			var $clicked = $(e.target);
			if (! $clicked.parents().hasClass(style)) {
				var elem = $('.'+style+' dd ul');
				var dd = $("."+style+" dd");
				dd.css("height","0px");
				dd.hide();
				elem.hide();
			}
		});

		$('.'+style+' dd ul li a').live('click',function() {
			var text = $(this).html();
			$('.'+style+' dt a').html(text);
			var elem = $('.'+style+' dd ul');
			var dd = $("."+style+" dd");
			
			dd.css("height","0px");
			dd.hide();
			elem.hide();			
			
			var source = $('select#'+thisid);
			var functvar = $(this).attr('name');
			source.val(functvar);

			$('.'+style+' dt a').attr('rel',functvar);
			
			// now call a callback function
			if(typeof options.callback == 'function'){
				options.callback(functvar);
			}
			return false;
		});	
	}
})(jQuery); // plugina lõpp

$(document).ready(function(){
	$('#product-selector').csb({
		style: 'dropdown1',
		mode: 'select',
		callback: function(arg){
			onSelectProductMfgr(arg);
		}
	});
	$('#category-selector').csb({
		style: 'dropdown2',
		mode: 'select'
	});
	
	$('#product-selector-filter').csb({
		style: 'dropdown3',
		mode: 'select',
		callback: function(arg){
			setSelectedBrand(arg);
		}
	});
	$('#category-selector-filter').csb({
		style: 'dropdown4',
		mode: 'select',
		callback: function(arg){
			setSelectedCategory(arg);
		}
	});
	
	$("#area-selector-filter").csb({
		style: 'dropdown5',
		mode: 'select',
		callback: function(arg){
			setSelectedArea(arg);
		}
	});
	
	$("#city-selector-filter").csb({
		style: 'dropdown6',
		mode: 'select',
		callback: function(arg){
			setSelectedCity(arg);
		}
	});
});
