var session;
var chatSession;

function validate(address) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   if(reg.test(address) == false) {
      return false;
   }
	return true;
}
function startChat(){
	$("errorTable").innerHTML = "";
	if($("chatname").value == ""){
		$("errorTable").innerHTML = "Du skal udfylde dit navn<br/>";
	}
	if($("chatemail").value == ""){
		$("errorTable").innerHTML = $("errorTable").innerHTML + "Du skal udfylde din email<br/>";
	}else if(!validate($("chatemail").value)){
		$("errorTable").innerHTML = $("errorTable").innerHTML + "Du skal udfylde en gyldig email<br/>";
	}
	if($("chatcomment").value == ""){
		$("errorTable").innerHTML = $("errorTable").innerHTML + "Du skal skrive et spørgsmål<br/>";
	}
	if($("errorTable").innerHTML == ""){
		new Ajax.Request('/chat/startchat.php?email=' + encodeURI($("chatemail").value) + '&name=' + encodeURI($("chatname").value) + '&question=' + encodeURI($("chatcomment").value), {
		  onSuccess: function(response) {
				session = response.responseText;
				$("initiateChat").hide();
				$("chatWindow").show();
				chatSession = setTimeout("getChat('" + session + "')",30);
				$('chatText').focus();
		  }
		});
	}
}

function getChat(session){
	clearTimeout(chatSession);
	new Ajax.Request('/chat/getchat.php?session=' + encodeURI(session), {
	  onSuccess: function(response) {
		var nodes = eval(response.responseText);
		html = "";
		nodes.each(function(node){
			if(node.direction == "in"){
				html = html + "<div class=\"weSaid\">" + node.text + "</div>";
			}else if(node.direction == "info"){
				html = html + "<div class=\"chatInfo\">" + node.text + "</div>";
			}else{
				html = html + "<div class=\"youSaid\">" + node.text + "</div>";
			}
		});
		$("conversationWindow").update(html);	
		$("conversationWindow").scrollTop = $("conversationWindow").scrollHeight;
		
		chatSession = setTimeout("getChat('" + session + "')",500);		
	  }
	});
}

function sendChat(){
	if($('chatText').value != ""){
		new Ajax.Request('/chat/sendchat.php?text=' + encodeURI($('chatText').value) + '&session=' + session, {
	  	onSuccess: function(response) {
				$('chatText').value = "";
				$('chatText').focus();
	  	}
		});
	}
}

function registerSendChat(e){
	if(window.event){ e = window.event; }
	if(e.keyCode == 13){
		sendChat();
	}
}

function endChat(){
	if(session != ""){
		var sessid = session;
		new Ajax.Request('/chat/endchat.php?session=' + sessid, {
	  	onSuccess: function(response) {
				getChat(sessid);
				$('endchat').hide();
				$('chatText').hide();
				$('chatBtn').hide();
				$('mailchat').show();
				setTimeout("clearTimeout(chatSession)",1500);
				$('mailchat').update("Chat korrespondancen er nu sendt til din email.<br/>Du kan nu lukke dette vindue.");
	  	}
		});
	}
}