function addOption(obj, value, text, selected, opzioni) {
  opzioni = opzioni || {};
  var elOptNew = document.createElement('option');
  elOptNew.text = text;
  elOptNew.value = value;
  elOptNew.selected = selected;
  for (optAggiuntiva in opzioni) {
	elOptNew.setAttribute(optAggiuntiva, opzioni[optAggiuntiva]);
  }

  var elSel = $(obj);
  var pos=opzioni['posizione'];

  if(pos >= 0) {
	  elSel.options.add(elOptNew, parseInt(pos));
  } else {
	  try {
    	elSel.add(elOptNew, null); // non lavora in IE
	  }
	  catch(ex) {
    	elSel.add(elOptNew); // IE
	  }
  }
}
function genPaginator(pCurr, nRecPage, nRecTotal, idObj, funz) {
  var strOut = "";
  var TotPages;

	TotPages = Math.floor((nRecTotal-1)/nRecPage)+1;
	if (pCurr > 6) {
		strOut += "<span class='paginator' onClick='"+funz.replace('PAGINA',pCurr-5)+"' style='cursor:pointer'>Precedenti</span>";
	}
	if (TotPages > 1) {
		if ((startPage=pCurr-4)<2) startPage=2;
		if ((endPage=pCurr+4)>(TotPages-1)) endPage=(TotPages-1);

		if (pCurr==1) {
		strOut += "<span class='paginator_currpage'>1</span>";
		} else {
		strOut += "<span class='paginator' onClick='"+funz.replace('PAGINA',1)+"'>"+1+"</span>";
		}
		if (startPage>2) strOut += '&nbsp;...&nbsp;'
		for(i=startPage;i<=endPage;i++) {
			if (i==pCurr) {
			strOut += "<span class='paginator_currpage'>"+i+"</span>";
			} else {
			strOut += "<span class='paginator' onClick='"+funz.replace('PAGINA',i)+"'>"+i+"</span>";
			}
		}
		if (endPage<(TotPages-1)) strOut += '&nbsp;...&nbsp;'
		if (pCurr==TotPages) {
		strOut += "<span class='paginator_currpage'>"+TotPages+"</span>";
		} else {
		strOut += "<span class='paginator' onClick='"+funz.replace('PAGINA',TotPages)+"'>"+TotPages+"</span>";
		}
	}
	if ((TotPages-pCurr) > 6 ) {
		strOut += "<span class='paginator' onClick='"+funz.replace('PAGINA',pCurr+5)+"' style='cursor:pointer'>Successive</span>";
	}

	$(idObj).innerHTML=(strOut==''?'':'Pagine: '+strOut)
}