﻿function addEvent( obj, type, fn )
{
	if (obj.addEventListener)
		obj.addEventListener( type, fn, false );
	else if (obj.attachEvent)
	{
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}

function CountChar(){
	var intChars =  parseInt(this.value.length);
	var intMax = this.getAttribute('maxlength');
	var objMsg = document.getElementById("div" + this.id);
	objMsg.innerHTML = "至少10字數、目前 : " + intChars + " , 剩餘 : " + (intMax - intChars);
}

function LimitChar(){
	var intChars =  parseInt(this.value.length);
	var intMax = this.getAttribute('maxlength');
	var objMsg = document.getElementById("div" + this.id);
	if (intChars > intMax)
	{
		this.value = this.value.substring(0,intMax);
	
		objMsg.innerHTML = "<font color='red'>至少10字數、目 : " + intMax + " , 剩餘 : 0</font>";
	}else{
		objMsg.innerHTML = "至少10字數、目前 : " + intChars + " , 剩餘 : " + (intMax - intChars);
	}
}

function TbxLenInit(){
	if (document.getElementById && document.createElement && document.appendChild) {
		var tbxs = document.getElementsByTagName('textarea');
		var tbx;
		for (var i = 0; i < tbxs.length; i++) {
			tbx = tbxs[i];
			if (/\bShowLen\b/.test(tbx.className)) {
				var newDiv = document.createElement("div");
				newDiv.setAttribute("id", "div" + tbx.id);
				newDiv.innerHTML = "至少10字數、目前 : 0, 剩餘 : " + tbx.getAttribute('maxlength');
				var tbxParent = tbx.parentNode;
				tbxParent.insertBefore(newDiv, tbx);
				tbx.onkeyup = CountChar;
				tbx.onchange = LimitChar;
			}else if(/\bShowLenLimit\b/.test(tbx.className)){
				var newDiv = document.createElement("div");
				newDiv.setAttribute("id", "div" + tbx.id);
				newDiv.innerHTML = "至少10字數、目前 : 0, 剩餘 : " + tbx.getAttribute('maxlength');
				var tbxParent = tbx.parentNode;
				tbxParent.insertBefore(newDiv, tbx);
				tbx.onkeyup = LimitChar;
				tbx.onchange = LimitChar;
			}
		}
	}
}
addEvent(window, 'load', TbxLenInit);
