function getTextArea() {
	return "<textarea rows='3' cols='45' name='"+getUniqueName(arguments)+"' id='"+getUniqueName(arguments)+"'></textarea><br/>";
}

function getInput() {
	return "<input size='30' name='"+getUniqueName(arguments)+"' id='" + getUniqueName(arguments) + "'/><br/>";
}

function getInputHidden() {
	return "<input type='hidden' name='"+getUniqueName(arguments)+"' id='" + getUniqueName(arguments) + "' value=''/>";
}

function getRadio() {
	return "<input type='radio' name='"+getUniqueName(arguments)+"' id='" + getUniqueName(arguments) + "' value=''/>";
}

function getClassHarmonia() {
	return "<input type='hidden' name='"+getUniqueName(arguments)+"' id='" + getUniqueName(arguments) + "' value='harmonia'/>";
}

/* il pulsante DEVE essere sempre immediatamente prima dell'oggetto che contiene l'info da visualizzare */
function getVedi() {
	return "<input type='button' title='Click per vedere la risorsa selezionata a sinistra' onclick='popup(this)' value='Vedi'/><br/>";
}

function getComboResourceList() {
	var combooptions = document.getElementById("combo-resource-list");
	return "<select name='"+getUniqueName(arguments)+"' id='"+getUniqueName(arguments)+"' " + getOnChange('children.span.' + document.total + '.@alias', true) + ">"+combooptions.innerHTML+"</select>";
}

function getComboPermissionList() {
	var combooptions = document.getElementById("combo-permission-list");
	return "<select name='"+getUniqueName(arguments)+"' id='"+getUniqueName(arguments)+"'>"+combooptions.innerHTML+"</select>";
}

function getComboFileList() {
	var combooptions = document.getElementById("combo-file-list");
	return "<select name='"+getUniqueName(arguments)+"' id='"+getUniqueName(arguments)+"' " + getOnChange(getUniqueName(arguments) + '.@displayname', false) + ">"+combooptions.innerHTML+"</select>";
}

function getInput4LookupFiles() {
	return "<span id='_"+getUniqueName(arguments)+"'><input size='35' name='"+getUniqueName(arguments)+"' id='" + getUniqueName(arguments) + "'/></span><input type='button' title='Click per vedere la risorsa selezionata a sinistra' onclick='popup(this)' value='Vedi'/><input type='button' onclick=\"lookup('/cmd-lookup-filelist', '_"+getUniqueName(arguments)+"',$('"+getUniqueName(arguments)+"').value, '"+getUniqueName(arguments)+"')\" value='Lookup'/><br/>";
}

function getInput4LookupImages() {
	return "<span id='_"+getUniqueName(arguments)+"'><input size='35' name='"+getUniqueName(arguments)+"' id='" + getUniqueName(arguments) + "'/></span><input type='button' title='Click per vedere la risorsa selezionata a sinistra' onclick='popup(this)' value='Vedi'/><input type='button' onclick=\"lookup('/cmd-lookup-imagelist', '_"+getUniqueName(arguments)+"',$('"+getUniqueName(arguments)+"').value, '"+getUniqueName(arguments)+"')\" value='Lookup'/><br/>";
}

/* 	Copia l'evento onchange sull'oggetto corrente.
	Il metodo riceve il nome dell'input dove copiare il valore selezionato come parametro.
	Se chunk=true tronca il valore copiato da ":" in poi */
function getOnChange(_name, _chunk) {
	var _onchange = "onchange=\"document.getElementById('" + arguments[0] + "').value=this.options[this.selectedIndex].text\"";
	if (_chunk) {
		_onchange = "onchange=\"document.getElementById('" + arguments[0] + "').value=chunker(this.options[this.selectedIndex].text,':')\"";
	}
	return _onchange;
}

function getElimina() {
	return "<input type='checkbox' name='"+getUniqueName(arguments)+"' id='" + getUniqueName(arguments) + "' value='true'/>";
}

function getShift() {
	return "<input type='button' name='"+getUniqueName(arguments)+"' id='" + getUniqueName(arguments) + "' value='Shift' onclick='insertChild(document.total)'/>";
}

function increment() {
	if (!document.total) {document.total = document.getElementById('number').value;}
	document.total++;
	document.cursor = document.total;
	return document.total;
}

function getUniqueName(params) {
	var name = params[0]+"."+document.total;
	if (params[1]) {
		name += "." + params[1];
	}
	return name;
}

function shiftParamName() {
	var firstparamname;
	while (document.cursor>document.cursorstop) {
		firstparamname = singolShift(arguments);
		document.cursor--;
	}
	document.getElementById(firstparamname).value = '';
	document.cursor = document.total;
}

function singolShift(params) {
	document.cursor--;
	var fromname = params[0]+"."+document.cursor;
	if (params[1]) {
		fromname += "." + params[1];
	}
	document.cursor++;
	var toname = params[0]+"."+document.cursor;
	if (params[1]) {
		toname += "." + params[1];
	}
	document.getElementById(toname).value = document.getElementById(fromname).value;
	return fromname;
}

function hr() {
	return "<hr/>";
}

function br() {
	return "<br/>";
}

/*
	param1 stringa sulla quale fare substring
	param2 sottostringa da individuare
	return dall'indexOf fino alla fine della stringa
*/
function chunker() {
	pos = arguments[0].indexOf(arguments[1]);
	return arguments[0].substring(pos + 2, arguments[0].length);
}

//Stick del footer alla base delle pagine
function getWindowHeight() {
	var windowHeight = 0;
	if (typeof(window.innerHeight) == 'number') {
		windowHeight = window.innerHeight;
	}
	else {
		if (document.documentElement && document.documentElement.clientHeight) {
			windowHeight = document.documentElement.clientHeight;
		}
		else {
			if (document.body && document.body.clientHeight) {
				windowHeight = document.body.clientHeight;
			}
		}
	}
	return windowHeight;
}
function setFooter() {
	if (document.getElementById) {
		var windowHeight = getWindowHeight();
		if (windowHeight > 0) {
			var contentHeight = document.getElementById('container').offsetHeight;
			var footerElement = document.getElementById('footer');
			var footerHeight  = footerElement.offsetHeight;
			if (windowHeight - (contentHeight + footerHeight) >= 0) {
				footerElement.style.position = 'relative';
				footerElement.style.top = (windowHeight - (contentHeight + footerHeight - footerHeight)) + 'px';
			}
			else {
				footerElement.style.position = 'static';
			}
		}
	}
}

function createCookie(name, value, days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	} else expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function deleteCookie(NameOfCookie) {
	if (getCookie(NameOfCookie)) {
		document.cookie = NameOfCookie + "=; expires=Thu, 01-Jan-70 00:00:01 GMT";
	}
}

function getCookie(NameOfCookie) {
	if (document.cookie.length > 0) {
		begin = document.cookie.indexOf(NameOfCookie + "=");
		if (begin != -1) {
			begin += NameOfCookie.length + 1;
			end = document.cookie.indexOf(";", begin);
			if (end == -1) end = document.cookie.length;
			return unescape(document.cookie.substring(begin, end));
		}
	}
	return null;
}

/* Aggiunge la pseudoclasse :hover sui paragrafi anche ad internet explorer */
function phover(){
  if (!document.getElementById) return

  var p = document.getElementsByTagName('p');
  for(var i = 0; i < p.length; i++){
   p[i].onmouseover = function(){
    this.className = 'hover';
   }
   p[i].onmouseout  = function(){
    this.className = '';
   }
  }
} 

/* Controlla la pagina AAAPAGE e lancia un warning in caso siano label vuote */
function aaaRequiredLabels() {
	var elem = document.getElementsByTagName('input');
	for (var i=1; i<elem.length; i++) {
		if (elem[i].name) {
			if (!elem[i].name.indexOf('_')==0) {
				if (elem[i].value=='') {
					/* [DP] Commentata perche richiede anche il controllo se il campo corrispettivo è stato valorizzato
					if (elem[i].name.lastIndexOf('@displayname')>-1) return false;
					if (elem[i].name.lastIndexOf('@immagine-alt')>-1) return false;
					if (elem[i].name.lastIndexOf('@immagine-title')>-1) return false;
					if (elem[i].name.lastIndexOf('@title')>-1) return false;
					*/
				}
			}
		}
	}
	return true;
}

/*
 * Copia il valore del titolo della pagina sul document name solo se document name è vuoto
 */
function copytitle(_input) {
	var _name = document.getElementById('@name');
	if (_name.value == '') {
		_name.value = _input.value;
	}
}

/**
 * Apre una finestra popup a centro pagina della dimensione dell'immagine da mostrare
 * NB: E' duplicata in fckeditor
 */
function popup(vedi) {
	var addr = '';
	var obj = vedi.previousSibling;
	if (obj.tagName=='DIV' || obj.tagName=='SPAN') {
		// e possibile che l'oggetto stia dentro un DIV per AJAX
		for (var i=0; i<obj.childNodes.length; i++) {
			if (obj.childNodes[i].tagName) {
				addr = obj.childNodes[i].value;
			}
		}
	} else {
		addr = obj.value;
	}
	
	if (addr!='') {
		if (addr.toLowerCase().indexOf(".xml")>0) {
			var l = (window.screen.width - 800) / 2;
			var t = (window.screen.height - 600) / 2;
			_popup=window.open("/cmd-preview?entity=" + addr,"","width=800,height=600,scrollbars=1,resizable=1,top="+t+",left="+l);
			_popup.focus();
		} else {
			window.location = "/download/" + addr;
		}
	}
}

/**
 * Attiva l'editor grafico FCKeditor
 */
function startup(pulsante, nome, mode, _heigth, _locale) {
	var _heigth = (20 * _heigth) + 70;
	var oFCKeditor = new FCKeditor(nome, '100%', _heigth, mode);
	oFCKeditor.Config.DefaultLanguage = _locale.toLowerCase();
	oFCKeditor.ReplaceTextarea();
	pulsante.parentNode.removeChild(pulsante);
}

function simplelookup(lookupURL, pulsante) {
	var obj = pulsante;
	if (obj.tagName == 'SELECT') obj = obj.parentNode;
	while(true) {
		for (var i=0; i<obj.childNodes.length; i++) {
			var subobj = obj.childNodes[i];
			if (subobj.tagName=='INPUT' || subobj.tagName=='SELECT') {
				lookup(lookupURL, obj.id, subobj.value, subobj.id);
				return;
			}
		}
		obj = obj.previousSibling;
	}
}

function lookup(lookupURL, tobereplaced, valore, htmlname) {
	var pars = 'dir=' + valore + '&name=' + htmlname;
	var myAjax = new Ajax.Updater(
		tobereplaced, 
		lookupURL,
		{
			method: 'get',
			parameters: pars
		}
	);
}

function invoke(lookupurl, pars, msgok) {
	var myAjax = new Ajax.Request(
		lookupurl,
		{
			method: 'get', 
			parameters: pars,
			onComplete: function() { alert(msgok); }
		}
	);
}

String.prototype.startsWith = function( value )
{
	return ( this.substr( 0, value.length ) == value ) ;
}

/**
 ***************************************************************************
 * Funzioni utilizzata solo in AAAPage
 ***************************************************************************
 */
function moreFields(pulsante) {

	if (pulsante.value!='') {
		
		if (pulsante.value=='delete') {
			if (window.confirm('Si e\' certi di voler eliminare la sezione ?')) {
				pulsante.parentNode.parentNode.removeChild(pulsante.parentNode);
			} else {
				pulsante.value = '';
			}

		} else if (pulsante.value=='copy') {
			var duplicatedNode = pulsante.parentNode.cloneNode(true);			
			// assegno il nome corretto
			var newField = duplicatedNode.childNodes;
			for (var i=0; i<newField.length; i++) {
				var theName = newField[i].name;
				if (theName) {
					// lascia solo il nome dell'oggetto
					theName = theName.substring(theName.indexOf(".")+1, theName.length);
					theName = "_" + theName.substring(theName.indexOf(".")+1, theName.length);
					newField[i].name = theName;
					newField[i].id = theName;
				}
			}
			window.tempObject = duplicatedNode;

		} else {
			var start = parseInt(pulsante.parentNode.previousSibling.id);
			var end = parseInt(pulsante.parentNode.id);
			var counter = parseInt(start + (end - start) / 2);

			// aggiungo l'oggetto scelto
			var newFields;
			// gestisce solo l'incolla
			if (pulsante.value=='paste') {
				if (!window.tempObject) {
					// se non ho precedentemente copiato nulla, annullo l'incolla
					return false;
				}
				newFields = window.tempObject;
				window.tempObject = null;
			} else {
				newFields = document.getElementById(pulsante.value).cloneNode(true);
			}
			newFields.id = counter;
			newFields.style.display = 'block';

			// aggiungo la coccinella in testa
			var commands = document.getElementById('coccinella').cloneNode(true);
			newFields.insertBefore(commands.childNodes[0], newFields.childNodes[0]);

			// assegno il nome corretto
			var newField = newFields.childNodes;
			for (var i=0; i<newField.length; i++) {
				var theName = newField[i].name;
				if (theName) {
					theName = theName.replace("_","");
					newField[i].name = "children." + counter + "." + theName;
					newField[i].id = "children." + counter + "." + theName;
				}
				if (newField[i].id) {
					if (newField[i].id.startsWith('__')) {
						newField[i].id = "__" + counter;
						var innerField = newField[i].childNodes;
						for (var j=0; j<innerField.length; j++) {
							if (innerField[j].tagName=='INPUT') {
								innerField[j].id = "children." + counter + "." + pulsante.value;
								innerField[j].name = "children." + counter + "." + pulsante.value;
							}
						}
					}
				}
			}

			// aggiungo sopra il bottone
			pulsante.parentNode.parentNode.insertBefore(newFields, pulsante.parentNode);
			
			// aggiungo la coccinella in coda
			var commands2 = document.getElementById('coccinella').cloneNode(true);
			pulsante.parentNode.insertBefore(commands2.childNodes[0], pulsante);
			// fix: la cancellazione non funziona, lo nascondo
			pulsante.style.display = 'none';
		}
	}
	// toglie il focus dalla combo per evitare che vengano creati più oggetti involontariamente
	window.focus();
}

function showimage(_pulsante, _immagine, _displayname, _title, _align, _style) {
	var _immvalue = document.getElementById(_immagine);
	var _value = _immvalue.value;
	var _immname = document.getElementById(_displayname);
	var _name = _immname.value;
	var _immtitle = document.getElementById(_title);
	var _titleval = _immtitle.value;
	var _immalign = document.getElementById(_align);
	var _alignval = _immalign.value;
	var _immstyle = document.getElementById(_style);
	var _styleval = _immstyle.value;
	
	// tolgo i campi hidden
	_pulsante.parentNode.removeChild(_immvalue);
	_pulsante.parentNode.removeChild(_immname);
	_pulsante.parentNode.removeChild(_immtitle);
	_pulsante.parentNode.removeChild(_immalign);
	_pulsante.parentNode.removeChild(_immstyle);

	var _container = document.getElementById("immagine");
	var originalFields = _container.childNodes;
	for (var i=1; i<originalFields.length; i++) {
		var newField = originalFields[i].cloneNode(true);
		var theName = newField.name;
		/*
		if (theName == "_immagine") {
			newField.name = _immagine;
			newField.id = _immagine;
			newField.value = _value;
		}*/
		
		if (newField.id) {
			if (newField.id.startsWith('__')) {
				newField.id = "__" + _immagine;
				var innerField = newField.childNodes;
				for (var j=0; j<innerField.length; j++) {
					if (innerField[j].tagName=='INPUT') {
						innerField[j].id = _immagine;
						innerField[j].name = _immagine;
						innerField[j].value = _value;
					}
				}
			}
		}

		if (theName == "_immagine.@displayname") {
			newField.name = _displayname;
			newField.id = _displayname;
			newField.value = _name;
		}
		if (theName == "_immagine.@title") {
			newField.name = _title;
			newField.id = _title;
			newField.value = _titleval;
		}
		if (theName == "_immagine.@align") {
			newField.name = _align;
			newField.id = _align;
			newField.value = _alignval;
		}
		if (theName == "_immagine.@style") {
			newField.name = _style;
			newField.id = _style;
			newField.value = _styleval;
		}
		_pulsante.parentNode.insertBefore(newField, _pulsante);
	}

	// tolgo il vecchio oggetto
	_pulsante.parentNode.removeChild(_pulsante);
}

function showfile(_pulsante, _file, _displayname, _title) {
	var _fileobj = document.getElementById(_file);
	var _value = _fileobj.value;
	var _filename = document.getElementById(_displayname);
	var _name = _filename.value;
	var _titleobj = document.getElementById(_title);
	var _titlevalue = _filename.value;
	// tolgo i campi hidden
	_pulsante.parentNode.removeChild(_fileobj);
	_pulsante.parentNode.removeChild(_filename);
	_pulsante.parentNode.removeChild(_titleobj);

	var _container = document.getElementById("file");
	var originalFields = _container.childNodes;
	for (var i=1; i<originalFields.length; i++) {
		var newField = originalFields[i].cloneNode(true);
		var theName = newField.name;
		if (newField.id) {
			if (newField.id.startsWith('__')) {
				newField.id = "__" + _file;
				var innerField = newField.childNodes;
				for (var j=0; j<innerField.length; j++) {
					if (innerField[j].tagName=='INPUT') {
						innerField[j].id = _file;
						innerField[j].name = _file;
						innerField[j].value = _value;
					}
				}
			}
		}

		if (theName == "_file.@displayname") {
			newField.name = _displayname;
			newField.id = _displayname;
			newField.value = _name;
		}
		if (theName == "_file.@title") {
			newField.name = _title;
			newField.id = _title;
			newField.value = _titlevalue;
		}
		_pulsante.parentNode.insertBefore(newField, _pulsante);
	}

	// tolgo il vecchio oggetto
	_pulsante.parentNode.removeChild(_pulsante);
}

function showtext(_pulsante, _text, _model) {
	var _parvalue = document.getElementById(_text);
	var _value = _parvalue.value;
	// tolgo i campi hidden
	_pulsante.parentNode.removeChild(_parvalue);

	var _container = document.getElementById(_model);
	var originalFields = _container.childNodes;
	for (var i=1; i<originalFields.length; i++) {
		var newField = originalFields[i].cloneNode(true);
		var theName = newField.name;
		if (theName) {
			newField.name = _text;
			newField.id = _text;
			newField.value = _value;
		}
		_pulsante.parentNode.insertBefore(newField, _pulsante);
	}

	// tolgo il vecchio oggetto
	_pulsante.parentNode.removeChild(_pulsante);
}

function showchild(_pulsante, _class, _child, _alias, _permission, _immagine, _align, _alt, _title) {
	var child = document.getElementById(_child).value;
	var alias = document.getElementById(_alias).value;
	var permission = document.getElementById(_permission).value;
	var immagine = document.getElementById(_immagine).value;
	var align = document.getElementById(_align).value;
	var alt = document.getElementById(_alt).value;
	var title_ = document.getElementById(_title).value;

	// tolgo i campi hidden
	_pulsante.parentNode.removeChild(document.getElementById(_class));
	_pulsante.parentNode.removeChild(document.getElementById(_child));
	_pulsante.parentNode.removeChild(document.getElementById(_alias));
	_pulsante.parentNode.removeChild(document.getElementById(_permission));
	_pulsante.parentNode.removeChild(document.getElementById(_immagine));
	_pulsante.parentNode.removeChild(document.getElementById(_align));
	_pulsante.parentNode.removeChild(document.getElementById(_alt));
	_pulsante.parentNode.removeChild(document.getElementById(_title));
	
	var _container = document.getElementById("span");
	var originalFields = _container.childNodes;
	for (var i=1; i<originalFields.length; i++) {
		var newField = originalFields[i].cloneNode(true);
		var theName = newField.name;
		if (theName == "_span.@class") {
			newField.name = _class;
			newField.id = _class;
			newField.value = "harmonia";
		}
		if (theName == "_span.@source") {
			newField.name = _child;
			newField.id = _child;
			newField.value = child;
		}
		if (theName == "_span.@alias") {
			newField.name = _alias;
			newField.id = _alias;
			newField.value = alias;
		}
		if (theName == "_span.@permission") {
			newField.name = _permission;
			newField.id = _permission;
			newField.value = permission;
		}
		if (newField.id) {
			if (newField.id.startsWith('__')) {
				newField.id = "__" + _immagine;
				var innerField = newField.childNodes;
				for (var j=0; j<innerField.length; j++) {
					if (innerField[j].tagName=='INPUT') {
						innerField[j].id = _immagine;
						innerField[j].name = _immagine;
						innerField[j].value = immagine;
					}
				}
			}
		}
		if (theName == "_span.@immagine-align") {
			newField.name = _align;
			newField.id = _align;
			newField.value = align;
		}
		if (theName == "_span.@immagine-alt") {
			newField.name = _alt;
			newField.id = _alt;
			newField.value = alt;
		}
		if (theName == "_span.@title") {
			newField.name = _title;
			newField.id = _title;
			newField.value = title_;
		}
		_pulsante.parentNode.insertBefore(newField, _pulsante);
	}

	// tolgo il vecchio oggetto
	_pulsante.parentNode.removeChild(_pulsante);
}

function showlink(_pulsante, _link, _displayname, _immagine, _align, _alt, _title) {

	var linkk = document.getElementById(_link).value;
	var displayname = document.getElementById(_displayname).value;
	var immagine = document.getElementById(_immagine).value;
	var align = document.getElementById(_align).value;
	var alt = document.getElementById(_alt).value;
	var title_ = document.getElementById(_title).value;

	// tolgo i campi hidden
	_pulsante.parentNode.removeChild(document.getElementById(_link));
	_pulsante.parentNode.removeChild(document.getElementById(_displayname));
	_pulsante.parentNode.removeChild(document.getElementById(_immagine));
	_pulsante.parentNode.removeChild(document.getElementById(_align));
	_pulsante.parentNode.removeChild(document.getElementById(_alt));
	_pulsante.parentNode.removeChild(document.getElementById(_title));

	var _container = document.getElementById("link");
	var originalFields = _container.childNodes;
	for (var i=1; i<originalFields.length; i++) {
		var newField = originalFields[i].cloneNode(true);
		var theName = newField.name;
		if (theName == "_link") {
			newField.name = _link;
			newField.id = _link;
			newField.value = linkk;
		}
		if (theName == "_link.@displayname") {
			newField.name = _displayname;
			newField.id = _displayname;
			newField.value = displayname;
		}
		if (newField.id) {
			if (newField.id.startsWith('__')) {
				newField.id = "__" + _immagine;
				var innerField = newField.childNodes;
				for (var j=0; j<innerField.length; j++) {
					if (innerField[j].tagName=='INPUT') {
						innerField[j].id = _immagine;
						innerField[j].name = _immagine;
						innerField[j].value = immagine;
					}
				}
			}
		}

		if (theName == "_link.@immagine-align") {
			newField.name = _align;
			newField.id = _align;
			newField.value = align;
		}
		if (theName == "_link.@immagine-alt") {
			newField.name = _alt;
			newField.id = _alt;
			newField.value = alt;
		}
		if (theName == "_link.@title") {
			newField.name = _title;
			newField.id = _title;
			newField.value = title_;
		}
		_pulsante.parentNode.insertBefore(newField, _pulsante);
	}

	// tolgo il vecchio oggetto
	_pulsante.parentNode.removeChild(_pulsante);
}

function showacronym(_pulsante, _acronym, _displayname) {
	var _acronymvalue = document.getElementById(_acronym);
	var _value = _acronymvalue.value;
	var _acronymname = document.getElementById(_displayname);
	var _name = _acronymname.value;
	// tolgo i campi hidden
	_pulsante.parentNode.removeChild(_acronymvalue);
	_pulsante.parentNode.removeChild(_acronymname);

	var _container = document.getElementById("acronym");
	var originalFields = _container.childNodes;
	for (var i=1; i<originalFields.length; i++) {
		var newField = originalFields[i].cloneNode(true);
		var theName = newField.name;
		if (theName == "_acronym") {
			newField.name = _acronym;
			newField.id = _acronym;
			newField.value = _value;
		}
		if (theName == "_acronym.@displayname") {
			newField.name = _displayname;
			newField.id = _displayname;
			newField.value = _name;
		}
		_pulsante.parentNode.insertBefore(newField, _pulsante);
	}

	// tolgo il vecchio oggetto
	_pulsante.parentNode.removeChild(_pulsante);
}

function showlang(_pulsante, _lang, _displayname) {
	var _langvalue = document.getElementById(_lang);
	var _value = _langvalue.value;
	var _langname = document.getElementById(_displayname);
	var _name = _langname.value;
	// tolgo i campi hidden
	_pulsante.parentNode.removeChild(_langvalue);
	_pulsante.parentNode.removeChild(_langname);

	var _container = document.getElementById("lang");
	var originalFields = _container.childNodes;
	for (var i=1; i<originalFields.length; i++) {
		var newField = originalFields[i].cloneNode(true);
		var theName = newField.name;
		if (theName == "_lang") {
			newField.name = _lang;
			newField.id = _lang;
			newField.value = _value;
		}
		if (theName == "_lang.@displayname") {
			newField.name = _displayname;
			newField.id = _displayname;
			newField.value = _name;
		}
		_pulsante.parentNode.insertBefore(newField, _pulsante);
	}

	// tolgo il vecchio oggetto
	_pulsante.parentNode.removeChild(_pulsante);
}


/**
* Copia nelle textarea tutto il contenuto compresi i tag
*/
function showParagraph(_pulsante, _textareaname) {
	var _textarea = document.getElementById(_textareaname);
	_textarea.style.display = "block";
	_textarea.name = _textareaname;

	// tolgo il vecchio oggetto
	_pulsante.parentNode.removeChild(_pulsante);
}


function showcommand(_pulsante) {
	var _container = document.getElementById("commands");
	_pulsante.parentNode.insertBefore(_container.childNodes[0].cloneNode(true), _pulsante);
	// tolgo il vecchio oggetto
	_pulsante.parentNode.removeChild(_pulsante);
}


/**
* Invocata ad ogni caricamento della pagina
*/
window.onload = function() {
	phover();
	//inputfocus();
	setFooter();
}                       

/**
* Invocata ad ogni ridimensionamento della finestra
*/
window.onresize = function() {
	setFooter();
}