/**
 *	Custom multiSelect Plugin
 *
 *	@param: Object Array. Arguments need to be in object notation.
 *	Returns: jQuery.
 */

(function($) {
	
	$.fn.multiSelect = function(settings){

		settings = jQuery.extend({
        	speedIn: "normal",
        	speedOut: "normal"
		}, settings );

		return this.each(function(){
			
			var selectField = $(this);
			var layer		= $("#"+selectField.attr('id')+"_layer");
			var layerIsActive = false;
			
			if ($.browser.msie && $.browser.version.substr(0,1)=="6") {

				$(this).click(function(){
					layer.fadeToggle();
				});	
			
			} else {

				$(this).click(function(){
					layer.fadeToggle();
					if(!layerIsActive){
						$(this).css({'z-index':'10001'});
						layer.css({'z-index':'10002'});
						layer.before('<div id="'+selectField.attr('id')+'_overlay" style="position:fixed;top:0;left:0;width:100%;height:100%;opacity:0.6;filter:alpha(opacity=60);zoom:1;background-color:#FFFFFF;z-index:10000;"></div>');						
						layerIsActive = true;
					} 
				});	
	
				$("#"+selectField.attr('id')+"_overlay").live('click',function(){
					$(this).hide();
					layer.fadeToggle();
				});
	
				$(this).find(".close").live('click',function(){
					$("#"+selectField.attr('id')+"_overlay").remove();
					$(this).parent().fadeOut();
					layerIsActive = false;
				});				
	
			}
	
			layer.find("input[type=checkbox]").click(function(){
				selectField.text(layer.find("input[type=checkbox]:checked").size() + " ausgewählt");
				//$("input[@name="+theRadio.attr("id")+"]:not(:checked)")
			});
					
			selectField.text(layer.find("input[type=checkbox]:checked").size() + " ausgewählt");
					
		});
	};
	
})(jQuery);
