function dynsearch(obj){
	$(obj).click(function(){
  	var a = this.href;
  	init_search(a, this);
  	this.blur();
  	return false;
	});
  
  // apertura diretta della scheda
  if(gup('prod_id')!=''){
    scheda(gup('prod_id'), '');
  }

  // apertura diretta della gamma prodotti  
  if(gup('step')==1){
    ricerca(null, 1, '', '', 'search', '', '');  
  } else if(gup('step')==3){
    // apertura diretta dei gruppi/sottogruppi  
    $l = gup('l');  $c = gup('c');  $g = gup('g');  $s = gup('s');

    ricerca(null, 1, $l, $c, 'search', $g, null); // step1
    if($g) ricerca(null, 2, $l, $c, 'search', $g, $s); // step2
    if($s) ricerca(null, 3, $l, $c, 'search', $g, $s); // step3 

    $("#step0 a").removeClass("active");
    if($l!=''){
      // accendo la linea, se selezionata
      $obj = $("#step0 li:nth-child("+$l+")");
      $obj.removeClass("off");
    }
  }

}

function init_search(url, obj){
  var queryString = url.replace(/^[^\?]+\??/,'');
  var params = $.extend({}, searchdefaults, tb_parseQuery(queryString));
  var classi = new Array("red", "blue", "green", "yellow");
  $classe = classi[params['l']-1];  

  if(params['act']=='search'){
    if(params['step']==3){
      ricerca(obj, 1, params['l'], $classe, params['act'], params['g'], '');
      ricerca(obj, 2, params['l'], $classe, params['act'], params['g'], params['s']);    
      ricerca(obj, 3, params['l'], $classe, params['act'], params['g'], params['s']);
      $(obj).removeClass("active");    
    } else {
      ricerca(obj, 1, params['l'], $classe, params['act'], '', '', true);
    }

  } else {
    /*
    restart('results');
    restart('scheda');
    $("#step3").empty().slideUp();
    $(".linee li").addClass("off");
    $("#step0 a").removeClass("active");
    $(obj).parents("li").removeClass("off");
    $(obj).addClass("active");
    lista($classe, params['g'], params['s'], params['l'], true);
    */
    ricerca(obj, 1, params['l'], $classe, params['act'], '', '');    
  }
} 

function tb_parseQuery (query) {
   var Params = {};
   if ( ! query ) {return Params;}// return empty object
   var Pairs = query.split(/[;&]/);
   for ( var i = 0; i < Pairs.length; i++ ) {
      var KeyVal = Pairs[i].split('=');
      if ( ! KeyVal || KeyVal.length != 2 ) {continue;}
      var key = unescape( KeyVal[0] );
      var val = unescape( KeyVal[1] );
      val = val.replace(/\+/g, ' ');
      Params[key] = val;
   }
   return Params;
}

var searchdefaults = {
  l:null,
  act:'search',
  group:null,
  subgroup:null
};

function ricerca(_me, _step, _linea, _classe, _scelta, _gruppo, _sottogruppo) {
  hide_step1=false;
  
  if(_step==1){
    $('#scheda').slideUp().remove();
    $('#results').slideUp().remove();
    $("#step3").empty().slideUp();
    $("#step2").empty().slideUp();

    if($(_me).hasClass("active")) {
      $("#step1").empty().slideUp();
      $(".linee li").removeClass("off");
      hide_step1=true
    } else {
      $(".linee li").addClass("off");
      $(_me).parents("li").removeClass("off");
    }
  } else if(_step==2) {
    $("#step3").empty().slideUp();
  }
  
  $("#step"+(_step-1)+" a").removeClass("active");
  $("li.heading a").removeClass("active");

  if(!hide_step1) {
    $(_me).addClass("active");
    $.get("/public/server/cerca.php", {
      step:_step, 
      linea:_linea, 
      scelta:_scelta, 
      classe:_classe, 
      gruppo:_gruppo, 
      sottogruppo:_sottogruppo
    }, function(data){ $("#step"+_step).slideDown().html(data); });
  }              
}

function lista($classe, $gruppo, $sottogruppo, $linea, $reset) { // step 4

  $flinea = $('#f-linea').val();
  if($flinea!=undefined) $linea = $flinea;
  $.get("/public/server/lista.php", {
    linea:$linea,
    classe:$classe, 
    gruppo:$gruppo, 
    sottogruppo:$sottogruppo,
    categoria:$('#f-cat option:selected').val(),
    faccia:$('#f-faccia option:selected').val(),
    foratura:$('#f-foratura option:selected').val(),
    spessore:$('#f-spessore option:selected').val(),
    altezza:$('#f-altezza option:selected').val(),
    reset:$reset
  }, function(data){ 
    //alert('data received: '+data);
    $("#prodotti").prepend('<div>'+data+'</div>');
    $('#results').slideDown('slow');
  });
}

function scheda($id, $classe) { // step 5
  $.get("/public/server/scheda.php", {
    id:$id,
    classe:$classe
  }, function(data){ 
    $("#prodotti").prepend(data);
    $('#scheda').slideDown(1400);
  });
}

function get_total() {
  $.get("/public/server/count_items.php", {
    linea:$('#f-linea').val(),
    classe:$('#f-classe').val(),
    gruppo:$('#f-gruppo').val(),
    sottogruppo:$('#f-sottogruppo').val(),
    categoria:$('#f-cat option:selected').val(),
    faccia:$('#f-faccia option:selected').val(),
    foratura:$('#f-foratura option:selected').val(),
    spessore:$('#f-spessore option:selected').val(),
    altezza:$('#f-altezza option:selected').val()
  }, function(data){
    $('#totale').html(data);
  });
}

function init_scroll($buttons){ // lancia lo scrolling
  buttons = new Array();
  for(i=0; i<$buttons; i++){
    buttons[i] = '#p'+i;
  }
  
  $("#carousel").jCarouselLite({
    btnNext: ".next", btnPrev: ".prev", visible:1, circular:false, speed:800, btnGo:buttons,
    beforeStart: function(a) {
      $('.paginazione a').removeClass('active');
    },
    afterEnd: function(a) {
      var $index = $("#carousel li").index( $(a) );
      $('a#p'+$index).addClass('active');
    }
  });
 }

function restart($div, $reset) { // resetta la ricerca
  $('#'+$div).slideUp('slow', function(){ $(this).remove() });
  if($reset==true){
    $(".linee li").removeClass("off");
    $("#step0 a").removeClass("active");
  }
}

function gup(name){
  // recupera parametri in GET
  // thanks http://www.netlobo.com/
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

