function DayOfWeek(i){
  switch (i){
    /*case 0: return 'niedziela';
    case 1: return 'poniedziałek';
    case 2: return 'wtorek';
    case 3: return 'środa';
    case 4: return 'czwartek';
    case 5: return 'piątek';
    case 6: return 'sobota';*/
	case 0:
	case 1:
	case 2:
	case 3:
	case 4:
	case 5:
	case 6: return '';
  }
  return '---';
}


function PrintDays(form,days,index,FirstDay){

  if (form.elements['day'+index].selectedIndex<0)
    var temp_sel=0;
  else
    var temp_sel=form.elements['day'+index].selectedIndex;
  form.elements['day'+index].options.length=0;

  var j=FirstDay;
  for (var i=0;i<days;i++){
    form.elements['day'+index].options[i]=new Option(i+1+' '+DayOfWeek(j),i+1);
    if (j==0 && document.all) form.elements['day'+index].options[i].style.color='#FF3300';
	j++; 
	if (j>6){
	   j=0;
	   if (document.all) form.elements['day'+index].options[i].style.color='#3366CC';
	} 
  }
  form.elements['day'+index].options.length=days;
  if (days<temp_sel)
    temp_sel=days-1;
  form.elements['day'+index].options[temp_sel].selected=true;
}

function CheckYear(form,index,FirstDay){

  if ((form.elements['year'+index].options[form.elements['year'+index].selectedIndex].value%4)!=0)
     PrintDays(form,28,index,FirstDay);
  else {
     if ((form.elements['year'+index].options[form.elements['year'+index].selectedIndex].value%100)!=0)
        PrintDays(form,29,index,FirstDay);
     else
        PrintDays(form,28,index,FirstDay);
  }
}

function DaysOfMonth(form,index){
  var tY=form.elements['year'+index].options[form.elements['year'+index].selectedIndex].value;
  var tM=form.elements['month'+index].options[form.elements['month'+index].selectedIndex].value;
  var FDD=new Date(tY,tM-1,1);
  switch (tM) {
    case "1" : PrintDays(form,31,index,FDD.getDay());break;
    case "2" : CheckYear(form,index,FDD.getDay());break;
    case "3" : PrintDays(form,31,index,FDD.getDay());break;
    case "4" : PrintDays(form,30,index,FDD.getDay());break;
    case "5" : PrintDays(form,31,index,FDD.getDay());break;
    case "6" : PrintDays(form,30,index,FDD.getDay());break;
    case "7" : PrintDays(form,31,index,FDD.getDay());break;
    case "8" : PrintDays(form,31,index,FDD.getDay());break;
    case "9" : PrintDays(form,30,index,FDD.getDay());break;
    case "10" : PrintDays(form,31,index,FDD.getDay());break;
    case "11" : PrintDays(form,30,index,FDD.getDay());break;
    case "12" : PrintDays(form,31,index,FDD.getDay());break;
  }
}

function DateToForm(Year,Month,Day,form,index){

  form.elements['year'+index].options.length=0;
  form.elements['month'+index].options.length=0;
  var Tmonth=new Array('styczeń','luty','marzec','kwiecień','maj','czerwiec','lipiec','sierpień','wrzesień','październik','listopad','grudzień');
  for(var i=0;i<12;i++){
    form.elements['month'+index].options[i]=new Option (Tmonth[i],i+1);
  }

  var oneDate= new Date();
  var theYear=oneDate.getYear();
  if (theYear<999)
    theYear+=1900;  
  for (var i=107;i>=0;i--){
    form.elements['year'+index].options[i]=new Option (theYear-i,theYear-i); 
    if (form.elements['year'+index].options[i].value==Year)
     form.elements['year'+index].options[i].selected=true; 
  }
  
  form.elements['year'+index].options.length=108;
  form.elements['month'+index].options[Month].selected=true;
  DaysOfMonth(form,index);
  form.elements['day'+index].options[Day-1].selected=true;
}

function TodayDate(form,index){
  var oneDate= new Date();
  var theYear=oneDate.getYear();
  if (theYear<999)
    theYear+=1900;
  DateToForm(theYear,oneDate.getMonth(),oneDate.getDate(),form,index)
}

function SetDateAndTime(date,form,index){
  date=date.toString();
  var DateArray=date.split("-");
  DateToForm(parseInt(DateArray[0],10),parseInt(DateArray[1],10)-1,parseInt(DateArray[2],10),form,index)
}
