$.fn.checkbox_decor = function() {
	el_array = $(this);
	
	el_array.each(function(){
		element = $(this);
		element.wrap("<div class='checkbox_container'></div>");
		element_value = element.attr('value');
		if (element_value == '') {
			element_value = "&nbsp;";}
		element_name = element.attr('name');
		container = element.parents(".checkbox_container");
		if($(element).attr('checked')==true) container.prepend("<a href='"+element_name+"' class='checkbox_href checked'>"+element_value+"</a>");
		else container.prepend("<a href='"+element_name+"' class='checkbox_href'>"+element_value+"</a>");
		element.addClass('replaced');
		element.css({'display':'none'});
	});
		$("a.checkbox_href").click(function(){
			checkbox_a = $(this);
			container = checkbox_a.parents(".checkbox_container");
			checkbox = container.find("input[type='checkbox'].replaced");
			if (checkbox_a.hasClass('checked')) {
				checkbox_a.removeClass('checked');
				checkbox[0].checked = false;}
			else {
				checkbox_a.addClass('checked');
				checkbox[0].checked = true;}
			return false;
		});
		$("a.checkbox_href").mouseover(function(){
			checkbox_a = $(this);
			container = checkbox_a.parents(".checkbox_container");
			checkbox = container.find("input[type='checkbox']");
			label_a = $("label[for='"+checkbox.attr('id')+"']");
			label_a.addClass('hover');
			checkbox_a.addClass('hover');
		});
		$("a.checkbox_href").mouseout(function(){
			checkbox_a = $(this);
			container = checkbox_a.parents(".checkbox_container");
			checkbox = container.find("input[type='checkbox']");
			label_a = $("label[for='"+checkbox.attr('id')+"']");
			label_a.removeClass('hover');
			checkbox_a.removeClass('hover');
		});
}


$(document).ready(function(){
	$("input[type='checkbox']").checkbox_decor();
});
