var 
_zona = 'chiave';
_activeViewRow = '';
_page = 1;
_eof = false;
_bof = true;
_pageChanged = false;
_actualOrderColumn = '';
_actualView = '';
_actualViewContent = '';
_aElemChiave = new Array();
_aElemDati = new Array();
_aTabDati = '';
_aExternElems = new Array();
_aImagesToUpload = new Array();
// PER BROWSE
_activeBrowseRow = '';

function getTablename(){
	var tablename = getElement('tablename');
	if(tablename) return tablename.value;
	return false;
}
function getImagesDir(){return getElement('imagesdir').value;}	
function getZona(){return _zona;}
function isChiave(){
	if(getZona() !== 'chiave'){return false;}
	return true;
}
function isDati(){
	if(getZona() !== 'dati'){return false;}
	return true;
}
function isView(){
	if(_actualView !== '' && _actualView !== 'undefined_view' && _actualView !== '_view' 
  && getElement(_actualView).style.display == 'block'){return true;}
	return false;
}
function isInputBox(){
	var inputBox = getElement(getTablename() + "_browseInputBox");
	if(inputBox && inputBox.style.display == 'block'){return true;}
	return false;
}
function isBrowse(){
	var browse = getElement("browse");
	if(browse && browse.id){return true;}
	return false;
}
function disableButton(buttonID){
	var btn = getElement(buttonID);
	if(btn){btn.style.visibility = 'hidden';}
}
function enableButton(buttonID){
	var btn = getElement(buttonID);
	if(btn){btn.style.visibility = 'visible';}
	var fill = getElement(buttonID + 'fill');
	if(fill){fill.style.visibility = 'hidden';}
}
function setMemoStyle(name){
	memo = getElement(name);
	if(memo){
		memo.style.width = memo.parentNode.clientWidth - 22 + 'px';
		memo.style.height = memo.parentNode.clientHeight - 26 + 'px'
	}	
}
function generaTabulazioni(){
	// zona dati
	_aTabDati = new Array();
	var lenDati = _aElemDati.length; 
	for(i = 0; i < lenDati-1; i++){_aTabDati[_aElemDati[i].id] = _aElemDati[i+1];}
	if(_aElemDati[i]){_aTabDati[_aElemDati[i].id] = _aElemDati[0];}
	return true;
}
function gestTab(e, first, chiavi){
	var evt = new evento;
	var key = evt.keyPressed(e);
	if(key == 'TAB' && !isView()){
		setParam('azione', 'compila');
		setParam('chiavi', chiavi);
		ajaxPost('gestioneTabella.php', compilaTabella);
		if(evt.target(e).id == _aElemChiave[_aElemChiave.length - 1].id){
			setFocus();
			evt.noDefault();	
		}
	} 
}
function svuotaForm(){
	// elementi form
	var elem, frm = document.forms[0];
	if(!frm) return false;
	var numElements = frm.elements.length
	frm.reset();
	for(i=0; i < numElements; i++){
		elem = frm.elements[i];
		if(elem.type == 'text') 
			if(elem.chiave == 'key' || elem.chiave == 'filter'){elem.readOnly = false;}
			else{elem.readOnly = true;}
	}
	// immagini
	var numElements = document.images.length
	for(i=0; i < numElements; i++){document.images[i].src = 'none';}
	abilitaZona('chiave');
}
function gestEsc(){
	if(!isView() && (!isInputBox() || isInputBox() && getZona() == 'dati')){ 
		svuotaForm();
		abilitaZona('chiave');
		_activeViewRow = '';
	}	else {
		if(isView()){
			nascondi(_actualView);
			_activeViewRow = '';
			_pageChanged = false;
			_page = 1;
			_bof = true;
			_eof = false;
			setPage();
		} else if(isInputBox() && getZona() == 'chiave'){nascondi(getTablename() + "_browseInputBox");}
	}		
	setFocus();
}
function gestKey(e){
	var tableName = getTablename();
	var evt = new evento;
	var key = evt.keyPressed(e);	
	if(key == 'ESC'){gestEsc();}
	if(key == 'SHIFT+CANC' && isDati() && !isView()){getElement('btn_elimina').onclick();}
	if(key == 'F2' && isChiave() && !isView()){getElement('btn_cerca').onclick();}
	if(key == 'F8' && isDati()){
		if(isInputBox()){getElement('btnBrowse_salva').onclick();} 
		else if(!isView()){getElement('btn_salva').onclick();}
	}
	if(key == 'DOWN'){
		if(isView() && isRow(e)){
			rowUnfocus(_activeViewRow);
			if(_activeViewRow.nextSibling) _activeViewRow = _activeViewRow.nextSibling;
			else  _activeViewRow = getElement(_actualViewContent).firstChild;
			rowFocus(_activeViewRow);
		} else if(isBrowse() && !isInputBox()){
			rowUnfocus(_activeBrowseRow);
			if(_activeBrowseRow.nextSibling){_activeBrowseRow = _activeBrowseRow.nextSibling;}
			else{_activeBrowseRow = getBrowseResultBox().firstChild;}
			rowFocus(_activeBrowseRow);
		}
	}
	if(key == 'UP'){
		if(isView() && isRow(e)){
			rowUnfocus(_activeViewRow);
			if(_activeViewRow.previousSibling){_activeViewRow = _activeViewRow.previousSibling;}
			else{_activeViewRow = getElement(_actualViewContent).lastChild;}
			rowFocus(_activeViewRow);
		} else if(isBrowse() && !isInputBox()){
			rowUnfocus(_activeBrowseRow);
			if(_activeBrowseRow.previousSibling){_activeBrowseRow = _activeBrowseRow.previousSibling;}
			else{_activeBrowseRow = getBrowseResultBox().lastChild;}
			rowFocus(_activeBrowseRow);
		}
	}
	if(key == 'INVIO'){
		if(isView()){
			if(evt.target(e).id == getTablename() + "_filtervalue"){getElement(tableName + '_btnFiltra').onclick();} 
			else if(isRow(e)){_activeViewRow.ondblclick();}
		} else if(isBrowse() && !isInputBox()){_activeBrowseRow.ondblclick();}
	}
	if(key == 'INS' && isBrowse() && !isInputBox()){getElement("btnBrowse_aggiungi").onclick();}
	if(key == 'CANC' && isBrowse() && !isInputBox()){getElement("btnBrowse_elimina").onclick();}
	if(key == 'BAR' && isBrowse() && !isInputBox()){_activeBrowseRow.ondblclick();}
	if(key == 'CANC' && isBrowse()&& !isInputBox()){getElement("btnBrowse_elimina").onclick();}
	if(key == 'PGUP' && isView()){getElement(tableName + '_btnIndietro').onclick();}
	if(key == 'PGDOWN' && isView()){getElement(tableName + '_btnAvanti').onclick();}
	if(key == 'TAB'){
		if(isView()){
   		if(evt.target(e).id == tableName + "_filtertype"){getElement(_actualViewContent).firstChild.focus();}
			else if(evt.target(e).id !== tableName + "_filtervalue"){
				setFocus();
				evt.noDefault(e);
			} 
		} else {
			if(isDati()){	
				_aTabDati[evt.target(e).id].focus();
				evt.noDefault(e);
      }
		}
	}
}
function isRow(e){
	var tableName = getTablename();
	var evt = new evento;
	if(evt.target(e).id == tableName + '_filtervalue'){return false;}
	if(evt.target(e).id == tableName + '_filtertype'){return false;}
	if(evt.target(e).id == tableName + '_filter'){return false;}
	return true;
}
function gestF2(e, campi, tableName, viewColumns){
	var evt = new evento;
	if(evt.keyPressed(e) == 'F2' && !isView()){getElement('btn_cerca').onclick();}
}
function setOrderType(tableName, orderColumn, imgDir){
	var orderType = getElement('ordertype');
	if(orderColumn == _actualOrderColumn || _actualOrderColumn == ''){
		switch (orderType.value){
			case 'ASC':
				orderType.value = 'DESC';
			break;
			case 'DESC':
				orderType.value = 'ASC';
			break;
			default:
				orderType.value = 'DESC';
		}
	} else {orderType.value = 'ASC';}
	// elimino le altre frecce
	var brother = getElement(orderColumn);
	while(brother = brother.previousSibling){ 
		if(brother.id == ''){break;}
		brother.style.backgroundImage = '';
	}
	brother = getElement(orderColumn);
	while(brother = brother.nextSibling){ 
		if(brother.id == ''){break;}
		brother.style.backgroundImage = '';
	}
	// ----------------------- //
	getElement(orderColumn).style.backgroundImage = 'url(' + imgDir + 'order' + orderType.value + '.png)';
	_actualOrderColumn = orderColumn;
}
function setPage(){getElement('page').value = getPage();}
function resetPage(){
	_page = 1;
	bof();
	_eof = false;
	enableButton(getTablename() + '_btnAvanti');
	_pageChanged = true;
	setPage();
}
function eof(){
	_eof = true;
	disableButton(getTablename() + '_btnAvanti');
}
function bof(){
	_bof = true;
	disableButton(getTablename() + '_btnIndietro');
}
function incPage(){
	if(!_eof){
		_page++;
		if(_bof){
			_bof = false;
			enableButton(getTablename() + '_btnIndietro');
		}
		_pageChanged = true;
		setPage();
	}
	return true;
}
function decPage(){
	if(!_bof){
		_page--;
		if(_eof){ 
			_eof = false;
			_page--;
			enableButton(getTablename() + '_btnAvanti');
		}
		setPage();
	}
	_pageChanged = true;
	return true;
}
function getPage(){return _page;}
function setFocus(){
	var elem;
	var frm = document.forms[0];
	if(!frm){return false;}
	var numElements = frm.elements.length;
	for(i=0; i < numElements; i++){
		elem = frm.elements[i];
    if(elem && elem.style.display !== 'hidden' && !elem.readOnly && (elem.type == 'text' || elem.type == 'select-one')){
			elem.focus();
			break;
		}
	}
	return true;
}
function setkey(campi, tableName){
	var campo, elem;
	_aElemChiave = new Array();
	var aCampi = campi.split('|');
	var first = '';
	for(var nCampo in aCampi){
		campo = tableName + "_" + aCampi[nCampo];
		elem = getElement(campo);
		if(elem){
			_aElemChiave.push(elem);
			if(first == ''){first = elem;}
			if(aCampi[nCampo] == aCampi[aCampi.length - 1]){	
				elem.chiave = 'key';
				elem.onkeydown = function(event){ 
					gestF2(event, campi, tableName); 
					gestTab(event, first, campi); 
				}
			} else {
				elem.onkeydown = function(){gestF2(event, campi, tableName);}
			}
		}
	}
}
function setAsFilter(campo){
	var elem = getElement(campo);
	if(elem){elem.chiave = 'filter';}
}
function setAsExternText(campo){
	var elem = getElement(campo);
	if(elem){elem.chiave = 'externText';}	
}
function setAsImageText(campo){
	var elem = getElement(campo);
	if(elem){elem.imageText = 'si';}
}
function setAsDisabledInput(campo){
	var elem = getElement(campo);
	if(elem){elem.disabilitato = 'si';}		
}
function compilaTabella(content){
	var tableName = getTablename();
	nascondi(_actualView);
	_aExternElems = new Array();
	if(content){
		switch (content){
			case 'new':
				abilitaZona('dati');
				break;
			case 'error':
				abilitaZona('chiave');
				break;
			default:
				eval(content); // mi restituisce array associativo dati -- nomecampo:valore
				var elem = "";
				for(var campo in dati){
					elem = getElement(campo);
					if(elem){
						elem.value = dati[campo];
						if(elem.extern){_aExternElems.push(elem);}
						if(elem.imageText){caricaImmagine(elem);}
					}
				}
				compilaAllExtern();
				abilitaZona('dati');
		}
	}
}
function caricaImmagine(elem){getElement(elem.id + "_image").src = getImagesDir() + "/miniature/" + elem.value;}
function compilaAllExtern(){if(_aExternElems.length > 0) _aExternElems[0].onblur();}
function compilaExtern(content, externText, chiavi, continua){
	var elem;
	if(!content){return false;}
	var tableName = getTablename();
	if(externText){externText = externText.toLowerCase();}
	nascondi(_actualView);
	eval(content);
	var aChiavi = chiavi.split("|");
	for(var campo in dati){
		elem = getElement(campo);
		if(elem && elem.chiave == 'externText'){elem.value = dati[campo];}
	}
	if(continua){compilaAllExtern();}
}
function disableElement(elem){
	elem.readOnly = true;
	elem.style.color = '#666';
	elem.style.backgroundColor = '#ccc';
}
function enableElement(elem){
	elem.readOnly = false;
	elem.style.color = '#000';
	elem.style.backgroundColor = '#fff';
}
function setAsDisabled(name){
	elem = getElement(name);
	if(elem){disableElement(elem);}
}
function setAsDisabledImage(name, dirImg){
	var elem = getElement(name);
	if(elem){elem.style.backgroundImage = "url(" + dirImg + "fill.gif)";}
}
function abilitaZona(zona){
	var elem;
	var frm = document.forms[0];
	var numElements = frm.elements.length;
	for(i=0; i < numElements; i++){
		elem = frm.elements[i];
		if(elem && (elem.type == 'text' || elem.type == 'file' || elem.type=='textarea') && elem.chiave !== 'filter'){ 
			if(zona == 'dati'){
				_zona = 'dati';
				_aElemChiave = new Array();
				//gestione buttonBar
				disableButton('btn_cerca');
				enableButton('btn_elimina');
				enableButton('btn_salva');
				if(isInputBox()){enableButton('btnBrowse_salva');}
				if(elem.chiave == 'externText'){enableButton(elem.id + "_btnExtern");}
				if(elem.chiave == 'key' || elem.chiave == 'externText' || elem.disabilitato == 'si'){disableElement(elem);} 
        else { 
					enableElement(elem);
					if(elem.type !== 'file'){_aElemDati.push(elem);}
				}
			} else if(zona = 'chiave') {
				_zona = 'chiave';
				_aElemDati = Array();
				//gestione buttonBar
				enableButton('btn_cerca');
				disableButton('btn_elimina');
				disableButton('btn_salva');
				if(isInputBox()){disableButton('btnBrowse_salva');}
				if(elem.chiave == 'externText'){disableButton(elem.id + "_btnExtern");}
				if(elem.chiave == 'key' && elem.disabilitato !== 'si'){
					enableElement(elem);
					_aElemChiave.push(elem);
				} else {disableElement(elem);}
			}
		}
	}
	setFocus();
	generaTabulazioni();
}
function setExternText(chiavi, externText, viewTableName, oView){
	var elem;
	var chiavi = chiavi.toLowerCase();
	var tableName = getTablename();
	var aChiavi = chiavi.split("|");
	for(var chiave in aChiavi){
		elem = getElement(tableName + "_" + aChiavi[chiave]);
		if(elem){
			elem.onblur = function(){
				if(_aExternElems.length > 0){ 
					continua = true;
					_aExternElems.shift();
				}
				else continua = false;
				urlstr = "gestioneTabella.php";
				setParam('azione', 'compilaExtern');
				setParam('chiavi', chiavi);
				setParam('viewtablename', viewTableName);
				setParam('tablename', tableName);
				ajaxPost(urlstr, compilaExtern, externText, chiavi, continua);
			}
			elem.extern = oView;
		}
	}
}
function sfoglia(id){
	var elem = getElement(id);
	if(elem){elem.click();}
}
function upload(id, dirImg, imgName){
	var frm = document.forms[0];
	var oldEncType = frm.enctype;
	frm.enctype = "multipart/form-data";
	frm.method = "POST";
	frm.action = "upload.php";
	frm.target = "upload_target";
	frm.submit();	
	var img = getElement(id).value;
	var aImg = img.split("\\");
	img = aImg[aImg.length - 1];
	var params = "image=" + dirImg + img; 
	ajaxGet("uploadGest.php?" + params, uploadGest, img, dirImg, imgName, frm, oldEncType);
}
function uploadGest(content, img, dirImg, id, frm, oldEncType){
	if(content == 'uploaded'){
		var tableName = getTablename();
		_aImagesToUpload['image'] = img;
		getElement(tableName + "_" + id + '_image').src = dirImg + img;
		getElement(tableName + "_" + id).value = img;
		var frm = document.forms[0];
		frm.enctype = oldEncType;
	}
}
function createFrame(form){	
	if(getBrowser() == 'Internet Explorer 7'){var iFrame = document.createElement('<iframe name="upload_target">');}
	else{var iFrame = document.createElement('IFRAME');}
	iFrame.id = 'upload_target';
	iFrame.name = 'upload_target';
	iFrame.src ='#';
	iFrame.style.display = 'none';
	document.body.appendChild(iFrame);
} 
function removeFrame(id){
	iFrame = getElement(id);
	if(iFrame){document.body.removeChild(iFrame);}
}
function sleep(delay){
	var start = new Date().getTime();
  while (new Date().getTime() < start + delay);
}
function uploadFile(id, uploadsDir){
	var frm = document.forms[0];
	var CodProfilo = getElement('profili');
	if(!CodProfilo){return false;}
	CodProfilo = CodProfilo.value;
	createFrame();
	uploadFileName = getElement(id).value;
	if(!uploadFileName){return false;}
	aTemp = uploadFileName.split("\\");
	uploadFileName = aTemp[aTemp.length -1];
	frm.enctype = "multipart/form-data";
	frm.encoding = "multipart/form-data";
	frm.method = "POST";
	setParam(id + '_oldAction', frm.action);
	frm.action = "uploadFile.php?uploadsDir=" + uploadsDir + "&filename=" + uploadFileName + "&id=" + id + "&CodProfilo=" + CodProfilo;	
	frm.target = "upload_target";
	setParam("image|" + id, uploadFileName);
	showLoader(id);	
	frm.submit();
}
function uploadFileGest(content, id, uploadFileName, uploadsDir, shop, CodProfilo){
	removeFrame('upload_target');
	// ripristino il form come era prima
	var frm = window.parent.document.forms[0];
	frm.enctype = "application/x-www-form-urlencoded";
	frm.encoding = "application/x-www-form-urlencoded";
	frm.action = getParentElement(id + "_oldAction").value;
	frm.target = "";
	switch(content){
		case 'uploaded':
			var elem = getParentElement(id + "_text");
			if(elem){elem.innerHTML = uploadFileName;}
			elem = getParentElement(id + "_image");
			if(elem){ 
				img = uploadsDir + "temp/" + shop + "_" + CodProfilo + "_" + uploadFileName
				elem.style.backgroundImage = "url(" + img + ")";
				elem.style.backgroundRepeat = "no-repeat";
				elem.style.backgroundPosition = 'top left';
				adjustParent(id, img);
				hideLoader();
			}
			break;
		case 'oversize': 
			hideLoader();
			alert("Il file supera le dimensioni massime (2Mb)");
			break;
		case 'noimage':
			hideLoader(); 
			alert("Il formato del file non è supportato " + uploadFileName);
			break;
	}
}
function loadImage(id, img, filled){
	var elem = getElement(id);
	if(elem){ 
    elem.style.backgroundImage = "url(" + img + ")";
		if(filled !== 'true'){elem.style.backgroundRepeat = "no-repeat";}
		adjust(id, img);
	}
}
function loadFlash(id, filename, width, height){
	var elem = getElement(id);
	if(elem){ 
    elem.style.overflow = 'hidden';
    elem.innerHTML = "<embed width='" + width + "' height='" + height + "' src='" + filename + "'>";
	}
}
function resetSelectImage(id, fillImg){
	var elem = getElement(id + "_image");
	if(elem){ 
		elem.style.backgroundImage = "url(" + fillImg + ")";
		elem.style.backgroundRepeat = "repeat";
		adjust(id, fillImg);
	}	
	elem = getElement(id + "_text");
	if(elem){elem.innerHTML = "";}
	elem = getElement(id);
	if(elem){elem.value = "";}
}
function defaultSelectImage(id, defaultImg, dirImgModello){
	elem = getElement(id + "_image");
	if(elem){ 
		img = dirImgModello + defaultImg;
		elem.style.backgroundImage = "url(" + img + ")";
		elem.style.backgroundRepeat = "no-repeat";
		adjust(id, img);
	}	
	elem = getElement(id + "_text");
	if(elem){elem.innerHTML = defaultImg;}
	elem = getElement(id);
	if(elem){elem.value = "";}
}
function updateGest(content){
	aResult = content.split('|');
	if(aResult[0] == 'true'){caricaBrowse(getElement('chiavi').value, getElement('ordine').value);}
}
function saveImages(){
	var images = "";
	var params = "";
	for(var chiave in _aImagesToUpload){images += _aImagesToUpload[chiave] + "|";}
	params += "images=" + images;
	params += "&imagesdir=" + getImagesDir(); 
	ajaxGet("saveImages.php?" + params, saveImagesGest);
}
function saveImagesGest(content){return true;}
//---------------------------------------------------------------------------------------------------------------------//
//	GESTIONE TABELLA	
//---------------------------------------------------------------------------------------------------------------------//
function gestioneTabella(content, azione, chiavi, tableName, viewTableName, externText, afterSave){
	if(content){
		if(azione == 'cerca'){ 
			_actualView = tableName + "_view";
			_actualViewContent = tableName + "_viewContent";
		} else {
			_actualView = viewTableName + "_view";
			_actualViewContent = viewTableName + "_viewContent";			
		}
		var output = '';
		// Azione => RICERCA	
		if(azione == 'cerca' || azione == 'extern'){
			var aResp = content.split("|");
			switch(aResp[0]){
				case 'eof':
					eof();
				break;
				case 'bof':
					bof();
				break
				case 'eofbof':
					bof();
					eof();
				break
			}
			output = formatHtml(aResp[1]);
			mostra(_actualView);
			getElement(_actualViewContent).innerHTML = output;
			// ciclo su tutte le righe della view
			var riga = getElement(_actualViewContent).firstChild;
			if(_activeViewRow == '' || _pageChanged){_activeViewRow = riga;}
			rowFocus(_activeViewRow);
			while(riga){	
				riga.onmouseover = function(){setPointer(this.id, 'over');}
				riga.onmouseout = function(){setPointer(this.id, 'out');}
				riga.onclick = function(){  
					rowUnfocus(_activeViewRow);
					_activeViewRow = this;
					rowFocus(_activeViewRow);
				}
				riga.ondblclick = function(){ 
					_activeViewRow = '';
					var urlstr = "gestioneTabella.php?";
					if(azione == 'extern'){ 
						urlstr += "azione=compilaExtern";
						urlstr += "&viewTableName=" + viewTableName;
					} else {urlstr += "azione=compila";}
					urlstr += "&chiavi=" + chiavi;
					urlstr += "&tableName=" + tableName;
					urlstr += "&" + this.id;
					if(azione == 'cerca'){ajaxGet(urlstr, compilaTabella);}
					else if(azione == 'extern'){ajaxGet(urlstr, compilaExtern, externText, chiavi);}
				}	
				riga = riga.nextSibling;
			}
		// Azione => SALVA
		} else if(azione == 'salva'){
				aContent = content.split("|");
				// aContent[0] risultato della save | aContent[1] parametri per l'afterSave
				if(aContent[0] == 'ok'){ 
					saveImages();
					if(afterSave !== ''){afterSave.call(this, aContent[1]);}
					svuotaForm();
				}
				else{alert("impossibile salvare, controllare i dati inseriti");}
		// Azione => ELIMINA
		} else if(azione == 'elimina'){
				if(content == 'ok'){svuotaForm();}
        else{alert("impossibile eliminare");}
		}
	}
}
//---------------------------------------------------------------------------------------------------------------------//
//	GESTIONE BROWSE	
//---------------------------------------------------------------------------------------------------------------------//
function getBrowseResultBox(){return getElement(getTablename() + '_browseResult');}
function getBrowseWindow(){return getElement(getTablename() + '_browseWindow');}
function getScrollSize(id){
	id.style.overflowY = 'hidden';
	var size = id.clientWidth;
	id.style.overflowY = 'scroll';
	size -= id.clientWidth;
	return size;	
}
function gestioneBrowse(content, azione, chiavi, ordine){
	if(!content){return false;}
	var tableName = getTablename();
	if(azione == 'carica'){
		var resultBox = getBrowseResultBox();
		scrollSize = getScrollSize(resultBox);
		resultBox.style.width = (769 + scrollSize) + 'px';
		if(content == 'empty') content = '';
		offset = getElement('testata').clientHeight + getElement('piede').clientHeight;
		elem = getElement('browse'); 
		if(window.innerHeight){elem.style.height = window.innerHeight - offset + 'px';}
		else{elem.style.height = document.documentElement.clientHeight - offset + 'px';}
		resultBox.innerHTML = formatHtml(content);
		_activeBrowseRow = getElement(_activeBrowseRow.id); 				
		var riga = resultBox.firstChild;		
		if(_activeBrowseRow == ''){ 
				setColor(riga.id, '#fff', '#666');
				_activeBrowseRow = riga;
		}
		rowFocus(_activeBrowseRow);
		while(riga){	
			riga.onmouseover = function(){ setPointer(this.id, 'over'); }
			riga.onmouseout = function(){ setPointer(this.id, 'out'); }
			riga.onclick = function(){
				rowUnfocus(_activeBrowseRow);// deseleziono precedente
				_activeBrowseRow = this;// seleziono attuale
				rowFocus(_activeBrowseRow);
			}			
			riga.ondblclick = function(){
				inputBox = getElement(tableName + '_browseInputBox');
				mostra(inputBox.id);
				aKeysValues = this.id.split("&");
				var aKeyValue = "";
				var field = "";
				for(var pos in aKeysValues){
					aKeyValue = aKeysValues[pos].split("=");
					// aKeyValue[0] -> nome campo chiave | aKeyValue[1] -> valore campo chiave
					field = getElement(aKeyValue[0]);
					if(field){field.value = unescape(aKeyValue[1]);}
				}
				setParam('azione', 'compila');
				setParam('chiavi', chiavi);
				ajaxPost('gestioneTabella.php', compilaTabella);
			}	
			riga = riga.nextSibling;
		}
	} else if(azione == 'salva'){
		svuotaForm();
		nascondi(tableName + '_browseInputBox');
		caricaBrowse(chiavi, ordine);
	} else if(azione == 'elimina'){
		_activeBrowseRow = getBrowseResultBox().firstChild;
		if(!_activeBrowseRow){_activeBrowseRow = '';}
		caricaBrowse(chiavi, ordine);
	}
}
function rowFocus(row){
	var elem = row.firstChild;
	while(elem){
		setColor(elem.id, '#fff', '#666');
		elem = elem.nextSibling;
	}
}
function rowUnfocus(row){
	var elem = row.firstChild;
	while(elem){
		setColor(elem.id, '#666', '#f6f6f6');
		elem = elem.nextSibling;
	}
}
function caricaBrowse(chiavi, ordine){
	setParam('azione', 'carica');
	setParam('chiavi', chiavi);
	setParam('ordine', ordine);
	ajaxPost('gestioneBrowse.php', gestioneBrowse, 'carica', chiavi, ordine);
}
function aggiungiAlBrowse(){
	setParam('azione', 'aggiungi');
	var tableName = getTablename();
	inputBox = getElement(tableName + '_browseInputBox');
	mostra(inputBox.id);
  setFocus();
}
function modificaRigaBrowse(){_activeBrowseRow.ondblclick();}
function eliminaRigaBrowse(chiavi, ordine){
	var url = "";
	url += 'gestioneTabella.php?';
	url += 'azione=elimina';
	url += '&tablename=' + getTablename();
	url += '&chiavi=' + chiavi;
	url += '&ordine=' + ordine;
	url += '&' + _activeBrowseRow.id; 
	ajaxGet(url, gestioneBrowse, 'elimina', chiavi, ordine);
}
function importa(fileName){alert("importa: " + getElement(fileName).value);}