function sendMessage( nickname, message, room, botName ) {
  var nickname = encodeURIComponent( nickname );
  var message = encodeURIComponent( message );
  var room = encodeURIComponent( room );

  makePOSTRequest( 'talk', 'action=send&nickname=' + nickname + '&message=' + message + '&room=' + room + '&botName=' + botName );
}

function execCommand( nickname, message, room ) {
	if (message.substr( 0, 6 ) == '/nick ') {
	  var elNick = document.getElementById( room + '-nickname' );
	  elNick.value = message.substr(6);
	}
}

function talkKeydownHandler( e, message, room ) {
  var keycode;
   if (window.event) {
    keycode = window.event.keyCode;
   } else if (e) { 
    keycode = e.which;
   } 
   if (keycode == 13) {
   	var elInput = document.getElementById( room + '_input' );
   	var elNick = document.getElementById( room + '-nickname' );
   	var elBotName = document.getElementById( 'bot-name' );
	nickname = elNick.value;
	botName = elBotName.value;
    if (message != '') {
      sendMessage( nickname, message, room, botName );
      elInput.value = '';
      if (message.substr(0,1) != '/') {
      	addText( nickname, message, room );
      } else {
      	execCommand( nickname, message, room );
      }
      
     }
   }
 }
 
var lastReceived = -1;
function talkMessageReceived( room, nickname, message, messageid, firstCheck ) {

	var nicknameEl = document.getElementById( room + '-nickname' );
	var myNickname = nicknameEl.value;
	if (firstCheck || (nickname != myNickname)) {
		addText( nickname, message, room );
	}
	lastReceived = messageid;
}

function checkForNewTalkMessages(firstCheck) {
	var elTalkRoom = document.getElementById( 'enzian-talk-room' );
	var room = elTalkRoom.value;
	makePOSTRequest( 'talk', 'action=receive&room='+room+'&lastReceived=' + lastReceived + '&firstCheck=' + firstCheck);
	window.setTimeout( 'checkForNewTalkMessages(false)', 5000 );
}
 
/***** Scroll stuff ******/

      var scrollPos = 0;
      var destPos = 0;
      var velocity = 0;
      var originalScrollAmount = 50;
      var scrollAmount = originalScrollAmount;
    //  var chatHeight = 100;
      
      
function addText( nickname, message, room ) {
        var elText = document.getElementById( room + '_text' );
        elText.innerHTML = elText.innerHTML + '<b>' + nickname + ':</b> ' + message + '<br/>';
      	var elFrame = document.getElementById( room + '_frame' );
      	var outerHeight = elFrame.offsetHeight;
      //  alert( elFrame.offsetHeight );
        elText.style.top = elFrame.offsetHeight - elText.offsetHeight + 'px';
        scrollPos = 0;       
}