if(document.getElementsByTagName("TABLE")[0]){
if(typeof document.getElementsByTagName("TABLE")[0].moveRow == "undefined"){
	Node.prototype.moveRow = function(){
		if(this && this.nodeName.match(/^(table|t(body|head|foot))$/i)){
		try {
			one = (!arguments[0] && arguments[0] != 0?-1:arguments[0]);
			two = (!arguments[1] && arguments[1] != 0?-1:arguments[1]);

// Makes sure the row exists and then makes sure the insertable row isn't greater then the length
		if(!this.rows[one] || two > this.rows.length){
			var err = new Error();
			throw err;
		}

// This is just so that it gets put in the right place.
	/*	if(two > one)
			two = two+1;
		else if(one > two)
			one = one+1;
*/	var app3=this.rows[one].id;
	var app2=this.rows[one].ondblclick;
	var app=this.rows[one].innerHTML;
	this.rows[one].id=this.rows[two].id;
	this.rows[one].ondblclick=this.rows[two].ondblclick;
    this.rows[one].innerHTML=this.rows[two].innerHTML;
    this.rows[two].id=app3;
	this.rows[two].ondblclick=app2;
	this.rows[two].innerHTML=app;

		
/*		newRow = this.insertRow(two);
		newRow.style.background = '#ffffff';
		newRow.className='pagina';
		newRow.onMouseOver="style.background='#C8BEBE'";
		newRow.innerHTML = this.rows[one].innerHTML;*/
		/*this.rows[one].innerHTML=this.rows[two].innerHTML;
		alert('one: '+one+'two: '+two+'newrow: '+newRow.index);*/
		//this.deleteRow(one);
	} catch(e) {}
}
}
}
}

function minimo(inizio,fine,vett,flag){
	var min=inizio;
	var i;
	for(i=inizio+1;fine>i;i++){
		if((vett.rows[i].cells[flag].innerHTML.toLowerCase()!="&nbsp;" && vett.rows[min].cells[flag].innerHTML.toLowerCase()>vett.rows[i].cells[flag].innerHTML.toLowerCase())){
			min=i;
		}
	}
	return min;
}

function massimo(inizio,fine,vett,flag){
	var max=inizio;
	var i;
	for(i=inizio+1;fine>i;i++){
		if((vett.rows[i].cells[flag].innerHTML.toLowerCase()!="&nbsp;" && vett.rows[i].cells[flag].innerHTML.toLowerCase()>vett.rows[max].cells[flag].innerHTML.toLowerCase())){
			max=i;
		}
	}
	return max;
}

function ordinamento(vet,inizio,flag,max_col,verso){
	if(inizio==vet.rows.length){
		return;
	}else{
		var id;
		if(verso=="giu"){
			id=minimo(inizio,vet.rows.length,vet,flag);
		}else{
			id=massimo(inizio,vet.rows.length,vet,flag);
		}
		
		vet.moveRow(id,inizio);
		
		ordinamento(vet,inizio+1,flag,max_col,verso);
		return;
	}
}

function match(a,b){
  var i=0,c=false;
  if(b.length>a.length){
  	c=false;
  }else{
  	var app=a.substring(0,b.length);
  	if(app.toLowerCase()==b.toLowerCase()){
  		c=true;
  	}
		return c;
  }
}

function paginaLista(titolo,indice,nop){

	var contenitore=document.getElementById('strutt');
	var intestazione=getElementsByClassName("header");
	var filtri=document.getElementById('filtri'+titolo);
	var table=document.getElementById(titolo);
	var children=getElementsByClassName("pagina");
	var c;
	var num=-1;
	
	for(var i=0;i<children.length;i++){
		var cella=children[i].getElementsByTagName('td');
		c=true;
		if(filtri){
 		for(var j=0;(filtri.cells.length-nop)>j;j++){
			if(filtri.getElementsByTagName("input")[j]){
    		var value=filtri.getElementsByTagName("input")[j].value;
    	  var	a=cella[j].innerHTML;
    	  //alert(a+"a,v"+value);
    	  /*if(children[i].childNodes[j].childNodes[0].nodeName=="INPUT"){
    	   	a=children(i).childNodes[j].childNodes[0].getAttribute("value");
    	  }*/
  			c=c && match(a,value);
  		}
		}
  	}
		
  	if(!c){  	
 			children[i].style.display='none';
 		}else{
    	children[i].style.display='';
    	num++;
	  }	
		if(!(num>=(indice*20) && num<(indice*20)+20)){
 			children[i].style.display='none';
		}
	}
	num++;
	
  intestazione[0].getElementsByTagName('td')[0].innerHTML='Righe: '+num;
  intestazione[1].getElementsByTagName('td')[0].innerHTML='Righe: '+num;
  return;
}

function ordina(titolo,indice,verso,nop){
	 	
	var table=document.getElementById(titolo);
	var children=getElementsByClassName("intestazione");
	var figli=children[0].getElementsByTagName('th');
	
	ordinamento(table,2,indice,nop,verso);
	var cella=document.getElementById('cella'+indice);

	for(var i=0;i<(figli.length-nop);i++){
	//	if(figli[i].childNodes[2].src){
			figli[i].childNodes[2].src="immagini/freccia_default.gif";
	//	}
	}
	if(verso=="giu"){
		cella.childNodes[0].href="javascript:ordina('"+titolo+"',"+indice+",'su','"+nop+"')";	
		cella.childNodes[2].src="immagini/freccia_ordinamento_giu.gif";
		//children[0].childNodes[indice].childNodes[0].setAttribute("href","javascript:ordina('"+titolo+"',"+indice+",'su')");
	}else{
		cella.childNodes[0].href="javascript:ordina('"+titolo+"',"+indice+",'giu','"+nop+"')";
		cella.childNodes[2].src="immagini/freccia_ordinamento_su.gif";
		//children[0].childNodes[indice].childNodes[0].setAttribute("href","javascript:ordina('"+titolo+"',"+indice+",'giu')");
	}
	
	paginaLista(titolo,0,nop);
	return;
}





function getElementsByClassName(_className){
	var _classArray = [];
	var _regExp = new RegExp('\\b' + _className + '\\b');
	var _getAllTags = document.getElementsByTagName('*');
	for(var i = 0; i < _getAllTags.length; i++)
	{
		if (_regExp.test(_getAllTags[i].className) == true)
		{
			_classArray.push(_getAllTags[i]);
		}
	}

	return _classArray;
}


var TUPLECORRENTI=new Array();



function filtroArt(){
	TUPLECORRENTI=new Array();
	var k=0;
	//vediFiltri();
	//vediEtich();
	for(i=0;i<FILTRI.length;i++){
		var c=!FILTRI[i][FILTRI[i].length-2];
		for(j=0;j<ETICHETTE.length;j++){
			if(document.getElementById(ETICHETTE[j][1])){
			c=c && match(FILTRI[i][j],document.getElementById(ETICHETTE[j][1]).value);
			}
		}
		if(c){
			TUPLECORRENTI[k]=i;
			k++;
		}
	}
	//vediCurr();
	insTuple();
	BLOCCOPAG=1;
	setPaginazione(1);
	if(document.getElementById('numerorighetop')){	
		document.getElementById('numerorighetop').innerHTML='Numero righe: '+TUPLECORRENTI.length+'/'+FILTRI.length;
	}
	if(document.getElementById('numerorighebott')){	
		document.getElementById('numerorighebott').innerHTML='Numero righe: '+TUPLECORRENTI.length+'/'+FILTRI.length;
	}

}


function insPagina(indice){
	if(document.getElementById('paginazione_curr')){
	document.getElementById('paginazione_curr').innerHTML='Pagina: '+indice;
	}
}

var BLOCCOPAG=1;

function setPaginazione(indice){
	var numpag=parseInt((TUPLECORRENTI.length/20)+1);
	var limite=BLOCCOPAG+10;
	if(limite>numpag){
		limite=numpag;
	}
	if(BLOCCOPAG!=1){
	var ris="<table border=0 align=center><tr><td align=center><a href='javascript:BLOCCOPAG--;setPaginazione(0);'>&laquo;</a></td><td>&nbsp;</td>";
	}else{
	var ris="<table border=0 align=center><tr>";		
	}
	if(indice!=0){
		insPagina(1);
		//INDICEPAGINA=indice;
	}
	for(i=BLOCCOPAG-1;i<limite;i++){
		if(!(i % 20)){
			//ris+="<br/>";
		}
		ris+="<td align=center><a href='javascript:INDICEPAGINA="+(i+1)+";insTuple();insPagina("+(i+1)+");'>"+(i+1)+"</a></td>";
	}
	if(BLOCCOPAG!=numpag-10 && numpag>10){
	ris+="<td>&nbsp;</td><td align=center><a href='javascript:BLOCCOPAG++;setPaginazione(0);'>&raquo;</a></td></tr></table>";
	}else{
	ris+="</tr></table>";
	}
	document.getElementById("paginazione").innerHTML=ris;
	if(document.getElementById("totaleriga_0")){
		totaliRighe('inv');
		totaleFiltri();
	}
			//alert(BLOCCOPAG+"  "+(numpag-10));
	
}



function totaleFiltri(){
	var ris=0.0;
	for(i=0;i<FILTRI.length;i++){
				ris+=FILTRI[i][3]*FILTRI[i][4];
	}
	if(document.getElementById("totalelenco")){
		document.getElementById("totalelenco").innerHTML="<b>Tot:</b> "+ris+' &euro;';
	}
	return document.getElementById("totalelenco").innerHTML;
}



function vediCurr(){
	var ris="";
	for(i=0;i<TUPLECORRENTI.length;i++){
		ris+=TUPLECORRENTI[i]+"  ";
	}
	alert(ris);
}

function minimo_tp(a,b){
	if(a>b){
		return b;
	}else{
		return a;	
	}
}


function vediFiltri(){
	var ris="";
//	alert(1);
	for(i=0;i<FILTRI.length;i++){
			for(j=0;j<FILTRI[i].length;j++){
				ris+=FILTRI[i][j]+" ";
			}
	}
	alert(ris);
}


function vediEtich(){
	var ris="";
//	alert(1);
	for(i=0;i<ETICHETTE.length;i++){
				ris+=ETICHETTE[i]+" ";
	}
	alert(ris);
}




function svuotaTabella(){
	for(j=0;j<20;j++){
		for(i=0;i<ETICHETTE.length;i++){
			if(document.getElementById("valore_"+ETICHETTE[i][1]+"_"+(j))){
				document.getElementById("valore_"+ETICHETTE[i][1]+"_"+(j)).value="0";
				document.getElementById("valore_"+ETICHETTE[i][1]+"_"+(j)).setAttribute('indiceriga','-1');
				if(ETICHETTE[i][1]!="Costo+Iva"){
				document.getElementById(ETICHETTE[i][1]+"_"+(j)).setAttribute(ETICHETTE[i][1],'-1');
				}
			}else{
				//alert(ETICHETTE[i][1]+"_"+(j));
				if(document.getElementById(ETICHETTE[i][1]+"_"+(j))){
				document.getElementById(ETICHETTE[i][1]+"_"+(j)).innerHTML="&nbsp;";
				}
			}
		}
		if(document.getElementById("check_"+j)){
			document.getElementById("check_"+j).checked=false;
		}
		if(document.getElementById("riga_"+j)){
			document.getElementById("riga_"+j).style.display='';
			document.getElementById("riga_"+j).setAttribute('indiceriga','-1');
		}
	}
}



function vediselezionati(){
var ris="";
for(i=0;i<FILTRI.length;i++){
	if((FILTRI[i][(FILTRI[i].length)-1])){
		ris+=FILTRI[i][0]+"  ";
	}
}
alert(ris);
}


function setFiltri(){
	var app=null;
	var i=0;
	var indice=0;
	while(document.getElementById("riga_"+i)){
		indice=cercaArtFiltri(document.getElementById("Cod_articolo_"+i).innerHTML);
		//alert(indice);
		for(j=0;j<ETICHETTE.length;j++){
			//alert(ETICHETTE[j]+"_"+i);
			var app1=""+ETICHETTE[j];
			var ris=app1.split(",");
			//alert(ris[1]);
			FILTRI[indice][j]=document.getElementById(ris[1]+"_"+i).innerHTML;
		}
		FILTRI[indice][FILTRI[indice].length-2]=true;
		FILTRI[indice][FILTRI[indice].length-1]=false;
		i++;
	}
}



function cercaArtFiltri(cod){
	var i=0;
	var c=true;
	while(i<FILTRI.length && c){
		if(FILTRI[i][0]==cod){
			c=false;
		}else{
			i++;
		}
	}
	return i;
}



var INDICEPAGINA=1;

function insTuple(){
//	alert("ris= "+TUPLECORRENTI.length);
	var app=minimo_tp((TUPLECORRENTI.length-((INDICEPAGINA-1)*20)),20);
	svuotaTabella();
	for(j=((INDICEPAGINA-1)*20);j<((INDICEPAGINA-1)*20)+app;j++){
		for(i=0;i<ETICHETTE.length;i++){
			if(FILTRI[TUPLECORRENTI[j]][i]==""){
				FILTRI[TUPLECORRENTI[j]][i]="&nbsp;";
			}
//			alert("valore_"+ETICHETTE[i][1]+"_"+j);
			if(document.getElementById("valore_"+ETICHETTE[i][1]+"_"+(j % 20))){
	//			alert("si");
				document.getElementById("valore_"+ETICHETTE[i][1]+"_"+(j % 20)).value=FILTRI[TUPLECORRENTI[j]][i];
				document.getElementById("valore_"+ETICHETTE[i][1]+"_"+(j % 20)).setAttribute('indiceriga',TUPLECORRENTI[j]);
				if(ETICHETTE[i][1]!="Costo+Iva"){				
				document.getElementById(ETICHETTE[i][1]+"_"+(j % 20)).setAttribute(ETICHETTE[i][1],FILTRI[TUPLECORRENTI[j]][i]);				
				}
			}else{
		//		alert("no");
				document.getElementById(ETICHETTE[i][1]+"_"+(j % 20)).innerHTML=FILTRI[TUPLECORRENTI[j]][i];
			}
		}
		document.getElementById("riga_"+(j % 20)).setAttribute('indiceriga',TUPLECORRENTI[j]);
		if(document.getElementById("check_"+(j % 20)) && FILTRI[TUPLECORRENTI[j]][FILTRI[TUPLECORRENTI[j]].length-1]==true){
			document.getElementById("check_"+(j % 20)).checked=true;
		}
	}
	if(app<20){
		for(k=app;k<20;k++){
			if(document.getElementById("riga_"+k)){
			document.getElementById("riga_"+k).style.display='none';
			document.getElementById("riga_"+k).setAttribute('indiceriga','-1');
			}
		}
	}
}






function insTuple_backup(){
//	alert("ris= "+TUPLECORRENTI.length);
	var app=minimo_tp(TUPLECORRENTI.length,20);
	svuotaTabella();
	for(j=0;j<app;j++){
		for(i=0;i<ETICHETTE.length;i++){
			if(FILTRI[TUPLECORRENTI[j]][i]==""){
				FILTRI[TUPLECORRENTI[j]][i]="&nbsp;";
			}
//			alert("valore_"+ETICHETTE[i][1]+"_"+j);
			if(document.getElementById("valore_"+ETICHETTE[i][1]+"_"+(j))){
	//			alert("si");
				document.getElementById("valore_"+ETICHETTE[i][1]+"_"+(j)).value=FILTRI[TUPLECORRENTI[j]][i];
				document.getElementById("valore_"+ETICHETTE[i][1]+"_"+(j)).setAttribute('indiceriga',TUPLECORRENTI[j]);
				if(ETICHETTE[i][1]!="Costo+Iva"){				
				document.getElementById(ETICHETTE[i][1]+"_"+(j)).setAttribute(ETICHETTE[i][1],FILTRI[TUPLECORRENTI[j]][i]);				
				}
			}else{
		//		alert("no");
				document.getElementById(ETICHETTE[i][1]+"_"+(j)).innerHTML=FILTRI[TUPLECORRENTI[j]][i];
			}
		}
		document.getElementById("riga_"+j).setAttribute('indiceriga',TUPLECORRENTI[j]);
		if(document.getElementById("check_"+j) && FILTRI[TUPLECORRENTI[j]][FILTRI[TUPLECORRENTI[j]].length-1]==true){
			document.getElementById("check_"+j).checked=true;
		}
	}
	if(app<20){
		for(k=app;k<20;k++){
			document.getElementById("riga_"+k).style.display='none';
			document.getElementById("riga_"+k).setAttribute('indiceriga','-1');
		}
	}
}







function filtroArt_old(){
	var app=document.getElementById("Cod_articolo").value;
	//alert(FILTRI.length);
	var ris="<table border=0 id=strutt cellpadding=0 cellspacing=0 width=98%><tr class=\"header\"><td width=33% valign=center align=left height=10px ></td><td width=33% valign=center align=right height=10px ></td></tr><tr class=\"corpo\"><td colspan=3 align=center><table style=\"border:1px solid #000000; border-bottom:0px;\" class=elenco cellpadding=0 cellspacing=0 width=100%><tr class=\"intestazione\" style=\"background:#A99F9F;\"></tr>";
	document.getElementById("PROVAFILTRI").innerHTML="";
	for(i=0;i<FILTRI.length;i++){
		if(match(FILTRI[i],app)){
			ris+="<tr class=pagina style=\"background:#ffffff;\" onMouseOver=\"this.style.background='#C8BEBE';\" onMouseOut=\"this.style.background='#ffffff';\"><td style=\"border-bottom:1px solid #000000; \" valign=top align=left>"+FILTRI[i]+"</td></tr>";
		}
	}
	//alert(1);
	ris+="</table></td></tr></table>";
	document.getElementById("PROVAFILTRI").innerHTML=ris;
}
