var TextAreaJS = {
	init : function(emoticon,nomeDiv,maxChar) {
		var div = this.getElementsByClassName(document , "div" ,nomeDiv )[0]; 
		
		var TextArea =  div.getElementsByTagName("textarea")[0];
		var legend = this.getElementsByClassName(div , "p" ,"legenda_max_caratteri" )[0]; 
		legend.className = "legenda_max_caratteri"; 
		legend.innerHTML = "Caratteri disponibili:" ; 
		
		var span = document.createElement('span');
		span.className = "max_caratteri"; 
		span.innerHTML = maxChar ; 
		legend.appendChild(span);
		if(emoticon=="1"){
			P_TODEL =  this.getElementsByClassName(div , "p" ,"titolo_legenda_emoticons" )[0]; 
			if(P_TODEL)div.removeChild(P_TODEL);
			
			var img_box = div.getElementsByTagName("dl")[0];
			var array_emoticon_testo = img_box.getElementsByTagName("dd");
			var array_emoticon_img = img_box.getElementsByTagName("dt");
			div.removeChild(div.getElementsByTagName("dl")[0]);
			var img_box = document.createElement('div');
			var testo = ""; 
			/*for(var i=0;i<array_emoticon_img.length;i++){
				var img = array_emoticon_img[i].getElementsByTagName("img")[0];
				var txt = array_emoticon_testo[i].innerHTML; 
				testo = testo + 
"<img src='"+img.src+"' alt='"+img.alt+"'  title='"+img.alt+"' onclick='TextAreaJS.inserisci( \""+ txt+"\",\""+nomeDiv+"\")' >"; 
 			}
			*/
			for(var i=0;i<array_emoticon_img.length;i++){
				var a = document.createElement('a');
				var img = array_emoticon_img[i].getElementsByTagName("img")[0];
				img.title = array_emoticon_testo[i].innerHTML;
				var txt = array_emoticon_testo[i].innerHTML; 
				a.appendChild(img);
				a.onclick =   function(e){ 
					if (!e) var e = window.event;
					oElement = (e.target) ? e.target : e.srcElement
					TextArea.value = TextArea.value + oElement.title;
					///TextAreaJS.verifica(TextArea,span,maxChar);
				}
				img_box.appendChild(a);
			}
			//img_box.innerHTML= testo;
			div.appendChild(img_box);
		}

		TextArea.onkeydown =  function(){  TextAreaJS.verifica(TextArea,span,maxChar); } 
		TextArea.onkeyup = function(){   TextAreaJS.verifica(TextArea,span,maxChar); } 
	},
	verifica : function(TXT,SPAN,maxChar){
		if (TXT.value.length > maxChar){ // if too long...trim it!
			TXT.value = TXT.value.substring(0, maxChar);
		}else {
			SPAN.innerHTML = maxChar - TXT.value.length;
		}
		
	},
	inserisci : function(txt,nomeDiv){
		var div = this.getElementsByClassName(document , "div" ,nomeDiv )[0]; 
		var TextArea =  div.getElementsByTagName("textarea")[0];
		var legend = this.getElementsByClassName(div , "p" ,"legenda_max_caratteri" )[0];
		var span = 
		TextArea.value =TextArea.value +txt ;  
	},
	addEvent : function(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]);
		}
	},
	getElementsByClassName : function(oElm, strTagName, strClassName){
	    var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
	    var arrReturnElements = new Array();
	    strClassName = strClassName.replace(/\-/g, "\\-");
	    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	    var oElement;
	    for(var i=0; i<arrElements.length; i++){
	        oElement = arrElements[i];      
	        if(oRegExp.test(oElement.className)){
	            arrReturnElements.push(oElement);
	        }   
	    }
	    return (arrReturnElements)
	}
};

