var CALENDAR = {
    init : function()
    {
        var d = document;
        if (d.getElementById('calendarURI')) {
            d.getElementById('calendarURI').onchange = CALENDAR.calendarChange;
            d.getElementById('calendarChange').style.display = 'none';
        }
        /**
         * Find calendar events
         * Any table with the string "calendar" found anywhere in the class
         * attribute values as well as a "calendarevent" link
         */
        var tables = d.getElementsByTagName("table");
        for (var i in tables) {
            if (/calendar/.test(tables[i].className)) {
                var anchors = tables[i].getElementsByTagName("a");
                for (var a in anchors) {
                    if (/\/calendarevent\/(\d+)$/.test(anchors[a].href)) {
                        anchors[a].onclick = CALENDAR.getReq;
                    }
                }
            }
        }
        if (d.getElementById('event')) {
	        d.getElementById('event').style.display = 'none';
	        d.getElementById('event').style.visibility = 'hidden';
        }
    },

    calendarChange : function()
    {
        var d = document;
        d.getElementById('calendarChange').click();
            /** ... and of course, the wonderful IE6 workaround ... **/
            var input = d.createElement("input");
            input.setAttribute("name", "calendarChangeHidden");
            input.setAttribute("type", "hidden");
            input.setAttribute("value", '1');
            this.form.appendChild(input);
            /** end workaround **/
        this.form.submit();
        return true;
    },

    getReq : function()
    {
        JSON.setResponseFunction(CALENDAR.showDiv);
    	JSON.setPostData('dataOnly=true')
        var response = JSON.sndReq(this.href);
        return false;
    },

	showDiv : function(r)
	{
		/**
        var d = document;
        //if (d.getElementById('event')) {
            //d.getElementById('event').parentNode.removeChild(d.getElementById('event'));
        //}
        if (d.getElementById('event')) {
            var div = d.getElementById('event');
        } else {
            var div = d.createElement('div');
            div.id = 'event';
        }
        if (div.hasChildNodes()) {
            while (div.firstChild) {
                div.removeChild(div.firstChild);
            }
        }
        var h1 = d.createElement("h1");
        h1.appendChild(d.createTextNode(r.dateStart + ' ' + r.heading));
        var dtl = d.createElement("div");
        dtl.innerHTML = r.detail;
        div.appendChild(h1);
        div.appendChild(dtl);
        div.style.display = '';
        div.style.visibility = '';
        */

		var win = new Window({
            className : "dialog",
		    width : 350,
		    height : 200,
		    zIndex : 100,
		    title : r.heading,
		    showEffect : Effect.Appear,
		    hideEffect : Effect.Fade,
		    wiredDrag : true
		    })
		;
		win.getContent().innerHTML = r.detail;
		win.setStatusBar(r.dateStart);
		win.showCenter();

	    return false;
	}
};

if (!window.addEventListener) {
    window.addEventListener = function (type, listener, useCapture)
    {
        attachEvent('on' + type, function() { listener(event) });
    }
}
window.addEventListener('load', CALENDAR.init, false);

