	function manageMaxLength(formoso,name,max){				
		var objInput = formoso[name];		
		var objNote = document.getElementById(name+"_max_length");		
		var currentLength = objInput.value.length;		
		objNote.innerHTML = currentLength + "/" + max; 		
	}


	function managerImagePreview(origin,value,px,py){
		var obj = document.getElementById('formImagePrewiew');
		
		var code = '<img src="'+value+'" onClick="this.parentNode.style.display = \'none\';"/ style="cursor:pointer;border:1px solid black;">';		
		obj = makeObjectAppendable(obj);
		
		document.body.appendChild(obj);
		
		var x = findPosX (origin);
		var y = findPosY (origin);				
		
		
		//obj.style.left = mouseX;
		//obj.style.top = mouseY;
		
		obj.style.position = 'absolute';
		obj.style.left = x + 100 + "px";
		obj.style.top = y - (py / 2) + "px";		
		obj.style.width = px + "px";
		obj.style.height = py + "px";		
		obj.innerHTML = code;
		
		if (obj.style.display == 'none')
			obj.style.display = '';
		else
			obj.style.display = 'none';		
	}
	  
	function makeObjectAppendable(obj){
		 obj.parentNode.removeChild(obj);
		 obj.style.position = "relative";
		 obj.style.left = "0px";
		 obj.style.top = "0px";
		 return obj;
	}
	  
	  
	function retrieveFileList (ajaxPath,path,name){										
		var opt = {// Use POST
					method: 'post',
					// Send this lovely data
					postBody: 'ac=dir&path='+path+'',
					// Handle successful response
					onSuccess: function(t){
						prevPath = currPath; //salvo il path precedente			
						currPath = path;	 //imposto il nuovo path							 
						var text = t.responseText;
						
						var rowTemplate = '<div id="[[dname]]_[[id]]" style="float:left;padding:1px;width:98%;"> '+
										  '		<div style="width:10%;height:16px;float:left;">[[iconfile]]</div> '+
										  '		<div style="width:85%;height:16px;float:right;cursor:pointer;" onClick="showPreview(\'[[file]]\',\'[[path]]\',\'[[type]]\',\'[[name]]\');">[[filename]]</div> '+
										  '</div>';
							
						var code = rowTemplate.replace("[[dname]]",name);
						//Splitto i risultati che mi da Ajax
						var fileList = text.split("||");
						var limit = fileList.length;
						var listDiv = document.getElementById(name + "_listfile");
						
						//Recupero il path corrente a partire da sharedata
						var sharedataPos = path.indexOf ("sharedata");
						var currentDir = path.substr(sharedataPos+9);
						var currHide = document.getElementById (name + "_currentDir");						
						currHide.value = currentDir;						
						//Preparo il DIV che contiene l'indicazione del path corrente
						var currDir = '  <div style="background-color:#D7E4E9;float:left;width:98%;"> '+
									      ' <div style="width:10%;height:16px;float:left;"><img src="'+siteRoot+'/library/css/hikari/icons/currentFolder.gif" /></div> '+
									      ' <div id="currentDir" style="width:85%;height:16px;float:right;">'+currentDir+'</div> '+
									   ' </div>';
						
						/*listDiv.innerHTML = code.replace("[[iconfile]]",'<img src="../library/css/hikari/icons/currentFolder.gif" />');
						var sharedataPos = path.indexOf ("sharedata");
						var currentDir = path.substr(sharedataPos+9);
						listDiv.innerHTML = listDiv.innerHTML.replace ("[[filename]]",currentDir);*/
						listDiv.innerHTML = currDir;																
						for (var i=0; i < limit-1; i++) {						    
							var fileInfo = fileList[i].split(">>");
							if (fileInfo[0] == '.') continue;
							var row = code.replace("[[iconfile]]",'<img src="'+siteRoot+'/library/css/hikari/icons/'+fileInfo[1]+'.gif" />');
							row = row.replace ("[[filename]]",fileInfo[0]);							
							row = row.replace ("[[type]]",fileInfo[1]);
							row = row.replace ("[[file]]",fileInfo[0]);
							
							if (fileInfo[1] == 'dir')
								row = row.replace ("[[path]]",currPath);
							else
								row = row.replace ("[[path]]",modUrl+currentDir);
							row = row.replace ("[[type]]",fileInfo[1]);
							row = row.replace ("[[name]]",name);
							listDiv.innerHTML += row;	
						}																							
					}	
				   }
							    
		var xmlHttp = new Ajax.Request (ajaxPath,opt);
	}  
	
	function showPreview(filename,path,type,name){	
		if (type == 'dir') {
			if (filename != '..')
				openSubDir(path+filename,name);
			else
				openSubDir(prevPath,name);							
			return;
		}
		document.getElementById(name +'_selectedFile').value = (path.replace(modUrl,"")+'/'+filename).replace("\/\/","\/");
		var sharedataPos = path.indexOf ("sharedata");
		var baseDir = path.substr(sharedataPos+9);
		var subPath    = document.getElementById ('currentDir').innerHTML;
		var previewDiv = document.getElementById ('previewFileContainer');
		var previewImg = '<img src="'+path+'/'+filename+'" />';
		previewDiv.innerHTML = previewImg;				
	}
	
	function openSubDir(path,name){
		retrieveFileList(ajaxPath,path,name);
	}
	 