//**********************************************************************************************************************************
// Slider By D@#
// 30.05.09
// richiede jquery e jquery.lightbox
// Compatibile con Chrome Firefox 2/3 IE6/7 e Opera
//**********************************************************************************************************************************
// Utilizzo : settare le seguenti variabili sulla pagina 
//      ph_ind=[indice foto della prima transizione];//passo l'indice aumentato di 2 posizioni per partire con la 3 foto
//      ph_dim=[dimensione array di foto];
//      ph_arr=new Array([array di foto]);
//      ph_next=[prossima trans]; //prossima transizione 0->orizzontale
//      ph_last=[transizione attuale]; //ultima transizione   1->verticale
//**********************************************************************************************************************************
TIMEOUT=5000;
IMG_HEIGHT=300;
IMG_WIDTH=400;
 
var w1=0;
var w2=IMG_WIDTH;
var h1=0;
var h2=IMG_HEIGHT;
var d1=998;
var d2=1000;

var ph_ind;//passo l'indice aumentato di 2 posizioni per partire con la 3 foto
var ph_dim;
var ph_arr;

var ph_next; //prossima transizione 0->orizzontale
var ph_last; //ultima transizione   1->verticale

var ph_act=1;
var num_trans=1;

var timer;

function debugVar(){
    $('div#debug').text('');
    $('div#debug').append('active ->' + ph_act + '<br>');
    $('div#debug').append('w1 -> '+ w1 +'<br>');
    $('div#debug').append('h1 -> '+ h1 +'<br>');
    $('div#debug').append('width1 -> '+ ($('#i1').width()) +'<br>');
    $('div#debug').append('height1 -> '+ ($('#i1').height()) +'<br>');
    $('div#debug').append('src -> '+ ($('#i1').attr('src')) +'<br>');
    $('div#debug').append('w2 -> '+ w2 +'<br>');
    $('div#debug').append('h2 -> '+ h2 +'<br>');
    $('div#debug').append('width2 -> '+ ($('#i2').width()) +'<br>');
    $('div#debug').append('height2 -> '+ ($('#i2').height()) +'<br>');
    $('div#debug').append('src -> '+ ($('#i2').attr('src')) +'<br>');
    $('div#debug').append('num_trans ->' + num_trans + '<br>');
    $('div#debug').append('ph_next -> '+ ((ph_next==0)?'orizzontale':'verticale') +'<br>');
    $('div#debug').append('ph_last -> '+ ((ph_last==0)?'orizzontale':'verticale') +'<br>');
    $('div#debug').append('ph_ind -> '+ ph_ind +'<br>');
    $('div#debug').append('ph_dim -> '+ ph_dim +'<br>');
    $('div#debug').append('<hr>');

}

function rand ( n ){
    return ( Math.floor ( Math.random ( ) * n  ) );
}
function changePhoto(img){
    $(img).attr('src',ph_arr[ph_ind]);
    $(img + 'a').attr('href',ph_arr[ph_ind]);
    ph_ind=((ph_ind+1)%ph_dim);
    return true;
};

function wTrans1(next){
    var changed=false;
    if(w1==0){
        $("#i1").animate( { width:w1 }, d1,function(){
                                            changed=changePhoto('#i1');
                                            if (next==1) { //prossima transizione verticale
                                              $('#i1').height(0);
                                              $('#i1').width(IMG_WIDTH);
                                              
                                              h1=IMG_HEIGHT;
                                              h2=0;
                                            };
                                        });
    }else{//w1=400
        $("#i1").animate( { width:w1 }, d1);
        ph_act=1;
    }
    w1=((w1==0)&&(!changed))?IMG_WIDTH:0;
    d1=(d1==1000)?997:1000;
};

function wTrans2(next){
   var changed=false; 
    if (w2==0){ 
        $("#i2").animate( {width:w2 },d2,function(){
                                            changed=changePhoto('#i2');
                                            if (next==1) { //prossima transizione verticale
                                              $('#i2').height(0);
                                              $('#i2').width(IMG_WIDTH);
                                              h1=0;
                                              h2=IMG_HEIGHT;
                                            };
                                        });
    }else{
        $("#i2").animate( {width:w2 },d2);
        ph_act=2;
    }
    w2=((w2==0)&&(!changed))?IMG_WIDTH:0;
    d2=(d2==1000)?997:1000;
};
function hTrans1(next){
   var changed=false; 
    if(h1==0){
        $("#i1").animate( { height:h1 }, d1,function(){
                                            changed=changePhoto('#i1');
                                            if (next==0) { //prossima transizione orizzontale
                                              $('#i1').width(0);
                                              $('#i1').height(IMG_HEIGHT);
                                              w1=IMG_WIDTH;
                                              w2=0;
                                            };
                                        });
    }else{
        $("#i1").animate( { height:h1 }, d1);
        ph_act=1;
    }
    h1=((h1==0)&&(!changed))?IMG_HEIGHT:0;
    d1=(d1==1000)?997:1000;
};

function hTrans2(next){
   var changed=false; 
    if (h2==0){ 
        $("#i2").animate( {height:h2 },d2,function(){
                                            changed=changePhoto('#i2');
                                            if (next==0) { //prossima transizione orizzontale
                                              $('#i2').width(0);
                                              $('#i2').height(IMG_HEIGHT);
                                              w1=0;
                                              w2=IMG_WIDTH;
                                            };
                                        });
    }else{
        $("#i2").animate( {height:h2 },d2);
        ph_act=2;
    }
    h2=((h2==0)&&(!changed))?IMG_HEIGHT:0;
    d2=(d2==1000)?997:1000;
};

function photoStart(){
    ph_last=ph_next; //transizione attuale
    if(((num_trans++)%4)==0){ph_next++} //cambia l'ordine di transizione
    ph_next=(ph_next+1)%2; //decido la prossima transizione
    if (ph_last==0){
        wTrans1(ph_next); //passo la prossima transizione in modo che venga preparata l'immagine con le dimensioni desiderate
        wTrans2(ph_next);
    }else{
        hTrans1(ph_next);
        hTrans2(ph_next);
    }
    timer=setTimeout("photoStart()",TIMEOUT);
}
function goSlide(){
    $("#ipause").css('z-index', -1);
    timer=setTimeout("photoStart()",TIMEOUT-1000);
}
function stopSlide(){
    clearTimeout(timer);
    $("#ipause").css('z-index', 3);
}
//funzione per lightbox
$(function() {
    $('#i1a').lightBox(); // Select all links that contains lightbox in the attribute rel
    $('#i2a').lightBox();
});