document.observe("dom:loaded", function() {

	var flash_message = $('flash_message');
	if (flash_message) {
		flash_message.fade({ duration: 2.0, delay: 5.0 });
	}

	handle_default_fields();
});

function handle_default_fields() {
	var fields = $$('.hasdefault');

	if (fields) {
		for (var i=0; i < fields.length; i++) {
			var field = fields[i];
			if (field.value == "") {
				field.addClassName('default');
				field.value = field.title;
			}
			field.observe('blur', de_activate);
			field.observe('focus', activate);
		}
	}

}
 
function activate(event) {
	var element = event.element();
	if (element.hasClassName("default")) {
		element.removeClassName('default');
		element.value = '';
		element.select();
	}
}  
 
function de_activate(event) {
	var element = event.element();
	if (element.value == "") {
		element.addClassName('default');
		element.value = element.title;
	}
}

function attach_event(element, type, event)	{
	if(element.attachEvent)	{
		element.attachEvent('on' + type, event);
	} else {
		element.addEventListener(type, event, true);
	}
}
function detach_event(element, type, event)	{
	if(element.detachEvent)	{
		element.detachEvent('on' + type, event);
	} else {
		element.removeEventListener(type, event, true);
	}
}

function show_filter(element) {
	if ($(element).style.display == 'none') {
		appearThis($(element));
		$(element).parentNode.className = 'events-filter active';
	}
	else {
		fadeThis($(element));
		$(element).parentNode.className = 'events-filter'
	}
}

function appearThis(target, dur) {
	if (typeof dur == "undefined") dur = 0.2;
    new Effect.Appear(target, {duration: dur});
}

function fadeThis(target, dur) {
	if (typeof dur == "undefined") dur = 0.2;
    new Effect.Fade(target, {duration: dur});
}

