var formik;

function kontrola(formular) {

  if (formular.message.value=="") {
    alert("Musíte vyplnit vzkaz!");
    formular.message.focus();
    return false;
  }
  else if (formular.odesilatel.value!="")
  {
	  if (window.RegExp) {
    re = new RegExp("^[^@]+@[^.]+\..+$");
    if (!re.test(formular.odesilatel.value)) {
      alert("Zadaná adresa není správnou adresou elektronické pošty!");
      formular.odesilatel.focus();
      return false;
    }
  }
  }

  else {
    return true;
  }
}

function init() {
    // quit if this function has already been called
    if (arguments.callee.done) return;

    // flag this function so we don't do the same thing twice
    arguments.callee.done = true;

    formik = document.forms[1];
	formik.numberOfNights.value =2;
	resetDepart();
    if (formik.addEventListener) {
        formik.arriveDate.addEventListener('change',resetDepart,false);
        formik.arriveMonth.addEventListener('change',resetDepart,false);
        formik.arriveYear.addEventListener('change',resetDepart,false);
		formik.departDate.addEventListener('change',resetNights,false);
		formik.departMonth.addEventListener('change',resetNights,false);
		formik.departYear.addEventListener('change',resetNights,false);
		formik.numberOfNights.addEventListener('change',resetDepart,false);
    }
    else if (formik.attachEvent) {
        formik.arriveDate.attachEvent('onchange',resetDepart);
        formik.arriveMonth.attachEvent('onchange',resetDepart);
        formik.arriveYear.attachEvent('onchange',resetDepart);
		formik.departDate.attachEvent('onchange',resetNights);
		formik.departMonth.attachEvent('onchange',resetNights);
		formik.departYear.attachEvent('onchange',resetNights);
		formik.numberOfNights.attachEvent('onchange',resetDepart);
    }
}
function resetNights() {
	var arriveDate = Number(formik.arriveDate.value);
    var arriveMonth = Number(formik.arriveMonth.value);
    var arriveYear = Number(formik.arriveYear.value);
	var departDate = Number(formik.departDate.value);
    var departMonth = Number(formik.departMonth.value);
    var departYear = Number(formik.departYear.value);
	var nights = Number(formik.numberOfNights.value);
	
	var arriveDatum = new Date(arriveYear,arriveMonth-1,arriveDate);
	var departDatum = new Date(departYear,departMonth-1,departDate);
	
	var dif=departDatum-arriveDatum;

	dif=dif/1000;
	dif=dif/3600;
	dif=dif/24;
	
	outp = Math.floor (dif)
	if(outp<0) resetDepart();
	else{
		formik.numberOfNights.value = outp;
	}
	if(outp>99) {
		outp=99;
		formik.numberOfNights.value = outp;
		resetDepart();
	}
	else{
		formik.numberOfNights.value = outp;
	}
		
}
function resetDepart() {
    var date = Number(formik.arriveDate.value);
    var month = Number(formik.arriveMonth.value);
    var year = Number(formik.arriveYear.value);
	var nights = Number(formik.numberOfNights.value);

    var datum = new Date(year,month-1,date);

    date = formik.arriveDate.value = datum.getDate();
    month = formik.arriveMonth.value = datum.getMonth()+1;
    year = formik.arriveYear.value = datum.getFullYear();

    date = date + nights;

    datum = new Date(year,month-1,date);

    formik.departDate.value = datum.getDate();
    formik.departMonth.value = datum.getMonth()+1;
    formik.departYear.value = datum.getFullYear();
	formik.numberOfNights.value = nights;
	
}

// for Mozilla browsers

if (document.addEventListener) {
    document.addEventListener("DOMContentLoaded", init, false);
}

// for Internet Explorer (using conditional comments)
/*@cc_on @*/
/*@if (@_win32)
document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
var script = document.getElementById("__ie_onload");
script.onreadystatechange = function() {
        if (this.readyState == "complete") {
                init(); // call the onload handler
        }
};
/*@end @*/


if (/WebKit/i.test(navigator.userAgent)) { // sniff
    var _timer = setInterval(function() {
            if (/loaded|complete/.test(document.readyState)) {
                    clearInterval(_timer);
                    delete _timer;
                    init(); // call the onload handler
            }
    }, 10);
}


window.onload = init;