// konfigurator
function kontrola()
{
  // overeni zadaneho rozmeru
  var pocet = document.konfigurator.rozmery_obrazu.length;
  var check_rozmery_obrazu = false;
  for(i=0; i<pocet; i++)
  {
    if(document.konfigurator.rozmery_obrazu[i].checked == true)
    {
      var check_rozmery_obrazu = true;
      break;
    }
  }
  
  
  var check_olemovani_fotografie = document.konfigurator.olemovani_fotografie.checked;
  var check_pouze_vytisk = document.konfigurator.pouze_vytisk.checked;
  var check_nazev_fotografie = document.konfigurator.nazev_fotografie.checked;
  var check_datum_porizeni = document.konfigurator.datum_porizeni.checked;
  var check_atypicke_provedeni = document.konfigurator.atypicke_provedeni.checked;
  var check_barva_olemu = document.konfigurator.barva_olemu.value;
  var check_barva_ramu = document.konfigurator.barva_ramu.value;
  var check_profil_ramu = document.konfigurator.profil_ramu.value;
  var check_profil_ramu = document.konfigurator.profil_ramu.value;
  var check_mnozstvi = 1;
  if(check_rozmery_obrazu == false)
  {
    alert('Promiňte, ale musíte zadat rozměr obrazu');
    return false;
  }
    else if(document.konfigurator.rozmery_obrazu[0].checked == true && check_olemovani_fotografie == false && check_pouze_vytisk == false)
  {
    alert('Promiňte, ale pro tenhle rozměr musí být zapnuta voľba olemu fotografie');
    return false;
  }
    else if(check_barva_olemu=="" && check_olemovani_fotografie==true)
  {
    alert('Promiňte, ale pro zapnutou volbu olemování fotografie si musíte zvolit barvu olemu');
    return false;
  }
    else if(check_pouze_vytisk==false && check_barva_ramu=="")
  {
    alert('Promiňte, ale musíte si zvolit barvu rámu');
    return false;
  }
    else if(check_pouze_vytisk==false && check_profil_ramu=="")
  {
    alert('Promiňte, ale musíte si zvolit profil rámu');
    return false;
  }
    else if(check_mnozstvi==0 || check_mnozstvi=="")
  {
    alert('Promiňte, ale musíte si zadat množství');
    return false;
  }
    
       
  return true;   
}

function atypickeProvedeni(cena_obraz){
  if(document.konfigurator.atypicke_provedeni.checked == true)
  {
    return cena_obraz;
  }
    else
  {
    return 1;
  }
}

function zmenaBarvy(ID, color)
{
  var el = document.getElementById(ID);
  el.style.backgroundColor = color;
}
function zmenaBarvyZapis(ID, color, prvok)
{
  var el = document.getElementById(ID);
  el.style.backgroundColor = color;
  
}
function prevodHexNaCMYK(hex) {
 computedC = 0;
 computedM = 0;
 computedY = 0;
 computedK = 0;

 hex = (hex.charAt(0)=="#") ? hex.substring(1,7) : hex;

 if (hex.length != 6) {
  alert ('Invalid length of the input hex value!');   
  return; 
 }
 if (/[0-9a-f]{6}/i.test(hex) != true) {
  alert ('Invalid digits in the input hex value!');
  return; 
 }

 var r = parseInt(hex.substring(0,2),16); 
 var g = parseInt(hex.substring(2,4),16); 
 var b = parseInt(hex.substring(4,6),16); 

 // BLACK
 if (r==0 && g==0 && b==0) {
  computedK = 100;
  return [0,0,0,1];
 }

 computedC = 1 - (r/255);
 computedM = 1 - (g/255);
 computedY = 1 - (b/255);
 
 var minCMY = Math.min(computedC,Math.min(computedM,computedY));

 computedC = ((computedC - minCMY) / (1 - minCMY))*100;
 computedM = ((computedM - minCMY) / (1 - minCMY))*100;
 computedY = ((computedY - minCMY) / (1 - minCMY))*100;
 computedK = (minCMY)*100;
 return [computedC,computedM,computedY,computedK];
}
function change_img_border(id,pocet)
{
  for(var j=1; j<pocet; j++)
  {
    if(id==j)
    {
      document.getElementById('ram'+j).src="./images/ramy/"+j+"-p.jpg";
    }
      else
    {
      document.getElementById('ram'+j).src="./images/ramy/"+j+".jpg";
    }
  }
}
function zobrazenieProfilov(barva,pocet)
{
  for(i=1; i<(pocet+1); i++){
    if(barva[i])
    {
      document.getElementById('ram'+i).style.display = "inline";
      
    }
      else
    {
      document.getElementById('ram'+i).style.display = "none";
    }
  }
}
function premazatVyberRamu(){
  document.konfigurator.profil_ramu.value="";
}
function vyberRozmer(id){
  var rozmer = id;
  return rozmer;
}
function prepocetCeny(stav,a,b,c,rozmer,cena_metr,prvky,provedeni){
  cena = 0;
  if(rozmer!=1000){
    if(stav==1)
    {
      cena = a[rozmer];
    }
    if(stav==2 && cena_metr!=0)
    {
      cena_temp = Math.round(b[rozmer]*provedeni);
      cena = cena_temp + Math.round(c[rozmer]*cena_metr + prvky);
    }
  }
  document.konfigurator.mnozstvi.value = 1;   
  document.konfigurator.celkem.value = cena;    
}
function cenafotky(stav,a,b,rozmer,provedeni){
  cena = 0;
  if(rozmer!=1000)
  {
    if(stav==1)
    {
      cena = a[rozmer];
    }
    if(stav==2)
    {
      cena = Math.round(b[rozmer]*provedeni);
    }
  }
  document.konfigurator.cena_fotografie.value = cena;
}
function cenaRamu(stav,spotreba_ramu,rozmer,cena_metr){
  if(stav==2 && cena_metr!=0 && rozmer!=1000){
    document.konfigurator.cena_ramu.value = Math.round(spotreba_ramu[rozmer]*cena_metr+prvky)
    return cena_metr; 
  }   
    else
  {
    return 0;
  }
} 
function nelzeVypnout(id,sirka,vyska){
  var element = document.getElementById("divOlemovani");
  if(id==0 && document.konfigurator.pouze_vytisk.checked==false){
  	document.konfigurator.olemovani_fotografie.checked = true;
    element.style.visibility = "visible";
    document.konfigurator.nazev_fotografie.disabled = false;
    document.konfigurator.datum_porizeni.disabled = false;
    document.getElementById("divDatumPorizeni").style.visibility = "hidden";
    document.getElementById("divNazevFotografie").style.visibility = "hidden"; 
    document.getElementById("B2").style.width = sirka+96+"px";
    document.getElementById("B2").style.height = vyska+96+"px";
    document.getElementById("B4").style.top = "48px";
    document.getElementById("B4").style.left = "48px";  
    document.getElementById("B3").style.width = sirka+86+"px";
    document.getElementById("B3").style.height = vyska+86+"px";    
  }
}
function olemovani(sirka,vyska){
  var element = document.getElementById("divOlemovani");
	if(document.konfigurator.olemovani_fotografie.checked == true)
	{
		element.style.visibility = "visible";
    document.konfigurator.nazev_fotografie.disabled = false;
    document.konfigurator.datum_porizeni.disabled = false;
    document.getElementById("divDatumPorizeni").style.visibility = "hidden";
    document.getElementById("divNazevFotografie").style.visibility = "hidden"; 
    document.getElementById("B2").style.width = sirka+96+"px";
    document.getElementById("B2").style.height = vyska+96+"px";
    document.getElementById("B4").style.top = "48px";
    document.getElementById("B4").style.left = "48px";  
    document.getElementById("B3").style.width = sirka+86+"px";
    document.getElementById("B3").style.height = vyska+86+"px";    
  }
    else
  {
    element.style.visibility = "hidden";
    
    document.konfigurator.nazev_fotografie.disabled = true;
    document.konfigurator.datum_porizeni.disabled = true;
    document.konfigurator.nazev_fotografie.checked = false;
    document.konfigurator.datum_porizeni.checked = false;
    document.getElementById("divDatumPorizeni").style.visibility = "hidden";
    document.getElementById("divNazevFotografie").style.visibility = "hidden";
    document.getElementById("B2").style.width = sirka+10+"px";
    document.getElementById("B2").style.height = vyska+10+"px";
    document.getElementById("B3").style.width = sirka+"px";
    document.getElementById("B3").style.height = vyska+"px";
    document.getElementById("B4").style.top = "5px";
    document.getElementById("B4").style.left = "5px";     
    
  }
}
function pouzevytisk(sirka,vyska){
  if(document.konfigurator.pouze_vytisk.checked == true)
  {
    document.getElementById("divDatumPorizeni").style.visibility = "hidden";
    document.getElementById("divNazevFotografie").style.visibility = "hidden";
    document.konfigurator.nazev_fotografie.checked = false;
    document.konfigurator.nazev_fotografie.disabled = true;
    document.konfigurator.datum_porizeni.checked = false;
    document.konfigurator.datum_porizeni.disabled = true;
    document.konfigurator.atypicke_provedeni.checked = false;
    document.konfigurator.atypicke_provedeni.disabled = true;
    document.konfigurator.olemovani_fotografie.checked = false;
    document.konfigurator.olemovani_fotografie.disabled = true;
    document.getElementById("divOlemovani").style.visibility = 'hidden';
    document.getElementById("divOramovanie").style.visibility = 'hidden';
    Zap('B3', '');
    Zap('B2', '');
    
    document.konfigurator.cena_ramu.value = '0';
    document.konfigurator.profil_ramu.value = '';
    document.konfigurator.barva_ramu.value = '';
    document.konfigurator.barva_olemu.value = '';
    
    var element = document.getElementById("divOlemovani");
    element.style.visibility = "hidden";
    document.getElementById("divDatumPorizeni").style.visibility = "hidden";
    document.getElementById("divNazevFotografie").style.visibility = "hidden";
    document.getElementById("B2").style.width = sirka+10+"px";
    document.getElementById("B2").style.height = vyska+10+"px";
    document.getElementById("B3").style.width = sirka+"px";
    document.getElementById("B3").style.height = vyska+"px";
    document.getElementById("B4").style.top = "5px";
    document.getElementById("B4").style.left = "5px"; 
    return stav = 1;
  }
    else
  {
    document.getElementById("divDatumPorizeni").style.visibility = "hidden";
    document.getElementById("divNazevFotografie").style.visibility = "hidden";
    document.konfigurator.nazev_fotografie.checked = false;
    document.konfigurator.nazev_fotografie.disabled = false;
    document.konfigurator.datum_porizeni.checked = false;
    document.konfigurator.datum_porizeni.disabled = false;
    document.konfigurator.atypicke_provedeni.disabled = false;
    document.konfigurator.atypicke_provedeni.checked = false;
    
    document.konfigurator.olemovani_fotografie.disabled = false;
    
    document.getElementById("divOramovanie").style.visibility = 'visible';   
    return stav = 2;    
  }
}

//

function change_color_border(id){
  for(var i=1; i<4; i++)
  {
    var element = document.getElementById("ram" + i);
  	if(id==i)
  	{
  		element.style.display = "block";
  	}
      else
    {
	    element.style.display = "none";
    }
  }
}
function show_border(id,pocet){
  for(var i=1; i<pocet; i++)
  {
    var element = document.getElementById("nahled" + i);
  	if(id==i)
  	{
  		element.style.display = "block";
  	}
      else
    {
	    element.style.display = "none";
    }
  }
}
function show_border2(id,soubor){
    var element = document.getElementById("nahledObrazu");
    var element2 = document.getElementById("nahledObrazuObsah");
    if(id==1)
  	{
  		element.style.display = "block";
  		element2.style.display = "block";
  		element2.style.backgroundImage = "URL('./images/ramy/"+soubor+"')";
  	}
      else
    {
	    element.style.display = "none";
	    element2.style.display = "none";
    }
  
}
function change_img_border(id,pocet,barva)
{
  for(var j=1; j<pocet; j++)
  {
    if(id==j)
    {
      document.getElementById('ram'+j).src="./images/ramy/"+j+"-p.jpg";
      x = barva[j];
    }
      else
    {
      document.getElementById('ram'+j).src="./images/ramy/"+j+".jpg";
    }
  }
  return x;
}

function Zap(ID, color)
{
   var el = document.getElementById(ID);
   el.style.backgroundColor = color;
}

function HexToCMYK (hex) {
 computedC = 0;
 computedM = 0;
 computedY = 0;
 computedK = 0;

 hex = (hex.charAt(0)=="#") ? hex.substring(1,7) : hex;

 if (hex.length != 6) {
  alert ('Invalid length of the input hex value!');   
  return; 
 }
 if (/[0-9a-f]{6}/i.test(hex) != true) {
  alert ('Invalid digits in the input hex value!');
  return; 
 }

 var r = parseInt(hex.substring(0,2),16); 
 var g = parseInt(hex.substring(2,4),16); 
 var b = parseInt(hex.substring(4,6),16); 

 // BLACK
 if (r==0 && g==0 && b==0) {
  computedK = 100;
  return [0,0,0,1];
 }

 computedC = 1 - (r/255);
 computedM = 1 - (g/255);
 computedY = 1 - (b/255);
 
 var minCMY = Math.min(computedC,Math.min(computedM,computedY));

 computedC = ((computedC - minCMY) / (1 - minCMY))*100;
 computedM = ((computedM - minCMY) / (1 - minCMY))*100;
 computedY = ((computedY - minCMY) / (1 - minCMY))*100;
 computedK = (minCMY)*100;
 

 return [computedC,computedM,computedY,computedK];
}






function nazevfotografie(){
  var element = document.getElementById("divNazevFotografie");
	if(document.konfigurator.nazev_fotografie.checked == true)
	{
		element.style.visibility = "visible";
  }
    else
  {
    element.style.visibility = "hidden";
  }
}

function datumporizeni(){
  var element = document.getElementById("divDatumPorizeni");
	if(document.konfigurator.datum_porizeni.checked == true)
	{
		element.style.visibility = "visible";
  }
    else
  {
    element.style.visibility = "hidden";
  }
}



function kontrolaBarvy(color)
{
  var pole = color.split(':');
  
  re = new RegExp("^[0-9]{1,3}:[0-9]{1,3}:[0-9]{1,3}:[0-9]{1,3}$"); 
  
  if (!re.test(document.konfigurator.vlastni_barva_olemu.value)) { 
    document.konfigurator.vlastni_barva_olemu.value = "";
    window.alert("Zadaná hodnota není ve formátu CMYK"); 
    return false; 
	}
    else
  {
    computedC = pole[0]/100;
    computedM = pole[1]/100;
    computedY = pole[2]/100;
    computedK = pole[3]/100;
    R = Math.round(Math.abs(255*(computedC*(1-computedK)-1+computedK)));
    G = Math.round(Math.abs(255*(computedM*(1-computedK)-1+computedK)));
    B = Math.round(Math.abs(255*(computedY*(1-computedK)-1+computedK)));
    Zap('B3', 'rgb('+R+','+G+','+B+')');
    document.konfigurator.vlastni_barva_olemu_hex.value = "rgb("+R+","+G+","+B+")";
  }
}

