var server = 'chatbox.php';
var posting = false;

function str_replace(substr, newsubstr, str) {
    replace_count=0;
    while (str.indexOf(substr)>=0) {
        str=str.replace(substr, newsubstr);
        replace_count++;
        }
    return(str);
    }

function get_messages() {
        var args = 'ajax=1&last_msg='+LastMsg;
        var do_ajax = new Ajax.Request(server, {method: 'get', parameters: args, onComplete: handle_response});
	Element.show('loading');
}

function send_message() {

        var req_message = $F('req_message');
        var form_user = $F('form_user');
        var req_username = $F('req_username');
        var req_email = $F('req_email');
        var email = $F('email');

	//Devil bug who i don't know how made for have "+" in message !!! (nobody is perfect :D)
	req_message = str_replace("+", "-|-", req_message);

	req_message = str_replace("&", "%26", req_message);
	form_user = str_replace("&", "%26", form_user);
	req_username = str_replace("&", "%26", req_username);
	req_email = str_replace("&", "%26", req_email);
	email = str_replace("&", "%26", email);
	
        if (req_message == '') {
                //return false;
        }

        // Send message
        var args = 'ajax=1&last_msg=' + LastMsg + '&action=add&form_user=' + form_user + '&req_username=' + req_username + '&req_email=' + req_email + '&email=' + email + '&req_message=' + req_message;
//        var args = 'ajax=1&last_msg=' + LastMsg + '&action=add';
        var do_ajax = new Ajax.Request(server, {method: 'get', parameters: args, onComplete: handle_response});

	// Disable input fields while posting or refreshing
	disableThis = document.getElementsByTagName("input");
	for (i=0; i< disableThis.length; i++) {
			disableThis[i].disabled = true;
	}
	Element.show('loading');
	posting = true; // Let the script know that we're trying to post

	//$('req_message').value = scrollPos;
	if ($('autoscroll').checked == true)
		$('chatbox').scrollTop = $('chatbox').scrollHeight;
	//previewText.scrollTop = parseInt(previewText.scrollHeight*area.scrollTop/area.scrollHeight)
}

function handle_response(request) {
	Element.hide('loading');
        var response = request.responseText;

        // We're getting a valid response, first get the latest timestamp
        var LastMsgInfo = '';
	LastMsgInfo = response.substring(0, 10);
	
	if (LastMsgInfo == 'error:chat') {
                //LastMsgInfo = LastMsg;
		 errors = response.substring(10, response.length);
		 // Add error message
		 var chatbox = $('chatbox');
		 chatbox.innerHTML = chatbox.innerHTML + errors + '\n';
	}
	else if (LastMsgInfo != LastMsg) {
		LastMsg = LastMsgInfo;
		// Now get the messages
		messages = response.substring(10, response.length);
	
		// Split messages
		messages = messages.split('\n');
	
		// Add each message
		var chatbox = $('chatbox');
		for (var i=0; i < messages.length; i++) {

			//var message = messages[i].split(">");
		       chatbox.innerHTML = chatbox.innerHTML + messages[i] + '\n';
		       //chatbox.innerHTML = 'lastajax:' + LastMsg + '|<br/>' + messages[i] + chatbox.innerHTML + '\n';
			//chat.value = chat.value + '\n';
			//chat.value = chat.value + message[0] + ': ' + message[1];
		}
	}

	if (posting == true) {
		// Re-enable input fields after posting or refreshing
		disableThis = document.getElementsByTagName("input");
		for (i=0; i< disableThis.length; i++) {
				disableThis[i].disabled = false;
		}
		if (LastMsgInfo != 'error:chat')
			$('req_message').value = '';
		
		document.formulaire.req_message.focus();
		
		posting = false; // Let the script know that we're not trying to post. 
	}

	if ($('autoscroll').checked == true)
		$('chatbox').scrollTop = $('chatbox').scrollHeight;
}

