var j = jQuery.noConflict();

function floatLogo(){
	var img = document.getElementById("logo").offsetWidth;
	var left = document.getElementById("main").offsetLeft;
	document.getElementById("logo").style.left = left - img - 12 + "px";
	}

window.onresize = floatLogo;

jQuery.fn.formClick = function(value){
	return this.each(function(){
		var input = j(this);
		input.val(value);
		input.focus(function(){
			if (j(this).val() === value) j(this).val("");
		});
		input.blur(function(){
			if (j(this).val() === "") j(this).val(value);
		});
	});
};


j(function(){
	floatLogo();

	var text = [
		"Szukaj na stronie|Search the site|Suche in der site",
		"Podaj swój e-mail|Enter your e-mail|Geben sie ihre e-mail",
    // reklamacje form 1
    "wpisz numer zamówienia fabrycznego|enter Mikomax order number|??????", //NumerZamowieniaFabrycznego
    "wpisz prawidłową datę|Delivery Date can not be blank|??????", //DataDostawy
    "wpisz nazwę salonu/przedstawiciela|Outlet/Dealer submitting the complaint can not be blank|Kundenname darf nicht leer sein", //NazwaSalonu
    "wpisz prawidłową datę|installation date can not be blank|??????", //DataMontazu
    "wpisz imię i nazwisko zgłaszającego|submitting person can not be blank|Kontaktperson darf nicht leer sein", //ImieNazwisko
    "wpisz numer telefonu|phone can not be blank|Telefon darf nicht leer sein", //Telefon
    "wpisz prawidłowy adres e-mail|email is invalid|E-mail darf nicht leer sein", //Email
    "wpisz opis reklamacji|detailed description of the defect can not be blank|Genaue Reklamationsbeschreibung darf nicht leer sein", //OpisWady
    "wpisz nazwę/symbol|item number can not be blank|??????", //Nazwa_1
    "wpisz liczbę sztuk|pcs. can not be blank|??????", //Sztuk_1
    "zaznacz miejsce wykrycia wady lub usterki|select correct answer|??????", //Miejsce
    "wybierz właściwą odpowiedź|select correct answer|??????", //Uszkodzona
    "wybierz właściwą odpowiedź|select correct answer|??????", //Odnotowane
    // reklamacje form 2 i 3
    "wpisz numer potwierdzenia fabryki|Order No. can not be blank|Reklamationsnummer darf nicht leer sein", //NumerPotwierdzeniaFabryki
    "wpisz prawidłową datę|date of submition can not be blank|Reklamationsdatum darf nicht leer sein", //DataZgloszenia
    "wpisz imię i nazwisko osoby do kontaktu|contact person can not be blank|Zuständige Kontaktperson darf nicht leer sein", //ImieNazwiskoKontakt
    "wpisz prawidłową datę|Invoice Date can not be blank|?????" //DataFaktury
	];

	function translate(class_name, arr_item) {
		switch (class_name) {
			case "en":
				return arr_item.slice(arr_item.indexOf("|")+1, arr_item.lastIndexOf("|"));
			case "de":
				return arr_item.slice(arr_item.lastIndexOf("|")+1, arr_item.length);
			default:
				return arr_item.slice(0, arr_item.indexOf("|") );
		}
	}

  j("#hp-menu form :text").formClick(translate(j("#header #lang").attr("class"), text[0]));
	j("#leftside form :text[name=s]").formClick(translate(j("#header #lang").attr("class"), text[0]));
	j("#leftside form :text[name=EMAIL]").formClick(translate(j("#header #lang").attr("class"), text[1]));
	
	
	// accordion
	var run;
	function slideShow() {
	  (j("#accordion li:first").is("#active")) ? j("#accordion li:last img.selector").click() : j("#accordion #active").prev().children("img.selector").click();
	  return false;
	}
	j("#accordion img.selector").click(function(){
    clearInterval(run);
    run = setInterval(slideShow, 10000);
    var maxWidth = 544;
    var minWidth = 24;
    var li = j(this).parent();
    li.siblings("#active").animate({width: minWidth + "px"}, {queue: false, duration: 200}).removeAttr("id");
    li.animate({width: maxWidth + "px"}, {queue: false, duration: 200}).attr("id", "active");
	}).hover(function(){
    j(this).addClass("selector-hot");
  },function(){
    j(this).removeClass("selector-hot");
  });
	
	j("#accordion img.selector").click();



	if (j.fn.mslider) {
    j("div.gallery-main").each(function(){
    var p = j(this);
      j("a", p).mslider({
  			buttonLeft:		j('<div id="jquery-left-slidenav"></div>'),
  			buttonRight:	j('<div id="jquery-right-slidenav"></div>'),
  			viewItems:		3,
  			width:   550
  		});
    });
  }

  if (j.fn.tooltip) {
    j("ul.tooltip a").tooltip({
      bodyHandler: function(){
        if (j(this).prev().attr("alt") !== "") {
          return j("<img/>").attr("src", j(this).prev().attr("alt"));
        }
      },
      delay: 0,
      extraClass: "image",
			fade:	250,
			showURL:	false,
			track:	true
		});
		
		j("#uklady div > a.big:has(img[alt!=''])").tooltip({
      bodyHandler: function(){
        return j("<img/>").attr("src", j(this).children().attr("alt"));
      },
      delay: 0,
      extraClass: "image",
			fade:	250,
			showURL:	false,
			track:	true
		});

    j("#uklady ul a").hover(function(){
      j("#tooltip").removeClass("image");
    }, function(){});

    j("#uklady ul a").tooltip({
      bodyHandler: function(){
        return j(this).children("img").attr("alt");
      },
      delay: 0,
      fade:	250,
      showURL: false,
      track: true
    });

  }
  
  if (j("ul.menu").length > 1) {
    j("ul.menu .menu-title").click(function(e){
      var li = j(this);
      li.next().slideToggle();
      li.parent().toggleClass("hidden").siblings("ul.menu").children(".menu-title").next().slideToggle(function(){
        j(this).parents("ul.menu:first").toggleClass("hidden");
      });
    });
  }
  
  if (j.fn.autocomplete) {
    j("#f_search :text").each(function(){
      var field = j(this).attr("name");
      var url = j(this).parents("form:first").hasClass("renders") ? "/wp-content/themes/mikomax/products-renders-search.php" : "/wp-content/themes/mikomax/products-cards-search.php";
      j(this).autocomplete(url, {
        extraParams: {f: field, system: function(){ return j("select[name=system] :selected").val(); }, shape: function(){ return j("select[name=ksztalt] :selected").val(); }},
        selectFirst: false,
        max: 9999,
        width: 197
      });
    });
  }
  
  if (j.support.leadingWhitespace === false && j.browser.version < 7) {
    j("table:not(.remove-hover) tr").hover(
      function(){
        j(this).addClass("hover");
      },
      function(){
        j(this).removeClass("hover");
      }
    );
  }
  

  function loadSelectors(v){
    j.ajax({
      url: "/wp-content/themes/mikomax/products-cards-search2.php",
      data: "radio=" + v,
      type: "post",
      success: function(re){
        j("select[name=system]").html(re);
        j("select[name=ksztalt]").html("");
        j("#system-id").change(function(){
          var val = j(this).children(":selected").val();
          j.ajax({
            url: "/wp-content/themes/mikomax/products-cards-search2.php",
            data: "system=" + val,
            type: "post",
            success: function(re2){
              j("select[name=ksztalt]").html(re2);
            }
          });
        });
      }
    });
  }

  j("#f_search :radio").change(function(){
    loadSelectors(j(this).val());
  });
  
  if (j("#f_search :radio:checked").length) {
    loadSelectors(j("#f_search :radio:checked").val());
  }
  

  if (j("#reklamacje_form").length) {

    var lang = j("#reklamacje_form").attr("class");

    j("#reklamacje_form").validate({
      rules: {
        NumerZamowieniaFabrycznego: "required",
        DataDostawy: {
          required: true,
          datePL: true
        },
        NazwaSalonu: "required",
        DataMontazu: {
          required: true,
          datePL: true
        },
        ImieNazwisko: "required",
        Telefon: "required",
        Email: {
          required: true,
          email: true
        },
        DataFaktury: {
          datePL: true
        },
        OpisWady: "required",
        Nazwa_1: "required",
        Sztuk_1: {
          required: true,
          digits: true
        },
        Nazwa_2: "required",
        Sztuk_2: {
          required: true,
          digits: true
        },
        Nazwa_3: "required",
        Sztuk_3: {
          required: true,
          digits: true
        },
        Nazwa_4: "required",
        Sztuk_4: {
          required: true,
          digits: true
        },
        Nazwa_5: "required",
        Sztuk_5: {
          required: true,
          digits: true
        },
        Miejsce: "required",
        Uszkodzona: "required",
        Odnotowane: "required",
        // formularz 2 i 3
        NumerPotwierdzeniaFabryki: "required",
        DataZgloszenia: {
          required: true,
          datePL: true
        },
        ImieNazwiskoKontakt: "required"
      },
      messages: {
        NumerZamowieniaFabrycznego: translate(lang, text[2]),
        DataDostawy: {
          required:  translate(lang, text[3]),
          datePL:  translate(lang, text[3])
        },
        NazwaSalonu: translate(lang, text[4]),
        DataMontazu: {
          required:  translate(lang, text[5]),
          datePL:  translate(lang, text[5])
        },
        ImieNazwisko: translate(lang, text[6]),
        Telefon: translate(lang, text[7]),
        Email: {
          required: translate(lang, text[8]),
          email: translate(lang, text[8])
        },
        DataFaktury: {
          datePL:  translate(lang, text[18])
        },
        OpisWady: translate(lang, text[9]),
        Nazwa_1: translate(lang, text[10]),
        Sztuk_1: {
          required: translate(lang, text[11]),
          digits: translate(lang, text[11])
        },
        Nazwa_2: translate(lang, text[10]),
        Sztuk_2: {
          required: translate(lang, text[11]),
          digits: translate(lang, text[11])
        },
        Nazwa_3: translate(lang, text[10]),
        Sztuk_3: {
          required: translate(lang, text[11]),
          digits: translate(lang, text[11])
        },
        Nazwa_4: translate(lang, text[10]),
        Sztuk_4: {
          required: translate(lang, text[11]),
          digits: translate(lang, text[11])
        },
        Nazwa_5: translate(lang, text[10]),
        Sztuk_5: {
          required: translate(lang, text[11]),
          digits: translate(lang, text[11])
        },
        Miejsce: translate(lang, text[12]),
        Uszkodzona: translate(lang, text[13]),
        Odnotowane: translate(lang, text[14]),
        // formularz 2 i 3
        NumerPotwierdzeniaFabryki: translate(lang, text[15]),
        DataZgloszenia: {
          required: translate(lang, text[16]),
          datePL: translate(lang, text[16])
        },
        ImieNazwiskoKontakt: translate(lang, text[17])
      },
  		errorPlacement:	function(error, element) {
        element.parent().append(error);
  		},
  		unhighlight: function(element, errorClass) {
        j(element).parent().find("label.error").remove();
  		},
  		ignore: ":hidden"
    });

    j("#nazwa6").click(function(){
      if (j("#nazwa2").hasClass("dispnone")) {
        j("#nazwa2").removeClass("dispnone").addClass("dispinline");
      } else {
        j("#nazwa2").nextAll("div[id^=nazwa].dispnone").filter(":first").removeClass("dispnone").addClass("dispinline");
        if (!j("div[id^=nazwa].dispnone").length) {
          j(this).hide();
        }
      }
      return false;
    });
    
    j("a.deleteEntry").click(function(){
      var p = j(this).parents("div[id^=nazwa]:first");
      p.removeClass("dispinline").addClass("dispnone");
      j("label.error", p).remove();
      j(":text, textarea", p).val("");
      if (j("div[id^=nazwa].dispnone").length === 1) {
        j("#nazwa6").show();
      }
      return false;
    });

    function checkRadio(obj){
      var i = j("#damaged-div :radio").index(obj);
      var div = j("#damaged-div").next("div");

      if (j(obj).eq(i).is(":checked")) {
        div.removeClass("dispnone").addClass("dispinline");
      } else {
        div.removeClass("dispinline").addClass("dispnone");
      }
    }

    j("#damaged-div :radio").change(function(){
      checkRadio(this);
    });

    checkRadio(j("#damaged-div :radio"));
  
  }
  
});


