var server = 'library/user.php';

var username = '';
var latest = '';

function login() {
        // Get username
        var user = $F('user');

        if (user == '')        {
                alert('Masukkan nama anda dulu, sebelum bisa masuk kesistem..\nTekan OK untuk menutup peringatan ini.');
                return false;
        }

        username = user;

        
        // Show chat
        Element.hide('login');
        Element.show('chatelements');

        // Begin getting messages
        get_messages();
        //checker = new PeriodicalExecuter(get_messages, 2);
}

function get_messages() {
        var d = new Date();
        var args = 'action=get&latest=' + d.getTime() + '&user=' + username;
        var do_ajax = new Ajax.Request(server, {method: 'get', parameters: args, onComplete: handle_response});
}

function send_message() {
        var message = $F('message');

        if (message == '') {
                alert('You need to enter your message still...');
                return false;
        }

        // Send message
        var args = 'action=add&latest=' + latest + '&user=' + username + '&message=' + message;
        var do_ajax = new Ajax.Request(server, {method: 'get', parameters: args, onComplete: handle_response});

        $('message').value = '';
}

function handle_response(request) {
        var response = request.responseText;
        response = Trim(response);
        //alert(response);
        
        // Error?
        if (response == 'error:no-user') {
                // No username, show login again
                alert('Kelihatannya anda belum login..');
                Element.show('login');
                Element.hide('chatelements');
                return false;
        }
        if (response == 'error:new-user') {
                // No username, show login again
                alert('User baru, anda telah terdaftar. Login lagi untuk masuk..');
                Element.show('login');
                Element.hide('chatelements');
                return false;
        }        
        if (response == 'no-messages'){
                // There are no new messages
                return false;
        }

        //var chat = $('chat');
        var isinya = $('chatelements');
        isinya.innerHTML = response;
}

function Trim(TRIM_VALUE){
if(TRIM_VALUE.length < 1){
    return"";
}
TRIM_VALUE = RTrim(TRIM_VALUE);
TRIM_VALUE = LTrim(TRIM_VALUE);
if(TRIM_VALUE==""){
    return "";
  }else{
        return TRIM_VALUE;
  }
}

function RTrim(VALUE){
var w_space = String.fromCharCode(32);
var v_length = VALUE.length;
var strTemp = "";
if(v_length < 0){
  return"";
}
var iTemp = v_length -1;

while(iTemp > -1){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(0,iTemp +1);
break;
}
iTemp = iTemp-1;

} //End While
return strTemp;

} //End Function

function LTrim(VALUE){
var w_space = String.fromCharCode(32);
if(v_length < 1){
return"";
}
var v_length = VALUE.length;
var strTemp = "";

var iTemp = 0;

while(iTemp < v_length){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(iTemp,v_length);
break;
}
iTemp = iTemp + 1;
} //End While
return strTemp;
} //End Function

function LeftTrim(){
if(CheckEmpty(document.theForm.LeftTrim)){
return;
}
document.theForm.LeftTrim.value = LTrim(document.theForm.LeftTrim.value);
}

function RightTrim(){
if(CheckEmpty(document.theForm.RightTrim)){
return;
}
document.theForm.RightTrim.value = RTrim(document.theForm.RightTrim.value);
}

function loginkey(event) {
        if (event.keyCode == 13) {
                login();
        }
}

// This is added so we can just hit ENTER when sending a message
Event.observe(window, 'load', function() {
        var user = $('user');
        Event.observe(user, 'keydown', loginkey, false);
}, false);