var startDate
var monthdays
var startday
var calendField
var Day
var monthhDisp
var eventsdates
var data
var ado
var prevSelected = ''
var prevSelectedColor = ''
var lcd

Months = new Array(12);
Months[0] = "styczeń";
Months[1] = "luty";
Months[2] = "marzec";
Months[3] = "kwiecień";
Months[4] = "maj";
Months[5] = "czerwiec";
Months[6] = "lipiec";
Months[7] = "sierpień";
Months[8] = "wrzesień";
Months[9] = "październik";
Months[10] = "listopad";
Months[11] = "grudzień";

MonthsD = new Array(12);
MonthsD[0] = "w styczniu";
MonthsD[1] = "w lutym";
MonthsD[2] = "w marcu";
MonthsD[3] = "w kwietniu";
MonthsD[4] = "w maju";
MonthsD[5] = "w czerwcu";
MonthsD[6] = "w lipcu";
MonthsD[7] = "w sierpniu";
MonthsD[8] = "we wrześniu";
MonthsD[9] = "w październiku";
MonthsD[10] = "w listopadzie";
MonthsD[11] = "w grudniu";

function getDaysInMonth(month,year) {
  var days;
  if (month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12)  days=31;
  else if (month==4 || month==6 || month==9 || month==11) days=30;
  else if (month==2)  {
    if (isLeapYear(year)) { days=29; }
    else { days=28; }
  }
  return (days);
}

function isLeapYear (Year) {
  if (((Year % 4)==0) && ((Year % 100)!=0) || ((Year % 400)==0)) {
    return (true);
  } else {
    return (false);
  }
}

function wyswDaty(wswdt) {
  if (wswdt.length == 7) {
    return MonthsD[wswdt.substr(0,2)-1] + " " + wswdt.substr(3,4);
  } else {
    return wswdt;
  }
}

function gotoMonth(m, y) {
  if (!y) {
    if (m==0) {
      gtmd=0;
    } else {
      gtmd=zeromsc+m;
    }
//    document.location.href='kalend1.asp?qmsc=' + gtmd + '&qto=' + to + '&qtd=' + td + '&qtz=' + tz + '&qdatprz=' + gdatprz + '&qindrodzaj=7';
    document.location.href='index.asp?qmsc=' + gtmd + '&qto=' + to + '&qtd=' + td + '&qtz=' + tz + '&qdatprz=' + gdatprz + '&qindrodzaj=7';
  } else {
    Yre = /(194[5-9]|19[5-9][0-9]|20[0-4][0-9])$/
    if (isNaN(m) || m>12 || !Yre.test(y)) {
      alert('Podana data jest nieprawidłowa lub wykracza poza dopuszczalny zakres!');
    } else {
      rlat=y-aktRrok;
      rmsc=m-aktMiesiac;
      gtmd=(rlat*12)+rmsc;
      document.location.href='index.asp?qmsc=' + gtmd + '&qto=' + to + '&qtd=' + td + '&qtz=' + tz + '&qdatprz=' + gdatprz + '&qindrodzaj=7';
    }
    return (false);
  }
}

function reloadCalendars(form) {
  if (form.to.checked) {to = 1} else {to = 0}
  if (form.td.checked) {td = 1} else {td = 0}
  if (form.tz.checked) {tz = 1} else {tz = 0}
  document.getElementById('k1').innerHTML = makeCalendar(zeromsc - 1)
  document.getElementById('k2').innerHTML = makeCalendar(zeromsc)
  document.getElementById('k3').innerHTML = makeCalendar(zeromsc + 1)
  document.getElementById('lista').innerHTML = ''
  if (prevSelected != '') { selctedDate(prevSelected); }
}

function selctedDate(d) {
  if (prevSelected != '') {document.getElementById(prevSelected).style.background = prevSelectedColor}
  prevSelectedColor = document.getElementById(d).style.background
  document.getElementById(d).style.background = "#D2D3D4"
  noweaktyH = ''
  zmienioneaktyH = ''
  ogloszoneH = ''
  zmogloszonoH = ''
  wydaneH = ''
  zmwydanoH = ''
  for (var i = 0; i <= eventDate.length-1; i++) {
    if ((eventDate[i].osw >= to) && (eventDate[i].ostwiz >= tz)) {
      if ((eventDate[i].dat.slice(10-d.length)) == d && eventDate[i].rodzaj == 0) {noweaktyH += '<li style="font-size: 10pt;"><a style="text-decoration:none;" href="przegladarka.asp?qindrodzaj=1' + 0 + '&qdatprz=' + eventDate[i].datwyw + '&qdatzmi=' + eventDate[i].dat + '&qindid=' + eventDate[i].idaktu + '&qto=' + to + '&qtd=' + td + '&qtz=' + tz + '" target="druga">' + eventDate[i].opis + '</a>'}
      if ((eventDate[i].dat.slice(10-d.length)) == d && eventDate[i].rodzaj == 1) {zmienioneaktyH += '<li style="font-size: 10pt;"><a style="text-decoration:none;" href="przegladarka.asp?qindrodzaj=1' + 1 + '&qdatprz=' + eventDate[i].datwyw + '&qdatzmi=' + eventDate[i].dat + '&qindid=' + eventDate[i].idaktu + '&qto=' + to + '&qtd=' + td + '&qtz=' + tz + '" target="druga">' + eventDate[i].opis + '</a>'}
      if ((eventDate[i].dat.slice(10-d.length)) == d && eventDate[i].rodzaj == 2 && td == 0) {ogloszoneH += '<li style="font-size: 10pt;"><a style="text-decoration:none;" href="przegladarka.asp?qindrodzaj=1' + 2 + '&qdatprz=' + eventDate[i].datwyw + '&qdatzmi=' + eventDate[i].dat + '&qindid=' + eventDate[i].idaktu + '&qto=' + to + '&qtd=' + td + '&qtz=' + tz + '" target="druga">' + eventDate[i].opis + '</a>'}
      if ((eventDate[i].dat.slice(10-d.length)) == d && eventDate[i].rodzaj == 3 && td == 0) {zmogloszonoH += '<li style="font-size: 10pt;"><a style="text-decoration:none;" href="przegladarka.asp?qindrodzaj=1' + 3 + '&qdatprz=' + eventDate[i].datwyw + '&qdatzmi=' + eventDate[i].dat + '&qindid=' + eventDate[i].idaktu +'&qto=' + to + '&qtd=' + td + '&qtz=' + tz + '" target="druga">' + eventDate[i].opis + '</a>'}
      if ((eventDate[i].dat.slice(10-d.length)) == d && eventDate[i].rodzaj == 4 && td == 0) {wydaneH += '<li style="font-size: 10pt;"><a style="text-decoration:none;" href="przegladarka.asp?qindrodzaj=1' + 4 + '&qdatprz=' + eventDate[i].datwyw + '&qdatzmi=' + eventDate[i].dat + '&qindid=' + eventDate[i].idaktu + '&qto=' + to + '&qtd=' + td + '&qtz=' + tz + '" target="druga">' + eventDate[i].opis + '</a>'}
      if ((eventDate[i].dat.slice(10-d.length)) == d && eventDate[i].rodzaj == 5 && td == 0) {zmwydanoH += '<li style="font-size: 10pt;"><a style="text-decoration:none;" href="przegladarka.asp?qindrodzaj=1' + 5 + '&qdatprz=' + eventDate[i].datwyw + '&qdatzmi=' + eventDate[i].dat + '&qindid=' + eventDate[i].idaktu + '&qto=' + to + '&qtd=' + td + '&qtz=' + tz + '" target="druga">' + eventDate[i].opis + '</a>'}
    }
  }

  if (noweaktyH != '') {noweaktyH = '<p><b>Akty, które wchodzą w życie ' + wyswDaty(d) + ':</b></p><ul>' + noweaktyH + '</ul>'}
  if (zmienioneaktyH != '') {zmienioneaktyH = '<p><b>Akty, w których zmiany wchodzą w życie ' + wyswDaty(d) + ':</b></p><ul>' + zmienioneaktyH + '</ul>'}
  if (ogloszoneH != '') {ogloszoneH = '<p><b>Akty ogłoszone ' + wyswDaty(d) + ':</b></p><ul>' + ogloszoneH + '</ul>'}
  if (zmogloszonoH != '') {zmogloszonoH = '<p><b>Akty, w których zmiany ogłoszono ' + wyswDaty(d) + ':</b></p><ul>' + zmogloszonoH + '</ul>'}
  if (wydaneH != '') {wydaneH = '<p><b>Akty wydane ' + wyswDaty(d) + ':</b></p><ul>' + wydaneH + '</ul>'}
  if (zmwydanoH != '') {zmwydanoH = '<p><b>Akty, w których zmiany wydano ' + wyswDaty(d) + ':</b></p><ul>' + zmwydanoH + '</ul>'}
  document.getElementById('lista').innerHTML = noweaktyH + zmienioneaktyH + ogloszoneH + zmogloszonoH + wydaneH + zmwydanoH
  prevSelected = d
  document.location.hash='kalendarzyki';
}

function makeCalendar(whichOne) {
  eventsdates = ''
  for (var i = 0; i <= eventDate.length-1; i++) {
    if (eventDate[i].osw >= to) {
      if (eventDate[i].ostwiz >= tz) {
        if (td == 1) {
          if (eventDate[i].rodzaj == 0 || eventDate[i].rodzaj == 1) {
            eventsdates += eventDate[i].dat + ';'
          }
        } else {
          eventsdates += eventDate[i].dat + ';'
        }
      }
    }
  }
  Today = new Date();
  if (whichOne != "0") {
    Today.setDate(1);
    Today.setMonth(Today.getMonth()+whichOne);
  }
  if (Today.getYear() < 1000) {                          // oszukanie FF
    year = (Today.getYear()+1900);
  } else {
    year = Today.getYear();
  }
  month = Today.getMonth()
  monthdays = getDaysInMonth(month+1,year)
  startdayn = new Date();
  startdayn.setYear(year);
  startdayn.setMonth(month);
  startdayn.setDate(1);
  startday = startdayn.getDay()
  if (startday == 0) {startday = 7}
  calendarBody=''
//  calendarBody+='<table border=0 cellspacing=0 cellpadding=0><tr><td>'
  monthF = month+1;
  if (monthF < 10) monthF = "0" + monthF;
  calendarBody+='<div style="text-align:center;background:#e0e2e4;width:156px;height:147px;margin-left:4px;background-image: url(\'images/date_sw_tlo'
	if (whichOne == "0") calendarBody+='_main';
	calendarBody+='.gif\');">'
//  calendarBody+='<div style="height:10px;margin:0;"></div>'
  calendarBody+='<table border="0" cellspacing="1" cellpadding="1" class="kalendarzyk" align="center">'
  calendarBody+='<tr><td colspan="7" id="' + monthF + '-' + year + '" style="background:none;width:144px;"><a href="javascript:selctedDate(\'' + monthF + '-' + year + '\')" style="text-decoration:none;font-weight:bold;color:#ffffff;text-align:center;"><nobr>' + Months[month] + ' ' + year +  '</nobr></a></td></tr>'
  calendarBody+='<tr>'
  calendarBody+='<td class="calNCell" style="cursor:default;"><b>P</b></td>'
  calendarBody+='<td class="calNCell" style="cursor:default;"><b>W</b></td>'
  calendarBody+='<td class="calNCell" style="cursor:default;"><b>Ś</b></td>'
  calendarBody+='<td class="calNCell" style="cursor:default;"><b>C</b></td>'
  calendarBody+='<td class="calNCell" style="cursor:default;"><b>P</b></td>'
  calendarBody+='<td class="calNCell" style="cursor:default;"><b>S</b></td>'
  calendarBody+='<td class="calSCell" style="cursor:default;"><b>N</b></td>'
  calendarBody+='</tr>'
  calendarBody+='<tr>'
  for (var i=1; i<=42; i++) {
    calendField = ''
    if ((i-startday+1) < 10 ) {calendField+= '0' + (i-startday+1)} else {calendField+= (i-startday+1)}
    if ((month+1) < 10 ) {calendField+= '-0' + (month+1)} else {calendField+= '-' + (month+1)}
    calendField+= '-' + year
    calendarBody+='<td id="' + calendField + '"'
    if (i < startday || i > (monthdays+startday-1)) {
  // wywietlanie pól pustych
      if (i%7) {{calendarBody+=' class="calNCell"'}} else {calendarBody+=' class="calSCell"'}
      calendarBody+=' style="cursor:default;">&nbsp;'
    } else {
  // wywietlanie pól z cyframi
      calendarBody+=' style="'
  // dzisiejszy dzień
      if (whichOne == "0" && (i-startday+1) == Today.getDate()) { calendarBody+='color:#ffffff;background:#a56d87;font-size:8pt; text-align:center;' }
      if (eventsdates.indexOf(calendField) != -1) {
        if (i%7) {
  // zwykłe dni z linkami
          calendarBody+='color:#082E8B;background:#e9e1e5;'
        } else {
  // niedziele z linkami
          calendarBody+='color:#c51536;background:#e9e1e5;'
        }
        calendarBody+='cursor:pointer;font-weight:bold;text-decoration:underline;" onclick="selctedDate(\'' + calendField + '\')">' + (i-startday+1)
      } else {
        if (i%7) {
  // zwykłe dni bez linków
          calendarBody+='cursor:default;">' + (i-startday+1)
        } else {
  // niedziele bez linków
          calendarBody+='cursor:default;color:c51536;">' + (i-startday+1)
        }
      }
    }
    calendarBody+='</td>'
    if (i%7 == 0 && i!=0) {calendarBody+='</tr><tr>'}
  }
  calendarBody+='</table>'
  calendarBody+='</div>'
//  calendarBody+='</td></tr></table>'
  return calendarBody;
}

function start() {
  if (document.getElementsByTagName('form')[1].getElementsByTagName('input')[0].checked) {to = 1} else {to = 0}
  if (document.getElementsByTagName('form')[1].getElementsByTagName('input')[1].checked) {td = 1} else {td = 0}
  if (document.getElementsByTagName('form')[1].getElementsByTagName('input')[2].checked) {tz = 1} else {tz = 0}
//  if ( to==1 || td==1 || tz==1 ) {
    document.getElementById('k1').innerHTML = makeCalendar(zeromsc - 1)
    document.getElementById('k2').innerHTML = makeCalendar(zeromsc)
    document.getElementById('k3').innerHTML = makeCalendar(zeromsc + 1)
//    document.getElementById('lista').innerHTML = ''
//  }
  Now = new Date();
  if (Now.getDate() < 10) { dzisiaj = '0' + Now.getDate() } else { dzisiaj = Now.getDate() }
  if (Now.getMonth() < 9) { dzisiaj += '-0' + (Now.getMonth()+1) } else { dzisiaj += '-' + (Now.getMonth()+1) }
  dzisiaj += '-'
  if (Now.getYear() < 1000) {                          // oszukanie FF
    dzisiaj += (Now.getYear()+1900);
  } else {
    dzisiaj += Now.getYear();
  }
  if (eventsdates.indexOf(dzisiaj) != -1) { selctedDate(dzisiaj)}
  if (show) {
    var today=new Date()
    var todayy=today.getFullYear()
    var todaym=today.getMonth()
    var todayd=today.getDate()
    mdif = 0;
    mdif = (parseInt(show.substr(6,4)*12))-(todayy*12);
    mdif += parseInt(show.substr(3,2))-(todaym+1);
    if (Math.abs(mdif) < 2) {
      selctedDate(show);
    }
  }
//  reloadCalendars(form);
}