/****************************************************
 * @type jquery plugin
 * @about Плагин для графических checkbox-ов
 * @author Coroliov Oleg aka ruscon
 * @date 2010-07-21
 * @version 0.1
 * ************************************************** 
 */
(function($) {
	var 
	config = {			
		theme : 'dq-radiobox'	// префикс для классов
	},
	_init = function(conf)
	{
		if(typeof conf !== 'object') conf = {};
		config = $.extend(config, conf);
		
		return config;
	};

	$.fn.dqRadiobox = function(config){
		config = _init(config);
		var that = $(this);

		that.each(function(){
			var self = $(this);
			self.addClass('hidden');
			self.click(function(event){unBuble(event);});

			var styled = $('<span>&nbsp;</span>');
			styled.addClass(config.theme);
			if (self.attr('checked')) {
				styled.addClass('checked');
			}
			if (self.attr('disabled')) {
				styled.addClass('disabled');
			}

			styled.attr('sourceid', self.attr('id'));
			styled.attr('sourcename', self.attr('name'));
			self.after(styled);

			styled.click(function(event){
				unBuble(event);
				if (self.attr('disabled')){
					return;
				}

				var obj = $(this);
				$('.'+config.theme).each(function(){
					var item = $(this);
					if (item.attr('sourcename') == obj.attr('sourcename')) {
						item.removeClass('checked');
					}
				});
				obj.addClass('checked');
				$('#' + obj.attr('sourceid')).attr('checked', true);
				self.trigger('click');
			});

			// Установка клика на label
			$('label[for="' + self.attr('id') + '"]').click(function(event){
				event.preventDefault();
				$('span[sourceid="' + $(this).attr('for') + '"]').click();
				unBuble(event);
			});
		});

		return this;
	};
})(jQuery);
