var __eventAction_txt;
var __eventSubmit_btn;

function verifyEvent(formname) {
	var form = document.forms[formname];	
	var id_txt;
	var action_txt;
	var title_txt;
	var desc_txt;
	var day_dd;
	var month_dd;
	var year_dd;
	var type_dd;
	var access_dd;
	var now = new Date();
	var today = now.getFullYear();
	for (var i=0; i<form.elements.length; i++) {
		if (form.elements[i].name == 'id') id_txt = form.elements[i];
		if (form.elements[i].name == 'action') action_txt = form.elements[i];
		if (form.elements[i].name == 'title') title_txt = form.elements[i];
		if (form.elements[i].name == 'description') desc_txt = form.elements[i];
		if (form.elements[i].name == 'day') day_dd = form.elements[i];
		if (form.elements[i].name == 'month') month_dd = form.elements[i];	
		if (form.elements[i].name == 'year') year_dd = form.elements[i];
		if (form.elements[i].name == 'type') type_dd = form.elements[i];
		if (form.elements[i].name == 'access') access_dd = form.elements[i];
		if (form.elements[i].name == 'submit') __eventSubmit_btn = form.elements[i];
	}
	__eventAction_txt = action_txt;
	// Check Texts.
	if (title_txt.value == "") {
		alert("Please specify a title");
		return false;
	}
	if (tinyMCE.getContent() == "") {
		alert("Please specify a description");
		return false;	
	}
	// Check Dates.
	var day = day_dd.options[day_dd.selectedIndex].value;
	var mon = month_dd.options[month_dd.selectedIndex].value;
	var yer = year_dd.options[year_dd.selectedIndex].value;
	if (mon < now.getMonth()+1 && yer == now.getFullYear()) {
		alert("This event is in the past. Please correct.");
		return false;
	}
	if (day < now.getDate() && mon <= now.getMonth()+1 && yer == now.getFullYear()) {
		alert("This event is in the past. Please correct.");
		return false;
	}
	return true;
}

function populateEventPanel(formname, action, id, title, desc, day, mon, year, typ, access) {
	var str = "id: "+id;
	str += "\ntitle: "+title;
	str += "\ndesc: "+desc;
	str += "\nday: "+day;	
	str += "\nmon: "+mon;	
	str += "\nyear: "+year;
	str += "\ntyp: "+typ;	
	str += "\naccess: "+access;	
	var form = document.forms[formname];	
	var id_txt;
	var action_txt;
	var title_txt;
	var desc_txt;
	var day_dd;
	var month_dd;
	var year_dd;
	var type_dd;
	var access_dd;
	var now = new Date();
	var today = now.getFullYear();
	for (var i=0; i<form.elements.length; i++) {
		if (form.elements[i].name == 'id') id_txt = form.elements[i];
		if (form.elements[i].name == 'action') action_txt = form.elements[i];
		if (form.elements[i].name == 'title') title_txt = form.elements[i];
		if (form.elements[i].name == 'description') desc_txt = form.elements[i];
		if (form.elements[i].name == 'day') day_dd = form.elements[i];
		if (form.elements[i].name == 'month') month_dd = form.elements[i];	
		if (form.elements[i].name == 'year') year_dd = form.elements[i];
		if (form.elements[i].name == 'type') type_dd = form.elements[i];
		if (form.elements[i].name == 'access') access_dd = form.elements[i];
		if (form.elements[i].name == 'submit') __eventSubmit_btn = form.elements[i];
	}
	id_txt.value = id;
	action_txt.value = action;
	title_txt.value = title;
	desc_txt.value = desc;
	for (var i=0; i<day_dd.options.length; i++) {
		if (day_dd.options[i].value == day) {
			day_dd.selectedIndex = i;
			break;	
		}	
	}
	for (var i=0; i<month_dd.options.length; i++) {
		if (month_dd.options[i].value == mon) {
			month_dd.selectedIndex = i;
			break;	
		}	
	}
	for (var i=0; i<year_dd.options.length; i++) {
		if (year_dd.options[i].value == year) {
			year_dd.selectedIndex = i;
			break;	
		}	
	}
	for (var i=0; i<type_dd.options.length; i++) {
		if (type_dd.options[i].value == typ) {
			type_dd.selectedIndex = i;
			break;	
		}	
	}
	for (var i=0; i<access_dd.options.length; i++) {
		if (access_dd.options[i].value == access) {
			access_dd.selectedIndex = i;
			break;	
		}	
	}
	tinyMCE.updateContent("description_txt");
}

function requestEdit(id) {
	new Ajax.Request('/include/modules/core/events/GetEvent.php', {
	    method:'get',
	    parameters: {id: id},
	    onSuccess: function(transport, json){
	    	if (json) {
	    		$('add_event_button').hide();
	    		$('save_event_button').show();
	    		$('eventsformpanel').show();
	    		populateEventPanel("eventsform", "save", json.id, json.title, json.description, json.d, json.m, json.y, json.type, json.access);
	    	} else {
	    		alert("Sorry, but the data received cannot be understood.");
	    	}
    	},
    	onFailure: function(){ 
    		alert('Something went wrong...') 
    	}
	});
}

function openEventsPanel(formname) {
	var now = new Date();
	populateEventPanel(formname, 'add', '', '', '', now.getDate(), now.getMonth()+1, now.getFullYear(), 1, 1);
	show('add_event_button','inline');
	hide('save_event_button');
	toggleDisplay('eventsformpanel');
}


function requestRemove(formname, id) {
	var form = document.forms[formname];
	var id_txt;
	var action_txt;
	var submit_btn;
	for (var i=0; i<form.elements.length; i++) {
		if (form.elements[i].name == 'id') id_txt = form.elements[i];
		if (form.elements[i].name == 'action') action_txt = form.elements[i];
		if (form.elements[i].name == 'submit') submit_btn = form.elements[i];
	}
	if (confirm("Are you sure you want to delete this event?")) {
		action_txt.value = "remove";
		id_txt.value = id;
		submit_btn.click();
		return true;
	}
	return false;
}

function requestAdd(formname) {
	var form = document.forms[formname];
	if (verifyEvent(formname)) {
		__eventAction_txt.value = "add";
		__eventSubmit_btn.click();
	} else {
		return false;	
	}
}

function requestSave(formname) {
	var form = document.forms[formname];
	if (verifyEvent(formname)) {
		__eventAction_txt.value = "save";
		__eventSubmit_btn.click();
	} else {
		return false;	
	}	
}

function updateArticleEditor() {
	tinyMCE.triggerSave();
}