/* -------------------------------------------------------------
THE AJAX GUESTBOOK
Written by Sean Fannan

If you would like to use this guestbook, please
leave these comments here.  If you need to contact me
for any reason, my email address is sfannan@gmail.com.  Enjoy
---------------------------------------------------------------*/

/* CONSTANTS */
var phpFileName = 'gst/functions_guestbook.php';

// Key function to send Ajax packet to php file.
function sendPacket(fileName, strQuery, functionName) {
		var myConn = new XHConn();
		if (!myConn) 
			alert("XMLHTTP not available. Try a newer/better browser.");
		myConn.connect(fileName, "POST", strQuery, functionName);
}
// toggles the message form from visible to hidden
function showPost(linkElement, swap) {
	var formElement = document.getElementById('postMessage');
	if (swap) {
		linkElement.innerHTML = 'Close form';
		linkElement.onclick = function () { showPost(this, 0); };
		formElement.style.display = 'block';
	}
	else {
		linkElement.innerHTML = 'Post Message';
		linkElement.onclick = function () { showPost(this, 1); };
		formElement.style.display = 'none';
	}
}

// toggles the message form from visible to hidden
function showPost_540(linkElement, swap) {
	var formElement = document.getElementById('postMessage_540');
	if (swap) {
		linkElement.innerHTML = 'Close form';
		linkElement.onclick = function () { showPost_540(this, 0); };
		formElement.style.display = 'block';
	}
	else {
		linkElement.innerHTML = 'Post Message';
		linkElement.onclick = function () { showPost_540(this, 1); };
		formElement.style.display = 'none';
	}
}
/* Verifies the form has no missing fields */
function verify_new() {
var message = document.getElementById('message');
var guest = document.getElementById('swad');
var email = document.getElementById('email');
var pid = document.getElementById('pid');
if (message.value == '' || guest.value == '' || email.value == ''){
	alert("There are empty fields");
return false;
}

if(email.value != ''){
if(email.value.indexOf("@")<3){
alert("Check your email adress"
+" ");
return false;
}
if (email.value.charAt(email.value.length-4)!="." && email.value.charAt(email.value.length-3)!="."){ 


alert("wrong email format"
+""
+"");

return false;
}
else
	prepare_new(message, guest, email,pid);
	//alert(message.value);
	//alert(email.value);
	//alert(guest.value);

}


}
// Clears the form
function clear_new() {
var message = document.getElementById('message');
var guest = document.getElementById('swad');
var email = document.getElementById('email');
message.value = '';
guest.value = '';
email.value = '';
}



var myTimer;
function endTime(){
   clearTimeout(myTimer);
}




/* PREPARE FUNCTIONS */
// sends the request for all the entries on a given page
function prepare_entries() {
	document.getElementById('currentEntries').innerHTML = "loading . . .";
	var page = document.getElementById('page');
	var pid = document.getElementById('pid');
	strQuery = 'pid='+pid.value+'&type=1&page='+page.value;
	var functionName = function(oXML) { process_entries(oXML); };
	sendPacket(phpFileName, strQuery, functionName);
}
// sends a request for inserting an entry into the database
function prepare_new(message,guest,email,pid) {
	strQuery = 'type=2&message='+message.value+"&swad="+guest.value+"&email="+email.value+"&pid="+pid.value;
	var functionName = function(oXML) { process_new(oXML); };
	sendPacket(phpFileName, strQuery, functionName);
	
	showPost(document.getElementById('postLink'), 0);
clear_new();
}
/* PROCESS FUNCTIONS */
// processes the incoming entries from a given page
function process_entries(oXML) {
	var response = oXML.responseText.split("|");
	//alert(response);
	var entries = new Array();
	var count = response[1];
	var pageHTML = response[1];
	var strPageInfo = pageHTML;
	if (count > 0)
	strPageInfo += ' | Messages: ' + count;
	document.getElementById('pageInfo').innerHTML = strPageInfo;
	var htmlText = '<br>';//'<br>Total messages: '+count+'<br><br>';
	var currentEntries = document.getElementById('currentEntries');
	for (i = 2; i < response.length-1; i++) {
		entries = response[i].split("_X_");
		if (entries[0] != '') {
			
			htmlText += '<div class=\"guestbook_entry_name\">'+entries[1]+'</div>';
			htmlText += '<div class=\"guestbook_entry_time\">'+entries[2]+'</div>';
			htmlText += '<div class=\"guestbook_entry_message\">'+entries[0]+'</div>';
		}
		htmlText += '<br>';
	}
	
	currentEntries.innerHTML = htmlText;
	endTime();
}
// processes a new entry, and eventually calls prepare_entries()
function process_new(oXML) {
	var response = oXML.responseText;
	if (response=='1')
		prepare_entries();
}




// retrieve entries for a new page
function process_page(page) {
	document.getElementById('page').value = page;
	
	
	myTimer = setTimeout("prepare_entries()",1000);
	//prepare_entries();
	
	
}

