$(document).ready(function() {

  // registrace
  $("#registerForm").each(function() {
    var userType = $(this).find(".radio input:radio:checked").val();
    
    // skryti prvku formulare po reloadu
    if(userType == 'customer')  $(this).find("#user_type_company").hide();
    else                        $(this).find("#user_type_customer").hide();
    
    // skryti prvku po zmene radio buttonu
    $(this).find("input[name='user_type']").change(function() {
      $(this).parents("form").find("#user_type_company").show();
      $(this).parents("form").find("#user_type_customer").show();
      
      // skryti prvku formulare po reloadu
      if($(this).val() == 'customer') $(this).parents("form").find("#user_type_company").hide();
      else                            $(this).parents("form").find("#user_type_customer").hide();
    });
    
    // odkryti delivery polozek v pripade, ze nejsou shodne s billing
    $(this).find(".deliveryButton a").click(function() {
      //$(this).parents("p").hide();
      $(this).parents("form").find("#deliveryPart").slideToggle();
      if($(this).parents("form").find("#deliveryPart").hasClass("opened")) {
        $(this).parents("form").find("input[name='otherDelivery']").val(0);
        $(this).parents("form").find("#deliveryPart").removeClass("opened");
      } else {
        $(this).parents("form").find("input[name='otherDelivery']").val(1);
        $(this).parents("form").find("#deliveryPart").addClass("opened");
      }
      return false;
    });
  });
  
  // prepocitani cen dopravy v kosiku
  var deliveryCount = 0;
  var paymentCount = 0;
  $(".boxBasket .typePayment table tr").each(function() {
    if($(this).find(":radio").attr("checked")) {
      paymentCount = Number($(this).find("input[name='price']").val());
    }
    
    $(this).find(":radio").change(function() {
      paymentCount = Number($(this).parents("tr").find("input[name='price']").val());
      $(".boxBasket .deliveryCount .recount").text(deliveryCount+paymentCount);
    });
  });
  $(".boxBasket .typeDelivery table tr").each(function() {
    if($(this).find(":radio").attr("checked")) {
      deliveryCount = Number($(this).find("input[name='price']").val());
    }
    
    $(this).find(":radio").change(function() {
      deliveryCount = Number($(this).parents("tr").find("input[name='price']").val());
      $(".boxBasket .deliveryCount .recount").text(deliveryCount+paymentCount);
    });
  });
  $(".boxBasket .deliveryCount .recount").text(deliveryCount+paymentCount);
  
  // js tabs detailu produktu
  $(".boxProductDetailBookmarks").tabs();
  
  // vyhledavaci box na textove strance
  var searchPhrase;
  var searchPhraseCs = 'Vyhledávání';
  var searchPhraseSk = 'Vyhľadávanie';
  $("#searchTerm").focus(function() {
    if($(this).val() == searchPhraseCs) {
      searchPhrase = searchPhraseCs;
      $(this).val('');
    } else if($(this).val() == searchPhraseSk) {
      searchPhrase = searchPhraseSk;
      $(this).val('');
    } 
  }).blur(function() {
    if($(this).val() == '') $(this).val(searchPhrase);
  });
  
  // ajax pro pridavani komentaru
  $(".boxProductDetailBookmarks .comments .new a").click(function() {
    $.ajax({
      type: "POST",
      url: $(this).attr("href"),
      success: function(lightbox){
        if(lightbox != '') {
          $("#view").after(lightbox);
          $(".lightbox").fadeIn();
          $(".lightbox .close, .lightbox .overlay").click(function() {
            //$(".lightbox").hide("normal", function() { $(this).remove(); });
            $(".lightbox").remove();
            return false;
          });
          
          $(".lightbox form").submit(function() {
            if($(this).find("input[name='name']").val() == '') {
              $(this).find("input[name='name']").focus();
              alert("Vyplňte vaše jméno.");
              return false;
            }
            
            if($(this).find("textarea[name='content']").val() == '') {
              $(this).find("textarea[name='content']").focus();
              alert("Vyplňte text komentáře.");
              return false;
            }
          });
        }
      }
    });
    return false;
  });
  
  // faq rozklik polozek
  $(".boxFaq .item .title a").click(function() {
    $(this).parents(".item").find(".self").slideToggle();
    return false;
  });
  
  // ajax pro kuponovy lightbox
  $(".boxProductDetailBasket .displayDiscountCoupon a").click(function() {
    $(this).parents(".displayDiscountCoupon").slideToggle();
    $("#discountCouponForm").slideToggle();
    return false;
  });
  
  // tooltip s obsahem z elementu
  /*$(".showTooltip").each(function() {
    var content = $(this).find(".hidden").html();
    $(this).hovertip({ className: "myTooltip", offset: [-100, 5], content: content });
  });*/
  
  // vsechny odkazy s tridou external otevreme do noveho okna
  $("a.external").click(function() { $(this).attr("target", "_blank"); });
  
  // tisk
  $(".print a").click(function() { window.print(); return false; });
  
  // zrusi disabled po zaskrtnuti checkboxu v sekci kontakt
  /*$(".boxContact .boxForm :checkbox").change(function() {
    if($(this).attr("checked")) {
      $("#contact_phone").removeClass("disabled").removeAttr("disabled");
    } else {
      $("#contact_phone").addClass("disabled").attr("disabled", "disabled").val("");
    }
  });*/
  
  // galerie u detailu produktu - lightbox
  $(".boxProductDetail .img a, .boxProductDetail .gallery li a").lightBox({ 
    imageLoading:	  '/app/templates/web/images/jquery_lightbox/lightbox-ico-loading.gif', 
    imageBtnPrev:	  '/app/templates/web/images/jquery_lightbox/lightbox-btn-prev.gif', 
    imageBtnNext:	  '/app/templates/web/images/jquery_lightbox/lightbox-btn-next.gif', 
    imageBtnClose:  '/app/templates/web/images/jquery_lightbox/lightbox-btn-close.gif', 
    imageBlank:	    '/app/templates/web/images/jquery_lightbox/lightbox-blank.gif', 
    txtImage:       'Obrázek', 
    txtOf:          'z'
  });
  
  // hp products
  var width = 0;
  var length = $(".boxHpProductsList .in .items .item").length;
  $(".boxHpProductsList .in .items .item").each(function() { width = width + $(this).outerWidth(); });
  $(".boxHpProductsList .in .items .scroll").width(Number(width) + ((length - 1) * 5));
  $(".boxHpProductsList").serialScroll({
		target: ".items",
		items: ".item",
		prev: ".paging .prev a",
		next: ".paging .next a",
		axis: "x",
		duration: 700,
		force: true,		
		cycle: false,
		step: 1,
		onBefore: function(e, elem, $pane, $items, pos) {
		  var box = $(".boxHpProductsList");
		  var count = $(box).find(".items .item").length;
		  if(pos >= count-2) {
		    $(box).find(".paging .next").fadeOut();
      } else {
        $(box).find(".paging .next").show();
      }
      
      if(pos <= 0) {
        $(box).find(".paging .prev").fadeOut();
      } else {
        $(box).find(".paging .prev").show();
      }
    }
	});
  
  // paging
  $(".boxPaging").each(function() { var ul = $(this).find("ul"); $(ul).css({ 'width' : $(ul).width()+'px', 'float' : 'none', 'margin' : '0 auto' }); });
  
  // hp icons click
  $(".boxIcons .item").click(function() { location.href = $(this).find(".title a").attr("href"); return false; });
  
  // my loyality scroll
  $(".boxMyLoyality .slide a").click(function() {
    var pos = $($(this).attr("href")).offset();
    var top = pos.top - ($(window).height()/4);
    $("html, body").animate({ "scrollTop" : top }, "normal");
    return false;
  });
  
  // loyality user message box
  $(".userMessage .close").click(function() {
    $(this).parents(".userMessage").slideToggle();
    return false;
  });
  
  // loyality discount lightbox
  // choose region on map
  $("a.discountLightbox").click(function() {
    $.get($(this).attr("rel"), function(data) { data_handler('lightbox_create', data); });
    return false; 
  });
  
  // homepage banner loader
  $(".boxPromo").each(function() { 
    var box = $(this);
    var bannersCount = homepageBannerSystem.length;
    
    if(bannersCount > 1) {
      var activeBanner = 0;
      var pagingItems = '';
      $(homepageBannerSystem).each(function(i) { pagingItems += '<li><a href="#" rel="'+ i +'">'+ Number(i+1) +'</a></li>'; });
      var paging = '<ul class="paging">'+ pagingItems +'</ul>';
      $(box).find(".in").append(paging).find(".paging li:first").addClass("active");
      $(box).find(".paging li a").click(function() {
        var imageId = $(this).text() - 1;
        if(activeBanner != imageId) {
          activeBanner = imageId;
          var pagingItem = $(this).parents("li");
          homepageBannerStep(box, pagingItem, homepageBannerSystem, imageId);
        }
        
        return false;
      });
      
      var timerSeconds = 5000;
      var timerId = window.setInterval(function() { activeBanner = homepageBannerTimeoutTrigger(box, homepageBannerSystem, activeBanner, bannersCount); }, timerSeconds);
      $(box).hover(function() {
        window.clearInterval(timerId);
      }, function() {
        timerId = window.setInterval(function() { activeBanner = homepageBannerTimeoutTrigger(box, homepageBannerSystem, activeBanner, bannersCount); }, timerSeconds);
      });
    }
  });
  
  // zobrazit mapu v sekci kontakt
  $(".boxContact .map").hide();
  $(".boxContact .intro .button a").click(function() { 
    $(".boxContact .map").slideToggle("slow", function() {
      if(!$(this).hasClass("active")) { 
        googleMapsInitialize();
        $(this).addClass("active"); 
      } else {
        $(this).removeClass("active");
      }
    }); 
    return false; 
  });
  
  // zobrazit mapu v detailu produktu
  $("#boxDoctorsMap").hide();
  $(".displayDoctorsMap a, #boxDoctorsMap .close a").click(function() { 
    $("#boxDoctorsMap").slideToggle("slow", function() {
      if(!$(this).hasClass("active")) { 
        googleMapsInitialize();
        $(this).addClass("active"); 
      } else {
        $(this).removeClass("active");
      }
    }); 
    return false; 
  });
  
});
