$(function() {
  setFancy();
  
  // nakup - firemni udaje
  if ( ! $("#purchase_personal_data #company_data").attr("checked")) {
    $("#block_company_data").hide();
  }
  
  $("#purchase_personal_data #company_data").change(function(){
    if ($(this).attr("checked")) {
      $("#block_company_data").show();
    }
    else {
      $("#block_company_data").hide();
    }
  });
  
  // nakup - dorucovaci adresa
  if ( ! $("#purchase_personal_data #delivery_address").attr("checked")) {
    $("#block_delivery_address").hide();
  }
  
  $("#purchase_personal_data #delivery_address").change(function(){
    if ($(this).attr("checked")) {
      $("#block_delivery_address").show();
    }
    else {
      $("#block_delivery_address").hide();
    }
  });
  
  $.system.setSwip($("#q"), "Název produktu, kategorie");
  
  $("#products_fulltext_search_form").submit(function(){
    if ( ! $("#q").val().length || $("#q").val() == "Název produktu, kategorie")
      return false;
  });
  
  initSearchAutocomplete();
  
  // image slider
  $("#product-detail div.thumbs ul.slider a").click(function() {
    var id = $(this).attr("id").substr(12);
    
    $("#product-detail ul.image-big li").removeClass("active");
    $("#thumbs_" + id).addClass("active");
  });
});

function setFancy() {
  $("a.fancybox").fancybox({
    'zoomSpeedIn'  : 300,
    'zoomSpeedOut' : 300,
    'overlayShow'  : true,
    'scrolling'   : 'no'
  });
}

$.widget( "custom.catcomplete", $.ui.autocomplete, {
  _renderMenu: function( ul, items ) {
    var self = this,
      currentCategory = "";
    $.each( items, function( index, item ) {
      if ( item.category != currentCategory ) {
        ul.append( "<li class='ui-autocomplete-category'>" + item.category + "</li>" );
        currentCategory = item.category;
      }
      //self._renderItem( ul, item );
      
      return $( "<li" + ((item.last) ? " class=\"last\"" : "") +"></li>" )
            .data( "item.autocomplete", item )
            .append( $( "<a></a>" ).text( item.label ) )
            .appendTo( ul );
    });
  }
});

function initSearchAutocomplete()
{
  $( "#products_fulltext_search_form #q").catcomplete({
    delay: 0,
    source: CMS_URL + "static/eshop/autocomplete",
    select: function(event, ui) {
      if (ui.item.type == 'product')
        window.location.href = CMS_URL + "produkty/" + ui.item.id;
      else if (ui.item.type == 'category')
        window.location.href = CMS_URL + "kategorie/" + ui.item.id;
    },
    position : {
      of: $("#search")
    }
  });
}

function setLoginBlock(duration) {
  var d = duration || 'fast';
  
  if ($("#show_login").is(":checked")) {
    if (duration == false)
      $("#loginForm").show();
    else
      $("#loginForm").show(d);
  }
  else {
    if (duration == false)
      $("#loginForm").hide();
    else
      $("#loginForm").hide(d);
  }
}

function setRegisterBlock(duration) {
  var d = duration || 'fast';
  
  if ($("#register_data").is(":checked")) {
    if (duration == false)
      $("#registerForm").show();
    else
      $("#registerForm").show(d);
  }
  else {
    if (duration == false)
      $("#registerForm").hide();
    else
      $("#registerForm").hide(d);
  }
}

function setCompanyBlock(duration) {
  var d = duration || 'fast';
  
  if ($("#company_data").is(":checked")) {
    if (duration == false)
      $("#companyForm").show();
    else
      $("#companyForm").show(d);
  }
  else {
    if (duration == false)
      $("#companyForm").hide();
    else
      $("#companyForm").hide(d);
  }
}

function setDeliveryAddressBlock(duration) {
  var d = duration || 'fast';
  
  if ($("#delivery_address").is(":checked")) {
    if (duration == false)
      $("#adressForm").show();
    else
      $("#adressForm").show(d);
  }
  else {
    if (duration == false)
      $("#adressForm").hide();
    else
      $("#adressForm").hide(d);
  }
}
