function highlight(container)
{
	container.addClass('highlight');
}

function unhighlight(container)
{
	container.removeClass('highlight');
}

window.addEvent('domready', function(){

	/* Print links */
	$$('a.print').each(function(el){
		el.addEvent('click', function(e){
			e = new Event(e).stop();
			window.print();
		});
	});
	
	/* Validation */
	if ($('theForm'))
	{
		$('theForm').addEvent('submit', function(e){
			var valid = true;
			$$('#theForm p.highlight').each(function(el){
				unhighlight(el);
			});
			$$('label span.required').each(function(el){
				if (el.hasClass('js-required') == false)
				{
					var label = el.getParent();
					var p = label.getParent();
					var input = label.getNext();
					switch(input.getProperty('type'))
					{
						case 'radio':
							var check = false;
							p.getElements('input.radio').each(function(input){
								if (input.checked == true)
								{
									check = true;
								}
							});
							if (check == false)
							{
								valid = false;
								highlight(p);
							} else
							{
								unhighlight(p);
							}
						break;
						
						default:
							if ((input.value == '') || (input.value == null))
							{
								valid = false;
								highlight(p);
							} else
							{
								unhighlight(p);
							}
						break;
					}
				}
			});
			
			if (valid == false)
			{
				e = new Event(e).stop();
				window.alert('Please fill in all required fields.');
			}
		});
		
		/* Required togglers */
		$$('span.js-required').each(function(el){
			var rel = el.getProperty('rel').split('||');
			
			var on = $(rel[0]);
			var off = $(rel[1]);
			
			var p = el.getParent().getParent();
			//var slider = new Fx.Slide(p);
			if (on.checked == false)
			{
				//slider.hide();
			}
			
			on.addEvent('click', function(){
				el.removeClass('js-required');
				//slider.slideIn();
			});
			
			off.addEvent('click', function(){
				el.addClass('js-required');
				//slider.slideOut();
			});
		});
	}
});
