/* ./js/musings.js */
function getExpandedMusings(){
	var ids = new Array();
	for(var i = 0; true; i++){
		try{
			me = document.getElementById("list_" + i);
			if(me.style.display != 'none'){
				ids.push(i); 
			}
		}catch(e){
			break;
		}
	}
	return ids;
}
function getMusFormInfo(){
	var info = new Array();
	info['edit_id'] = document.getElementsByName("edit_id")[0].getAttribute("value");
	info['delete_mus_id'] = document.getElementsByName("delete_mus_id")[0].getAttribute("value");
	info['title'] = document.getElementsByName("mus_title")[0].value;
	info['content'] = document.getElementsByName("mus_content")[0].value;
	info['user_id'] = document.getElementsByName("current_user_id")[0].getAttribute("value");
	try{
		var select = document.getElementsByName("ann_id")[0];
		for(var i = 0; i < select.options.length; i++){
			if(select.options[i].selected){
				info['ann_id'] = select.options[i].getAttribute("value");
				break;
			}
		}
	}catch(e){
		info['ann_id'] = 0;
	}
	return info;
}
function setTempMusHeader(string){
	setMusHeader(string);
	window.setTimeout(function (){
			setMusHeader("New Musing");
		},
		5000
	);
}
function setMusHeader(string){
	document.getElementById("edit_musing_header").innerHTML = string;
}
function musIndicator(){
	document.getElementById("edit_musing_header").innerHTML = "Loading...";
}
function loadMusing(){
	document.getElementById("reset_button").style.display = "inline";
	document.getElementById("delete_button").style.display = "inline";
	var xml = request.xml;
	musing = xml.getElementsByTagName("musing")[0];
	var ann_id;
	var mus_id = musing.getElementsByTagName("mus_id")[0].firstChild.nodeValue;
	var title = musing.getElementsByTagName("mus_title")[0].firstChild.nodeValue;
	setMusHeader("Edit \"" + title + "\"");
	var content = musing.getElementsByTagName("mus_content")[0].firstChild.nodeValue;
	document.getElementsByName("edit_id")[0].setAttribute("value", mus_id);
	document.getElementsByName("delete_mus_id")[0].setAttribute("value", mus_id);
	document.getElementsByName("mus_title")[0].setAttribute("value", title);
	document.getElementsByName("mus_title")[0].value = title;
	document.getElementsByName("mus_content")[0].value = content;	
	if(musing.getElementsByTagName("ann_id")[0].firstChild.nodeValue != "none"){
		ann_id = musing.getElementsByTagName("ann_id")[0].firstChild.nodeValue;
		options = document.getElementsByTagName("option");
		for(i = 0; i < options.length; i++){
			if(options[i].getAttribute("value") == ann_id){
				options[i].selected = true;
				break;
			}
		}
	}else{
		options = document.getElementsByTagName("option");
		for(i = 0; i < options.length; i++){
			if(options[i].selected){
				options[i].selected = false;
				break;
			}
		}
	}
}
function getMusing(id){
	musIndicator();
	request("./interfaces/loadMusing.php?mid=" + id, loadMusing, "");
}
function resetMusing(){
	document.getElementById("reset_button").style.display = "none";	
	document.getElementById("delete_button").style.display = "none";
	document.getElementsByName("edit_id")[0].setAttribute("value", "")
	document.getElementsByName("mus_title")[0].setAttribute("value", "");
	document.getElementsByName("mus_title")[0].value = "";
	document.getElementsByName("mus_content")[0].value = "";
	options = document.getElementsByTagName("option");
	for(i = 0; i < options.length; i++){
		if(options[i].selected){
			options[i].selected = false;
			break;
		}
	}
	setMusHeader("New Musing");
}
function showMonth( id, listName ){
	if(document.getElementById(id).style.display == "list-item"){
		document.getElementById(id).style.display = "none";
	}else{
		document.getElementById(id).style.display = "list-item";
	}
}
function saveNewMusing(){
	info = getMusFormInfo();
	if(!info['title'].length > 0){
		setMusHeader("You forgot the title!");
		return;
	}
	if(!info['content'].length > 0){
		setMusHeader("You forgot the body!");
		return;
	}
	if(info['edit_id']){
		saveOldMusing(info);
		return;
	}
	expanded = getExpandedMusings().join("|");
	postString = "title=" + fixPlus(info['title'])
				+ "&content=" + fixPlus(info['content'])
				+ "&ann_id=" + info['ann_id'] 
				+ "&user_id=" + info['user_id'] 
				+ "&expanded=" + expanded;
	request(
		"./interfaces/saveMusing.php", 
		function (){
			resetMusing();
			setTempMusHeader("Your Musing Has Been Saved"); 
			document.getElementById("edit_divs_left_content").innerHTML = request.text;
		}, 
		postString
	);
	setMusHeader("Saving...");
}
function saveOldMusing(info){
	var expanded = getExpandedMusings().join("|");
	postString = "user_id=" + info['user_id']
				+ "&mus_id=" + info['edit_id']
				+ "&title=" + fixPlus(info['title'])
				+ "&content=" + fixPlus(info['content'])
				+ "&ann_id=" + info['ann_id']
				+ "&expanded=" + expanded;
	request(
		"./interfaces/editMusing.php",
		function (){
			resetMusing();
			setTempMusHeader("Your Changes Have Been Saved");
			document.getElementById("edit_divs_left_content").innerHTML = request.text;
		},
		postString
	);
	setMusHeader("Saving...");
}
function deleteMusing(){
	info = getMusFormInfo();
	expanded = getExpandedMusings().join("|");
	postString = "mus_id=" + info['delete_mus_id']
				+ "&user_id=" + info['user_id']
				+ "&expanded=" + expanded;
	request(
		"./interfaces/deleteMusing.php",
		function (){
			resetMusing();
			setTempMusHeader("\"" + info['title'] + "\" was successfully deleted.")
			document.getElementById("edit_divs_left_content").innerHTML = request.text;
		},
		postString
	);
	setMusHeader("Deleting...");	
}
