var index;

function onResponse() 
{
	if(checkReadyState(request))
	{
		document.getElementById('posts').innerHTML = "";
		var	response = request.responseXML.documentElement;
		var _post = response.getElementsByTagName('post');
		
		if(_post.length == 0)
		{
			document.getElementById('posts').innerHTML = "There are currently no available posts.<br/>Click the \"add a post\" button above to add a new post";	
		}
		
		var postDisplay = "";
		var formPostDisplay = "";
		
		for(var i=0; i<_post.length; i++)
		{
			var _title = response.getElementsByTagName('title')[i].firstChild.data;
			var _description = response.getElementsByTagName('description')[i].firstChild.data
			var _date = response.getElementsByTagName('date')[i].firstChild.data;
			var _id = response.getElementsByTagName('id')[i].firstChild.data;
			
			if(_title == "" && _description == "")
			{
				postDisplay = "style='display:none'";
				formPostDisplay = "style=''";
			}
			else
			{
				postDisplay = "style=''";
				formPostDisplay = "style='display:none'";	
			}
			
			var html = "<div class='post' id='post_"+ i +"' "+ postDisplay +">"
					+ "<div class='title' id='title_"+ i +"'>"+ _title +"</div>"
					+ "<div class='description' id='description_"+ i +"'>"+ _description +"</div>"
					+ "<div class='date' id='date_"+ i +"'>"+ _date +"</div>"
					+ "<a href=\"javascript:toggle('"+ i +"');\">edit this post</a><br/>"
					+ "</div>"
					+ "<div class='post' id='formPost_"+ i +"' "+ formPostDisplay +">"
					+ "<div class='title'><input type='text' name='title' id='formTitle_"+ i +"' size='60' value='"+ _title +"'></div>"
					+ "<div class='description'><textarea type='text' id='formDescription_"+ i +"' wrap='virtual' cols='60' rows='15'>"+ _description +"</textarea></div>"
					+ "<div class='date'>"+ _date +"</div>"
					+ "<input type='button' name='cancel' value='cancel' onclick=\"javascript:toggle('"+ i +"');\">"
					+ "<input type='button' name='delete' value='delete this post' onclick=\"javascript:deletePost("+ _id +");\">"
					+ "<input type='button' name='submit' value='save this post' onclick=\"javascript:saveNewPost("+ _id +","+ i +");\">"
					+ "</div>"
					+ "<p>&nbsp;</p>";
			
			document.getElementById('posts').innerHTML += html;
		}
	}
}

function saveNewPost(_id, _index)
{
	var newDescription = document.getElementById("formDescription_"+ _index).value;
	var newTitle = document.getElementById("formTitle_"+ _index).value;
	setIndex(_index);
	sendRequest("services/post.php?method=save&id="+ _id +"&title="+ newTitle +"&description="+ newDescription, getPost);
}

function deletePost(_id)
{
	sendRequest("services/post.php?method=delete&id="+ _id, onResponse);
}

function getPost()
{
	if(checkReadyState(request))
	{
		var response = request.responseXML.documentElement;
		var _title = response.getElementsByTagName('title')[getIndex()].firstChild.data;
		var _description = response.getElementsByTagName('description')[getIndex()].firstChild.data;
		var _date = response.getElementsByTagName('date')[getIndex()].firstChild.data;
		
		document.getElementById("title_"+ getIndex()).innerHTML = _title;
		document.getElementById("description_"+ getIndex()).innerHTML = _description;
		document.getElementById("date_"+ getIndex()).innerHTML = _date;
		toggle(getIndex());
	}
}

function toggle(id)
{
	if(document.getElementById("formPost_"+id).style.display == 'none')
	{
		document.getElementById("formPost_"+id).style.display = '';
		document.getElementById("post_"+id).style.display = 'none';
	}
	else if(document.getElementById("post_"+id).style.display == 'none')
	{
		document.getElementById("post_"+id).style.display = '';
		document.getElementById("formPost_"+id).style.display = 'none';
	}
}

function setIndex(_index) { index = _index; }
function getIndex() { return index; }