/*
 * jQuery selectbox plugin
 *
 * Copyright (c) 2007 Sadri Sahraoui (brainfault.com)
 * Licensed under the GPL license and MIT:
 *   http://www.opensource.org/licenses/GPL-license.php
 *   http://www.opensource.org/licenses/mit-license.php
 *
 * The code is inspired from Autocomplete plugin (http://www.dyve.net/jquery/?autocomplete)
 *
 * Revision: $Id$
 * Version: 0.4
 * 
 * Changelog :
 *  - Fix width when the select is in a hidden div   @Pawel Maziarz
 *  - Add a unique id for generated li to avoid conflict with other selects and empty values @Pawel Maziarz
 */
jQuery.fn.extend({
	radiobutton: function(options) {
		return this.each(function() {
			new jQuery.RadioButton(this, options);
		});
	}
});


/* pawel maziarz: work around for ie logging */
if (!window.console) {
	var console = {
		log: function(msg) { 
	 }
	}
}
/* */

jQuery.RadioButton = function(selectobj, options) {
		
	var opt = options || {};
	opt.defaultClass = opt.defaultClass || "radioDefault";
	opt.activeClass = opt.activeClass || "radioActive";
	opt.hoverClass = opt.hoverClass || "radioHover";
	
	var $obj = $(selectobj);
	var $container = initContainer(opt);
	
	$obj.hide().before($container);
	
	$container
	.mouseover(function(event){
		$container.addClass(opt.hoverClass);
	})
	.mouseout(function(event){
		$container.removeClass(opt.hoverClass);
	})
	.click(function(event){
		$("span[name='"+$obj.attr('name')+"']").removeClass(opt.activeClass);
		$("input[name='"+$obj.attr('name')+"']").attr("checked", "checked");
		$container.addClass(opt.activeClass);
		$obj.attr("checked", "checked");
	});

	function initContainer(options){
		var container = document.createElement("span");
		$container = $(container);
		$container.attr('name',$obj.attr('name'));
		$container.addClass(options.defaultClass);
		$container.html("&nbsp;");
		
		if($obj.attr('checked') == true){
			$("span[name='"+$obj.attr('name')+"']").removeClass(opt.activeClass);
			$("input[name='"+$obj.attr('name')+"']").attr("checked", "checked");
			$container.addClass(opt.activeClass);
			$obj.attr("checked", "checked");
		}
		
		return $container;
	}
	
};

