jQuery(document).ready(
   function()
   {
      reg =/\s+/g;
      //page form search
      $formSearch = jQuery('#form-product-search');
      //hover box
      $hoverBoxSearch = jQuery("#hover-box-search");
      //hover box form search
      $hoverBoxForm = jQuery('#hb-form-product-finder');

      /* Modificato da CLaudio che xchè non funzionava 21.11.2009*/
      //click submit button page
      /*$formSearch.find('.submit-button a').click(
         function(){
            this.blur();
            var count = 0;
            $formSearch.find('input[type=checkbox]').each(
               function(){
                  if(jQuery(this).attr('checked'))
                     count += 1;
               }
            );
            if( count > 0)
            {
                           alert('2');
               $formSearch.submit();
            }
            else{
               alert('Devi selezionare almeno un filtro per la ricerca');
            }
         }
      );*/

      //click submit button hover box
      $formSearch.find('.submit-button a').click(
         function(){
            this.blur();
            var count = 0;
            $hoverBoxForm.find('input[type=hidden]').each(
               function(){
                  count += 1;
               }
            );
            if( count > 0)
            {
               $hoverBoxForm.submit();
            }
            else{
               alert('Devi selezionare almeno un filtro per la ricerca');
            }
         }
      );
      //click submit button hover box
      $hoverBoxSearch.find('.submit-button a').click(
         function(){
            this.blur();
            var count = 0;
            $hoverBoxForm.find('input[type=hidden]').each(
               function(){
                  count += 1;
               }
            );
            if( count > 0)
            {
               $hoverBoxForm.submit();
            }
            else{
               alert('Devi selezionare almeno un filtro per la ricerca');
            }
         }
      );


      //Random product
      var randomProdOptions = {
         movingDistance : 114,
         //ampiezza box  slide selezionata
         curWidth : 124,
         //altezza box slide selezionata
         curHeight : 135,
         //ampiezza div x bg immagine  slide selezionata
         curImgDivWidth : 104,
         //ampiezza div x bg immagine  slide selezionata
         curImgDivHeight : 104,
         //imnagine cornice box ingrandito
         curImgDivBorderImage : '../images/slide-item-bg2-small.png',
         //ampiezza immagine  slide selezionata
         curImgWidth : 95,
         //font-size p  slide selezionata
         curParSize : "15px",
         //per settare ampiezza scrollContainer
         // opts.$container.css('width', (opts.$panels[0].offsetWidth * opts.$panels.length) + (opts.$panels.length * opts.scrollWidth) )
         scrollWidth : 114,
         //spostamento laterale al click
         //scrollLeft : '20px',
         scrollLeft : '120px',
         //prefisso dei box (numerati progressivamente nell'html '#panel_1, #panel_2)
         panelPrefix : '#product_',
         //box attivo di default
         curPanel : 1 ,
         //calback
         clickCallback: function(){
            //alert(this.value);
            if(jQuery(this).parent('.panel').hasClass('big'))
               window.location = 'prodotto_galleria_random.php?product='+jQuery(this).find('input[name=product_id]').val();
         },
         afterGrow: function(el){
            $el = jQuery(el);
            $desc = jQuery('#random-products-list .descrizione');

            $desc.find('.title').html($el.find('p').html());
            $desc.find('.author').html($el.find('input[name=author]').val());
            $desc.find('.model').html($el.find('input[name=model]').val());
         }
      };
      jQuery("#products").slidewin(randomProdOptions);


      //filtro destinazione
      jQuery('#opzioni-destinazione input[type=checkbox]').click( function(){
            //checkbox
            var _obj = jQuery(this);
            //id of panel parents
            var _parentID = _obj.parents('.filter-selection').attr('id');
            //hover-box color row
            var _boxRow  = jQuery("#hover-box-search #s-destinazione");
            //selection image
            var _image = _obj.next('input[name=image]');
            //selection color
            var _item = _image.next('label');
            //filter id
            //var _id = _item.html().replace(reg ,"_");
            var _id = 'hb-'+_parentID;

            var _div = jQuery('<div class="selected-filter" id="'+ _id +'"></div>');
            // X to remove selection
            var _remove = jQuery('<span class="remove" title="remove">X</span>')
               .click(
                  function(){
                     jQuery('#'+_id).remove();
                     _obj.attr('checked', false);

                     _toHide = 0;
                     jQuery('#opzioni-destinazione').find('input[type=checkbox]').each(function(i, el){
                        if(jQuery(el).attr('checked'))
                           _toHide = _toHide+1;
                     });

                     if(_toHide == 0)
                        _boxRow.hide();
                  }
               );


            if(_obj.attr("checked"))
            {
               //show
               _div.append('<img src="images/'+ _image.attr('value') +'" width="43" height="43" />');
               _div.append(_remove);
               _div.append('<label>'+ _item.html() +'</label>');
               _div.append('<input type="hidden" name="destinazione[]" value="'+ _obj.attr('value') +'" />');

               _boxRow.prepend(_div);
               _boxRow.show();

            } else {
               // hide
               jQuery('#'+_id).remove();

               _toHide = 0;
               jQuery('#opzioni-destinazione').find('input[type=checkbox]').each(function(i, el){
                  if(jQuery(el).attr('checked'))
                     _toHide = _toHide+1;
               });

               if(_toHide == 0)
                  _boxRow.hide();

            }

            $hoverBoxSearch.show();
      });

      //filtro-colore
      var paletteOptions = {
         movingDistance : 120,
         //ampiezza box  slide selezionata
         curWidth : 121,
         //altezza box slide selezionata
         curHeight : 135,
         //ampiezza div x bg immagine  slide selezionata
         curImgDivWidth : 106,
         //ampiezza div x bg immagine  slide selezionata
         curImgDivHeight : 106,
         //imnagine cornice box ingrandito
         curImgDivBorderImage : '../images/palette-border-big.png',
         //ampiezza immagine  slide selezionata
         curImgWidth : 91,
         //font-size p  slide selezionata
         curParSize : "15px",
         //per settare ampiezza scrollContainer
         // opts.$container.css('width', (opts.$panels[0].offsetWidth * opts.$panels.length) + (opts.$panels.length * opts.scrollWidth) )
         scrollWidth : 120,
         //spostamento laterale al click
         scrollLeft : '110px',
         //prefisso dei box (numerati progressivamente nell'html '#panel_1, #panel_2)
         panelPrefix : '#palette_',
         //box attivo di default
         curPanel : 2,
         //calback click checked
         checkboxCallback: function(){
            //checkbox
            var _obj = jQuery(this);
            //id of panel parents
            var _parentID = _obj.parents('.panel').attr('id');
            //hover-box color row
            var _boxRow  = jQuery("#hover-box-search #s-colore");
            //selection image
            var _image = _obj.next('input[name=image]');
            //selection color
            var _item = _image.next('label');
            //filter id
            //var _id = _item.html().replace(reg ,"_");
            var _id = 'hb-'+_parentID;

            var _div = jQuery('<div class="selected-filter float-left" id="'+ _id +'"></div>');
            // X to remove selection
            var _remove = jQuery('<span class="remove" title="remove">X</span>')
               .click(
                  function(){
                     jQuery('#'+_id).remove();
                     _obj.attr('checked', false);

                     _toHide = 0;
                     jQuery('#palette-cromatica').find('input[type=checkbox]').each(function(i, el){
                        if(jQuery(el).attr('checked'))
                           _toHide = _toHide+1;
                     });

                     if(_toHide == 0)
                        _boxRow.hide();
                  }
               );


            if(_obj.attr("checked"))
            {
               //show
               _div.append('<div class="image"><img src="images/'+ _image.attr('value') +'" width="40" height="40" /></div>');
               _div.append(_remove);
               _div.append('<label>'+ _item.html() +'</label>');
               _div.append('<input type="hidden" name="colore[]" value="'+ _obj.attr('value') +'" />');

               _boxRow.prepend(_div);
               _boxRow.show();

            } else {
               // hide
               jQuery('#'+_id).remove();

               _toHide = 0;
               jQuery('#palette-cromatica').find('input[type=checkbox]').each(function(i, el){
                  if(jQuery(el).attr('checked'))
                     _toHide = _toHide+1;
               });

               if(_toHide == 0)
                  _boxRow.hide();

            }

            $hoverBoxSearch.show();
         }
      };
      jQuery("#palette-cromatica").slidewin(paletteOptions);

      //filtro-formato
      var formatiOptions = {
         movingDistance : 122, /*era 287 Claudio*/
         //ampiezza box  slide selezionata
         curWidth : 120, /*era 275 claudio*/
         //altezza box slide selezionata
         curHeight : 131,
         //ampiezza div x bg immagine  slide selezionata
         curImgDivWidth : 110,
         //ampiezza div x bg immagine  slide selezionata
         curImgDivHeight : 80,
         //imnagine cornice box ingrandito
         curImgDivBorderImage : '',
         //ampiezza immagine  slide selezionata
         curImgWidth : 110,
         //font-size p  slide selezionata
         curParSize : "12px",
         curParWeight : "normal",
         //per settare ampiezza scrollContainer
         // opts.$container.css('width', (opts.$panels[0].offsetWidth * opts.$panels.length) + (opts.$panels.length * opts.scrollWidth) )
         scrollWidth : 120, /*era 275 Claudio*/
         //spostamento laterale al click
         scrollLeft : '0px',
         //prefisso dei box (numerati progressivamente nell'html '#panel_1, #panel_2)
         panelPrefix : '#formato_',
         //box attivo di default
         curPanel : 2,
         //calback
         //calback click checked
         checkboxCallback: function(){
            //checkbox
            var _obj = jQuery(this);
            //id of panel parents
            var _parentID = _obj.parents('.panel').attr('id');
            //panel
            var _panel = _obj.parents('div.panel');
            //hover-box color row
            var _boxRow  = jQuery("#hover-box-search #s-dimensioni");
            //selection image
            //Claudio var _image = _obj.parent('p').prevAll('input[name=image]');
            var _image = _obj.next('input[name=image]');
            //alert(_image);
            //selection color
            //Claudio var _item = _obj.next('label');
            var _item = _image.next('label');
            //alert(_item);
            //filter id
            var _id = 'hb-'+_parentID;

            //var _div = jQuery('<div class="selected-filter" id="'+ _id +'"></div>');
            //se contenitore gia' presente, aggiungo item, altrimenti creo contenitore
            var _div = _boxRow.find('#'+_id);
            //alert(_div.lenght);
            if( _div.length <= 0 )
            {
               var _div = jQuery('<div class="selected-filter" id="'+ _id +'"></div>');
               _div.append('<div class="image float-left"><img src="images/'+ _image.attr('value') +'" width="40" height="40" /></div>');
            }

            // X to remove selection
            var _remove = jQuery('<span class="remove" title="remove">X</span>')
               .click(
                  function(){
                     jQuery(this).parent('div.opt-group').remove();
                     _obj.attr('checked', false);

                     _toHide = 0;
                     _panel.find('input[type=checkbox]').each(function(i, el){
                        if(jQuery(el).attr('checked'))
                           _toHide = _toHide+1;
                     });

                     if(_toHide == 0)
                     {
                        _div.remove();
                        jQuery('#lista-formati').find('input[type=checkbox]').each(function(i, el){
                           if(jQuery(el).attr('checked'))
                              _toHide = _toHide+1;
                        });

                        if(_toHide == 0)
                           _boxRow.hide();
                     }
                  }
               );


            if(_obj.attr("checked"))
            {
               //show
               var _optGroup = jQuery('<div class="opt-group"></div>');
               _optGroup.append(_remove);
               _optGroup.append('<label>'+ _item.html() +'</label>');
               _optGroup.append('<input type="hidden" name="formato[]" value="'+ _obj.attr('value') +'" />');
               _div.append(_optGroup);

               _boxRow.prepend(_div);
               _boxRow.show();

            } else {
               // hide
               jQuery('#'+_panel.attr('id')+'-'+_item.html().replace(" ","_")).remove();

               _toHide = 0;
               _panel.find('input[type=checkbox]').each(function(i, el){
                  if(jQuery(el).attr('checked'))
                     _toHide = _toHide+1;
               });

               if(_toHide == 0)
               {
                  _div.remove();
                  jQuery('#lista-formati').find('input[type=checkbox]').each(function(i, el){
                     if(jQuery(el).attr('checked'))
                        _toHide = _toHide+1;
                  });

                  if(_toHide == 0)
                     _boxRow.hide();
               }

            }

            $hoverBoxSearch.show();
         }
      };
      jQuery("#lista-formati").slidewin(formatiOptions);

      //filtro-spessore
      var spessoriOptions = {
         movingDistance : 122,
         //ampiezza box  slide selezionata
         curWidth : 126,
         //altezza box slide selezionata
         curHeight : 129, /*era 139 Claudio*/
         //ampiezza div x bg immagine  slide selezionata
         curImgDivWidth : 110,
         //ampiezza div x bg immagine  slide selezionata
         curImgDivHeight : 95,
         //imnagine cornice box ingrandito
         curImgDivBorderImage : '',
         //ampiezza immagine  slide selezionata
         curImgWidth : 95,
         //font-size p  slide selezionata
         curParSize : "13px",
         //per settare ampiezza scrollContainer
         // opts.$container.css('width', (opts.$panels[0].offsetWidth * opts.$panels.length) + (opts.$panels.length * opts.scrollWidth) )
         scrollWidth : 122,
         //spostamento laterale al click
         scrollLeft : '110px',
         //prefisso dei box (numerati progressivamente nell'html '#panel_1, #panel_2)
         panelPrefix : '#spessore_',
         //box attivo di default
         curPanel : 2,
         //calback click checked
         checkboxCallback: function(){
            //checkbox
            var _obj = jQuery(this);
            //id of panel parents
            var _parentID = _obj.parents('.panel').attr('id');
            //hover-box color row
            var _boxRow  = jQuery("#hover-box-search #s-spessore");
            //selection image
            var _image = _obj.next('input[name=image]');
            //selection item
            var _item = _image.next('label');
            //filter id
            var _id = 'hb-'+_parentID;

            var _div = jQuery('<div class="selected-filter" id="'+ _id +'"></div>');
            // X to remove selection
            var _remove = jQuery('<span class="remove" title="remove">X</span>')
               .click(
                  function(){
                     jQuery('#'+_id).remove();
                     _obj.attr('checked', false);

                     _toHide = 0;
                     jQuery('#lista-spessori').find('input[type=checkbox]').each(function(i, el){
                        if(jQuery(el).attr('checked'))
                           _toHide = _toHide+1;
                     });

                     if(_toHide == 0)
                        _boxRow.hide();
                  }
               );


            if(_obj.attr("checked"))
            {
               //show
               _div.append('<div class="image float-left"><img src="images/'+ _image.attr('value') +'" width="40" height="40" /></div>');
               _div.append(_remove);
               _div.append('<label>'+ _item.html() +'</label>');
               _div.append('<input type="hidden" name="spessore[]" value="'+ _obj.attr('value') +'" />');

               _boxRow.prepend(_div);
               _boxRow.show();

            } else {
               // hide
               jQuery('#'+_id).remove();

               _toHide = 0;
               jQuery('#lista-spessori').find('input[type=checkbox]').each(function(i, el){
                  if(jQuery(el).attr('checked'))
                     _toHide = _toHide+1;
               });

               if(_toHide == 0)
                  _boxRow.hide();

            }

            $hoverBoxSearch.show();
         }
      };
      jQuery("#lista-spessori").slidewin(spessoriOptions);


      //filtro-finiture
      var finitureOptions = {
         movingDistance : 122,
         //ampiezza box  slide selezionata
         curWidth : 114,
         //altezza box slide selezionata
         curHeight : 142,
         //ampiezza div x bg immagine  slide selezionata
         curImgDivWidth : 109,
         //ampiezza div x bg immagine  slide selezionata
         curImgDivHeight : 107,
         //imnagine cornice box ingrandito
         curImgDivBorderImage : '../images/finiture-img-border.png',
         //ampiezza immagine  slide selezionata
         curImgWidth : 90,
         //font-size p  slide selezionata
         curParSize : "13px",
         //per settare ampiezza scrollContainer
         // opts.$container.css('width', (opts.$panels[0].offsetWidth * opts.$panels.length) + (opts.$panels.length * opts.scrollWidth) )
         scrollWidth : 122,
         //spostamento laterale al click
         scrollLeft : '110px',
         //prefisso dei box (numerati progressivamente nell'html '#panel_1, #panel_2)
         panelPrefix : '#finiture_',
         //box attivo di default
         curPanel : 2,
         //calback click checked
         checkboxCallback: function(){
            //checkbox
            var _obj = jQuery(this);
            //id of panel parents
            var _parentID = _obj.parents('.panel').attr('id');
            //hover-box color row
            var _boxRow  = jQuery("#hover-box-search #s-superfice");
            //selection image
            var _image = _obj.next('input[name=image]');
            //selection item
            var _item = _image.next('label');
            //filter id
            var _id = 'hb-'+_parentID;

            var _div = jQuery('<div class="selected-filter" id="'+ _id +'"></div>');
            // X to remove selection
            var _remove = jQuery('<span class="remove" title="remove">X</span>')
               .click(
                  function(){
                     jQuery('#'+_id).remove();
                     _obj.attr('checked', false);

                     _toHide = 0;
                     jQuery('#lista-finiture').find('input[type=checkbox]').each(function(i, el){
                        if(jQuery(el).attr('checked'))
                           _toHide = _toHide+1;
                     });

                     if(_toHide == 0)
                        _boxRow.hide();
                  }
               );


            if(_obj.attr("checked"))
            {
               //show
               _div.append('<div class="image float-left"><img src="images/'+ _image.attr('value') +'" width="40" height="40" /></div>');
               _div.append(_remove);
               _div.append('<label>'+ _item.html() +'</label>');
               _div.append('<input type="hidden" name="superfice[]" value="'+ _obj.attr('value') +'" />');

               _boxRow.prepend(_div);
               _boxRow.show();

            } else {
               // hide
               jQuery('#'+_id).remove();

               _toHide = 0;
               jQuery('#lista-finiture').find('input[type=checkbox]').each(function(i, el){
                  if(jQuery(el).attr('checked'))
                     _toHide = _toHide+1;
               });

               if(_toHide == 0)
                  _boxRow.hide();

            }

            $hoverBoxSearch.show();
         }
      };
      jQuery("#lista-finiture").slidewin(finitureOptions);


      //filtro certificazione
      var certificazioniOptions = {
         movingDistance : 122,
         //ampiezza box  slide selezionata
         curWidth : 114,
         //altezza box slide selezionata
         curHeight : 142,
         //ampiezza div x bg immagine  slide selezionata
         curImgDivWidth : 109,
         //ampiezza div x bg immagine  slide selezionata
         curImgDivHeight : 107,
         //imnagine cornice box ingrandito
         curImgDivBorderImage : '../images/finiture-img-border.png',
         //ampiezza immagine  slide selezionata
         curImgWidth : 90,
         //font-size p  slide selezionata
         curParSize : "13px",
         //per settare ampiezza scrollContainer
         // opts.$container.css('width', (opts.$panels[0].offsetWidth * opts.$panels.length) + (opts.$panels.length * opts.scrollWidth) )
         scrollWidth : 122,
         //spostamento laterale al click
         scrollLeft : '110px',
         //prefisso dei box (numerati progressivamente nell'html '#panel_1, #panel_2)
         panelPrefix : '#certificazione_',
         //box attivo di default
         curPanel : 2,
         //calback click checked
         checkboxCallback: function(){
            //checkbox
            var _obj = jQuery(this);
            //id of panel parents
            var _parentID = _obj.parents('.panel').attr('id');
            //hover-box color row
            var _boxRow  = jQuery("#hover-box-search #s-certificazione");
            //selection image
            var _image = _obj.next('input[name=image]');
            //selection item
            var _item = _image.next('label');
            //filter id
            var _id = 'hb-'+_parentID;

            var _div = jQuery('<div class="selected-filter" id="'+ _id +'"></div>');
            // X to remove selection
            var _remove = jQuery('<span class="remove" title="remove">X</span>')
               .click(
                  function(){
                     jQuery('#'+_id).remove();
                     _obj.attr('checked', false);

                     _toHide = 0;
                     jQuery('#lista-certificazioni').find('input[type=checkbox]').each(function(i, el){
                        if(jQuery(el).attr('checked'))
                           _toHide = _toHide+1;
                     });

                     if(_toHide == 0)
                        _boxRow.hide();
                  }
               );


            if(_obj.attr("checked"))
            {
               //show
               _div.append('<div class="image float-left"><img src="images/'+ _image.attr('value') +'" width="40" height="40" /></div>');
               _div.append(_remove);
               _div.append('<label>'+ _item.html() +'</label>');
               _div.append('<input type="hidden" name="certificazione[]" value="'+ _obj.attr('value') +'" />');

               _boxRow.prepend(_div);
               _boxRow.show();

            } else {
               // hide
               jQuery('#'+_id).remove();

               _toHide = 0;
               jQuery('#lista-certificazioni').find('input[type=checkbox]').each(function(i, el){
                  if(jQuery(el).attr('checked'))
                     _toHide = _toHide+1;
               });

               if(_toHide == 0)
                  _boxRow.hide();

            }

            $hoverBoxSearch.show();
         }
      };
      jQuery("#lista-certificazioni").slidewin(certificazioniOptions);


      //search results
      if( typeof jQuery.fn.infobox == 'function')
      {
         jQuery('#products-list .product').infobox('get_details.php');  //url per recuperare dettagli prodotto
      }

   }
);