<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title>node.js chat</title>

<script id="my_script" type="text/javascript" src="/socket.io/socket.io.js"></script>
<script type="text/javascript">
/*
	【node.js】socket.ioで構築したローカルで動くシンプルなチャットルーム。みんなで書けるリモート版も公開中。
		http://www.tettori.net/post/852/
*/

var host = window.document.location.host.replace(/:.*/, '');
var socket = io.connect('http://' + host + ':3002');

//サーバーから受け取るイベント
socket.on("connect", function () {}); // コネクション接続

socket.on("disconnect", function (client) {}); // コネクション切断

socket.on("message", function (data) { // メッセージ受信
	getMessage(data.message);
});

//クライアントからイベント送信(イベント名は自由に設定できます)
function sendMessage() {
	var node=document.getElementById("message");
	var msg = node.value; //取得
	node.value=""; //空白にする
	socket.emit("message", {message:msg}); //サーバーへ送信
}

window.onbeforeunload = function() {
	socket.emit("disconnect"); // サーバーへ送信
	return false;
}

function show(){
var node=document.getElementById("my_script");
alert(node.text.length+"\n"+node.text);
}

//jqueryでメッセージを追加
function getMessage (value,color,size) {
	var msg = value.replace( /[!@$%<>'"&|]/g, '' ); //タグ記号とかいくつか削除

	var cnode=document.createElement("div");
		cnode.setAttribute("class","msg");
			tn=document.createTextNode(msg);
		cnode.appendChild(tn);
	var pnode=document.getElementById("msg_list");
	pnode.insertBefore(cnode,pnode.firstChild);
}
</script>

<style>
	*{
		font-size:30px;
		margin:0;
		padding:0;
	}
</style>
</head>

<body>
	<div id="msg_list" style="height:300px; overflow:auto;"></div>
	<div>
		<input type="text" class="text" style="width:95%; padding:10px" id="message"/>
		<input type="button" class="button" style="padding:10px" onclick="sendMessage();" value="送信" />
		<input type="button" class="button" style="padding:10px" onclick="show();" value="list" />
	</div>
</body>
</html>