/* create ajax XmlHttpRequest */

var xmlHttp = createXmlHttpRequest();
var obj = '';

function createXmlHttpRequest() {
	var xmlHttp = false;
	if (window.ActiveXObject) {
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		xmlHttp = new XMLHttpRequest();
	}
	if (!xmlHttp) {
		alert("Ops sorry! We found some error!!");
	}
	return xmlHttp;
}

/* function for send data through post method */

function postAjax(source, values, respons, hanres) {
	
  if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0) {
	
	obj = respons;
	
	xmlHttp.open("POST", source, true);
	
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", values.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.onreadystatechange = hanres;
	xmlHttp.send(values);
  } else {
	setTimeout('postAjax(source, values, respons, hanres)', 100000);
  }
}

/* functions for send and handle responses for add new comment */

function postContent(){
	/* The query that will be sent to php */
	var pageID=encodeURI(document.getElementById('pageID').value);
	if (pageID=='null' || pageID=='undefined'){
		padeID='';
	}
	var commentValue = 'pageID=' + pageID + '&lang=' + encodeURI( document.getElementById('lang').value ) + '&sessionID=' + encodeURI( document.getElementById('sessionID').value ) + '&security_code=' + encodeURI( document.getElementById('security_code').value ) + '&name=' + encodeURI( document.getElementById('name').value ) + '&email=' + encodeURI( document.getElementById('email').value ) + '&comment=' + encodeURI( document.getElementById('comment').value );
	/* php which will handle the query */
	var send_to = 'add_comment.php';
	/* ID of the Div with the preloader image or errors.*/
	var respons = 'alert';
	postAjax(send_to, commentValue, respons, handleResponComment);
}

function handleResponComment(){
	if (xmlHttp.readyState == 4){
		if (xmlHttp.status == 200){
			/* json as response value from php*/
			var JSONRespons = eval('(' + xmlHttp.responseText + ')');
			if(JSONRespons.status == 1){
				// If inserting the comment is successful, show confirmation message
				commentResponse(JSONRespons);
			} else {
				// If validation fails, show warning and enable the form
				document.getElementById(obj).innerHTML = JSONRespons.message + '<img src="images/ajax-loading.gif" width="0" height="0" onload="enableForm();">';
				// Set focus on the not validated field
				var fieldId=JSONRespons.field;
				if (fieldId=='name'){
					$("#name").addClass("error");
					$("#name").focus();
				}else{
					$("#name").removeClass("error");
				}
				
				if (fieldId=='email'){
					$("#email").addClass("error");
					$("#email").focus();
				}else{
					$("#email").removeClass("error");
				}

				if (fieldId=='security_code'){
					$("#security_code").addClass("error");
					$("#security_code").focus();
				}else{
					$("#security_code").removeClass("error");
				}

				if (fieldId=='comment'){
					$("#comment").addClass("error");
					$("#comment").focus();
				}else{
					$("#comment").removeClass("error");
				}
			}
		} else {
			/* In case we found errors on transaction proccess.*/
			document.getElementById(obj).innerHTML = 'Error: ' + xmlHttp.statusText;
		}
	} else {
		/*
		* Disable the form and show preloader image
		*/
		document.getElementById(obj).innerHTML = '<img src="images/ajax-loading.gif">';
		document.getElementById('name').disabled=true;
		document.getElementById('email').disabled=true;
		document.getElementById('security_code').disabled=true;
		document.getElementById('comment').disabled=true;
		document.getElementById('btn_submit').disabled=true;
	} 
}


function commentResponse(JSONRespons){
	document.getElementById('alert').innerHTML = '<img src="images/ajax-loading.gif" width="0" height="0" onload="enableForm();">' + JSONRespons.message;
	/*reset the form*/
	document.getElementById('CommentForm').reset();
}

function enableForm(){
	/*re-enable the form after all process done. */
	document.getElementById('name').disabled=false;
	document.getElementById('email').disabled=false;
	document.getElementById('security_code').disabled=false;
	document.getElementById('comment').disabled=false;
	document.getElementById('btn_submit').disabled=false;
}