<!--//
function updateChar(obj,limitLen) {
	var length = calculate_msglen(obj.value);

	textlimit.innerText = length;

	if (length > limitLen) {
		alert("ÃÖ´ë " + limitLen + "byteÀÌ¹Ç·Î ÃÊ°úµÈ ±ÛÀÚ¼ö´Â ÀÚµ¿À¸·Î »èÁ¦µË´Ï´Ù.");
		obj.value = obj.value.replace(/\r\n$/, "");
		obj.value = assert_msglen(obj.value, limitLen);
	}
}

function calculate_msglen(message) {
	var nbytes = 0;

	for(i=0;i<message.length;i++) {
		var ch = message.charAt(i);

		if(escape(ch).length > 4) {
			nbytes += 2;
		} else if(ch == '\n') {
			if(message.charAt(i-1) != '\r') {
				nbytes += 1;
			}
		} else if (ch == '<' || ch == '>') {
			nbytes += 4;
		} else {
			nbytes += 1;
		}
	}

	return nbytes;
}

function assert_msglen(message, maximum) {
	var inc = 0;
	var nbytes = 0;
	var msg = "";
	var msglen = message.length;

	for(i=0;i<msglen;i++) {
		var ch = message.charAt(i);

		if(escape(ch).length > 4) {
			inc = 2;
		} else if(ch == '\n') {
			if (message.charAt(i-1) != '\r') {
				inc = 1;
			}
		} else if (ch == '<' || ch == '>') {
			inc = 4;
		} else {
			inc = 1;
		}

		if ((nbytes + inc) > maximum) {
			break;
		}

		nbytes += inc;
		msg += ch;
	}

	textlimit.innerText = nbytes;
	return msg;
}
//-->
