



function Validate_dates(form) {
	var d = parseInt(form.day_in.value);
	if (isNaN(d) || (d<1) || (d>31)) {
	 alert("Number format error of checkin-in day: "+form.day_in.value);
	 form.day_in.focus();
	 return false;
	}
	else
	 form.day_in.value = d;	
	 
	var m = parseInt(form.month_in.options[form.month_in.selectedIndex].value);
	var y = parseInt(form.year_in.options[form.year_in.selectedIndex].value);
	
	if (!Valid_date(d,m,y)) {
	 alert("Checkin "+d+"/"+m+"/"+y+" is wrong date!");
	 form.day_in.focus();
	 return false;
	}
	
	if (isOutdated(d,m,y)) {
	 alert("Checkin "+d+"/"+m+"/"+y+" is out of date!");
	 form.day_in.focus();
	 return false;
	}

	 var d1 = new Date(y, m-1, d, 0, 0, 0);

	 d = parseInt(form.day_out.value);
	 if (isNaN(d) || (d<1) || (d>31)) {
		 alert("Number format error of checkout day: "+form.day_out.value);
		 form.day_out.focus();
		 return false;
	 }
	 else
		 form.day_out.value = d;	
		 
	 var m = parseInt(form.month_out.options[form.month_out.selectedIndex].value);
	 var y = parseInt(form.year_out.options[form.year_out.selectedIndex].value);

	 if (!Valid_date(d,m,y)) {
		 alert("Checkout "+d+"/"+m+"/"+y+" is wrong date!");
		 form.day_out.focus();
		 return false;
	 }

	 var d2 = new Date(y, m-1, d, 0, 0, 0);
	 if (d2.getTime()<=d1.getTime()) {
		 alert("Checkout is not greater then checkin!");
		 return false;
	 }

  return true;	
}


// funkce overuje platnost data
function Valid_date(d,m,y) {
  month_length = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

  if ( ((y % 4)==0) && ((y % 100)!=0) || ((y % 400)==0) )
    month_length[1] = 29; //prestupny rok

  if (isNaN(y))
    return false;

  if ( (m<1) || (m>12) || isNaN(m) )
    return false;

  if ( (d>month_length[m-1]) || (d<1) || isNaN(d) )
    return false;

  return true;
}

function isOutdated(d, m, y) {
  dt = new Date(y, m-1, d, 23, 59, 59);
  if (dt.getTime()<today.getTime())
    return true;
  else
    return false;
}



// prevod datum z komb na objekt datum
function Combos2Date(d, m, y) {
	var day = parseInt(d);
  var month = parseInt(m);
  var year = parseInt(y);
 
  return new Date(year, month-1, day, 0, 0, 0);
}

// kontrola zadaneho data pri odesilani formulare
function Validate_datefields(form,prefix) {
	var day = parseInt(form[prefix+"_d"].value);
  var month = parseInt(form[prefix+"_m"].value);
  var year = parseInt(form[prefix+"_y"].value);
  if (Valid_date(day,month,year))
    return true;
  else
    return false;
}

// funkce overuje platnost data
function Valid_date(d,m,y) {
  month_length = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
  
  if ( ((y % 4)==0) && ((y % 100)!=0) || ((y % 400)==0) )
    month_length[1] = 29; //prestupny rok
 
  if (d<=month_length[m-1])
    return true
  else
    return false
}



function SetDate() {

  now = new Date();
  if (document.forms.res_form.RES_DAY_IN) {
    document.forms.res_form.RES_DAY_IN.selectedIndex = now.getDate()-1;
    document.forms.res_form.RES_MONTH_IN.selectedIndex = now.getMonth();
    document.forms.res_form.RES_YEAR_IN.selectedIndex = now.getYear()-2004;
  }
}

function Validate(form) {
var chin = Combos2Date(window.document.res.chin_d.value,window.document.res.chin_m.value,window.document.res.chin_y.value);
  var chout = Combos2Date(window.document.res.chout_d.value,window.document.res.chout_m.value,window.document.res.chout_y.value);


  // USER_FIRSTNAME
  if (form.first_name.value == '') {
    alert('FIRSTNAME is required to fill in!');
    form.first_name.focus();
    return false;
  }
  // USER_SURNAME
  if (form.surname.value == '') {
    alert('SURNAME is required to fill in!');
    form.surname.focus();
    return false;
  }

  //USER COUNTRY
  if (form.geo_id.options[form.geo_id.selectedIndex].value==-1) {
    alert('COUNTRY is required to fill in!');
    form.geo_id.focus();
    return false;
  }

  // USER_CITY
  if (form.city.value == '') {
    alert('CITY is required to fill in!');
    form.city.focus();
    return false;
  }

  // USER_EMAIL or USER_PHONE or USER_FAX or USER_GSM
  if ((form.mail.value == '') && (form.phone.value == '') && (form.fax.value == '') ) {
    alert('EMAIL or PHONE or FAX  is required to fill in!');
    form.mail.focus();
    return false;
  }

  // kontrola quantity
  if (qntarr) {
    var selqnt = 0;
    for (i = 0; i < form["detail_id"].options.length; i++)    
      if (form["detail_id"].options[i].selected)
         selqnt += qntarr[form["detail_id"].options[i].value];
    
    reqqnt = parseInt(form.res_adults.value) + parseInt(form.res_children.value);
    
    if (selqnt < reqqnt) {
      if (!confirm("Capacity of selected services is: "+selqnt+", you require: "+reqqnt+"\nContinue reservation?"))
        return false;
    }
    
  }


// check spatnyho datumu checkin
    if (!(Valid_date(window.document.res.chin_d.value,window.document.res.chin_m.value,window.document.res.chin_y.value))) {
	  alert("Invalid CHECK-IN date !!");
		return false;
	}
	// check spatnyho datumu checkout
  if (!(Valid_date(window.document.res.chout_d.value,window.document.res.chout_m.value,window.document.res.chout_y.value))) {
  alert("Invalid CHECK-OUT date !!");
		return false;
	}

  today = new Date(); // checkin passed
	yest = new Date(today.getYear(), today.getMonth(), today.getDate()-1);
	if (Combos2Date(window.document.res.chin_d.value,window.document.res.chin_m.value,window.document.res.chin_y.value).getTime() <= yest.getTime() ) {
	  alert('CHECK-IN has already passed');
		return false;
	}

  if (Combos2Date(window.document.res.chin_d.value,window.document.res.chin_m.value,window.document.res.chin_y.value).getTime() >Combos2Date(window.document.res.chout_d.value,window.document.res.chout_m.value,window.document.res.chout_y.value).getTime() ) {
	  alert('Wrong CHECK-OUT date (less thane CHECK-IN) !!');
		return false;
	}
  
  if (Combos2Date(window.document.res.chin_d.value,window.document.res.chin_m.value,window.document.res.chin_y.value).getTime() ==Combos2Date(window.document.res.chout_d.value,window.document.res.chout_m.value,window.document.res.chout_y.value).getTime()) {
	  alert('Wrong CHECK-OUT or CHECK-IN (equal values) !');
		return false;
	}




  return true;
}

 
