/******************************
 *  Script by JKLIR
 *  http://www.jklir.net
 ******************************/

var countera = 1;
var counterb = 0;
var counterc = 0;
var counterd = 0;
var posDialog;

function $(id) {
  return document.getElementById(id);
}

function showBlock(blockId) {
  if($(blockId)) {
    $(blockId).style.display = "block";
  }
}
function hideBlock(blockId) {
  if($(blockId)) {
    $(blockId).style.display = "none";
  }
}

function setNo(blockId) {
  if($(blockId)) {
    $(blockId).style.border = "none";
  }
}
function setNormal(blockId) {
  if($(blockId)) {
    $(blockId).style.border = "1px solid #e3e3e3";
  }
}
function setError(blockId) {
  if($(blockId)) {
    $(blockId).style.border = "1px solid #ff0000";
    $(blockId).focus();
  }
}
function setNormalSel(blockId) {
  if($(blockId)) {
    $(blockId).parentNode.parentNode.style.border = "1px solid #e3e3e3";
  }
}
function setErrorSel(blockId) {
  if($(blockId)) {
    $(blockId).parentNode.parentNode.style.border = "1px solid #ff0000";
    $(blockId).focus();
  }
}
function setFocus(blockId, focusText) {
  if($(blockId).value==focusText) {
    $(blockId).value = "";
  }
}
function setBlur(blockId, blurText) {
  if($(blockId).value=="") {
    $(blockId).value = blurText;
  }
}
function highlightBlock(obj, podminka) {
  if(podminka==true) {
    obj.parentNode.style.background = '#f5f5f5';
  } else {
    obj.parentNode.style.background = 'none';
  }
}
function deleteBlock(obj) {
  obj.parentNode.parentNode.removeChild(obj.parentNode);
}

function kontrola() {
  var kont = "0";
  var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
  
  var select = $('kraj');
  
  setNo('pohlavi');
  setNormal('jmeno');
  setNormal('prijmeni');
  setNormal('ulice');
  setNormal('psc');
  setNormal('mesto');
  setNormal('stat');
  setNormalSel('kraj');
  setNormal('email');
  setNormal('telefon');

  if (!$('email').value.match(emailExp)) {
    setError('email');
    kont = "1";
  }
  if ($('telefon').value=="") {
    setError('telefon');
    kont = "1";
  }
  if (select.options[select.selectedIndex].value=="0") {
    setErrorSel('kraj');
    kont = "1";
  }
  if ($('stat').value=="") {
    setError('stat');
    kont = "1";
  }
  if ($('mesto').value=="") {
    setError('mesto');
    kont = "1";
  }
  if ($('psc').value=="") {
    setError('psc');
    kont = "1";
  }
  if ($('ulice').value=="") {
    setError('ulice');
    kont = "1";
  }
  if ($('prijmeni').value=="") {
    setError('prijmeni');
    kont = "1";
  }
  if ($('jmeno').value=="") {
    setError('jmeno');
    kont = "1";
  }
  if ((!document.formular.pohlavi[0].checked) && (!document.formular.pohlavi[1].checked)) {
    setError('pohlavi');
    kont = "1";
  }

  if(kont=="0") {
    if($('action').value=="edit") {
      hideBlock('krok1');
      showBlock('krok2');
      window.location.hash = '#generator';
      return true;
    } else {
      if(getMailUnique($('email').value)) {
        hideBlock('krok1');
        showBlock('krok2');
        window.location.hash = '#generator';
        return true;
      } else {
        setError('email');
        showForm('doublemail','no','0');
        return false;
      }
    }
  } else {
    return false;
  }
}


function kontrola2() {
  hideBlock('krok2');
  showBlock('krok3');
  window.location.hash = '#generator';
}

function kontrola3() {
  var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
  if($('agree')) {
    dopln();
    if(document.formular.agree.checked) {
      $('formsubmit').removeAttribute("disabled");
      if (((!document.formular.pohlavi[0].checked) && (!document.formular.pohlavi[1].checked)) || ($('jmeno').value=="") || ($('prijmeni').value=="") || (!$('email').value.match(emailExp))) {
        return false;
      } else {
        return true;
      }
    } else {
      $('formsubmit').setAttribute("disabled","disabled");
      return false;
    }
  }
}

function init() {
  if($('viceskoly') && $('viceprace')) {
    $('viceskoly').onclick = viceskoly;
    $('viceprace').onclick = viceprace;
    $('vicekurzu').onclick = vicekurzu;
    $('vicejazyku').onclick = vicejazyku;
    $('novaprace').onclick = novaprace;
    if(!$("form-vars")) {
      viceskoly();
      viceprace();
      vicekurzu();
      vicejazyku();
      vicejazyku();
    } else {
      initEdit();
    }
  }
}

function initEdit() {
  if($('viceskoly') && $('viceprace')) {
    var parseString = "";
    
    if($('skoly-vars')) {
      var skolyvars = $('skoly-vars').getElementsByTagName("span");
      for (var i=0; i<skolyvars.length; i++) {
        parseString = skolyvars[i].innerHTML.split(":");
        viceskoly(parseString[0], parseString[1], parseString[2], parseString[3], parseString[4], parseString[5]);
      }
    } else {
      viceskoly();
    }
    
    if($('prace-vars')) {
      var pracevars = $('prace-vars').getElementsByTagName("span");
      for (var i=0; i<pracevars.length; i++) {
        parseString = pracevars[i].innerHTML.split(":");
        viceprace(parseString[0], parseString[1], parseString[2], parseString[3], parseString[4], parseString[5]);
      }
    } else {
      viceprace();
    }
    
    if($('kurzy-vars')) {
      var kurzyvars = $('kurzy-vars').getElementsByTagName("span");
      for (var i=0; i<kurzyvars.length; i++) {
        parseString = kurzyvars[i].innerHTML.split(":");
        vicekurzu(parseString[0], parseString[1]);
      }
    } else {
      vicekurzu();
    }
    
    if($('jazyky-vars')) {
      var jazykyvars = $('jazyky-vars').getElementsByTagName("span");
      for (var i=0; i<jazykyvars.length; i++) {
        parseString = jazykyvars[i].innerHTML.split(":");
        vicejazyku(parseString[0], parseString[1]);
      }
      if(jazykyvars.length==1) { vicejazyku(); } //doplnime druhy jazyk, pokud neni
    } else {
      vicejazyku();
      vicejazyku();
    }
    $("form-vars").parentNode.removeChild($("form-vars"));
  }
}

function viceprace(prace_od, prace_do, prace_zamestnavatel, prace_predmet, prace_pozice, prace_napln) {
  countera++;
  var newFieldsa = $('prace').cloneNode(true);
  newFieldsa.id = newFieldsa.id + countera;
  newFieldsa.style.display = 'block';
  var newFielda = newFieldsa.childNodes[0];
  if(countera>1) {
    var odsadHorea = newFieldsa.getElementsByTagName("div")[0];
    odsadHorea.setAttribute("style","margin-top: 5px");
  }
  skrzNodex(newFielda,countera);
  skrzLabel(newFielda,countera);
  var insertHerea = $('writeprace');
  insertHerea.parentNode.insertBefore(newFieldsa,insertHerea);
  
  var prace_zamestnavatel = ((typeof(prace_zamestnavatel) == "object") || prace_zamestnavatel == null) ? "" : prace_zamestnavatel;
  if(prace_zamestnavatel!="") {
    var prace_od = ((typeof(prace_od) == "object") || prace_od == null) ? "" : prace_od;
    var prace_do = ((typeof(prace_do) == "object") || prace_do == null) ? "" : prace_do;
    var prace_predmet = ((typeof(prace_predmet) == "object") || prace_predmet == null) ? "" : prace_predmet;
    var prace_pozice = ((typeof(prace_pozice) == "object") || prace_pozice == null) ? "" : prace_pozice;
    var prace_napln = ((typeof(prace_napln) == "object") || prace_napln == null) ? "" : prace_napln;
    $('prace_od' + countera).value = prace_od;
    $('prace_do' + countera).value = prace_do;
    $('prace_zamestnavatel' + countera).value = prace_zamestnavatel;
    $('prace_predmet' + countera).value = prace_predmet;
    $('prace_pozice' + countera).value = prace_pozice;
    $('prace_napln' + countera).innerHTML = prace_napln;
  }
}

function novaprace() {
  var newFieldsa = $('prace').cloneNode(true);
  newFieldsa.id = newFieldsa.id + "1";
  newFieldsa.style.display = 'block';
  var newFielda = newFieldsa.childNodes[0];
  skrzNodex(newFielda,"1");
  skrzLabel(newFielda,"1");
  var insertHerea = $('writenovaprace');
  insertHerea.parentNode.insertBefore(newFieldsa,insertHerea);
  
  $('prace_od1').value = "";
  $('prace_do1').value = "";
  $('prace_zamestnavatel1').value = "";
  $('prace_predmet1').value = "";
  $('prace_pozice1').value = "";
  $('prace_napln1').innerHTML = "";
  $('writenovaprace').removeChild(this);
}

function viceskoly(skola_nastup, skola_konec, skola_nazev, skola_adresa, skola_obor, skola_poznamka) {
  counterb++;
  var newFieldsb = $('skoly').cloneNode(true);
  newFieldsb.id = newFieldsb.id + counterb;
  newFieldsb.style.display = 'block';
  var newFieldb = newFieldsb.childNodes[0];
  if(counterb>1) {
    var odsadHoreb = newFieldsb.getElementsByTagName("div")[0];
    odsadHoreb.setAttribute("style","margin-top: 7px");
  }
  skrzNodex(newFieldb,counterb);
  skrzLabel(newFieldb,counterb);
  var insertHereb = $('writeskoly');
  insertHereb.parentNode.insertBefore(newFieldsb,insertHereb);

  var skola_nazev = ((typeof(skola_nazev) == "object") || skola_nazev == null) ? "" : skola_nazev;
  if(skola_nazev!="") {
    var skola_nastup = ((typeof(skola_nastup) == "object") || skola_nastup == null) ? "" : skola_nastup;
    var skola_konec = ((typeof(skola_konec) == "object") || skola_konec == null) ? "" : skola_konec;
    var skola_adresa = ((typeof(skola_adresa) == "object") || skola_adresa == null) ? "" : skola_adresa;
    var skola_obor = ((typeof(skola_obor) == "object") || skola_obor == null) ? "" : skola_obor;
    var skola_poznamka = ((typeof(skola_poznamka) == "object") || skola_poznamka == null) ? "" : skola_poznamka;
    $('skola_nastup' + counterb).value = skola_nastup;
    $('skola_konec' + counterb).value = skola_konec;
    $('skola_nazev' + counterb).value = skola_nazev;
    $('skola_adresa' + counterb).value = skola_adresa;
    $('skola_obor' + counterb).value = skola_obor;
    $('skola_poznamka' + counterb).value = skola_poznamka;
  }
}

function vicejazyku(jazyk, jazyk_ovl) {
  counterc++;
  var newFieldsc = $('jazyky').cloneNode(true);
  newFieldsc.id = newFieldsc.id + counterc;
  newFieldsc.style.display = 'block';
  var newFieldc = newFieldsc.childNodes[0];
  /*if(counterc>1) {
    var odsadHorec = newFieldsc.getElementsByTagName("div")[0];
    odsadHorec.setAttribute("style","margin-top: 5px");
  }*/
  skrzNodex(newFieldc,counterc);
  skrzLabel(newFieldc,counterc);
  var insertHerec = $('writejazyky');
  insertHerec.parentNode.insertBefore(newFieldsc,insertHerec);
  
  var jazyk = ((typeof(jazyk) == "object") || jazyk == null) ? "" : jazyk;
  if(jazyk!="") {
    var jazyk_ovl = ((typeof(jazyk_ovl) == "object") || jazyk_ovl == null) ? "" : jazyk_ovl;
    $('jazyk' + counterc).value = jazyk;
    $('jazyk_ovl' + counterc).options[parseInt(jazyk_ovl)].setAttribute("selected","selected");
  }
}

function vicekurzu(kurz_nazev, kurz_popis) {
  counterd++;
  var newFieldsd = $('kurzy').cloneNode(true);
  newFieldsd.id = newFieldsd.id + counterd;
  newFieldsd.style.display = 'block';
  var newFieldd = newFieldsd.childNodes[0];
  if(counterd>1) {
    var odsadHored = newFieldsd.getElementsByTagName("div")[0];
    odsadHored.setAttribute("style","margin-top: 5px");
  }
  skrzNodex(newFieldd,counterd);
  skrzLabel(newFieldd,counterd);
  var insertHered = $('writekurzy');
  insertHered.parentNode.insertBefore(newFieldsd,insertHered);
  
  var kurz_nazev = ((typeof(kurz_nazev) == "object") || kurz_nazev == null) ? "" : kurz_nazev;
  if(kurz_nazev!="") {
    var kurz_popis = ((typeof(kurz_popis) == "object") || kurz_popis == null) ? "" : kurz_popis;
    $('kurz_nazev' + counterd).value = kurz_nazev;
    $('kurz_popis' + counterd).innerHTML = kurz_popis;
  }
}

function skrzLabel(node,cnt) {
 if(node && node.hasChildNodes()) {
   var labels = node.getElementsByTagName('label');
   for(var j=0;j<labels.length;j++) {
     labels[j].htmlFor = labels[j].htmlFor + cnt;
   }
 }
}

function skrzNodex(node,cnt) {
 if(node && node.hasChildNodes()) {
    var nodes = node.childNodes;
    for(var i=0;i<nodes.length;i++) {
	subnode = nodes[i];
	if(subnode.childNodes.length > 0) {
	   var theNamex = subnode.name;
	   var theIdx = subnode.id;
	   if (theNamex) {
	      subnode.name = theNamex + cnt;
	      subnode.id = theIdx + cnt;
	   }
	   skrzNodex(subnode,cnt);
	} else {
	      var theName = subnode.name;
	      var theId = subnode.id;
	      if (theName) {
		subnode.name = theName + cnt;
		subnode.id = theId + cnt;
	      }
	}
    }
 }
}

function dopln() {
  $('cntprace').value = countera;
  $('cntskoly').value = counterb;
  $('cntjazyky').value = counterc;
  $('cntkurzy').value = counterd;
}

function checkFields(arr) {
  // KONTROLUJE POLE FORMULARU (CROSSBROWSER)
  // object:notEmpty | :mail | :phone | :shouldMail
  var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
  var emailExp2 = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4},?.*$/;
  var phoneExp = /^[ 0-9\.\+\/\-]{8,}$/;
  var pass;
  var ok = 0;
  var arl = arr.length;
  for(ar=0; ar<arl; ar++) {
     pass = false;
     var pie = arr[ar].split(':');
     var elm = $(pie[0]);
     if(elm!=null) {
        if(pie[1]=="notEmpty") {
          if(elm.value.length > 0) {
             pass = true;
             ok+=1;
          }
        }
        else if(pie[1]=="mail") {
          if(elm.value.match(emailExp)) {
             pass = true;
             ok+=1;
          }
        }
        else if(pie[1]=="mailField") {
          if(elm.value.match(emailExp2)) {
             pass = true;
             ok+=1;
          }
        }
        else if(pie[1]=="shouldMail") {
          if(elm.value.length==0 || elm.value.match(emailExp)) {
             pass = true;
             ok+=1;
          }
        }
        else if(pie[1]=="phone") {
          if(elm.value.match(phoneExp)) {
             pass = true;
             ok+=1;
          }
        }
        if(pass==true) {
           elm.setAttribute("style","");
        } else {
           elm.focus();
           elm.style.border = "1px solid #ff0000";
        }
     }
  }
  if(ok==arl) {
     return true;
  } else {
     return false;
  }
}

function showForm(akce, send, quit) {
  // PRIDA FORMULAR NA STRANKU
  var body = document.getElementsByTagName('body')[0];
  var overlay = document.createElement('div');
  overlay.setAttribute('id','JK-overlay');
  var contentTable = document.createElement('div');
  contentTable.setAttribute('id','JK-window');
  
  body.style.backgroundAttachment = 'fixed';

  if(akce!="doublemail") {
    contentTable.innerHTML = makePOSTRequest("dialog_post.php", "form=" + akce + "&site-url=" + self.location.href + "&send=" + send, quit);
  } else {
    contentTable.innerHTML = makePOSTRequest("dialog_overlay.php", "form=" + akce, quit);
  }
  body.appendChild(overlay);
  body.appendChild(contentTable);
  
  if(document.all) {
    if(document.body.scrollHeight > document.body.offsetHeight) { overlay.style.height = document.body.scrollHeight + 'px'; } else { overlay.style.height = document.body.offsetHeight + 'px'; }
    if(/msie|MSIE 6/.test(navigator.userAgent)) {
       overlay.style.position = "absolute";
       contentTable.style.position = "absolute";
       posDialog = window.setInterval(setPos, 15);
    }
    var selectLists = document.getElementsByTagName('select');
    for(var c=0; c<selectLists.length; c++) {
       selectLists[c].style.visibility = 'hidden'
    }
  }
}

function hideForm() {
  // ODSTRANI FORMULAR ZE STRANKY
  var ol = $('JK-overlay');
  var ct = $('JK-window');
  window.clearInterval(posDialog);
  ol.parentNode.removeChild(ol);
  ct.parentNode.removeChild(ct);
  if(document.all) {
    var selectLists = document.getElementsByTagName('select');
    for(var c=0; c<selectLists.length; c++) {
       selectLists[c].style.visibility = 'visible'
    }
  }
}

function getMailUnique(email) {
  if((makePOSTRequest("dialog_overlay.php", "email=" + email, "0"))=="1") {
    return true;
  } else {
    return false;
  }
}

function setPos() {
  // UPDATUJE POZICI DIALOGU PRI POSOUVANI V IE 6
  var div = document.getElementById('JK-window');
  var top = 190;  //225
  if(div!=null) {
     if(screen.height<700) top = 15;
     div.style.top = top + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + 'px';
     //div.style.left = 380 + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft) + 'px';
  }
}

//=====================
// FORMULAR
//=====================

function sendFormValues(obj,url) {
  // ZISKA DATA Z DIALOG FORMULARE
  var getstr = ""; // pro GET metodu zapiste "?"
  for (i=0; i<obj.getElementsByTagName("textarea").length; i++) {
        getstr += obj.getElementsByTagName("textarea")[i].name + "=" + 
                obj.getElementsByTagName("textarea")[i].value + "&";
  }
  for (i=0; i<obj.getElementsByTagName("input").length; i++) {
     if (obj.getElementsByTagName("input")[i].type == "hidden") {
        getstr += obj.getElementsByTagName("input")[i].name + "=" + 
                obj.getElementsByTagName("input")[i].value + "&";
     }
     if (obj.getElementsByTagName("input")[i].type == "text") {
        getstr += obj.getElementsByTagName("input")[i].name + "=" + 
                obj.getElementsByTagName("input")[i].value + "&";
     }
     if (obj.getElementsByTagName("input")[i].type == "checkbox") {
        if (obj.getElementsByTagName("input")[i].checked) {
           getstr += obj.getElementsByTagName("input")[i].name + "=" + 
                obj.getElementsByTagName("input")[i].value + "&";
        } else {
           getstr += obj.getElementsByTagName("input")[i].name + "=&";
        }
     }
     if (obj.getElementsByTagName("input")[i].type == "radio") {
        if (obj.getElementsByTagName("input")[i].checked) {
           getstr += obj.getElementsByTagName("input")[i].name + "=" + 
                obj.getElementsByTagName("input")[i].value + "&";
        }
     }  
     if (obj.getElementsByTagName("input")[i].tagName == "SELECT") {
        var sel = obj.getElementsByTagName("input")[i];
        getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
     }
  }
  $('JK-window').innerHTML = makePOSTRequest(url, getstr + "&send=yes", 1);
}

function makePOSTRequest(url, parameters, quit) {
  // ODESLE FORMULAR A VRATI HLASKU VOLAJICIMU
  AJAX = (window.XMLHttpRequest ? new XMLHttpRequest() : (window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : false));
  if (AJAX) {
    AJAX.open("POST", url, false);
    AJAX.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    AJAX.send(parameters);
    if(quit==1) { setTimeout(hideForm, 2300); } // zavre dialog po zvolenem case
    return AJAX.responseText;                                         
  } else {
    return false;
  }                                             
}

function filebutton() {
  if (/Mozilla/.test(navigator.userAgent)) {
    if (/Win/.test(navigator.platform)) {
      $("fbpicture").style.marginLeft = "-121px";
    } else {
     $("fbpicture").style.marginLeft = "-181px";
    }
  } else {
    $("fbpicture").style.marginLeft = 0;                
  }
}
function filebuttonvalue() {
  $("fbpictureval").value = $("fbpicture").value;
}
function delimage(obj) {
  obj.parentNode.parentNode.removeChild(obj.parentNode);
  $("deleteimage").value = "1";
}


window.onload = function() {
  showBlock('krok1');
  init();
  kontrola3();
  filebutton();
  if($("fbpicture").length!=0) {
    $("fbpicture").value = "";
    $("fbpictureval").value = "";
    $('fbpicture').onchange = filebuttonvalue;
  }
  //showForm();
}


var ns = (navigator.appName.indexOf("Netscape") != -1);
var d = document;
function JSFX_FloatDiv(id, sx, sy)
{
    var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];
    var px = document.layers ? "" : "px";
    sx = document.body.clientWidth-190;
    window[id + "_obj"] = el;
    if(d.layers)el.style=el;
    el.cx = el.sx = sx;el.cy = el.sy = sy;
    el.sP=function(x,y){this.style.left=x+px;this.style.top=y+px;};

    el.floatIt=function()
    {
        var pX, pY;
        pX = (this.sx >= 0) ? 0 : ns ? innerWidth : 
        document.documentElement && document.documentElement.clientWidth ? 
        document.documentElement.clientWidth : document.body.clientWidth;
        pY = ns ? pageYOffset : document.documentElement && document.documentElement.scrollTop ? 
        document.documentElement.scrollTop : document.body.scrollTop;
        if(this.sy<0) 
        pY += ns ? innerHeight : document.documentElement && document.documentElement.clientHeight ? 
        document.documentElement.clientHeight : document.body.clientHeight;
        this.cx += (pX + this.sx - this.cx)/8;this.cy += (pY + this.sy - this.cy)/8;
        this.sP(this.cx, this.cy);
        setTimeout(this.id + "_obj.floatIt()", 40);
    }
    return el;
}
