var ns6=document.getElementById&&!document.all;
var arr_theform = new Array();
var arr_limit = new Array();
var arr_id_noscrive = new Array("nuovodoc"); // Questo Array serve per memorizzare gli ID dei componenti che devono 
											// essere SOLAMENTE BLOCCATI (Non bisogna visualizzare i caratteri rimanenti

function restrictinput(maxlength,e,placeholder){
	//if(window.event && (placeholder.id=='titolo'||event.srcElement.value.length>=maxlength)){
	if(window.event && event.srcElement.value.length>=maxlength){
		return false;
	//}else if(e.target&&(e.target==eval(placeholder)&&(placeholder.id=='titolo'||e.target.value.length>maxlength))){
	}else if(e.target&&(e.target==eval(placeholder)&&e.target.value.length>maxlength)){
		e.stopPropagation();
		e.preventDefault();
		return false;
	}
}

function countlimit(e,ind){
	var lengthleft=arr_limit[ind]-arr_theform[ind].value.length;
	var placeholderobj = document.getElementById('char_'+arr_theform[ind].id);
	
	if((window.event && verifica_scrivi(arr_theform[ind].id)) || (e.target && verifica_scrivi(e.target.id) && e.target==eval(arr_theform[ind]))){
		if((window.event && lengthleft<0) || (e.target && lengthleft<=0) ){
			arr_theform[ind].value=arr_theform[ind].value.substring(0,arr_limit[ind]);
			lengthleft = 0;
		}
		placeholderobj.innerHTML=lengthleft;
	}
}

function displaylimit(thename, theid, thelimit, caratteri, ind){
	arr_limit[ind] = thelimit;
	arr_theform[ind] = theid!=""? document.getElementById(theid) : thename;

	if(verifica_scrivi(theid))
		limit_text ='<strong>Caratteri disponibili: <span id="char_'+arr_theform[ind].id.toString()+'">'+(arr_limit[ind]-caratteri)+'</span></strong>';
	else
		limit_text = '<span id="char_'+arr_theform[ind].id.toString()+'">';
		

	if(document.all||ns6){
		//document.write(limit_text);
		
		if (document.all){
			eval(arr_theform[ind]).onkeypress=function(){
				return restrictinput(arr_limit[ind],event,arr_theform[ind]);
			}
			eval(arr_theform[ind]).onkeyup=function(){ 
				countlimit(event,ind);
			}
		}
		else if (ns6){
			document.body.addEventListener('keypress', function(event) { restrictinput(arr_limit[ind],event,arr_theform[ind]) }, true); 
			document.body.addEventListener('keyup', function(event) { countlimit(event,ind) }, true); 
		}
	}
}

function verifica_scrivi(id){
	for(i=0; i<arr_id_noscrive.length; i++){
		if(arr_id_noscrive[i] == id)
			return false;
	}
	return true;
}
