var Page = new Object();
Page.index;

Page.onResponse = function() 
{
	if(Ajax.CheckReadyState(Ajax.request))
	{
		document.getElementById('posts').innerHTML = "";
		var	response = Ajax.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 new 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
					+ "&nbsp;&nbsp;<a href=\"javascript:Page.toggle('"+ i +"');\">edit</a></div>"
					+ "<div class='description' id='description_"+ i +"'>"+ _description +"</div>"
					+ "<div class='date' id='date_"+ i +"'>"+ _date +"</div>"
					+ "</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:Page.toggle('"+ i +"');\">"
					+ "<input type='button' name='delete' value='delete' onclick=\"javascript:Page.deletePost("+ _id +");\">"
					+ "<input type='button' name='submit' value='save' onclick=\"javascript:Page.saveNewPost("+ _id +","+ i +");\">"
					+ "</div>";
			
			document.getElementById('posts').innerHTML += html;
		}
	}
}

Page.saveNewPost = function(_id, _index)
{
	var newDescription = document.getElementById("formDescription_"+ _index).value;
	var newTitle = document.getElementById("formTitle_"+ _index).value;
	Page.setIndex(_index);
	Ajax.Request("services/connector.php?method=save&id="+ _id +"&title="+ newTitle +"&description="+ newDescription, Page.getPost);
}

Page.deletePost = function(_id)
{
	Ajax.Request("services/connector.php?method=delete&id="+ _id, Page.onResponse);
}

Page.getPost = function()
{
	if(Ajax.CheckReadyState(Ajax.request))
	{
		var response = Ajax.request.responseXML.documentElement;
		var _title = response.getElementsByTagName('title')[Page.getIndex()].firstChild.data;
		var _description = response.getElementsByTagName('description')[Page.getIndex()].firstChild.data;
		var _date = response.getElementsByTagName('date')[Page.getIndex()].firstChild.data;
		
		document.getElementById("title_"+ Page.getIndex()).innerHTML = _title;
		document.getElementById("description_"+ Page.getIndex()).innerHTML = _description;
		document.getElementById("date_"+ Page.getIndex()).innerHTML = _date;
		Page.toggle(Page.getIndex());
	}
}

Page.toggle = function(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';
	}
}

Page.setIndex = function(_index) { Page.index = _index; }
Page.getIndex = function() { return Page.index; }