var a=0;
var cicli=5000;
var x0,y0,colorazione;
var controllo=0;
function partenza( ){
disegnaM( );
var tasto=$('bottone');
Event.observe(tasto,'click',sceglic,false);
}
function sceglic( ){
var contenuto=document.forms.myForm;
x0=parseFloat(contenuto.txtNome.value);
y0=parseFloat(contenuto.txtCognome.value);
colorazione=document.forms.myForm.sceglicolore.value;
if(controllo==0){
disegnax( );
tantevolte( );
}else if(controllo==1){
tantevolte( )
}else{
var tela=$('julia');
var context=tela.getContext('2d');
context.fillStyle='white';
context.fillRect(0,0,350,350);
context.fill();
disegnaM( );
controllo=0;
a=0;
disegnax( );
tantevolte( );
}
}
function disegnaM( ){
var immagine=$('M');
var ctx=immagine.getContext('2d');
var img=document.createElement('img');
img.setAttribute('src','images/mperj.png');
ctx.drawImage(img,0,0,350,350);
}
function disegnax( ){
var immagine=$('M');
var ctx=immagine.getContext('2d');
ctx.beginPath( );
ctx.moveTo((82.5*x0)+175-10,175-(82.5*y0)-10);
ctx.lineTo((82.5*x0)+175+10,175-(82.5*y0)+10);
ctx.closePath( );
ctx.lineWidth='2';
ctx.strokeStyle='#fff';
ctx.stroke( );
ctx.beginPath( );
ctx.moveTo((82.5*x0)+175+10,175-(82.5*y0)-10);
ctx.lineTo((82.5*x0)+175-10,175-(82.5*y0)+10);
ctx.closePath( );
ctx.strokeStyle='#fff';
ctx.stroke( );
controllo=1;
}
function tantevolte( ){
var k=350;
for(t=0;t < k;t++){
passo(a+t);
}
if(a < 122500-k){
a+=k;
setTimeout(tantevolte,0);
}else{
controllo=2;
}
}
function passo(a){
var y=a%350;
var x=Math.floor(a/350);
disegna(x,y);
}
function disegna(i,j){
var zoom=1.3;
var tela=$('julia');
var context=tela.getContext('2d');
var xgiusta=(i-175)/(82.5*zoom);
var ygiusta=(175-j)/(82.5*zoom);
var ascissa=ciclo(xgiusta,ygiusta);
var colore;
context.fillRect(i,j,1,1);
if(Math.abs(ascissa)==cicli-1){
context.fillStyle='black';
}else if(colorazione=='Sfumato'){
var rosso=Math.round(ascissa*7);
var verde=Math.round(ascissa*4);
var blu=Math.round(ascissa*2);
colore='rgb('+rosso+','+verde+','+blu+')';
}else if(colorazione=='2 Colori'){
colore='rgb(255,0,0)';
}
context.fillStyle=colore;
context.fill( );
}
function ciclo(x,y){
var vettore=new Array(2*cicli);
vettore[0]=x0;
vettore[1]=y0;
vettore[2]=xprimo(x,y);
vettore[3]=yprimo(x,y);
for(g=4;g < 2*cicli-2;g+=2){
vettore[g]=xprimo(vettore[g-2],vettore[g-1]);
vettore[g+1]=yprimo(vettore[g-2],vettore[g-1]);
if(vettore[g]>2){
return(Math.round(g/2));
break;
}
}
return(cicli-1);
}
function xprimo(x,y){
var nuovax=Math.pow(x,2)-Math.pow(y,2)+x0;
return(nuovax);
}
function yprimo(x,y){
var nuovay=2*x*y +y0;
return(nuovay);
}
Event.observe(window,'load',partenza,false);