function wyliczPrzesuniecie(intKtoryDzien) {

    var przesuniecie = 0;

    switch(intKtoryDzien) {

        case 0: przesuniecie = 6; break;
        case 1: przesuniecie = 0; break;
        case 2: przesuniecie = 1; break;
        case 3: przesuniecie = 2; break;
        case 4: przesuniecie = 3; break;
        case 5: przesuniecie = 4; break;
        case 6: przesuniecie = 5; break;
    }

    return przesuniecie;
}

function tworzKalendarz(intIloscDniAktualnegoMiesiaca, intPrzesuniecie, intAktualnyDzien, arrayNaglowki, nameOfMonth, boolNawigacja) {

    var trescKalendarza = '';
    trescKalendarza += '<div style="width:135px;padding:4px">';
    trescKalendarza += '<div style="font-size:10px;font-weight:bold;text-align:center;margin-top:0px;margin-bottom:5px">' + nameOfMonth.toUpperCase() + '</div>';

    for(i=0; i<arrayNaglowki.length; i++) {

        trescKalendarza += '<div style="background-color:#ffffff;font-family:Verdana,Arial,Tahoma,Helvetica,sans-serif;font-size:10px;text-align:center;width:18px;height:15px;float:left;">' + arrayNaglowki[i] + '</div>';
    }

    /* trescKalendarza += '<br>'; */

    for(i=1; i<=intIloscDniAktualnegoMiesiaca + intPrzesuniecie; i++) {

        if(i == 1 || i == 8 || i == 15 || i == 22 || i == 29 || i == 36) trescKalendarza += '<div style="clear: both;">';

        if(i - intPrzesuniecie > 0) {

            if(intAktualnyDzien == i - intPrzesuniecie) trescKalendarza += '<div style="font-family:Verdana,Arial,Tahoma,Helvetica,sans-serif;font-size:10px;font-weight:bold;text-align:center;width:18px;height:18px;float:left;">' + (i - intPrzesuniecie) + '</div>';
            else trescKalendarza += '<div style="font-family:Verdana,Arial,Tahoma,Helvetica,sans-serif;font-size:10px;text-align:center;width:18px;height:18px;float:left;">' + (i - intPrzesuniecie) + '</div>';

        } else {

            if(intAktualnyDzien == i - intPrzesuniecie) trescKalendarza += '<div style="font-family:Verdana,Arial,Tahoma,Helvetica,sans-serif;font-size:10px;font-weight:bold;text-align:center;width:18px;height:18px;float:left;"></div>' + ' ';
            else trescKalendarza += '<div style="font-family:Verdana,Arial,Tahoma,Helvetica,sans-serif;font-size:10px;text-align:center;width:18px;height:18px;float:left;"></div>' + ' ';
        
        }

        if(i == 1 || i == 8 || i == 15 || i == 22 || i == 29 || i == 36) trescKalendarza += '</div>';
    }

    // jezeli wlaczona nawigacja, pokaz guziki

    if(boolNawigacja) {
        trescKalendarza += '<div style="clear: both;">';
        trescKalendarza += '<input type="button" value="<" onClick="przygotujKalendarz(-1)">';
        trescKalendarza += '<input type="button" value=">" onClick="przygotujKalendarz(1)">';
        trescKalendarza += '</div>';
    } else {
        trescKalendarza += '<div style="clear: both;"></div>';
    }

    trescKalendarza += '</div>';

    document.write(trescKalendarza);
}

function zmienMiesiac(intZmianaMiesiaca) {

    var intNumerMiesiaca = 0;
    var dateAktualnaData = pokazAktualnaDate();

    if(intZmianaMiesiaca != 0) intNumerMiesiaca = dateAktualnaData.getMonth() + intZmianaMiesiaca;
    else intNumerMiesiaca = dateAktualnaData.getMonth();

    return intNumerMiesiaca;
}

function przygotujKalendarz(intZmianaMiesiaca) {

    var dateAktualnaData = pokazAktualnaDate();
    var dateDataPierwszego = pokazDatePierwszego();
    var intPrzesuniecie = wyliczPrzesuniecie(dateDataPierwszego.getDay());
    //alert(intPrzesuniecie);
    var intIloscDniAktualnegoMiesiaca = pokazIloscDniAktualnegoMiesiaca(zmienMiesiac(intZmianaMiesiaca));

    // str - zawartosc kalendarza (naglowki z dniami)
    var arrayNaglowki = new Array('Pn', 'Wt', 'Śr', 'Cz', 'Pt', 'S', 'N');
    
    // str - naglowek kalendarza (nazwy miesiecy)
    var arrayMiesiace = new Array('Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień');

    var numberOfMonth = zmienMiesiac(0);
    var nameOfMonth = arrayMiesiace[numberOfMonth];

    // bool - wlaczenie/wylaczenie nawigacji pomiedzy miesiacami, latami
    var boolNawigacja = false;

    // int - aktualny dzien miesiaca
    var intAktualnyDzien = dateAktualnaData.getDate();

    tworzKalendarz(intIloscDniAktualnegoMiesiaca, intPrzesuniecie, intAktualnyDzien, arrayNaglowki, nameOfMonth, boolNawigacja);
}

function pokazIloscDniAktualnegoMiesiaca(intNumerMiesiaca) {

    var arrayMiesiace = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    var dateAktualnaData = pokazAktualnaDate();

    // jezeli rok przestepny, to zmiana ilosci dni drugiego miesiaca
    if(dateAktualnaData.getFullYear() % 4 == 0)
        arrayMiesiace[1] = 29;
        
    return arrayMiesiace[intNumerMiesiaca];
}

function pokazAktualnaDate() {

    return new Date();
}

function pokazDatePierwszego() {

    var dateAktualnaData = pokazAktualnaDate();

    return new Date(dateAktualnaData.getFullYear(), dateAktualnaData.getMonth(), 1);
}


//przygotujKalendarz(0)






