var dzisiejsza_data = new Date();
var calendardate = new Date();
var calendarObject;
var calendar;

function pinCalendar(obj){ calendarObject = obj; newCalendar(); showCalendar(); }
function newCalendar(){
  var i, temp, temp2; dateStore = calendardate.getTime();
  //var months = Array("Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień");
  var months = Array("Styczen", "Luty", "Marzec", "Kwiecien", "Maj", "Czerwiec", "Lipiec", "Sierpien", "Wrzesien", "Pazdziernik", "Listopad", "Grudzien");
  var yl="<a href=# onclick='yearBack(); return false;'>&laquo;</a>";
  var yr="<a href=# onclick='yearFwdd(); return false;'>&raquo;</a>";
  var ml="<a href=# onclick='monthBack(); return false;'>&laquo;</a>";
  var mr="<a href=# onclick='monthFwdd(); return false;'>&raquo;</a>";
  var dzisiaj, dzien, miesiac, rok;

  dzien = dzisiejsza_data.getDate();
  miesiac = dzisiejsza_data.getMonth();
  rok = dzisiejsza_data.getFullYear();

  if(dzien < 10)  dzien = "0" + dzien;
  dzisiaj = rok + "<br />" + months[miesiac] + "<br />" + dzien;

  calendar = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
  calendar += "<tr>";
  calendar += "<td class=\"td\" width=\"1\" height=\"1\"><img src=\"img/datepicker/corner_t_l.gif\" /></td>";
  calendar += "<td class=\"td\" bgcolor=\"#FFFFFF\" align=\"right\" colspan=\"3\" style=\"border-top:1px solid #d2d2d2;\"><img src=\"img/datepicker/white_dot.gif\" /></td>";
  calendar += "<td class=\"td\" align=\"right\" width=\"1\" height=\"1\"><img src=\"img/datepicker/corner_t_r.gif\" /></td>";
  calendar += "</tr>";

  calendar += "<tr>";
  calendar += "<td class=\"td_with_border_left\" bgcolor=\"#FFFFFF\">&nbsp;</td>";
  calendar += "<td align=\"center\" bgcolor=\"#FFFFFF\"><nobr><a href=# onclick='fetchDate("+dzisiejsza_data.getTime()+"); return false;'><span class=\"big_font\">"+dzisiaj+"</span></a></nobr></td>";

  calendar += "<td bgcolor=\"#FFFFFF\">&nbsp;</td>";

  calendar += "<td align=\"right\" bgcolor=\"#FFFFFF\">";

  calendar += "<table border=1 cellpadding=0 cellspacing=0 bgcolor=\"#FFFFFF\">";

  calendar += "<tr>";
  calendar += "<td class=\"td\" align=\"right\"><img src=\"img/datepicker/pasek1_lew.gif\" /></td>";
  calendar += "<td class=\"td\" align=left style=\"background-image: url(img/datepicker/pasek1_srodek.gif); color:#FFFFFF;\">"+yl+"</td>";
  calendar += "<td class=\"td\" colspan=5 style=\"background-color: #197ce8; background-image: url(img/datepicker/pasek1_srodek.gif); color:#FFFFFF;\" align=center>"+calendardate.getFullYear()+"</td>";
  calendar += "<td class=\"td\" align=right style=\"background-image: url(img/datepicker/pasek1_srodek.gif); color:#FFFFFF;\">"+yr+"</td>";
  calendar += "<td class=\"td\" align=\"left\"><img src=\"img/datepicker/pasek1_praw.gif\" /></td>";
  calendar += "</tr>";

  calendar += "<tr><td class=\"td\" colspan=5></td></tr>";

  calendar += "<tr>";
  calendar += "<td class=\"td\" align=\"right\"><img src=\"img/datepicker/pasek1_lew.gif\" /></td>";
  calendar += "<td class=\"td\" align=left style=\"background-image: url(img/datepicker/pasek1_srodek.gif); color:#FFFFFF;\">"+ml+"</td>";
  calendar += "<td class=\"td\" colspan=5 style=\"background-color: #197ce8; background-image: url(img/datepicker/pasek1_srodek.gif); color:#FFFFFF;\" align=center>"+months[calendardate.getMonth()]+"</td>";
  calendar += "<td class=\"td\" align=right style=\"background-image: url(img/datepicker/pasek1_srodek.gif); color:#FFFFFF;\">"+mr+"</td>";
  calendar += "<td class=\"td\" align=\"left\"><img src=\"img/datepicker/pasek1_praw.gif\" /></td>";
  calendar += "</tr>";

  calendar += "<tr>";
  calendar += "<th class=\"th\">&nbsp;</th>";
  calendar += "<th class=\"th\">Pn</th>";
  calendar += "<th class=\"th\">Wt</th>";
  calendar += "<th class=\"th\">Sr</th>";
  calendar += "<th class=\"th\">Cz</th>";
  calendar += "<th class=\"th\">Pt</th>";
  calendar += "<th class=\"th\">So</th>";
  calendar += "<th class=\"th\">Nd</th>";
  calendar += "</tr><tr>";

  calendar += "<td class=\"td\">&nbsp;</td>";

  calendardate.setDate(1); temp = calendardate.getDay()==0?6:calendardate.getDay()-1;
  if (temp) calendar += "<td class=\"padding\" colspan="+temp+">&nbsp;</td>";
  temp2 = calendardate.getMonth(); 
  for(i=1; i<=31; i++){
    calendardate.setDate(i); 
    if (calendardate.getMonth()!=temp2) break;

    calendar += "<td class=\"padding\" align=right><a href=# onclick='fetchDate("+calendardate.getTime()+"); return false;'>"+i+"</a></td>";

    //calendar += "<td class=\"padding\" align=right><a href=# onclick='fetchDate("+calendardate.getTime()+"); return false;'>"+i+"</a></td>";
    temp++;
    if (calendardate.getDay()==0) {
        calendar+="</tr><tr><td class=\"td\">&nbsp;</td>";
        temp=0;
    }
  } 
  if (temp) calendar += "<td class=\"padding\" colspan="+(7-temp)+">&nbsp;</td></tr><tr>";
  calendar += "<td class=\"td\" colspan=7 align=right><br /></td></tr>";

  calendar += "</table>";
  calendar += "<small><a class=\"close_but\" href=# onclick='hideCalendar(); return false;'>&raquo; zamknij &laquo;</a><small>";


  calendar += "</td>";
  calendar += "<td class=\"td_with_border_right\" bgcolor=\"#FFFFFF\">&nbsp;</td>";
  calendar += "</tr>";

  calendar += "<tr>";
  calendar += "<td class=\"td\" width=\"1\" height=\"1\"><img src=\"img/datepicker/corner_d_l2.gif\" /></td>";
  calendar += "<td class=\"td\" bgcolor=\"#FFFFFF\" align=\"right\" colspan=\"3\" style=\"border-bottom:1px solid #d2d2d2;\"><img src=\"img/datepicker/white_dot.gif\" /></td>";
  calendar += "<td class=\"td\" align=\"right\" width=\"1\" height=\"1\"><img src=\"img/datepicker/corner_d_r2.gif\" /></td>";
  calendar += "</tr>";
  calendar += "</table>";

  document.getElementById('calendar').innerHTML = calendar;
  calendardate.setTime(dateStore);
}
function yearBack(){ calendardate.setFullYear(calendardate.getFullYear()-1); newCalendar(); }
function yearFwdd(){ calendardate.setFullYear(calendardate.getFullYear()+1); newCalendar(); }
function monthBack(){ calendardate.setMonth(calendardate.getMonth()-1); newCalendar() }
function monthFwdd(){ calendardate.setMonth(calendardate.getMonth()+1); newCalendar() }
function fetchDate(time){

  var date = new Date(); date.setTime(time);
  var year = date.getFullYear(); var month = date.getMonth()+1; var day = date.getDate();
  calendarObject.value = year+"-"+(month>9?month:"0"+month)+"-"+(day>9?day:"0"+day); hideCalendar();
}
function showCalendar(){
  var tooltip = document.getElementById("calendar");
//  tooltip.style.left = calendarObject.offsetLeft + 30;
//  tooltip.style.top = calendarObject.offsetTop + calendarObject.offsetHeight + 1;
  tooltip.style.left = findPosX(calendarObject) + 30;
  tooltip.style.top = findPosY(calendarObject) + calendarObject.offsetHeight + 3;
  tooltip.style.visibility = "visible";
}
function hideCalendar(){ document.getElementById("calendar").style.visibility="hidden"; }

function findPosX(obj){
	var curleft = 0;
	if (obj.offsetParent) while (obj.offsetParent){
    curleft += obj.offsetLeft
    obj = obj.offsetParent;
	}	else if (obj.x) curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{	var curtop = 0;
	if (obj.offsetParent) while (obj.offsetParent) {
    curtop += obj.offsetTop
    obj = obj.offsetParent;
  } else if (obj.y) curtop += obj.y;
	return curtop;
}
