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;
  }
}

zeroPad = function (num, count) {
    return [Math.pow(10, count - num.toString().length), num].join('').substr(1);
};


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.arrivalDate.addEventListener('change',resetDepart,false);
      //formik.arrivalMonth.addEventListener('change',resetDepart,false);
      //formik.arrivalYear.addEventListener('change',resetDepart,false);
  		formik.departureDate.addEventListener('change',resetNights,false);
  		//formik.departureMonth.addEventListener('change',resetNights,false);
  		//formik.departureYear.addEventListener('change',resetNights,false);
  		formik.numberOfNights.addEventListener('change',resetDepart,false);
    }
    else if (formik.attachEvent) {
      formik.arrivalDate.attachEvent('onchange',resetDepart);
      //formik.arrivalMonth.attachEvent('onchange',resetDepart);
      //formik.arrivalYear.attachEvent('onchange',resetDepart);
  		formik.departureDate.attachEvent('onchange',resetNights);
  		//formik.departureMonth.attachEvent('onchange',resetNights);
  		//formik.departureYear.attachEvent('onchange',resetNights);
  		formik.numberOfNights.attachEvent('onchange',resetDepart);
    }
}
function resetNights() {
	var arrivalDate_val = formik.arrivalDate.value;
  //var arrivalMonth = Number(formik.arrivalMonth.value);
  //var arrivalYear = Number(formik.arrivalYear.value);
	var departureDate_val = formik.departureDate.value;
  //var departureMonth = Number(formik.departureMonth.value);
  //var departureYear = Number(formik.departureYear.value);
	var nights = Number(formik.numberOfNights.value);
	
	var re1=/[\/]+/;
  var result=arrivalDate_val.split(re1);
  var arrivalDate = Number(result[1]);
  var arrivalMonth = Number(result[0]);
  var arrivalYear = Number(result[2]);
  result=departureDate_val.split(re1);
  var departureDate = Number(result[1]);
  var departureMonth = Number(result[0]);
  var departureYear = Number(result[2]);
	
	var arrivalDatum = new Date(arrivalYear,arrivalMonth-1,arrivalDate);
	var departDatum = new Date(departureYear,departureMonth-1,departureDate);
	
	var dif=departDatum-arrivalDatum;

	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_val = Number(formik.arrivalDate.value);
    //var month = Number(formik.arrivalMonth.value);
    //var year = Number(formik.arrivalYear.value);
    date_val = formik.arrivalDate.value;
	  var nights = Number(formik.numberOfNights.value);
	
    var re1=/[\/]+/;
    var result=date_val.split(re1);
    
    
    var date = Number(result[1]);
    var month = Number(result[0]);
    var year = Number(result[2]);


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

    /*date = formik.arrivalDate.value = datum.getDate();
    month = formik.arrivalMonth.value = datum.getMonth()+1;
    year = formik.arrivalYear.value = datum.getFullYear();*/
    
    date_val = formik.arrivalDate.value = (zeroPad(datum.getMonth()+1,2))+'/'+zeroPad(datum.getDate(),2)+'/'+datum.getFullYear();

    //date = date + nights;

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

    /*formik.departureDate.value = datum.getDate();
    formik.departureMonth.value = datum.getMonth()+1;
    formik.departureYear.value = datum.getFullYear();*/
    formik.departureDate.value = (zeroPad(datum.getMonth()+1,2))+'/'+zeroPad(datum.getDate(),2)+'/'+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;