jQuery.fn.radiobutton = function(options) {

	var defaults = {
		clickAll: true,
		liInline: false
	};
	var opts = jQuery.extend(defaults, options),
		object = jQuery(this);

	object.addClass('radiobutton');
	if(opts.liInline){
		object.addClass('liInline');
	}
	//removing radio
	object.find("input[type=radio]").each(function(){
		$(this).hide();
	});

	//adding images true false
	object.find("li").each(function(){
		if($(this).find("input[type=radio]").size()>0){
			if($(this).find("input[type=radio]").attr('checked') == true){
				$(this).addClass('checked');
				$(this).prepend('<span class="radio-state"></span>');
			}
			else{
				$(this).addClass('unchecked');
				$(this).prepend('<span class="radio-state"></span>');
			}
		}
	});
	//binding onClick function
	if(opts.clickAll){
		object.find("li").click(function(e){

            e.preventDefault();
            radio_li = $(this);
            radio = $(this).find("input[type=radio]");

            ul = $(this).parent('ul');
            ul.find("li").find("input[type=radio]").attr('checked',false);
            ul.find("li").removeClass('checked');
            ul.find("li").addClass('unchecked');

            radio.attr('checked',true);
            radio_li.removeClass('unchecked');
            radio_li.addClass('checked');
        });
	}else{
        object.find('span.radio-state').click(function(e){

            e.preventDefault();
            radio_li = $(this).parent('li');
            radio = $(this).parent('li').find("input[type=radio]");

            ul = $(this).parent('li').parent('ul');
            ul.find("li").find("input[type=radio]").attr('checked',false);
            ul.find("li").removeClass('checked');
            ul.find("li").addClass('unchecked');

            radio.attr('checked',true);
            radio_li.removeClass('unchecked');
            radio_li.addClass('checked');
        });

	}


	//mouse over / out
	object.find("li").find('span').bind('mouseover', function(e){
		$(this).parent('li').addClass('hover');
	});
	object.find("li").find('span').bind('mouseout', function(e){
		$(this).parent('li').removeClass('hover');
	});
}
