var i = 0; // inizializzazione per incremento contatore in blocks[]
var blocks = [
        'block_' + i++,
        'block_' + i++,
        'block_' + i++,
        'block_' + i++,
        'block_' + i++,
        'block_' + i++,
        'block_' + i++,
        'block_' + i++,
        'block_' + i++,
        'block_' + i++,
        'block_' + i++ // , // ci deve essere una virgola poi quando aggiungo la 12-esima proposta
//         'block_' + i++ // dodicesima proposta
];

var logoAnim_1 = false;
var logoAnim_2 = false;
var logoAnim_3 = false;
var logoAnim_4 = false;
var logoAnim_5 = false;

var categories = [ // elenco categorie delle proposte commerciali
  'villetta',
  'attico',
  'tricamera',
  'bicamera',
  'mini',
  'negozio',
  'industriale'
];

//dichiaro la variabile globalmente perchè poi mi servirà all'interno di un paio di funzioni
var selected = new Array();

// variabile per indicare il primo caricamento
var firstRun = true;

// variabile per indicare se ho un dettaglio aperto (serve per chiuderlo se si clicca su "effettua nuova ricerca")
var active = "";


var configurazione = new Array();
                            // villetta, attico, tricamera, bicamera, mini, negozio, industriale
configurazione[0]  = new Array(false,true,true,true,true,true,false); // ATTICI / TRICAMERE / BICAMERE / MINI / NEGOZI
configurazione[1]  = new Array(true,false,true,false,false,false,false); // VILLETTE A SCHIERA / TRICAMERE
configurazione[2]  = new Array(false,false,true,true,false,true,false); // TRICAMERE / BICAMERE / MINI / NEGOZI
configurazione[3]  = new Array(false,false,false,true,false,false,false); // BICAMERE
configurazione[4]  = new Array(true,false,true,false,false,false,false); // VILLETTE A SCHIERA / TRICAMERE
configurazione[5]  = new Array(false,false,true,true,true,false,false); // TRICAMERE / BICAMERE / MINI
configurazione[6]  = new Array(true,false,true,true,true,false,false); // VILLETTE A SCHIERA  / TRICAMERE / BICAMERE / MINI
configurazione[7]  = new Array(false,false,false,false,false,true,true); // NEGOZI / EDIFICI INDUSTRALI
configurazione[8] = new Array(false,true,true,true,true,false,false); // ATTICI / TRICAMERE / BICAMERE / MINI
configurazione[9]  = new Array(false,false,false,false,false,false,true);  // EDIFICI INDUSTRALI
configurazione[10]  = new Array(false,false,false,false,false,false,true); // EDIFICI INDUSTRALI
// configurazione[11] = new Array(false,false,false,false,false,false,false); // dodicesima proposta




var Site = {

  start: function(){
//     if ($('sidebar')){
      var t=setTimeout("$('welcome_text').remove()",1000);
      var t=setTimeout("Site.animations()",1000);

//     };
  },


  animations: function(){



    var box = $('welcome');
    var fx = box.effects({duration: 100, transition: Fx.Transitions.Quart.easeOut});  // 2800

    fx.start({
      'background-color': '#00000',
      'height': 0
    }).chain(function(){ // 1

      // Dopo che il welcome è stato chiuso, IE (che sappiamo essere un software di merda) si tiene una barra vuota in alto
      // Quindi rimuovo brutalmente dal DOM il "welcome".
      var formElement = document.getElementById('welcome');
      var parentElement = formElement.parentNode;
      parentElement.removeChild(formElement);

      var box = $('sidebar');
      var fx = box.effects({duration: 1000, transition: Fx.Transitions.Quart.easeOut});
      fx.start({
        'height': 860 // era 960
      }).chain(function(){ // 2
        var box = $('header');
        var fx = box.effects({duration: 500, transition: Fx.Transitions.Quart.easeOut});
        fx.start({
          'width': 980
        }).chain(function(){ // 3
          var box = $('footer');
          var fx = box.effects({duration: 500, transition: Fx.Transitions.Quart.easeOut});
          fx.start({
            'width': 980
          }).chain(function(){ // 4
            Site.sidebarAnim(); // Subroutine per l'animazione della sidebar
              // inizialmente l'end animation era qui sotto, poi è stato spostato alla fine dello sidebarAnim per far concludere l'animazione DOPO che i loghi sono stati visualizzati

          }); // END 4
        }); // END 3
      }); // END 2
    }); // END 1

  }, // END animations



  proposteAnim: function(){


    var box = $('block_0');
    var fx = box.effects({duration: 200, transition: Fx.Transitions.Quart.easeOut});
    fx.start({
      'height': 120
    }).chain(function(){ // 5
      var box = $('block_1');
      var fx = box.effects({duration: 200, transition: Fx.Transitions.Quart.easeOut});
      fx.start({
        'height': 120
      }).chain(function(){ // 6
        var box = $('block_2');
        var fx = box.effects({duration: 200, transition: Fx.Transitions.Quart.easeOut});
        fx.start({
          'height': 120
        }).chain(function(){ // 7
          var box = $('block_3');
          var fx = box.effects({duration: 200, transition: Fx.Transitions.Quart.easeOut});
          fx.start({
            'height': 120
          }).chain(function(){ // 8
            var box = $('block_4');
            var fx = box.effects({duration: 200, transition: Fx.Transitions.Quart.easeOut});
            fx.start({
              'height': 120
            }).chain(function(){ // 9
              var box = $('block_5');
              var fx = box.effects({duration: 200, transition: Fx.Transitions.Quart.easeOut});
              fx.start({
                'height': 120
              }).chain(function(){ // 10
                var box = $('block_6');
                var fx = box.effects({duration: 200, transition: Fx.Transitions.Quart.easeOut});
                fx.start({
                  'height': 120
                }).chain(function(){ // 11
                  var box = $('block_7');
                  var fx = box.effects({duration: 200, transition: Fx.Transitions.Quart.easeOut});
                  fx.start({
                    'height': 120
                  }).chain(function(){ // 12
                    var box = $('block_8');
                    var fx = box.effects({duration: 200, transition: Fx.Transitions.Quart.easeOut});
                    fx.start({
                      'height': 120
                    }).chain(function(){ // 13
                      var box = $('block_9');
                      var fx = box.effects({duration: 200, transition: Fx.Transitions.Quart.easeOut});
                      fx.start({
                        'height': 120
                      }).chain(function(){ // 14
                        var box = $('block_10');
                        var fx = box.effects({duration: 200, transition: Fx.Transitions.Quart.easeOut});
                        fx.start({
                          'height': 120

                        }).chain(function(){ // 15

// dodicesima proposta
//     qui  sotto ho commentato perchè per ora ci sono solo 11 offerte, non 12, quando ci sarà la dodicesima basta decommentare
/*                          var box = $('block_11');
                          var fx = box.effects({duration: 200, transition: Fx.Transitions.Quart.easeOut});
                          fx.start({
                            'height': 120
                          }).chain(function(){  // ORA FACCIO CAMBIARE COLORE AI BORDI DEI BLOCCHI*/
                            Site.showBorders();
//                           });

                        }); // END 15

                      }); // END 14
                    }); // END 13
                  }); // END 12
                }); // END 11
              }); // END 10
            }); // END 9
          }); // END 8
        }); // END 7
      }); // END 6
    }); // END 5

  },


  sidebarAnim: function(){

    var box = $('logo_1');
    var fx = box.effects({duration: 480, transition: Fx.Transitions.Quart.easeOut});

    fx.start({
      'width': 100
    }).chain(function(){ // 1
      var box = $('logo_2');
      var fx = box.effects({duration: 480, transition: Fx.Transitions.Quart.easeOut});
      fx.start({
        'width': 100
      }).chain(function(){ // 2
        var box = $('logo_3');
        var fx = box.effects({duration: 480, transition: Fx.Transitions.Quart.easeOut});
        fx.start({
          'width': 100
        }).chain(function(){ // 3
          var box = $('logo_4');
          var fx = box.effects({duration: 480, transition: Fx.Transitions.Quart.easeOut});
          fx.start({
            'width': 100
          }).chain(function(){ // 4
            var box = $('logo_5');
            var fx = box.effects({duration: 480, transition: Fx.Transitions.Quart.easeOut});
            fx.start({
              'width': 100
            }).chain(function(){
              Site.endAnimation();
            });
          }); // END 4

        }); // END 3

      }); // END 2

    }); // END 1



  }, // END sidebarAnim


  showBorders: function(){  /* ????? */


//     Prima di impostare il codice per lo "switchbox" devo caricare i flagZZ

    blocks.each(function(s){
      Site.switchBox(s);
    });

    Site.drawFlag();



  },

  endAnimation: function(){

    /*
    $('logo_1').addEvent('mouseover',function(){ // START

      if (logoAnim_1 == false) {
        logoAnim_1 = true;
        var f =  $('logo_1').effect('opacity', { duration:1000 } );
        f.start(1,0.3)   .chain(function(){
        f.start(0.3,1) }).chain(function(){
        f.start(1,0.3) }).chain(function(){
        f.start(0.3,1);
        logoAnim_1 = false });
      }
    });  // END

    $('logo_2').addEvent('mouseover',function(){ // START

      if (logoAnim_2 == false) {
        logoAnim_2 = true;
        var f =  $('logo_2').effect('opacity', { duration:1000 } );
        f.start(1,0.3)   .chain(function(){
        f.start(0.3,1) }).chain(function(){
        f.start(1,0.3) }).chain(function(){
        f.start(0.3,1);
        logoAnim_2 = false });
      }
    });  // END

    $('logo_3').addEvent('mouseover',function(){ // START

      if (logoAnim_3 == false) {
        logoAnim_3 = true;
        var f =  $('logo_3').effect('opacity', { duration:1000 } );
        f.start(1,0.3)   .chain(function(){
        f.start(0.3,1) }).chain(function(){
        f.start(1,0.3) }).chain(function(){
        f.start(0.3,1);
        logoAnim_3 = false });
      }
    });  // END

    $('logo_4').addEvent('mouseover',function(){ // START

      if (logoAnim_4 == false) {
        logoAnim_4 = true;
        var f =  $('logo_4').effect('opacity', { duration:1000 } );
        f.start(1,0.3)   .chain(function(){
        f.start(0.3,1) }).chain(function(){
        f.start(1,0.3) }).chain(function(){
        f.start(0.3,1);
        logoAnim_4 = false });
      }
    });  // END

    $('logo_5').addEvent('mouseover',function(){ // START

      if (logoAnim_5 == false) {
        logoAnim_5 = true;
        var f =  $('logo_5').effect('opacity', { duration:1000 } );
        f.start(1,0.3)   .chain(function(){
        f.start(0.3,1) }).chain(function(){
        f.start(1,0.3) }).chain(function(){
        f.start(0.3,1);
        logoAnim_5 = false });
      }
    });  // END
*/


    Site.createDialog();
  },


  switchBox: function(b){ // Genera gli eventi per girare i box


    $(b).setStyle('border-color','gray');

    var fx = new Fx.Styles(
      $(b + '_txt'),
      {duration:500, wait:false}
    );

    var fx2 = new Fx.Styles(
      $('proposte'),
      {duration:500, wait:false}
    )

    $(b).addEvent('click',function(){ // START



      fx2.start({'height':0}).chain(function(){
        Site.hideFlags();
        $('proposte').setStyle('visibility', 'hidden');
        $(b + '_txt').setStyle('visibility', 'visible');
        fx.start({'height':460});
      });
      active = b + '_txt';

      pageTracker._trackPageview('/Proposta/'+b);

    });  // END

    $(b).addEvent('mouseover',function(){ // START
      $(b).setStyle('border-color','white');
    });  // END

    $(b).addEvent('mouseout',function(){ // START
      $(b).setStyle('border-color','gray');
    });  // END


    // per la gioia della programmazione spaghetti, aggiungo qui un altro po' di codice :)

//     $(b + ' .opaco').addEvent('mouseover',function(){ // START
//       $(b + ' .opaco').setStyle('background-image','none');
//     });  // END
//
//     $(b + ' .opaco').addEvent('mouseover',function(){ // START
//       $(b + ' .opaco').setStyle('background-image','img/opaco.png');
//     });  // END




    // Aggiunge l'evento per tornare allo stato iniziale
    $(b + '_up').addEvent('click',function(){  // START
      fx.start({'height':0}).chain(function(){
        $(b + '_txt').setStyle('visibility', 'hidden');
        $('proposte').setStyle('visibility', 'visible');
        fx2.start({'height':480}).chain(function(){
          Site.showFlags();
        });

      });

      active = "";
    }); // END

  },  // END switchBox

  // Funzione che disegna la finestra di dialogo per filtrare i contenuti
  createDialog: function(){

    if (active != ""){ // Se ho una anteprima aperta, la chiudo prima di aprire il questionario, in pratica uso lo stesso codice che ho messo nei _up


      var fx_a = new Fx.Styles(
        $(active),
        {duration:500, wait:false}
      );

      var fx_b = new Fx.Styles(
        $('proposte'),
        {duration:500, wait:false}
      )
      fx_a.start({'height':0}).chain(function(){
        $(active).setStyle('visibility', 'hidden');
        $('proposte').setStyle('visibility', 'visible');
        fx_b.start({'height':480}).chain(function(){
          Site.showFlags();
        });
      });

//       var fx1 = new Fx.Styles(
//         $(active),
//         {duration:0, wait:false}
//       );
//       fx1.start({'height':0}).chain(function(){
//         $(active).setStyle('visibility', 'hidden');
//       });
//       active = "";
//       $('proposte').setStyle('visibility', 'visible');
    }

    // toglie i flag dai checkbox
    document.getElementById("vil").checked = false;
    document.getElementById("att").checked = false;
    document.getElementById("tri").checked = false;
    document.getElementById("bic").checked = false;
    document.getElementById("min").checked = false;
    document.getElementById("neg").checked = false;
    document.getElementById("ind").checked = false;

    var fx = new Fx.Styles(
      $('proposte'),
      {duration:500, wait:false}
    );

    fx.start({
      'height':0
    }).chain(function(){
      var fx = new Fx.Styles(
        $('dialogo'),
        {duration:500, wait:false}
      );
      fx.start({
        'height':500
      });
    });


  },

  // Funzione che chiude la finestra di dialogo e applica i filtri
  destroyDialog: function(){

    var fx = new Fx.Styles(
      $('dialogo'),
      {duration:500, wait:false}
    );

    fx.start({
      'height':0
    }).chain(function(){
      var fx = new Fx.Styles(
        $('proposte'),
        {duration:500, wait:false}
      );
      fx.start({
//         'height':554
        'height':500
      });
    });

    selected = [
      document.getElementById("vil").checked,
      document.getElementById("att").checked,
      document.getElementById("tri").checked,
      document.getElementById("bic").checked,
      document.getElementById("min").checked,
      document.getElementById("neg").checked,
      document.getElementById("ind").checked
    ];


    // toglie tutti i check dalle proposte
    for (i=0; i < configurazione.length; i++ ){
      $$('#block_'+ i +' .check').setStyle('visibility','hidden');
//       $$('#block_'+ i +' .opaco').setStyle('visibility','hidden');
    }

    // esegue l'animazione

    if (firstRun == true ){
      firstRun = false;
      Site.proposteAnim();
    } else {
      Site.drawFlag();
    }




  },



  drawFlag: function(){     // mette i flag  :)


    var almenoUno = false;
    for (i=0; i < selected.length; i++ ){
      if (selected[i]) {
        almenoUno = true;
      }
    }
    if (almenoUno == false){
      for (i=0; i<selected.length; i++){
        selected[i] = true;
      }
    }



    for (i=0; i < configurazione.length; i++ ){
      for (j=0; j < selected.length; j++){
        if ( selected[j] == configurazione[i][j] ) {
          if (selected[j] == true) {

            $$('#block_'+ i +' .check').setStyle('visibility','visible');


          }
        }
      }
    }

    // ed ora scrive in bianco i block title:
    $$(".block_title").setStyle('color', '#D5D5D5');

  },

  hideFlags: function(){
    $$('.check').setStyle('visibility','hidden');
//     $$('.opaco').setStyle('visibility','hidden');
  },

  showFlags: function(){
    // rimostra i flag nascosti dalla hideFlags()

    for (i=0; i < configurazione.length; i++ ){
      for (j=0; j < selected.length; j++){
        if ( selected[j] == configurazione[i][j] ) {
          if (selected[j] == true) {
            $$('#block_'+ i +' .check').setStyle('visibility','visible');

          }
        }
      }
    }

  },

  showPopupLogo:function(url,title){


    myWindow = window.open('' ,'myPopup'+url, 'width=500,height=500,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,top=' + Math.floor((screen.height-500)/2) + ',left=' +Math.floor((screen.width-500)/2));

    myWindow.document.write('<html><head><title>'+ title +'</title></head><body bgcolor="black" style="text-align:center"><img src="img/loghi_big/' + url + '.jpg"/></body></html>');

  }

};

window.addEvent('load', Site.start);

