window.onload = function() {
    
    $$('form.checkRequiredFields').each(function(f) {
        f.addEvent('submit', function(e) {
        
            var complete = true;
            $ES('.required', f.id).each(function(el){
                if (el.value == '') {
                    complete = false;
                    
                    if (!el.hasClass('checked')) {
	                    var notifier = new Element('span');
	                    notifier.setAttribute('class', 'requiredNotification');
	                    notifier.setAttribute('id', 'required' + el.id);
	                    notifier.setHTML('&nbsp;* Required');
	                    notifier.injectAfter(el);
	                    
	                    el.addClass('checked');
	                 }
                } else {
                    if (el.hasClass('checked')) {
                        el.removeClass('checked');
                        $('required' + el.id).remove();                
                    }
                }
            });
            
            if (!complete) {
                var myEvent = new Event(e);
                myEvent.stop();
                alert('You must fill in all required fields');
            }
        });
        
        $$('.required', f.id).each(function(el) {
            if (el.getAttribute('type') == 'radio') {
                el.addEvent('click', function(e) {
                    //alert('hidden_' + el.name);
                    $('hidden_' + el.name).value = el.value;
                });
            }
        });
    });
}