// Switches an element's display parameter
// @param	string			The ID of the element to either display or hide
// @param	bool			Whether this element should be "inline" (true) or a "block" (false) - Optional
function divSwitch(id, inline)
{
	document.getElementById(id).style.display = (document.getElementById(id).style.display == "none") ? ((inline) ? "inline" : "block") : "none";
}
// Switches an element's display parameter to either "inline" or "block" (cannot set to "none")
// @param	object/string	The element (or ID) that will be displayed
// @param	bool			Whether this element should be "inline" (true) or a "block" (false) - Optional
function divSwitchOpen(element, inline)
{
	if (typeof(element) === 'string') {
		var element = document.getElementById(element);
	}
	
	if (element.style.display == "none") {
		element.style.display = (inline) ? "inline" : "block";
	}
}

// Will ONLY display an ID when the checkbox "element" is checked
// @param	object/string	The element (or ID) that will be displayed
// @param	object/string	The element (or ID) of the checkbox that needs to be checked
function displayWhenChecked(element, element2)
{
	if (typeof(element) === 'string') {
		var element = document.getElementById(element);
	}
	if (typeof(element2) === 'string') {
		var element2 = document.getElementById(element2);
	}
	
	element.style.display = (element2.checked) ? "block" : "none";
}


// ----- CSS FUNCTIONS -----
// -------------------------
// Adds a new class to the "element"
// @param	object/string	The element that the class will be added to
// @param	string			The class that will be added to the element
function addClass(element, class_name)
{
	if (typeof(element) === 'string') {
		var element = document.getElementById(element);
	}
	
	element.className += " " + class_name;
}

// Switches an "element"s classes depending on what it is currently set to
// @param	object/string	The element that will be altered
// @param	string			The class that will either be added or removed
// @param	string			The default class(es) that the element has to have - Optional
function switchClass(element, class_name, defaults)
{
	if (typeof(element) === 'string') {
		var element = document.getElementById(element);
	}
	
	if (element.className == defaults + " " + class_name) {
		element.className = defaults;
	}
	else {
		this.addClass(element, class_name);
	}
}

// Switches an "elements" ID depending on what it is currently set to
// @param	object/string	The element that will be altered
// @param	string			The default ID for the element
// @param	string			The ID to switch to (if the element's ID is default)
function switchID(element, default_id, switch_id)
{
	if (typeof(element) === 'string') {
		var element = document.getElementById(element);
	}
	
	element.id = (element.id == switch_id) ? default_id : switch_id;
}