var xmlhttp;
var xmlhttp2;
var xmlhttp3;
var uStatus; // uStatus = 1 if field is successfully updated
var name;
var email;
var urlComment;
var comment;
var user_id;
var article_id;
var captcha_code;

function GetXmlHttpObject() {
	if (window.XMLHttpRequest) {
	  // code for IE7+, Firefox, Chrome, Opera, Safari
	  return new XMLHttpRequest();
	  }
	if (window.ActiveXObject) {
	  // code for IE6, IE5
	  return new ActiveXObject("Microsoft.XMLHTTP");
	  }
	return null;
}

function articleForm () {
	name = document.getElementById("name").value;
	email = document.getElementById("email").value;
	urlComment = document.getElementById("urlComment").value;
	comment = document.getElementById("comment").value;
	captcha_code = document.getElementById("captcha_code").value;

	submitComment(name,email,urlComment,comment,captcha_code);

	return false;
}

function submitComment (name,email,urlComment,comment,captcha_code) {
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null) {
		alert ("Browser does not support HTTP Request");
		return;
	}
	var url="submitComment.php"; //update the
	url=url+"?name="+name;
	url=url+"&email="+email;
	url=url+"&url="+urlComment;
	url=url+"&comment="+comment;
	url=url+"&captcha_code="+captcha_code;
	url=url+"&sid="+Math.random(); //update profile
	xmlhttp.open("GET",url,true);
	xmlhttp.onreadystatechange=stateChangedsubmitComment;

	xmlhttp.send(null);
}

function stateChangedsubmitComment() {
	document.getElementById("MesSubmitArticle").innerHTML = "";
	document.getElementById("MesCaptcha").innerHTML = "";
	if (xmlhttp.readyState==4) {
		if (xmlhttp.responseText == '1') {
			document.getElementById("MesSubmitArticle").innerHTML = "Comment submitted successfully. Waiting for approval from administrators.";
			uStatus = '1';
		} else if (xmlhttp.responseText == '2') {
			document.getElementById("MesSubmitArticle").innerHTML = "Comment was not submitted. We're not quite certain what happened. Please try again.";
		} else if (xmlhttp.responseText == '3') {
			document.getElementById("MesCaptcha").innerHTML = "Comment was not submitted. Either the captcha submitted did not match or you clicked on the submit button twice. You may only submit once. If you wish to submit again then please refresh the page.";
		} else {
			uStatus = '';
		}
	}
}

function escapeBody(body) {
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null) {
		alert ("Browser does not support HTTP Request");
		return;
	}
	body = escape(body);
	var url="escapeBody.php"; //update the
	url=url+"?body="+body;
	url=url+"&sid="+Math.random(); //update profile
	xmlhttp.open("GET",url,true);
	xmlhttp.onreadystatechange=stateChangedEscapeBody;

	xmlhttp.send(null);
}

function stateChangedEscapeBody() {
	if (xmlhttp.readyState==4) {
		if (xmlhttp.responseText) {
			document.getElementById("body").value = xmlhttp.responseText;
		}
	}
}

function previewArticle (user_id) {
	title = document.getElementById("title").value;
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null) {
		alert ("Browser does not support HTTP Request");
		return;
	}
	var url="previewArticle.php"; //preview submitted article
	url=url+"?user_id="+user_id;
	url=url+"&title="+title;
	url=url+"&sid="+Math.random();
	xmlhttp.open("GET",url,true);
	xmlhttp.onreadystatechange=stateChangedPreviewArticle;

	xmlhttp.send(null);
}

function stateChangedPreviewArticle() {
	if (xmlhttp.readyState==4) {
		if (xmlhttp.responseText != '0') {
			document.getElementById("MesPreviewArticle").innerHTML = xmlhttp.responseText;
			uStatus = '1';
		} else {
			uStatus = '';
		}
	}
}

function lastInsertArticle(user_id) {
	title = document.getElementById("title").value;
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null) {
		alert ("Browser does not support HTTP Request");
		return;
	}
	var url="lastInsertArticle.php"; //preview submitted article
	url=url+"?user_id="+user_id;
	url=url+"&title="+title;
	url=url+"&sid="+Math.random();
	xmlhttp.open("GET",url,true);
	xmlhttp.onreadystatechange=stateChangedLastInsertArticle;

	xmlhttp.send(null);
}

function stateChangedLastInsertArticle() {
	if (xmlhttp.readyState==4) {
		if (xmlhttp.responseText != '0') {
			document.getElementById("MesLastInsertArticle").innerHTML = xmlhttp.responseText; //lastInsertArticle ID

			//Remove the submit button as the article has already been submitted
			document.getElementById("submitNewArticle").innerHTML = '';
			var child = document.getElementById("submitNewArticle");
			var parent = document.getElementById("submitNewArticle").parentNode;
			parent.removeChild(child);

			//Create an update button now the article has been submitted
			var updateButton = document.createElement('button');
			document.getElementById("updateB").appendChild(updateButton);
			updateButton.setAttribute('id','updateButton');
			var articleIdVal = document.getElementById('MesLastInsertArticle').value;
			updateButton.setAttribute('onclick','updateArticle()');
			updateButton.innerHTML = "Update";

			uStatus = '1';
		} else {
			uStatus = '';
		}
	}
}

function updateArticle() {
	title = document.getElementById("title").value;
	desc = document.getElementById("desc").value;
	keywords = document.getElementById("keywords").value;
	body = document.getElementById("body").value;

	escapeBody(body);

	body = document.getElementById("body").value;
	user_id = document.getElementById("user_id").innerHTML;
	article_id = document.getElementById('MesLastInsertArticle').innerHTML;
	body = escape(body);

	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null) {
		alert ("Browser does not support HTTP Request");
		return;
	}
	var url="updateArticle.php"; //preview submitted article
	url=url+"?article_id="+article_id;
	url=url+"&user_id="+user_id;
	url=url+"&title="+title;
	url=url+"&desc="+desc;
	url=url+"&keywords="+keywords;
	url=url+"&body="+body;
	url=url+"&sid="+Math.random();
	xmlhttp.open("GET",url,true);
	xmlhttp.onreadystatechange=stateChangedUpdateArticle;

	xmlhttp.send(null);
}

function stateChangedUpdateArticle() {
	if (xmlhttp.readyState==4) {
		if (xmlhttp.responseText == 'Article updated.') {
			document.getElementById("MesSubmitArticle").innerHTML = xmlhttp.responseText;
			uStatus = '1';
		} else if (xmlhttp.responseText == '2') {
			document.getElementById("MesSubmitArticle").innerHTML = "Title already exists in the database. Please choose another title.";
			uStatus = "";
		} else {
			uStatus = '';
		}
	}
}

function updateUser(username,value,field) {
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null) {
		alert ("Browser does not support HTTP Request");
		return;
	}
	var url="updateUser.php"; //update the
	url=url+"?value="+value;
	url=url+"&field="+field;
	url=url+"&username="+username;
	url=url+"&sid="+Math.random(); //update profile
	xmlhttp.open("GET",url,true);
	xmlhttp.onreadystatechange=stateChangedUsername;

	xmlhttp.send(null);
}

function stateChangedUsername() {
	if (xmlhttp.readyState==4) {
		if (xmlhttp.responseText == '1') {
			document.getElementById("MesFirstname").innerHTML = "First name updated.";
			document.getElementById("first_name").value = first_name;
			uStatus = '1';
		} else {
			uStatus = '';
		}
	}
}

function emailStatus(username,email) {
	xmlhttp3=GetXmlHttpObject();
	if (xmlhttp3==null) {
		alert ("Browser does not support HTTP Request");
		return;
	}
	var url="cemailUpdate.php"; //Checks if email already exists
	url=url+"?email="+email;
	url=url+"&username="+username;
	url=url+"&sid="+Math.random();
	xmlhttp3.open("GET",url,true);
	xmlhttp3.onreadystatechange=stateChangedEmail;
	xmlhttp3.send(null);
}

function stateChangedEmail() {
	if (xmlhttp3.readyState==4) {
		if (xmlhttp3.responseText == '2') { //email submitted is the one already in the database for this profile
			document.getElementById("MesEmail").innerHTML = "";
			eStatus = 1;
		} else if (xmlhttp3.responseText == '1') { //email submitted already exists in another profile
			document.getElementById("MesEmail").innerHTML = "Email already exists. Please choose another email address.";
			eStatus = '';
		} else if (xmlhttp3.responseText == '3') { //email submitted
			document.getElementById("MesEmail").innerHTML = "Updated email field.";
		}
			eStatus = 1;
	}
}

function matchUser(username,field) {
	xmlhttp2=GetXmlHttpObject();
	if (xmlhttp2==null) {
		alert ("Browser does not support HTTP Request");
		return;
	}
	var url="matchUser.php"; //Checks if username already exists
	url=url+"?field="+field;
	url=url+"&username="+username;
	url=url+"&sid="+Math.random();
	//alert(xmlhttp2);
	xmlhttp2.open("GET",url,true);
	xmlhttp2.onreadystatechange=stateChangedMUser;

	xmlhttp2.send(null);
}

function stateChangedMUser() {
	//alert(xmlhttp2.responseText);
	if (xmlhttp2.readyState==4) {
		//alert(xmlhttp2.responseText);
		if (xmlhttp2.responseText != '0') {
			if (first_name == xmlhttp2.responseText) {
				firstNameMatch = '1';
				//alert(firstNameMatch);
			} else {
				firstNameMatch = '0';
			}
		} else {
			firstNameMatch = '0';
		}
	}
}