﻿/// <reference path="jquery-1.5.1.min.js" />

/*
* Google Calendar feed reader - plugin to get upcoming events from a *public* google calendar
* Parameters: FeedUri, MaxResults & DisplayCount
* @version 1.0
*/



$.gCalReader = function (options) {
    //Default settings
    var settings = {
        feedUri: 'http://www.google.com/calendar/feeds/en.usa%23holiday%40group.v.calendar.google.com/public/full',
        maxresults: 3,
        kod: 'x',
        displayCount: 3
    };


    var feedUri = options.feedUri;
    var kod_predavanja = options.code;

    if (feedUri.indexOf("public/full") == -1) {
        feedUri = settings.feedUri;
    }


    var options = $.extend(settings, options);

    function _run() {



        var calendarService = new google.gdata.calendar.CalendarService('GoogleInc-jsguide-1.0');

        // The "public/full" feed is used to retrieve events from the named public calendar with full projection.
        var query = new google.gdata.calendar.CalendarEventQuery(feedUri);
        query.setOrderBy('starttime');
        query.setSortOrder('descending');
        query.setFutureEvents(false);
        query.setSingleEvents(true);
        query.setMaxResults(options.maxresults);

        var callback = function (result) {

            var entries = result.feed.getEntries();
            $('#gcal').html('');
            if (options.displayCount) {
            }
            $('#gcal').append('<div id="eventlist"></div>');



            for (var i = 0; i < entries.length; i++) {
                var eventEntry = entries[i];
                var eventTitle = eventEntry.getTitle().getText();
                var startDateTime = null;
                var eventDate = null;
                var eventWhere = null;
                var eventContent = eventEntry.getContent().getText();





                var times = eventEntry.getTimes();
                if (times.length > 0) {
                    startDateTime = times[0].getStartTime();
                    eventDate = startDateTime.getDate();
                }

                var d_names = new Array("Nedjelja", "Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota");
                var m_names = new Array("Sij", "Velj", "Ožu", "Tra", "Svi", "Lip", "Srp", "Kol", "Ruj", "List", "Stu", "Pro");

                var a_p = "";
                var d = eventDate;
                var curr_hour = d.getHours();
                if (curr_hour < 12) {
                    a_p = "am";
                }
                else {
                    a_p = "pm";
                }
                if (curr_hour == 0) {
                    curr_hour = 12;
                }
                if (curr_hour > 12) {
                    curr_hour = curr_hour - 12;
                }

                var curr_min = d.getMinutes();
                curr_min = curr_min + "";

                if (curr_min.length == 1) {
                    curr_min = "0" + curr_min;
                }

                var time = curr_hour + ':' + curr_min + a_p;
                var day = eventDate.getDay();
                var month = eventDate.getMonth();
                var date = eventDate.getDate();
                var dayname = d_names[day];
                var monthname = m_names[month];
                var year = eventDate.getFullYear();
                var location = eventEntry.getLocations();
                var eventWhere = location[0].getValueString();


                

                var sime;
                sime = $(eventContent).attr('id');



                if (options.kod != 'x') {
                    var pp = 0;
                    pp += 1;

                    if (options.kod == sime) {


                        var eventhtml = '<div class="wrapper_datum" style="border-bottom:0px;">';

                        eventhtml += '<div class="datum">' + monthname + '<br><div class="dan">' + date
								+ '</div></div><span class="event_name">' + eventTitle + '</span>';

                        eventhtml += '<br><span class="event_description"><i>' + dayname + ' od ' + time + '</i></span>';

                        if ($(eventContent).attr('closed') == 'yes') {
                            eventhtml += '<span class="event_full"> nema mjesta</span>';

                        }


                        $('#eventlist').append(eventhtml + '<br>');
                    };

                }
                else {

                    var eventhtml = '<div class="wrapper_datum">';

                    eventhtml += '<div class="datum" >' + monthname + '<br><div class="dan">' + date
								+ '</div></div><span class="event_name">' + eventTitle + '</span>';

                    //24.12.2011. 12:00pm Naziv Radionice - Popunjeno! - detalji



                    if ($(eventContent).attr('id') != '') {

                        eventhtml = '<div class="wrapper_datum"><div class="datum">' + monthname + '<br><div class="dan">' + date + '</div></div>';


                        eventhtml += '<span class="event_name"><a href="' + sime + '.html">' + eventTitle + '</a></span>';


                    };

                    eventhtml += '<br><span class="event_description"><i>' + dayname + ' od ' + time + '</i></span>';

                    if ($(eventContent).attr('closed') == 'yes') {
                        eventhtml += '<span class="event_full"> Nema mjesta</span>';

                    }

                    eventhtml += '<br><span class="event_description">' + eventContent.split('. ', 1) + '</span>';



                    eventhtml += '</div>';


                    //moj event				




                    $('#eventlist').append(eventhtml + '<br>')

                };

            };



        };

        // Error handler to be invoked when getEventsFeed() produces an error
        var handleError = function (error) {
            $('#gcal').html('<pre>' + error + '</pre>');
        };

        // Submit the request using the calendar service object
        calendarService.getEventsFeed(query, callback, handleError);
    }
    google.setOnLoadCallback(_run);

    // $(window).load(function () {

    //}); //End window load
};

