var contatore=0;
var pos;
var elabora1;
var distanza_num;
var est=new Array();
function check(){
	
	if (contatore>2){
		
		alert("Attenzione si possono elaborare pił di 2 numeri per volta");
		
		return false;
		}else{
		
		return true;
		}
	
	}

function selectCell(t){
	contatore++;
	if ((t.style.backgroundColor==colorUp) || (!t.style.backgroundColor)){
		
		if (check()){
		t.style.backgroundColor=colorDown;
		
		
		
		}
	}else{
	contatore--;
	t.style.backgroundColor=colorUp;
	}
	searchValue();
	}


function searchValue(){
	contatore=0;
	var contval=0;
	document.all['ruota_n1'].value=0;
	document.all['pos1'].value=0;	
	document.all['ruota_n2'].value=0;
	document.all['pos2'].value=0;	
		for (i=1;i<=55;i++){
		t=document.all['cell' +i];	
		if (t.style.backgroundColor==colorDown) {
			contval++;
			getPos(i);
			contatore++;
			if (contval==1){
				document.all['ruota_n1'].value=ruota;
				document.all['pos1'].value=pos;	
				}else if (contval==2){
				document.all['ruota_n2'].value=ruota;
				document.all['pos2'].value=pos;	
				}
			}
		}
	if ((contatore<2) && (elabora1!="") && (elabora1!="distanza"))getError(); 	
		elabora1="";
	}
	
function getError(){
	msg=" ";
	switch(elabora1){
		case "isotopi":
			msg="In questa estrazione non sono Presenti abbinamenti Isotopi";
		
		break;
		
		case "isotopiuguali":
			msg="In questa estrazione non sono Presenti abbinamenti Isotopi Uguali";
		
		break;
		
		case "noisotopi":
			msg="In questa estrazione non sono Presenti abbinamenti Non Isotopi";
		
		break;
		
		case "ambi":
			msg="In questa estrazione non sono Presenti Ambi Ripetuti";
		
		break;
		
		case "distanza1":
			msg="In questa estrazione non sono Presenti Distanze "+ distanza_num;
		
		break;
		
		
		
		}
		
	
		if (msg!=" ")alert(msg);
		
	}	
	
function getPos(n){
	r=n % 5;
	if (r==0){
		pos=5;
		ruota=n/5;
		}else{
		pos=r;
		ruota=(n-r)/5+1;
		}
	}
	
function makeArrayEstrazioni(){
	for (ruota_n=1;ruota_n<=11;ruota_n++){
		for (i=1;i<=5;i++){
			n=(ruota_n-1)*5+i;
			
			t=document.all['cell' +n].innerText;
			if (((ruota_n==ruota_n1)&& (pos1==i)) || ((ruota_n==ruota_n2)&& (pos2==i))){
				document.all['cell'+n].style.backgroundColor=colorDown;
				contatore++;
			}
			
			est[ruota_n + "_" + i]=t*1;
			
		}
		
	}
	searchValue();

	}	
	
function elabora(v){
	reset();
	document.all['distanza'].innerHTML="";
	switch(v){
		case "isotopi":
			isotopi();
		
		break;
		case "isotopiuguali":
		
			isotopiUguali();
		
		break;
		
		
		case "noisotopi":
			noisotopi();
		
		break;
		
		case "ambi":
			ambi();
		
		break;
		
		case "distanza":
			distanza();
		
		break;
		
		
		
		}
	elabora1=v;	
	searchValue();
	
	}



function isotopi(){
	//est[1,1]="ciao";
	//est[2,1]="========";
	contatore=0;
	var iso=new Array();
		for (pos=1;pos<=5;pos++){
			iso_cont=0;
			
			for (ruota_n=1;ruota_n<=10;ruota_n++){
				estratto=est[ruota_n + "_" + pos];
				if (estratto<10){
					iso_cont++;
					iso[iso_cont]=ruota_n;
					}
			}
			if (iso_cont>1){
				for (i=1;i<=iso_cont;i++){
				n=(iso[i]-1)*5+pos;
				contatore++;
				document.all['cell'+n].style.backgroundColor=colorDown;
				}
			}	
			
			
		}
	}
	
	
function isotopiUguali(){
	//est[1,1]="ciao";
	//est[2,1]="========";
	contatore=0;
	var iso=new Array();
		for (pos=1;pos<=5;pos++){
			for (ruota_n=1;ruota_n<=9;ruota_n++){
				estratto1=est[ruota_n + "_" + pos];
				for (ruota2=ruota_n+1;ruota2<=10;ruota2++){
					estratto2=est[ruota2 + "_" + pos];
					if (estratto1==estratto2){
						n=(ruota_n-1)*5+pos;
						document.all['cell'+n].style.backgroundColor=colorDown;
						n=(ruota2-1)*5+pos;
						document.all['cell'+n].style.backgroundColor=colorDown;
						}
				}	
			}
			
			
			
		}
	}	
	
	
	
function noisotopi(){
	contatore=0;
	var iso=new Array();
	for (ruota_n=1;ruota_n<=10;ruota_n++){
		iso_cont=0;
		for (pos=1;pos<=5;pos++){
			estratto=est[ruota_n + "_" + pos];
			if (estratto<10){
					iso_cont++;
					iso[iso_cont]=pos;
					}
			}
			if (iso_cont>1){
				for (i=1;i<=iso_cont;i++){
				n=(ruota_n-1)*5+iso[i];
				contatore++;
				document.all['cell'+n].style.backgroundColor=colorDown;
				}
			}	
			
			
		}
	}
	
function ambi(){
	var ambi=new Array();
	
	for (ruota_n=1;ruota_n<=10;ruota_n++){
		
		for (pos=1;pos<=4;pos++){
			estratto1=est[ruota_n + "_" + pos];
			for (pos1=pos+1;pos1<=5;pos1++){
				estratto2=est[ruota_n + "_" + pos1];
			if (estratto1<estratto2){
				//if (((ruota_n==7) || (ruota_n==8)) && (estratto1==13))document.all['textarea'].value+=estratto1 +"."+ estratto2 + "*1* r= "+ruota_n+ "| ";
				
				if (!ambi[estratto1 +"_" + estratto2])ambi[estratto1 +"_" + estratto2]=0;
				
				ambi[estratto1 +"_" + estratto2]=ambi[estratto1 +"_" + estratto2]+1;
				//if ((ruota_n==7) && (estratto1==13))document.all['textarea'].value+=estratto2 +"."+ estratto1 + "*2*  val="+ambi[estratto2 +"_" + estratto1]+ " r= "+ruota_n+ "| ";
				
				}else{
				
				if (!ambi[estratto2 +"_" + estratto1])ambi[estratto2 +"_" + estratto1]=0;
				ambi[estratto2 +"_" + estratto1]=ambi[estratto2 +"_" + estratto1]+1;
				//if ((ruota_n==8) && (estratto2==13))document.all['textarea'].value+=estratto2 +"."+ estratto1 + "*2*  val="+ambi[estratto2 +"_" + estratto1]+ " r= "+ruota_n+ "| ";
				
				}
			}
				
		}
	}
	
	stampaAmbi(ambi)
	
	}
	
function stampaAmbi(a){
	aa=new Array();
	var obj;
	for( obj in a){
		if (a[obj]>1){
			selezionaAmbi(obj);
			}
		
		}
	
	
	
	}		
	
function selezionaAmbi(obj){
	var estPos=new Array();
	//obj="**"+ obj;
	//document.all['textarea'].value+=obj+"|";
	obj1=obj.split("_");	
	for (ruota_n=1;ruota_n<=10;ruota_n++){
		cont_ambi=0;
		for (pos=1;pos<=5;pos++){
			if ((est[ruota_n + "_" + pos]==obj1[0]) || (est[ruota_n + "_" + pos]==obj1[1])){
				//if (ruota_n==10)document.all['textarea'].value+="*" +est[ruota_n + "_" + pos]+"|";
			
				cont_ambi++;
				estPos[cont_ambi]=pos;
				}
		}
		if (cont_ambi>1){
			for (i=1;i<=cont_ambi;i++){
				p=estPos[i];
				n=(ruota_n-1)*5+p;
				if (document.all['cell'+n].style.backgroundColor!=colorDown)contatore++;
				document.all['cell'+n].style.backgroundColor=colorDown;
				}
			
			}
	}
	searchValue();
	}
	
function distanza(){
var	sel ="<select name='select_distanza' onchange='calcolaDistanza(this.options[this.selectedIndex].value)'>        <option value='nessuna'>Seleziona distanza</option><option value='1'>1</option><option value='2'>2</option><option value='3'>3</option><option value='4'>4</option><option value='5'>5</option><option value='6'>6</option><option value='7'>7</option><option value='8'>8</option><option value='9'>9</option><option value='10'>10</option><option value='11'>11</option><option value='12'>12</option><option value='13'>13</option><option value='14'>14</option><option value='15'>15</option><option value='16'>16</option><option value='17'>17</option><option value='18'>18</option><option value='19'>19</option><option value='20'>20</option><option value='21'>21</option><option value='22'>22</option><option value='23'>23</option><option value='24'>24</option><option value='25'>25</option><option value='26'>26</option><option value='27'>27</option><option value='28'>28</option><option value='29'>29</option><option value='30'>30</option><option value='31'>31</option><option value='32'>32</option><option value='33'>33</option><option value='34'>34</option><option value='35'>35</option><option value='36'>36</option><option value='37'>37</option><option value='38'>38</option><option value='39'>39</option><option value='40'>40</option><option value='41'>41</option><option value='42'>42</option><option value='43'>43</option><option value='44'>44</option><option value='45'>45</option><option value='46'>46</option><option value='47'>47</option><option value='48'>48</option><option value='49'>49</option><option value='50'>50</option><option value='51'>51</option><option value='52'>52</option><option value='53'>53</option><option value='54'>54</option><option value='55'>55</option><option value='56'>56</option><option value='57'>57</option><option value='58'>58</option><option value='59'>59</option><option value='60'>60</option><option value='61'>61</option><option value='62'>62</option><option value='63'>63</option><option value='64'>64</option><option value='65'>65</option><option value='66'>66</option><option value='67'>67</option><option value='68'>68</option><option value='69'>69</option><option value='70'>70</option><option value='71'>71</option><option value='72'>72</option><option value='73'>73</option><option value='74'>74</option><option value='75'>75</option><option value='76'>76</option><option value='77'>77</option><option value='78'>78</option><option value='79'>79</option><option value='80'>80</option><option value='81'>81</option><option value='82'>82</option><option value='83'>83</option><option value='84'>84</option><option value='85'>85</option><option value='86'>86</option><option value='87'>87</option><option value='88'>88</option><option value='89'>89</option><option value='90'>90</option><option value='91'>91</option><option value='92'>92</option><option value='93'>93</option><option value='94'>94</option><option value='95'>95</option><option value='96'>96</option><option value='97'>97</option><option value='98'>98</option><option value='99'>99</option><option value='100'>100</option>";
	document.all['distanza'].innerHTML=sel;
	
	
	}
	
function calcolaDistanza(dist){
	reset();
	elabora1="distanza1";
	distanza_num=dist;
		for (ruota_n=1;ruota_n<=10;ruota_n++){
		
		for (pos=1;pos<=4;pos++){
			estratto1=est[ruota_n + "_" + pos];
			for (pos1=pos+1;pos1<=5;pos1++){
				estratto2=est[ruota_n + "_" + pos1];
				diff=Math.abs(estratto1-estratto2);
				if (diff==dist){
					n=(ruota_n-1)*5+pos;
					document.all['cell'+n].style.backgroundColor=colorDown;
					n=(ruota_n-1)*5+pos1;
					document.all['cell'+n].style.backgroundColor=colorDown;
			
			
				}			
			}			
		}
	}
	searchValue();
	
	}	

function reset(){
	
	for (n=1;n<=50;n++){
		document.all['cell'+n].style.backgroundColor=colorUp;
	}			
	}	
