function VerifyReservationForm() {
  if(!document.getElementById('frm_name').value || document.getElementById('frm_name').value==$corelng['reserveform_name'] || !document.getElementById('frm_surname').value || document.getElementById('frm_surname').value==$corelng['reserveform_surname'] || !document.getElementById('frm_email').value || document.getElementById('frm_email').value==$corelng['reserveform_email'] || !document.getElementById('frm_phone').value || document.getElementById('frm_phone').value==$corelng['reserveform_phone'] || !document.getElementById('frm_d_t1').value || !document.getElementById('frm_m_t1').value || !document.getElementById('frm_y_t1').value || !document.getElementById('frm_d_t2').value || !document.getElementById('frm_m_t2').value || !document.getElementById('frm_y_t2').value || !document.getElementById('frm_guests').value || !document.getElementById('frm_1rooms').value || !document.getElementById('frm_2rooms').value) {
    alert($corelng['js_reserveform_mandatoryfields']);
    return false;
  }
  
  var email = document.getElementById('frm_email').value;
  if((email.indexOf('@')==-1 || email.indexOf('.')==-1) || email.indexOf(' ')!=-1 || (email.lastIndexOf('.')<email.indexOf('@'))) { alert('Wpisany adres e-mail jest nieprawidłowy.'); return false; }
  
  return true;
}

function ResetReservationForm() {
  document.getElementById('frm_name').value = ''; document.getElementById('frm_name').blur();
  document.getElementById('frm_surname').value = ''; document.getElementById('frm_surname').blur();
  document.getElementById('frm_email').value = ''; document.getElementById('frm_email').blur();
  document.getElementById('frm_phone').value = ''; document.getElementById('frm_phone').blur();
  document.getElementById('frm_guests').value = '';
  document.getElementById('frm_1rooms').value = '';
  document.getElementById('frm_2rooms').value = '';
  document.getElementById('frm_apartment').checked = false;
  document.getElementById('frm_handicapped').checked = false;
  document.getElementById('frm_d_t1').value = '';
  document.getElementById('frm_m_t1').value = '';
  document.getElementById('frm_y_t1').value = '';
  document.getElementById('frm_d_t2').value = '';
  document.getElementById('frm_m_t2').value = '';
  document.getElementById('frm_y_t2').value = '';
  document.getElementById('frm_parkplace').checked = false;
  document.getElementById('frm_notes').value = '';
  
  calendarsconfig[0]['y'] = cy;
  calendarsconfig[0]['m'] = cm;

  calendarsconfig[0]['sy'] = 0;
  calendarsconfig[0]['sm'] = 0;
  calendarsconfig[0]['sd'] = 0;

  calendarsconfig[1]['y'] = cy;
  calendarsconfig[1]['m'] = cm;

  calendarsconfig[1]['sy'] = 0;
  calendarsconfig[1]['sm'] = 0;
  calendarsconfig[1]['sd'] = 0;
  
  document.getElementById('cal0string').value = '';
  document.getElementById('cal1string').value = '';
}

var date = new Date();
var cy = date.getFullYear();
var cm = date.getMonth();
var cd = date.getDate();

var calendarsconfig = new Array(new Array(), new Array());
calendarsconfig[0]['y'] = cy;
calendarsconfig[0]['m'] = cm;

calendarsconfig[0]['sy'] = 0;
calendarsconfig[0]['sm'] = 0;
calendarsconfig[0]['sd'] = 0;

calendarsconfig[1]['y'] = cy;
calendarsconfig[1]['m'] = cm;

calendarsconfig[1]['sy'] = 0;
calendarsconfig[1]['sm'] = 0;
calendarsconfig[1]['sd'] = 0;


function ShowCalendar(id, obj) {
  var calendarframe = document.getElementById('calendar'+id);
  if(calendarframe.style.display=='block') { HideCalendar(id); return false; }
  calendarframe.style.top = (parseInt(GetTopOffset(obj))+20)+'px';
  calendarframe.style.left = (GetLeftOffset(obj))+'px';
  calendarframe.style.display = 'block';
  RedrawCalendar(id);
}

function HideCalendar(id) {
  var calendarframe = document.getElementById('calendar'+id);
  calendarframe.style.display = 'none';
}

function RedrawCalendar(id) {
  var y = calendarsconfig[id]['y'];
  var m = calendarsconfig[id]['m'];
  
  if(calendarsconfig[id]['sy']==y && calendarsconfig[id]['sm']==m) var d = calendarsconfig[id]['sd']; else var d = 0;
    
  var date = new Date();
  date.setFullYear(y, m, d);
  
  var nd = new Date();
  nd.setFullYear(y, m, 1);
  
  var firstday = nd.getDay();
  if(firstday==0) firstday = 7;
  
  if((y%4==0 && y%100!=0) || y%400==0) var febdays = 29; else var febdays = 28;

  var monthdays = new Array(31, febdays, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
  
  var cc ='';
  cc+='<table class="hdr"><tbody><tr><td style="width: 80px;" rowspan="2">'+$locmonths['month2_'+(parseInt(m)+1)]+'</td><td><a href="#" onclick="javascript: NextMonth('+id+'); return false;"><img src="./gfx/ar_u.gif" /></a></td><td rowspan="2">'+y+'</td><td><a href="#" onclick="javascript: NextYear('+id+'); return false;"><img src="./gfx/ar_u.gif" /></a></td></tr><tr><td><a href="#" onclick="javascript: PrevMonth('+id+'); return false;"><img src="./gfx/ar_d.gif" /></a></td><td><a href="#" onclick="javascript: PrevYear('+id+'); return false;"><img src="./gfx/ar_d.gif" /></a></td></tr></tbody></table>';
  cc+='<table class="cal"><tbody><tr>'+$corelng['js_calendardaysheader']+'</tr><tr>';
  
  // before
  for(z=1; z<firstday; z++) {
    cc+='<td class="inactive">&nbsp;</td>';
  }
  
  if((firstday-1)%7==0) cc+='</tr><tr>';
  
  var wdays = 0;
  
  // month content
  for(z=1; z<=monthdays[m]; z++) {
    if((firstday+z-2)%7==0) { cc+='</tr><tr>'; wdays=0; }
    wdays++;
    if(d && d==z) var cladd = ' class="active" onmouseover="javascript: this.className=\'activehv\';" onmouseout="javascript: this.className=\'active\';"'; else var cladd = ' onmouseover="javascript: this.className=\'hv\';" onmouseout="javascript: this.className=\'\';"';
    cc+='<td'+cladd+' onclick="javascript: SelectDate('+id+', '+y+', '+m+', '+z+');">'+z+'</td>';
  }
  
  // after
  for(z=wdays; z<7; z++) {
    cc+='<td class="inactive">&nbsp;</td>';
  }
  
  cc+='</tr></tbody></table>';
  
  var calendarframe = document.getElementById('calendar'+id);
  calendarframe.innerHTML = cc;
}

function NextMonth(id) {
  var m = calendarsconfig[id]['m'];
  m++;
  if(m==12) {
    calendarsconfig[id]['y']++;
    m=0;
  }
  calendarsconfig[id]['m']=m;
  RedrawCalendar(id);
}

function PrevMonth(id) {
  var m = calendarsconfig[id]['m'];
  m--;
  if(m==-1) {
    calendarsconfig[id]['y']--;
    m=11;
  }
  calendarsconfig[id]['m']=m;
  RedrawCalendar(id);
}

function NextYear(id) {
  calendarsconfig[id]['y']++;
  RedrawCalendar(id);
}

function PrevYear(id) {
  calendarsconfig[id]['y']--;
  RedrawCalendar(id);
}

function SelectDate(id, y, m, d) {
  calendarsconfig[id]['sy'] = y;
  calendarsconfig[id]['sm'] = m;
  calendarsconfig[id]['sd'] = d;
  document.getElementById('cal'+id+'string').value = d+' '+$locmonths['month_'+(parseInt(m)+1)]+' '+y;
  document.getElementById('frm_y_t'+(id+1)).value = y;
  document.getElementById('frm_m_t'+(id+1)).value = m+1;
  document.getElementById('frm_d_t'+(id+1)).value = d;
  
  HideCalendar(id);
}

function InitReserveCalendars() {
  document.getElementById('frm_y_t1').style.display = 'none';
  document.getElementById('frm_m_t1').style.display = 'none';
  document.getElementById('frm_d_t1').style.display = 'none';
  document.getElementById('frm_y_t2').style.display = 'none';
  document.getElementById('frm_m_t2').style.display = 'none';
  document.getElementById('frm_d_t2').style.display = 'none';
  
  var cal1div = document.getElementById('cal0div');
  var cal2div = document.getElementById('cal1div');
  
  cal1div.innerHTML = '<input type="text" disabled="disabled" id="cal0string" size="18" value="" /><button type="button" onclick="javascript: ShowCalendar(0, this);">...</button>';
  cal2div.innerHTML = '<input type="text" disabled="disabled" id="cal1string" size="18" value="" /><button type="button" onclick="javascript: ShowCalendar(1, this);">...</button>';
  
  cal1div.style.display = 'block';
  cal2div.style.display = 'block';
}

function RecommendSite() {
  var addr = prompt($corelng['js_tellafriend_input']);
  if(addr.indexOf('@')==-1 || addr.indexOf('.')==-1) { alert($corelng['js_tellafriend_error']); return false; }
  
  var xmlhttp = GetXmlHttpObject(); 
  xmlhttp.open("GET",'./bincms/modules/ajax_recommend.php?addr='+escape(addr)+'&url='+escape(location.href),false);  
  xmlhttp.send(null);
}