var http_request = false;
function makePOSTRequest(url, parameters) {
	http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			// set type accordingly to anticipated content type
			//http_request.overrideMimeType('text/xml');
			http_request.overrideMimeType('text/html');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) {
		alert('Cannot create XMLHTTP instance');
		return false;
	}
		
	http_request.onreadystatechange = postReturn;
	http_request.open('POST', url, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
}

function postReturn() {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			writeit("<h2>Posted</h2>", "newpostblog");
		} else {
			writeit("<h2>There was an error posting</h2>", "newpostblog");
		}
	}
}

function loadXMLDoc(dname) {
	var xmlDoc;
	// code for IE
	if (window.ActiveXObject)
	{
		xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
	}
	// code for Mozilla, Firefox, Opera, etc.
	else if (document.implementation && document.implementation.createDocument) {
		xmlDoc=document.implementation.createDocument("","",null);
	} else {
		alert('Your browser cannot handle this script');
	}
	xmlDoc.async=false;
	xmlDoc.load(dname);
	return(xmlDoc);
}

function writeit(text,id) {
	if (document.getElementById) {
		x = document.getElementById(id);
		x.innerHTML = '';
		x.innerHTML = text;
		} else if (document.all){
		x = document.all[id];
		x.innerHTML = text;
	} else if (document.layers) {
		x = document.layers[id];
		text2 = '<span class="writable">' + text + '</P>';
		x.document.open();
		x.document.write(text2);
		x.document.close();
	}
}

function loadTemplate(name, values, names) {
	xmlDoc=loadXMLDoc("mCMS/mCMS.cgi?rm=template&name=" + name);
	var x=xmlDoc.getElementsByTagName('template');
	var number = x.length;

	var body = "";

	for (i=0;i<number;i++)
	{
		body = x[i].getElementsByTagName("body")[0].childNodes[0].nodeValue;
	}
	
	for (j = 0;j<names.length;j++) {
		
		var regex = new RegExp("\\{" + names[j] + "\\}");
		
		body = body.replace(regex, values[j]);
		
	}
	
	return body;
}
function loadBlog(id, blog) { 

	xmlDoc=loadXMLDoc("mCMS/mCMS.cgi?rm=blog&blogID=" + blog);
	var x=xmlDoc.getElementsByTagName('post');
	var size = x.length;

	var values = new Array();
	var names  = new Array();
	
	names[0] = "title";
	names[1] = "date";
	names[2] = "body";
	
	var buffer="";
	
	for (ctr=0;ctr<size;ctr++)
	{
		values[0] = x[ctr].getElementsByTagName("title")[0].childNodes[0].nodeValue;
		values[1] = x[ctr].getElementsByTagName("date")[0].childNodes[0].nodeValue;
		values[2] = x[ctr].getElementsByTagName("body")[0].childNodes[0].nodeValue;
		
		buffer += loadTemplate("BlogPost",values, names);
	}
	
	writeit(buffer,id);
}


function post_blog(msg, blogID) {
	if(!confirm(msg)) { return false; }

	if(document.forms['postblogform'].title.value == "") { 
		writeit("<h2>Missing a Title</h2>", "newpostblog"); 
		return;
	}
	if(document.forms['postblogform'].body.value == "") { 
		writeit("<h2>Missing a Body</h2>", "newpostblog"); 
		return;
	}

	 var poststr = "rm=post_blog" + 
	 		"&title=" + encodeURI( document.forms['postblogform'].title.value ) +
	 		"&body="  + encodeURI( document.forms['postblogform'].body.value )  +
	 		"&blogID="  + blogID;

	makePOSTRequest('mCMS/mCMS.cgi', poststr );

}