﻿function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			if (oldonload) {
				oldonload();
			}
			func();
		}
	}
}

function resizeContent()
{
    var content = document.getElementById('content');
    var navigation = document.getElementById('navigation');
    var extra = document.getElementById('extra');
    
    if (navigation.offsetHeight > content.offsetHeight)
    {
        content.style.height = navigation.offsetHeight.toString() + 'px';
    }
    if (extra.offsetHeight > content.offsetHeight)
    {
        content.style.height = extra.offsetHeight.toString() + 'px';
    }
}

addLoadEvent(resizeContent);


var kalStartState = null;
function initKalendar() {
    $(document).ready(function () {
        $('.okvirnacijena').val('');

        $('.tblZauzetost tr').each(function () {
            var mjesec = $(this).find('th').text();
            mjesec = mjesec.substr(3, 2) + mjesec.substr(0, 2);
            $(this).find('td').each(function () {
                if ($(this).text() != '') {
                    $(this).data('d', mjesec + $(this).text());
                };
            });
        });
        $('.tblZauzetost td').css('cursor', 'pointer').click(function () {
            if ($(this).text() != '') {
                if (kalStartState == null) {
                    kalStartState = $(this);
                    $('.tblZauzetost tr td').removeClass('selected');
                    kalStartState.addClass('selected');
                    kalClearDate();
                    kalSetDate('upitDatumOd', kalStartState.data('d'));
                } else {
                    if (parseInt($(this).data('d')) <= parseInt(kalStartState.data('d'))) {
                        $('.tblZauzetost tr td').removeClass('selected');
                        kalClearDate();
                    }
                    else {
                        var kalEndState = $(this);
                        kalSelect(kalStartState.data('d'), kalEndState.data('d'));
                        kalSetDate('upitDatumDo', kalEndState.data('d'));
                    }
                    kalStartState = null;
                }
            }
        });

        $('.upitDatumOd,.upitDatumDo,.brojosoba').change(function () {
            //ručni change

            if (isNaN($('.brojosoba').val())) {
                $('.brojosoba').val('');
            }

            $('.tblZauzetost tr td').removeClass('selected');

            var datumod;
            var datumod2 = $('.upitDatumOd').val();
            var datumdo;
            var datumdo2 = $('.upitDatumDo').val();
            datumod = String2Date(datumod2);
            datumdo = String2Date(datumdo2);

            if (datumod == null) $('.upitDatumOd').val('');
            if (datumdo == null) $('.upitDatumDo').val('');

            if ((datumod != null) && (datumdo != null)) {
                if (datumod < datumdo) {
                    kalSelect(Date2Code(datumod), Date2Code(datumdo));
                }
                else {
                    datumdo = null;
                }
                kalClearDate();
                if (datumod != null) {
                    kalSetDate('upitDatumOd', Date2Code(datumod));
                }
                if (datumdo != null) {
                    kalSetDate('upitDatumDo', Date2Code(datumdo));
                }
            }

        });

    });
}

function kalSelect(startdate, enddate) {
    startdate = parseInt(startdate);
    enddate = parseInt(enddate);
    $('.tblZauzetost tr td').removeClass('selected');
    $('.tblZauzetost tr').each(function () {
        $(this).find('td').each(function () {
            if (
                (parseInt($(this).data('d')) >= startdate) &&
                (parseInt($(this).data('d')) <= enddate)) {
                $(this).addClass('selected');
            }
            if (parseInt($(this).data('d')) > enddate) {
                return false;
            }
        });
    });
}

function kalSetDate(box, date) {
    $('.' + box).val(Code2String(date));
    kalBoxChanged();
}
function kalClearDate() {
    $('.upitDatumOd').val('');
    $('.upitDatumDo').val('');
    kalBoxChanged();
}
function kalBoxChanged() {
    $('.okvirnacijena').hide();
    $('.nemacijene').hide();
    $('#ib_on').hide();
    $('#ib_off').show();
    if (($('.upitDatumOd').val() != '') && ($('.upitDatumDo').val() != '') && ($('.brojosoba').val() != '')) GetCijena();
}

$(document).ready(function () {
    $('.svipadajuci select').change(kalBoxChanged);
});

function Date2Code(date){
    return date.getFullYear().toString().substr(2,2) + (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1).toString() : (date.getMonth() + 1).toString()) + (date.getDate() < 10 ? '0' + (date.getDate()).toString() : (date.getDate()).toString()).toString();
}
function Code2Date(date) {
    if (isNaN(date)) return null;
    return new Date(date.substr(0, 2), parseInt(date.substr(2, 2), 10)-1, date.substr(4, 2), 0, 0);
}
function String2Date(date) {
    var date2 = date;
    while (date2.indexOf('.') >= 0) date2 = date2.replace('.', '');
    if (isNaN(date2)) return null;
    var dateSplit = date.split('.');
    var outDate = new Date();
    outDate.setFullYear(parseInt(dateSplit[2], 10), parseInt(dateSplit[1], 10) - 1, parseInt(dateSplit[0], 10));
    return outDate;
}
function Code2String(date) {
    return date.substr(4, 2) + '.' + date.substr(2, 2) + '.20' + date.substr(0, 2);
}
function String2Code(date){
    return Date2Code(String2Date(date));
}

var objektid = 0;
function GetCijena() {
    $('.okvirnacijena').hide();
    $('.nemacijene').hide();
    $('.loader').show();

    var djeca = '';
    $('#djeca select').each(function () {
        djeca += $(this).val() + ';';
    });

    PageMethods.GetPrice(String2Code($('.upitDatumOd').val()), String2Code($('.upitDatumDo').val()), objektid, parseInt($('.odrasli').val()), djeca, $('.upitcode input').val(), GetCijenaOnSucceeded, GetCijenaOnFailed);
}

function GetCijenaOnSucceeded(result, userContext, methodName) {
    $('.loader').hide();
    $('.okvirnacijena').fadeIn();
    var cijene = result.split(';');
    $('.okvirnacijena b').html(cijene[0]);
    $('.okvirnacijena span').html(cijene[1]).next().html(cijene[2]);
    if (cijene[3] == 'IB+') {
        $('#ib_off').hide();
        $('#ib_on').fadeIn();
    }
    else {
        $('#ib_on').hide();
        $('#ib_off').fadeIn();
    }
}

function GetCijenaOnFailed(error, userContext, methodName) 
{
//    $get('OkvirnaCijena').innerHTML = '<asp:Literal runat="server" Text="<%$ Resources: R,Smj_CijenaNijeDostupna %>" />';
//    $get('OkvirnaCijenaNapomena').style.visibility = 'hidden';
//    alert(error.get_message());
    $('.loader').hide();
    $('.nemacijene').fadeIn();
}

function checkupit() {
    if (($('.upitDatumOd').val() != '') && ($('.upitDatumDo').val() != '') && ($('.brojosoba').val() != ''))
    {
        return true;
    }
    else {
        $('#errorForm').css('color', 'Red').fadeOut().fadeIn().fadeOut().fadeIn().fadeOut().fadeIn('normal', function () { $(this).css('color', ''); })
        return false;
    }
}

function realReplace(where, what, whatto) {
    while (where.indexOf(what) >= 0) where = where.replace(what, whatto);
    return where;
}
