// Objednavka - Krok 1

$(document).ready(function() {
  
  // automaticky vyber
  
  var sluzba;
  var webhosting;
  
  // zobrazovacie fncs
  function showDomena(value) {
    if(value == "true")
      $("#blok_nova").show();
    else
      $("#blok_nova").hide();
  }
  
  function showSluzby(value) {
    $("#" + sluzba).hide();
		sluzba = value;
		$("#" + sluzba).show();
  }
  
  function showHostingy(value) {
    $("#" + webhosting + "_wh").hide();
		webhosting = value;
		$("#" + webhosting + "_wh").show();
    if(webhosting != "-")
      $("#blok_domeny, #blok_doba").show();
    else 
      $("#blok_domeny, #blok_doba").hide();
    if(webhosting=="domena" || webhosting=="redirect") {
      $("#blok_vyber").hide();
      showDomena("true");
    } else {
      $("#blok_vyber").show();
      showDomena($("#blok_vyber input[checked=1]").val());
    }
  
  }
  
  function showId(value) {
    if(value == "sk")
      $("#blok_identifikator").show();
    else
      $("#blok_identifikator").hide();
  }
  
  // eventy zobrazovacich fncs  	
	$("#sluzba").change(function() {
		showSluzby($(this).val()); 
	});
  
  $("#produkt_webhosting").change(function() {
    showHostingy($(this).val());
	});
	
	$("#domena_ano, #domena_nie").click(function() {
		showDomena($(this).val());	
	});
	
	$("#domena_tld").change(function() {
    showId($(this).val());
  });

  // start zobrazovacich fncs
  showSluzby($("#sluzba").val());
  showHostingy($("#produkt_webhosting").val());
  showId($("#domena_tld").val());
	
	// ziskanie cennikov;
  var hosting;
  $.get(mattis['base'] + "/public/ajax.php", {act: "cennik_hostingu"}, function(data) {
    hosting = data;
  }, "json");
  
  var domeny;
  $.get(mattis['base'] + "/public/ajax.php", {act: "cennik_domen"}, function(data) {
    domeny = data;
  }, "json");
  
  var sluzby;
  $.get(mattis['base'] + "/public/ajax.php", {act: "cennik_sluzieb"}, function(data) {
    sluzby = data;
  }, "json");
  
  // vypocet pribliznej ceny
  
  $(".pribliznaCena, #webhosting select").change(function() {
    var cena = 0;
    var tld = $("#domena_tld").val();
    
    if($("#sluzba").val()=="webhosting") {
      if($("#produkt_webhosting").val()=="profi") {
        cena += hosting['profi']['eur']*1;
      }
      if($("#produkt_webhosting").val()=="custom") {
        cena += hosting['priestor']['eur']*$("#custom_wh_priestor").val();
        cena += hosting['db']['eur']*$("#custom_wh_db").val();
        cena += hosting['ftp']['eur']*$("#custom_wh_ftp").val();
        cena += hosting['email']['eur']*$("#custom_wh_email").val();
        cena *= 12;
      }
      if($("#domena_ano").attr("checked")==1 || $("#produkt_webhosting").val()=="domena" || $("#produkt_webhosting").val()=="redirect") {
        tld = $("#domena_tld").val();
        $.each(domeny, function(key,val) {
          if(val['tld'] == tld)
            cena += val['eur']*1;
        })
      }
      
      if($("#produkt_webhosting").val() == "redirect") {
        $.each(sluzby, function(key,val) {
          if(val['sluzba'] == "redirect")
            cena += val['eur']*1;
        })
      }
      
      cena *= $("#doba").val();
    
    if(isNaN(cena))
      cena = "?";
    else
      cena = "<strong>" + Math.round(cena*100)/100 + " EUR</strong> (" + Math.round(cena*100/(1/30.126))/100 + " SKK)";  
      
    $("#pribliznaCena").html(cena);
    
    } 
  });
		
	// kontroly
	
	function checkNumInput(obj) {
		if($.trim(obj.val()).search(/^[0-9]+[.,]?[0-9]?$/) == -1)
			return false;
		else 
			return true;
	}
	
	$("#objednavka").submit(function() {
		
		switch ($("#sluzba").val()) {
			
			case "-": 
				alert(txt_objednavka['vyber_sluzbu']);
				return false; 
				break;
			
			case "grafika":
				if ($("#produkt_grafika").val() == "-") {
					alert(txt_objednavka['vyber_produkt']);
					return false;
				}
				break;
			
			case "webdesign":
				if ($("#produkt_webdesign").val() == "-") {
					alert(txt_objednavka['vyber_produkt']);
					return false;
				}
				break;
			
			case "webadmin":
				break;
			
			case "vyvoj_softveru":
				if ($("#produkt_vyvoj_softveru").val() == "-") {
					alert(txt_objednavka['vyber_produkt']);
					return false;
				}
				break;
			
			case "webhosting":
				if ($("#produkt_webhosting").val() == "-") {
					alert(txt_objednavka['vyber_webhosting']);
					return false;
				}
				
				if($("#produkt_webhosting").val() == "custom") {
					if(!checkNumInput($("#custom_wh_priestor"))) {
						alert(txt_objednavka['err_priestor']);
						return false;
					}
          if(!checkNumInput($("#custom_wh_db"))) {
						alert(txt_objednavka['err_db']);
						return false;
					}
					if(!checkNumInput($("#custom_wh_email"))) {
						alert(txt_objednavka['err_email']);
						return false;
					}
					if(!checkNumInput($("#custom_wh_ftp"))) {
						alert(txt_objednavka['err_ftp']);
						return false;
					}
				}
				
				if($("#produkt_webhosting").val() == "sponzor") {
					if($.trim($("#sponzor_wh_popis").val())=="") {
						alert(txt_objednavka['err_sponzor_popis']);
						return false;
					}
					if($.trim($("#sponzor_wh_link").val())=="") {
						alert(txt_objednavka['err_sponzor_link']);
						return false;
					}
					if($.trim($("#sponzor_wh_stat").val())=="") {
						alert(txt_objednavka['err_sponzor_stat']);
						return false;
					}
					if($.trim($("#sponzor_wh_plany").val())=="") {
						alert(txt_objednavka['err_sponzor_plany']);
						return false;
					}
				  if($("#sponzor_wh_suhlasim").attr("checked")!=true) {
            alert(txt_objednavka['err_sponzor_suhlasim']);
            return false;
          }
        
        }
				
				if($("#domena_ano").attr("checked") == true) {
					if($.trim($("#domena_nazov").val()) == "" || $("#domena_check").val() != "true") {
						alert(txt_objednavka['err_overit_domenu']);
						return false;
					}
				}
				break;
					
			case "seo":
				break;
				
			case "reklama":
					if ($("#produkt_reklama").val() == "-") {
					alert(txt_objednavka['vyber_produkt']);
					return false;
				}
				break;
				
			default: 
				alert("wdf");
				break;
			
		}
	});
	
	// overovanie dostupnosti domeny

  var kontrolaPrebieha = false;

	$("#domena_nazov, #domena_tld").change(function() {
    $("#domena_check").val("false");
    $("#domena_volna_fajka").hide();
  });
	
	$("#domena_overit").click(function() {
		if(kontrolaPrebieha)
		  return false;
		
		nazov = $.trim($("#domena_nazov").val());
		tld = $("#domena_tld").val();
		
		if(nazov.search(/^[qwertzuiopasdfghjklyxcvbnmQWERTZUIOPASDFGHJKLYXCVBNM0-9][qwertzuiopasdfghjklyxcvbnmQWERTZUIOPASDFGHJKLYXCVBNM0-9-]{2,}$/) == -1) {
      alert(txt_objednavka['err_tvar_domeny']);
      return false;
    }
    
    kontrolaPrebieha = true;
    $("#domena_overit").val(txt_objednavka['overuje_sa']);
		
		$("#nd_report").text(txt_objednavka['overuje_sa']);
		
		$.get(mattis['base'] + "/public/whois.php", {"domain": nazov + "." + tld}, function(data) {
			if(data=="1") {
				$("#domena_check").val("true");
			}
      alert(txt_objednavka['ds' + data]);	
			$("#domena_overit").val(txt_objednavka['overit']);
			
			if(data==1)
        $("#domena_volna_fajka").show();
			
      kontrolaPrebieha = false;	
    });	
				
		return false;
	
	});

});