// Event
eid = "";
t = "";
function RefreshEventList() {
    LoadPP("divEventList", "/PageParts/PPEventList.aspx?serviceid=" + queryString('serviceid'), true);
}

function OnEventClicked(eventID) {
    eid = eventID;
    if (loggedin) {
        ShowEventOverview();
        LoadPP("divEventReserveOverview", "/PageParts/PPReserveEventOverview.aspx?eid=" + eventID, true);
    }
    else {
        t = "C";
        ShowEventLoginBox();
        LoadPP("divAjaxLoginBox", "/PageParts/PPAjaxLoginBox.aspx?eid=" + eventID, true);
    }
}
function ShowEventLoginBox() {
    $('divEventList').style.display = "none";
    $('divLoginBox').style.display = "inline";
    $('divEventOverview').style.display = "none";
    $('divEventReservationResult').style.display = "none";
}

function ShowEventList() {
    $('divEventList').style.display = "inline";
    $('divLoginBox').style.display = "none";
    $('divEventOverview').style.display = "none";
    $('divEventReservationResult').style.display = "none";
}

function ShowEventOverview() {
    $('divEventList').style.display = "none";
    $('divLoginBox').style.display = "none";
    $('divEventOverview').style.display = "inline";
    $('divEventReserveCommand').style.display = "inline";
    $('divEventReservationResult').style.display = "none";
}

function ShowEventReservationResult() {
    $('divEventList').style.display = "none";
    $('divLoginBox').style.display = "none";
    $('divEventOverview').style.display = "inline";
    $('divEventReserveCommand').style.display = "none";
    $('divEventReservationResult').style.display = "inline";
}
function ReserveEvent() {
    ShowEventReservationResult();
    urlParameters = "serviceid=" + queryString('serviceid') + "&eid=" + eid + "&desc=" + encodeURI($('textareaDescription').value);
    LoadPP("divReserveEventResult", "/PageParts/PPDoReservation.aspx?" + urlParameters, true);
}

// Resource:
y = "";
m = "";
d = "";
resource = "";
rsid = "";
hourFrom = "";
minuteFrom = "";
hourTo = "";
minuteTo = "";
scastid = "";

function OnServiceCastSelectionChanged() {
    if ($('cphMid_reserveResource_dropDownServiceCasts_dropdownServiceCast')) {
        scastid = $('cphMid_reserveResource_dropDownServiceCasts_dropdownServiceCast').value;
    }
    OnDayClicked("&d=" + sd + "&m=" + sm + "&y=" + sy);
}
function OnServiceItemSelectionChanged() {

}

function RefreshResourceList() {
    OnDayClicked("&d=" + d + "&m=" + m + "&y=" + y);
    ShowResourceSelection();
}


function OnDayClicked(urlSelectedDayParameters) {
    if ($('cphMid_reserveResource_dropDownServiceCasts_dropdownServiceCast')) {
        scastid = $('cphMid_reserveResource_dropDownServiceCasts_dropdownServiceCast').value;
    }
    LoadPP("divResourceAvailability", "/PageParts/PPResourceAvailability.aspx?serviceid=" + queryString('serviceid') + "&scastid=" + scastid + urlSelectedDayParameters, true);
    //ShowSelection();
}

function OnResourceTimeSelected(_rsid, y, m, d, h1, m1, h2, m2, rsname) {
    resource = rsname;
    rsid = _rsid;
    hourFrom = h1;
    minuteFrom = m1;
    hourTo = h2;
    minuteTo = m2;
    ShowResourceOverview();
}
function ShowResourceOverview(name) {
    if (loggedin) {
        if (name != null && name != "") {
            $('loggedInUser').innerHTML = name
        }
        $('ovDate').innerHTML = $('pSelectedDate').innerHTML;
        serviceCast = "";
        if ($('cphMid_reserveResource_dropDownServiceCasts_dropdownServiceCast')) {
            serviceCast = " / " + $('cphMid_reserveResource_dropDownServiceCasts_dropdownServiceCast').options[$('cphMid_reserveResource_dropDownServiceCasts_dropdownServiceCast').selectedIndex].text;
        }
        $('ovResource').innerHTML = resource + serviceCast;
        if (hourFrom.length == 1)
            $('ovHourFrom').innerHTML = "0" + hourFrom;
        else
            $('ovHourFrom').innerHTML = hourFrom;
        if (minuteFrom.length == 1)
            $('ovMinuteFrom').innerHTML = "0" + minuteFrom;
        else
            $('ovMinuteFrom').innerHTML = minuteFrom;
        if (hourTo.length == 1)
            $('ovHourTo').innerHTML = "0" + hourTo;
        else
            $('ovHourTo').innerHTML = hourTo;
        if (minuteTo.length == 1)
            $('ovMinuteTo').innerHTML = "0" + minuteTo;
        else
            $('ovMinuteTo').innerHTML = minuteTo;
        $('divResourceSelection').style.display = "none";
        $('divLoginBox').style.display = "none";
        $('divResourceOverview').style.display = "inline";
        $('divResourceReservationResultBox').style.display = "none";
        $('divResourceReservationResult').innerHTML = "";
    }
    else {
        t = "R";
        ShowResourceLoginBox();
        LoadPP("divAjaxLoginBox", "/PageParts/PPAjaxLoginBox.aspx", true);
    }
}
function ShowResourceLoginBox() {
    $('divResourceSelection').style.display = "none";
    $('divLoginBox').style.display = "inline";
    $('divResourceOverview').style.display = "none";
    $('divResourceReservationResultBox').style.display = "none";
}

function ShowResourceSelection() {
    $('divResourceSelection').style.display = "inline";
    $('divLoginBox').style.display = "none";
    $('divResourceOverview').style.display = "none";
    $('divResourceReserveCommand').style.display = "inline";
    $('divResourceReservationResultBox').style.display = "none";
}

function ShowResourceReservationResult() {
    $('divResourceSelection').style.display = "none";
    $('divLoginBox').style.display = "none";
    $('divResourceOverview').style.display = "inline";
    $('divResourceReserveCommand').style.display = "none";
    $('divResourceReservationResultBox').style.display = "inline";
}

function ReserveResource() {
    ShowResourceReservationResult();
    if ($('cphMid_reserveResource_dropDownServiceCasts_dropdownServiceCast')) {
        scastid = $('cphMid_reserveResource_dropDownServiceCasts_dropdownServiceCast').value;
    }
    urlParameters = "serviceid=" + queryString('serviceid') + "&desc=" + encodeURI($('textareaDescription').value);
    urlParameters += "&yf=" + y + "&mf=" + m + "&df=" + d + "&rsid=" + rsid + "&scastid=" + scastid;
    urlParameters += "&h1=" + hourFrom + "&m1=" + minuteFrom + "&h2=" + hourTo + "&m2=" + minuteTo;
    // add custom fields
    if ($('textBoxCustom1Value') && $('textBoxCustom1Value').value != "") {
        urlParameters += "&cust1=" + encodeURI($('textBoxCustom1Value').value);
    }
    if ($('textBoxCustom2Value') && $('textBoxCustom2Value').value != "") {
        urlParameters += "&cust2=" + encodeURI($('textBoxCustom2Value').value);
    }
    if ($('textBoxCustom3Value') && $('textBoxCustom3Value').value != "") {
        urlParameters += "&cust3=" + encodeURI($('textBoxCustom3Value').value);
    }
    LoadPP("divResourceReservationResult", "/PageParts/PPDoReservation.aspx?" + urlParameters, true);
}

// Daily
function onSelectedResourceChanged() {
    OnCheckDailyAvailabilityClicked();
}

function OnCheckDailyAvailabilityClicked() {
    if ($('fromDate').value != "" && $('toDate').value != "") {
        yf = $('fromDate').value.substr(0, 4);
        mf = $('fromDate').value.substr(5, 2);
        df = $('fromDate').value.substr(8, 2);
        yt = $('toDate').value.substr(0, 4);
        mt = $('toDate').value.substr(5, 2);
        dt = $('toDate').value.substr(8, 2);
        if (new Date(yf, mf - 1, df) < new Date(new Date().getUTCFullYear(), new Date().getUTCMonth(), new Date().getUTCDate())) {
            defaultDate = new Date();
            yf = defaultDate.getUTCFullYear();
            mf = defaultDate.getUTCMonth() + 1;
            if (mf < 10)
                mf = "0" + mf;
            df = defaultDate.getUTCDate();
            if (df < 10)
                df = "0" + df;
            $('fromDate').value = yf + "." + mf + "." + df;
        }
        if (new Date(yf, mf, df) > new Date(yt, mt, dt)) {
            $('toDate').value = $('fromDate').value;
            yt = yf;
            mt = mf;
            dt = df;
        }
        urlParameters = "serviceid=" + queryString('serviceid') + "&rsid=" + $('dropdownResources').value;
        urlParameters += "&yf=" + yf + "&mf=" + mf + "&df=" + df;
        urlParameters += "&yt=" + yt + "&mt=" + mt + "&dt=" + dt;
        LoadPP("divResourceDailyAvailability", "/PageParts/PPResourceDailyAvailability.aspx?" + urlParameters, true);
    }
    else {
        alert("hibás dátum érték");
    }
}

function RefreshDailyList() {
    ShowDailySelection();
    $('divResourceDailyAvailability').innerHTML = "";
}

function OnGetOverviewClicked() {
    if (loggedin) {
        ShowDailyOverview();
    }
    else {
        t = "D";
        ShowLoginBox();
        LoadPP("divAjaxLoginBox", "/PageParts/PPAjaxLoginBox.aspx", true);
    }
}

function ShowLoginBox() {
    $('divDailySelection').style.display = "none";
    $('divLoginBox').style.display = "inline";
    $('divDailyOverview').style.display = "none";
    $('divDailyReservationResult').style.display = "none";
}

function ShowDailyOverview(name) {
    if (name != null && name != "") {
        $('loggedInUser').innerHTML = name
    }
    LoadPP("divResourceDisplay", "/PageParts/PPResourceDisplay.aspx?rsid=" + $('dropdownResources').value, true);
    $('ovDateFrom').innerHTML = yf + "." + mf + "." + df; ;
    $('ovDateTo').innerHTML = yt + "." + mt + "." + dt;
    $('divDailySelection').style.display = "none";
    $('divLoginBox').style.display = "none";
    $('divDailyOverview').style.display = "inline";
    $('divDailyReserveCommand').style.display = "inline";
    $('divDailyReservationResult').style.display = "none";
}

function ShowDailySelection() {
    $('divDailySelection').style.display = "inline";
    $('divDailyOverview').style.display = "none";
    $('divLoginBox').style.display = "none";
    $('divDailyReservationResult').style.display = "none";
}

function ShowDailyReservationResult() {
    $('divDailySelection').style.display = "none";
    $('divDailyOverview').style.display = "inline";
    $('divLoginBox').style.display = "none";
    $('divDailyReserveCommand').style.display = "none";
    $('divDailyReservationResult').style.display = "inline";
}

function ReserveDaily() {
    ShowDailyReservationResult();
    urlParameters = "serviceid=" + queryString('serviceid') + "&desc=" + encodeURI($('textareaDescription').value) + "&rsid=" + $('dropdownResources').value;
    urlParameters += "&yf=" + yf + "&mf=" + mf + "&df=" + df;
    urlParameters += "&yt=" + yt + "&mt=" + mt + "&dt=" + dt;
    //serviceItems
    serviceItems = "&si=";
    for (i = 0; i < $('nrOfServiceItems').value; i++) {
        if ($('serviceItem_' + i).checked) {
            serviceItems += $('serviceItem_' + i).value + "#";
        }
    }
    urlParameters += serviceItems;

    LoadPP("divDoDailyReservationResult", "/PageParts/PPDoReservation.aspx?" + urlParameters, true);
}


// Login
function CancelLogin() {
    ShowSelection();
}
function OnSuccessfulLogin(name) {
    loggedin = true;
    ShowOverview(name);
}
function OnFailedLogin(reason) {
    $('login_Error').innerHTML = reason;
}

function DoLogin() {
    if ($('loginForm_textBoxEmail').value != "" && $('loginForm_textBoxPassword').value != "") {
        $('login_Error').innerHTML = "";
        urlParameters = "em=" + $('loginForm_textBoxEmail').value + "&pw=" + $('loginForm_textBoxPassword').value;
        if ($('checkBoxRemindMe').selected) urlParameters += "&remind=Y";
        else urlParameters += "&remind=N";
        LoadPP("divLoginResult", "/PageParts/PPDoLogin.aspx?" + urlParameters, true);
    }
    else {
        $('login_Error').innerHTML = "Addja meg e-mail címét és jelszavát!";
    }
}

// All type
function ShowOverview(name) {
    switch (t) {
        case "C":
            OnEventClicked(eid);
            break;
        case "R":
            ShowResourceOverview(name);
            break;
        case "D":
            ShowDailyOverview(name);
            break;
    }
}
function ShowSelection() {
    switch (t) {
        case "C":
            ShowEventList();
            break;
        case "R":
            ShowResourceSelection();
            break;
        case "D":
            ShowDailySelection();
            break;
    }
}
