// generic function can take array of strings or single string: string should be id of element to toggle
function toggleGeneric(id) {
	if(id instanceof Array) {
		$.each( id, function(i, item) {
			$('#'+item).toggle();
		});
	} else {
		$('#'+id).toggle();
	}
}

function standardToggle(){
	var clicked_id = this.id;
	var target_id = clicked_id.replace('trigger', 'target');
	var hide_class = clicked_id.replace(/^(.*?-)trigger.*?-\d+$/, "$1hide-target");
	//alert(clicked_id+':'+target_id+':'+hide_class);
	$('.'+hide_class).not('#'+target_id).hide();
	$('#'+target_id).toggle();
	return false;
}

function setToggle(target, toggle){
	$(target).bind('click', toggle);
}

function createToggle(target){
	$(target).bind('click', toggleFactory());
}

function setDefaultToggle(){
	$('.toggle-trigger').bind('click', standardToggle);
}

function showByDefault(target){
	$(target).show();
}

function addClass(target, className){
	$(target).addClass(className);
}

function highlight(target){
	$(target).addClass('highlight');
}

function removeClass(target, className){
	$(target).removeClass(className);
}

function swapToggleForHref(target, href){
	$(target).unbind('click', standardToggle);
	$(target).attr('href', href);
}

function swapHrefForToggle(target, toggle){
	$(target).attr('href', '#');
	$(target).bind('click', toggle);
}

function swapHrefForDefaultToggle(target){
	$(target).attr('href', '#');
	$(target).bind('click', standardToggle);
}

function unsetHref(target){
	$(target).attr('href', '#');
}

function unsetToggle(target, toggle){
	$(target).unbind('click', toggle);
}

function unsetDefaultToggle(target){
	$(target).unbind('click', standardToggle);
}

