document.observe('dom:loaded', function() {
	$$('button.sexy').each(function(el) {
		el = $(el);
		el.setStyle({ position: 'absolute', top: '-9999px', left: '-9999px', visibility: 'hidden', tabindex: -1});
		var a = new Element('a', { href: '#', 'class': el.readAttribute('class')}).update(new Element('span').update(el.innerHTML));
		el.insert({ after: a});
		a.observe('click', function(eo) {
			eo.stop();
			$(this).up('form').submit();
		});
	});
	
	
	var fn_radio_change = function() {
		var el = $(this);
		var form = el.up('form');
		var label = form.select('label[for="'+el.identify()+'"]');
		if (!label)
			return;
		
		label = $(label[0]);
		
		if (el.readAttribute('type') == 'checkbox') {
			
			if (el.checked)
				label.addClassName('sexy');
			else
				label.removeClassName('sexy');
			
		} else {
			
			if (el.checked) {
				
				label.addClassName('sexy');
				
				el.up('form').select('input[type="radio"][name="'+el.readAttribute('name')+'"]').each(function(Xel) {
					if (Xel === el)
						return;
					var label = $(Xel).up('form').select('label[for="'+Xel.identify()+'"]');
					if (!label)
						return;
					$(label[0]).removeClassName('sexy');
					if (Xel.hasClassName('set-hidden'))
						form.removeClassName('current-'+Xel.name.replace(/(\[|\])/, '')+'-'+Xel.value);
				});
				
				if (el.hasClassName('set-hidden'))
					form.addClassName('current-'+el.name.replace(/(\[|\])/, '')+'-'+el.value);
			}
			else
				label.removeClassName('sexy');
			
		}
	}
	
	$$('form').each(function(form) {
		var sel = $(form).select('input[type="radio"], input[type="checkbox"]');
		sel.invoke('observe', 'click', fn_radio_change);
		sel.each(function(el) { (fn_radio_change.bind(el))(); });
	});
});
