function updateColorByInput(){
var spravneHodnoty = true; var errorMessage = "Musíte vložit šestimístný kód barvy!";
  var myColor2 = document.getElementById('myColor2').value;
  var myColor1 = document.getElementById('myColor1').value;
  var myColor3 = document.getElementById('myColor3').value;

  if(myColor1.length != 6){spravneHodnoty = false; document.getElementById('myColorSpan1').innerHTML = errorMessage;}else{document.getElementById('myColorSpan1').innerHTML = "";}
  if(myColor2.length != 6){spravneHodnoty = false; document.getElementById('myColorSpan2').innerHTML = errorMessage;}else{document.getElementById('myColorSpan2').innerHTML = "";}
  if(myColor3.length != 6){spravneHodnoty = false; document.getElementById('myColorSpan3').innerHTML = errorMessage;}else{document.getElementById('myColorSpan3').innerHTML = "";}

  if(spravneHodnoty){zmen(myColor1, myColor2, myColor3);}
}

function updateColorBySlider(){
  var r = parseInt(document.getElementById('slider-r').value, 10) || 0;
  var g = parseInt(document.getElementById('slider-g').value, 10) || 0;
  var b = parseInt(document.getElementById('slider-b').value, 10) || 0;
  var hor = parseInt(document.getElementById('slider-h').value, 10) || 0;
  var barva = d2h(new Array(r, g, b));
  var svetla = colorMix(barva, hor);
  var tmava = colorMix(barva, -hor);
  if(document.getElementById('colorBackgroundDark').checked){var pozadi = tmava;} else {var pozadi = svetla;}
  zmen(pozadi, barva, svetla);
}

function zmen(pozadi, barva, svetla){
  for(var i=1; i<=3; i++){var idtext = 'myColorSpan'+i; document.getElementById(idtext).innerHTML = "";} //vymaže chybné zprávy

  document.getElementById('myColor2').value=barva;
  document.getElementById('myColor3').value=svetla;

  document.getElementById('myColorEx2').style.background = '#'+barva;
  document.getElementById('myColorEx3').style.background = '#'+svetla;

  document.getElementById('myColor1').value=pozadi;
  document.getElementById('myColorEx1').style.background = '#'+pozadi;

  var body = document.getElementsByTagName("body")[0];
  body.style.background = '#'+pozadi;

  var head = document.getElementById("head");
  head.style.background = '#'+barva;

///ZMĚNA ODKAZŮ
  links=document.getElementsByTagName("a");
  for ( var i in links ){
    if(links[i].className == "link"){
    links[i].style.color = '#'+barva;
    links[i].onmouseout = function() {this.style.color = '#'+barva;}
    links[i].onmouseover = function() {this.style.color ='#'+svetla;}
    }
  }

///ZMĚNA NADPISŮ
  var nadpis = document.getElementsByTagName("h1")[0];
  nadpis.style.color = '#'+barva;
  nadpis.style.borderColor = '#'+barva;
  
    var nadpis2 = document.getElementsByTagName("h2");
      for (var i = 0, j = nadpis2.length; i < j; i++) {
      nadpis2[i].style.color = '#'+barva;
    }
    var nadpis3 = document.getElementsByTagName("h3");
      for (var i = 0, j = nadpis3.length; i < j; i++) {
      nadpis3[i].style.color = '#'+barva;
      nadpis3[i].style.borderColor = '#'+barva;
    }

///ZMĚNA FORMŮ
  document.getElementById('idfieldset1').style.border = 'solid 1px #'+svetla;
  document.getElementById('idfieldset2').style.border = 'solid 1px #'+svetla;
  document.getElementById('idfieldset3').style.border = 'solid 1px #'+svetla;
  document.getElementById('idfieldset4').style.border = 'solid 1px #'+svetla;
  document.getElementById('idlegend1').style.background = '#'+svetla;
  document.getElementById('idlegend1').style.color = barvaTextu(svetla);
  document.getElementById('idlegend2').style.background = '#'+svetla;
  document.getElementById('idlegend2').style.color = barvaTextu(svetla);
  document.getElementById('idlegend3').style.background = '#'+svetla;
  document.getElementById('idlegend3').style.color = barvaTextu(svetla);
  document.getElementById('idlegend4').style.background = '#'+svetla;
  document.getElementById('idlegend4').style.color = barvaTextu(svetla);
  document.getElementById('colorSubmit').style.background = '#'+svetla;
  document.getElementById('colorSubmit').style.color = barvaTextu(svetla);
  document.getElementById('colorReset').style.background = '#'+svetla;
  document.getElementById('colorReset').style.color = barvaTextu(svetla);
  document.getElementById('hashColorSubmit').style.background = '#'+svetla;
  document.getElementById('hashColorSubmit').style.color = barvaTextu(svetla);
  
  var inputsArrray = new Array("myColor1", "myColor2", "myColor3", "slider-r",  "slider-b", "slider-g", "slider-h", "hashColorSetUp");
  for (var i = 0, j = inputsArrray.length; i < j; i++) {
    var inputByID = document.getElementById(inputsArrray[i]);
    inputByID.style.borderColor = '#'+barva;
    inputByID.onclick = function() {this.style.borderColor = '#000000'; this.style.background = '#'+svetla; this.style.color = barvaTextu(svetla);}
    inputByID.onblur = function() {this.style.borderColor = '#'+barva; this.style.background = '#fff'; this.style.color = '#000';}
  }

///ZMĚNA MENU
  var levelOne = getElementsByClassName('level1');

  for (var i = 0, j = levelOne.length; i < j; i++) {
    levelOne[i].style.background = '#'+barva; levelOne[i].style.color = barvaTextu(barva);
    levelOne[i].onmouseout = function() {this.style.background = '#'+barva; this.style.color = barvaTextu(barva);}
    levelOne[i].onmouseover = function() {this.style.background ='#'+svetla; this.style.color = barvaTextu(svetla);}
  }
  var levelTwo = getElementsByClassName('level2');
  var levelThree = getElementsByClassName('level3');
  var levelMore = levelTwo.concat(levelThree);
  for (var i = 0, j = levelMore.length; i < j; i++) {
    levelMore[i].style.background = '#fff'; levelMore[i].style.color = '#000';
    levelMore[i].onmouseout = function() {this.style.background = '#fff'; this.style.color = '#000';}
    levelMore[i].onmouseover = function() {this.style.background ='#'+svetla; this.style.color = barvaTextu(svetla);}
  }

  var ulLevelTwo = getElementsByClassName('ulLevel2');
  var ulLevelThree = getElementsByClassName('ulLevel3');
  var ulLevelMore = ulLevelTwo.concat(ulLevelThree);
  for (var i = 0, j = ulLevelMore.length; i < j; i++) {
    ulLevelMore[i].style.borderColor = '#'+barva;
  }

  var activeOne = getElementsByClassName('active1')[0];
    activeOne.style.background = '#'+svetla; activeOne.style.color = barvaTextu(svetla);

  var activeTwo = getElementsByClassName('active2')[0];
    activeTwo.style.background = '#'+barva; activeTwo.style.color = barvaTextu(barva);
    activeTwo.onmouseout = function() {this.style.background = '#'+barva; this.style.color = barvaTextu(barva);}
    activeTwo.onmouseover = function() {this.style.background ='#'+svetla; this.style.color = barvaTextu(svetla);}

  var activeThree = getElementsByClassName('active3')[0];
    activeThree.style.background = '#'+svetla; activeThree.style.color = barvaTextu(svetla);

}


function d2h(rgb){
  var hex;
  for ( var i in rgb ){
    rgb[i] = rgb[i].toString(16);
    if(rgb[i].length==1){rgb[i] = "0"+rgb[i];}
  }
  
  return rgb[0]+rgb[1]+rgb[2];
}
function h2d(hex){
  var rgb = new Array();
  rgb[0] = parseInt(hex.substr(0,2),16); // red
  rgb[1] = parseInt(hex.substr(2,2),16); // green
  rgb[2] = parseInt(hex.substr(4,2),16); // blue
  return rgb;
}

function colorMix(hex, koef){
  var rgb = new Array();
  rgb = h2d(hex);
  for ( var i in rgb ){
    if((rgb[i]+koef)>255){rgb[i] = 255;}
    else if((rgb[i]+koef)<0){rgb[i] = 0;}
    else {rgb[i] = (rgb[i]+koef);}
  }
  return d2h(rgb);
}

function barvaTextu(hex){
  var rgb = new Array();
  var soucet = 0;
  rgb = h2d(hex);
  var barva = "#000000";
  for ( var i in rgb ){
    soucet = soucet + rgb[i];
  }
  if(soucet<500){barva = "#ffffff";}
return barva;
}
