var ns6=document.getElementById&&!document.all

function restrictinput(maxlength,e,placeholder)
{
	if (window.event&&event.srcElement.value.length>=maxlength)
		return false
	else if (e.target&&e.target==eval(placeholder)&&e.target.value.length>=maxlength)
	{
		var pressedkey=/[a-zA-Z0-9\.\,\/]/ //detect alphanumeric keys
		if (pressedkey.test(String.fromCharCode(e.which)))
			e.stopPropagation()
	}
}

function countlimit(maxlength,e,placeholder)
{
	var theform=eval(placeholder)
	var lengthleft=maxlength-theform.value.length
	var placeholderobj=document.all? document.all[placeholder] : document.getElementById(placeholder)

	if (window.event||e.target&&e.target==eval(placeholder))
	{
		if (lengthleft<0)
			theform.value=theform.value.substring(0,maxlength)
		placeholderobj.innerHTML=lengthleft
	}
}


//function displaylimit(theform,thelimit)
function displaylimit(theform)
{
	var thelimit=getLimit('limit');
	var limit_text='<b><span id="'+theform.toString()+'">'+thelimit+'</span></b>'
	

	
	if (document.all||ns6)
		document.write(limit_text)
	if (document.all)
	{
		eval(theform).onkeypress=function(){ thelimit=getLimit('limit'); return restrictinput(thelimit,event,theform)}
		eval(theform).onkeyup=function(){ thelimit=getLimit('limit'); countlimit(thelimit,event,theform)}
	}
	else if (ns6)
	{
		document.body.addEventListener('keypress', function(event) { thelimit=getLimit('limit'); restrictinput(thelimit,event,theform) }, true); 
		document.body.addEventListener('keyup', function(event) { thelimit=getLimit('limit'); countlimit(thelimit,event,theform) }, true); 
	}
}

function getLimit(limit)
{
	return document.getElementById(limit).value;
}

function setLimit(limit, newlimit)
{
	document.getElementById(limit).value = newlimit;
}