/*colori del crucipixel*/
/*colori = new Array("RosyBrown", "MistyRose", "")  colori del disegno*/
colori = new Array("silver", "white", "")  /*colori della stampa*/
nuovo5=new Array('0','0','0','1','1','1','0','0','1','1','0','1','1','0','0','0','0','1','0','0','1','1','1','1','0')/*base del 5 per 5*/
nuovo3=new Array('0','1','0','0','1','1','0','0','1') /*base del 3 per 3*/
var r1=0
var c1=0
var cruciS=''
var nome_d=new Array('5 &times; 5','10 &times; 10','15 &times; 15')
dis=''
conta_r=0
conta_c=0
num=new Array()
num1=new Array()
var quanti=0
var p_x=new Array()
var p_y=new Array()
nuovo=new Array()
prova=new Array()
function quale(){
va=true
if (document.MioForm.scelta[0].checked){
  r1=5
   c1=5
  trovaNome(0);
  genera(1);
  crea(5,5)
}
else if (document.MioForm.scelta[1].checked){
r1=10
c1=10
  trovaNome(1);
  genera(4);
  crea(10,10)
}
else if (document.MioForm.scelta[2].checked){
r1=15
c1=15
  trovaNome(2);
  genera3(25);
  crea(15,15)
}
else 
{
window.alert('Devi prima scegliere uno formato')
va=false
}
return va
}
function trovaNome(nd){
dis=nome_d[nd]
}
/*stampa*/
function stampa() {
quale();
if (va) {
oggetto='<head><script type="text/javascript">function conferma(){var richiesta = window.confirm("confermi la stampa?");if (richiesta) {window.print();window.close()}}</script><link rel="stylesheet" type="text/css" href="http://www.webfract.it/CRUCIP/CpStampa.css"/></head><body onload="conferma()">'
oggetto+=cruciS
oggetto+='</body></html>'
pagina=window.open('','bo');
pagina.document.write(oggetto)
if (window.focus) {pagina.focus()}
pagina.document.close()
}
}
/*fine stampa*/


  
/*5 per 5 che funziona bene anche per 10 per 10*/
function genera(n){
nuovo=new Array(0)
for (conta=1; conta<=n; conta++) {
      var temp      
     for (i=1; i<=100; i++){
      x=Math.ceil(Math.random()*24);
      y=Math.ceil(Math.random()*24);
      temp=nuovo5[x];
      nuovo5[x]=nuovo5[y];
      nuovo5[y]=temp;
     }
   nuovo=nuovo.concat(nuovo5)
   }
   
}

/*3 per 3 per 15 per 15*/
function genera3(n){
nuovo=new Array()
for (conta=1; conta<=n; conta++) {
      var temp      
     for (i=1; i<=4; i++){
      x=Math.ceil(Math.random()*8);
      y=Math.ceil(Math.random()*8);
      temp=nuovo3[x];
      nuovo3[x]=nuovo3[y];
      nuovo3[y]=temp;
     }
   nuovo=nuovo.concat(nuovo3)
   }
   conta=0
  for (i=0;i<nuovo.length; i++) {
   if (nuovo[i]==0) {conta++}
  }
}

 

/*crea il disegno della soluzione*/
function creaD(){
quale();
if (va) {
conta=-1
  var sfondo=''
   solu='<html><head></head><body><p align=center><table id="Est" class="tabella"><caption>Soluzione del crucipixel <i>'+ dis + '</i> da http://www.webfract.it </caption>'
   for (i=1; i<=r1; i++){
         solu+='<tr>'
         for (j=1; j<=c1; j++){
         conta=conta+1
               solu+='<td style="background-color:'+ colori[nuovo[conta]] + '">&nbsp;'
           }
   }
   solu+='</table></body></html>'
   oggetto='<head><script type="text/javascript">function conferma(){var richiesta = window.confirm("confermi la stampa?");if (richiesta) {window.print();window.close()}}</script><link rel="stylesheet" type="text/css" href="CpNuovaS.css"/></head><body onload="conferma()">'
oggetto+=solu
oggetto+='</body></html>'
pagina=window.open('','bo');
pagina.document.write(oggetto)
if (window.focus) {pagina.focus()}
pagina.document.close()
 }
} 

 /*Crea la tabella del crucipixel*/
function crea(r,c,nd){
  var a=0
  var b=0
  var a1=0
  var b1=0
  switch (nd) {
    case 1:
    a=11
    b=28
      break;
      case 2:
      a=6
      b=22
      a1=20
      b1=6
    }
  r1=eval(r)
  c1=eval(c)
automatico(r1,c1);
automaticoC(r1,c1);
quanti=eval(r1*c1)
  num=new Array(quanti)
  for (i=0; i<num.length; i++){
     num[i]=-1
     }
  cruciS=''
   cruciS+='<p><table id="Est" class="tabella" bgcolor="white">'
    cruciS+='<tr><td><font size=2>'+ dis +'</p><p>da http://www.webfract.it'
       for (j=1; j<=c1; j++){
            cruciS+='<th class="fR">'+ nR[j-1]
         }
     for (i=1; i<=r1; i++){
         cruciS+='<tr><th class="fC">' + nC[i-1]
         for (j=1; j<=c1; j++){
            if ((i==a) && (j==b)){cruciS+='<td bgcolor="red">&nbsp;'}
            else if ((i==a1) && (j==b1)){cruciS+='<td bgcolor="red">&nbsp;'}
             else{cruciS+='<td>&nbsp;'}
           if (i % 5 == 0){
              cruciS+='_'}
             if (j % 5 == 0){
               cruciS+='|'}
             
         }
      cruciS+='</tr>'
     }
  cruciS+='</table>'
 }

   /*righe in automatico*/
   var nC=new Array()
 function automatico (n,m) {
   i=0
   k=0
   risposta=''
   while (i<n) {
       conta_c=0
       for (j=k; j<k+m; j++){ 
           if (nuovo[j]==0) {conta_c++}
           else {
                 if (conta_c!=0){risposta+=conta_c + " - "}
                conta_c=0
                }
        }
        if (nuovo[k+m-1]==0){risposta+=conta_c + " - "}
        risposta=risposta.substring(0,risposta.length-2)
        risposta+=''
        nC[i]=risposta
    risposta=''
    i=i+1
    k=k+m
   } 

   }
  /*colonne in automatico*/
 var nR=new Array()
 function automaticoC (n,m) {
   i=0
   k=0
   while (i<m) {
   risC=''
       conta_r=0
       for (j=k; j<m*n; j+=m){ 
              if (nuovo[j]==0) {
                  conta_r++
                  }
              else {
                    if (conta_r!=0){risC+=conta_r + " <br>"}
                    conta_r=0
                }
        }
        if (nuovo[m*n-m+k]==0){risC+=conta_r}
        risC+=''
        nR[i]=risC
     i=i+1
     k=k+1
   } 
    }
  


