YAHOO.namespace("BOULDER");
var BOULDER = YAHOO.BOULDER;
var Dom = YAHOO.util.Dom;
var Event = YAHOO.util.Event;

function decodeJson(text) {
	var json = text.substring(text.indexOf('{'), text.lastIndexOf('}') + 1);
	var data = eval('(' + json + ')');
	return data;
}

BOULDER.EventManager = {
	
	popup:null,
	
	loadDetails : function(id, date, event, desc, loc, time, full) {
		var old_id = Dom.get('event_id').value;
		var display = true;
		var description = Dom.get('description')
		
		if (parseInt(old_id) == id && description.style.display == 'block')
		{
			display = false;
		}
		
		
		Dom.get('event_id').value = id;
		Dom.get('event_date').innerHTML = date;
		Dom.get('event_name').innerHTML = event;
		Dom.get('event_desc').innerHTML = desc;
		Dom.get('event_location').innerHTML = loc;
		Dom.get('event_time').innerHTML = time;
		
		
		if (display)
		{
			Dom.get('confirm').style.display = 'none';
			Dom.get('full').style.display = 'none';
			Dom.get('registering').style.display = 'none';
			Dom.get('register-form').style.display = 'block';
			
			var frm = Dom.get('frm-register');
			frm.attendee_name.value = '';
			frm.attendee_email.value = '';
			frm.attendee_address.value = '';
		
			description.style.display = 'block';
			Dom.get('focus_guy').focus();
		}
		else
		{
			description.style.display = 'none';
		}
		
		if (full == 'full')
		{
			document.getElementById('register-form').style.display = 'none';
			document.getElementById('full').style.display = 'block';
		}
		else
		{
			document.getElementById('register-form').style.display = 'block';
                        document.getElementById('full').style.display = 'none';
		}

		return;
	},
	
	
	
	formValidate : function(frm)
	{
		frm.attendee_name.parentNode.parentNode.className = '';
		frm.attendee_email.parentNode.parentNode.className = '';
		frm.attendee_address.parentNode.parentNode.className = '';
		
		Dom.get('validate_name').style.display = 'none';
		Dom.get('validate_email').style.display = 'none';
		Dom.get('validate_address').style.display = 'none';
		
		if (frm.attendee_name.value == '')
		{
			frm.attendee_name.parentNode.parentNode.className = 'invalid';
			Dom.get('validate_name').style.display = 'block';
			return false;
		}
		if (frm.attendee_email.value == '')
		{
			frm.attendee_email.parentNode.parentNode.className = 'invalid';
			Dom.get('validate_email').style.display = 'block';
			return false;
		}
		if (frm.attendee_address.value == '')
		{
			frm.attendee_address.parentNode.parentNode.className = 'invalid';
			Dom.get('validate_address').style.display = 'block';
			return false;
		}	
		
		YAHOO.util.Connect.setForm(frm);
		YAHOO.util.Connect.asyncRequest("POST", "register.php", BOULDER.callback);
		Dom.get('register-form').style.display = 'none';
		Dom.get('registering').style.display = 'block';
	},
	
	showRegister : function(frm) {
		var frm = Dom.get('frm-register');
		
		frm.attendee_name.value = '';
		frm.attendee_email.value = '';
		frm.attendee_address.value = '';
		
		Dom.get('confirm').style.display = 'none';
		Dom.get('full').style.display = 'none';
		Dom.get('registering').style.display = 'none';
		Dom.get('register-form').style.display = 'block';
	}

}

BOULDER.callback = {
	failure : function(o) {
		alert('A system error has occurred please try again');
	},
	
	success : function(o) {
		var data = decodeJson(o.responseText);
		
		Dom.get('registering').style.display = 'none';
		if (data.status == 'failed')
		{
			alert('There was a system error, please try again.');
			Dom.get('register-form').style.display = 'block';
			return false;
		}
		
		if (data.status == 'full')
		{
			Dom.get('full').style.display = 'block';
			return false;
		}
		
		Dom.get('post-email').innerHTML = data.email;
		Dom.get('confirm').style.display = 'block';
	}
}
