selectedTab = "tabLatest";
selectedCalTab = "upcoming";

function showEvent(id) {
	css_remove(document.getElementById('upcoming'), 'selected');
	css_remove(document.getElementById('past'), 'selected');
	$.ajax({
		url: "/ajax/event.php",
		type: "POST",
		data: "id=" + id,
		success: function(data) {
			document.getElementById('bottom').innerHTML = data;
			var coords = findPos(document.getElementById('bottom'));
			window.scrollTo(0, (coords[1]));
		}
	});
}

function calendarNumberLink(month, day, year) {
	$.ajax({
		url: "/ajax/dayevents.php",
		type: "POST",
		data: "month=" + month + "&day=" + day + "&year=" + year,
		success: function(data) {
			document.getElementById('dayevents').innerHTML = data;
		}
	});
}

function switchTabs(newTab) {
	selectedCalTab = newTab;
	if (newTab == 'upcoming') {
		css_add(document.getElementById('upcoming'), 'selected');
		css_remove(document.getElementById('past'), 'selected');
	} else {
		css_add(document.getElementById('past'), 'selected');
		css_remove(document.getElementById('upcoming'), 'selected');
	}
	filterEvents(document.getElementById('calendar_filter'), newTab);
}


function filterEvents(form, type) {
	if (!type) type = selectedCalTab;
	$.ajax({
		url: "/ajax/events.php",
		type: "POST",
		data: "topics=" + form_checkboxes_checked(form, 'topics') + "&committees=" + form_checkboxes_checked(form, 'committees') + "&type=" + type,
		success: function(data) {
			document.getElementById('calendar_results').innerHTML = data;
		}
	});
}

function filterToggle(field) {
	form_checkbox_toggle(field);
	filterEvents(document.getElementById('calendar_filter'));
}

function toggleEvent(id) {
	if (document.getElementById('event_' + id + '_description').style.display == 'block') {
		//visible, so hide
		document.getElementById('event_' + id + '_description').style.display = 'none';
	} else {
		//hidden, so make visible
		document.getElementById('event_' + id + '_description').style.display = 'block';
	}
}

function toggleHelp() {
	if (!cookie_get('show_help')) {
		//hidden, so show it
		$("#help_inner").slideDown("slow");
		cookie_set('show_help', 'yes', 100);
		document.getElementById('help_controller_tag').innerHTML = 'CLOSE';
		document.getElementById('help_controller_tag').className = 'up';
	} else {
		//showing, so hide it
		$("#help_inner").slideUp("slow");
		cookie_set('show_help', '', -1);
		document.getElementById('help_controller_tag').innerHTML = 'ABOUT THE LIVING CITIES EVENTS PAGE';
		document.getElementById('help_controller_tag').className = 'down';
	}
}

function jumpToArchive(where) {
	if (where.length) {
		where = where.split('-');
		location.href = '/action/archive/?month=' + where[1] + '&year=' + where[0];
	}
}

function expandDiv(which) {
	if (obj = document.getElementById(which)) {
		var disp = obj.style.display;
		var elems = getElementsByClass("hiddenSection");
		for (var i = 0; i < elems.length; i++) elems[i].style.display = "none";
		if (disp != "block") obj.style.display = "block";
	}
}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function tab_roll(what, how) {
	if (what != selectedTab) {
		var state = (how == "over") ? "roll" : "off";
		document.getElementById(what).src = '/images/home/' + what + '-' + state + '.png';
	}
}

function tab_toggle(what) {
	if (what == "members") {
		document.getElementById("tabLatest").src = '/images/home/tabLatest-off.png';
		document.getElementById("tabMembers").src = '/images/home/tabMembers-on.png';
		document.getElementById("pallets").style.display = "none";
		document.getElementById("members").style.display = "block";
		selectedTab = "tabMembers";
	} else {
		document.getElementById("tabLatest").src = '/images/home/tabLatest-on.png';
		document.getElementById("tabMembers").src = '/images/home/tabMembers-off.png';
		document.getElementById("pallets").style.display = "block";
		document.getElementById("members").style.display = "none";
		selectedTab = "tabLatest";
	}
}

function a_newwin(domain) { 
	//quick hack to expand div if there's a hashtag
	if (location.hash) expandDiv(location.hash.substr(1));

	var anchors = document.getElementsByTagName("a");
	for (var i = 0; i < anchors.length; i++) {
		if (anchors[i].href) {
			var href = anchors[i].href.toLowerCase().replace("www.", "");
			domain = domain.toLowerCase().replace("www.", "");
			if ((href.indexOf('http://') != -1) && (href.indexOf(domain) == -1) && (href.indexOf('backend.livingcities') == -1)) {
				//we are dealing with an absolute url to an external site
				anchors[i].target = "_blank";
			}
		} 
	}
}

/* blog section not in use
function validate_blog_comments(form) {
	var errors = new Array();
	if (form_text_empty(form.title)) errors[errors.length] = 'the name field is empty';
	if (!form_field_email(form.email)) errors[errors.length] = 'the email field is not valid';
	if (form_tinymce_empty(form.description	)) errors[errors.length] = 'the comment field is empty';
	
	if (form_errors(errors)) {	
		new Ajax.Request('/ajax/comment.php', {
			method: 'post',
			parameters: Form.serialize(form),
			onSuccess: function(transport) {
				if (transport.responseText.substr(0, 8) == "refresh_") {
					form_tinymce_clear("description"); 
					refreshComments(transport.responseText.substr(8));
				} else {
					form.innerHTML = transport.responseText;
				}
			}
		});
	}
	
	return false;
}

function refreshComments(id) {
	new Ajax.Request('/ajax/comments.php', {
		method: 'post',
		parameters: { 'post_id' : url_id() },
		onSuccess: function(transport) {
			document.getElementById("comments").innerHTML = transport.responseText;
			new Effect.Highlight("comment_" + id, { startcolor:'#ffff99', endcolor:'#ffffff', restorecolor:'#ffffff' } );
		}
	});
}

function deleteComment(which) {
	//send request
	if (confirm("Are you sure you want to delete this comment?")) {
		new Ajax.Request('/ajax/delete.php', {
			method: 'post',
			parameters: { 'delete':which },
			onSuccess: function(transport) {
				new Effect.BlindUp("comment_" + which);
				//feedback here
				//alert(transport.responseText);
			}
		});	
	}
}
*/

function toggleRSVPAbout() {
	$('#rsvp_about').slideToggle();
}

function closeEvent(id) {
	var desc = document.getElementById('detail' + id);
	desc.style.display = 'none';
	open = false;
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} 
		while (obj = obj.offsetParent);
		return Array(curleft, curtop);
	}
}