
var calrequest = new Request({ //main calendar request obj
	url:'/calendar/super_calendar.php',
	method:'get',
	onSuccess:calparse
});
calrequest.navigate = function(month,year,evt,el,extras){
	if(el){ this.element = document.id(el) }
	calrequest.send("month="+month+"&year="+year+"&event="+evt+"&context="+extras);
}

function calparse(){
	this.resp = this.response.xml.documentElement;
	this.content = this.resp.getElementsByTagName("content")[0];
	this.events = this.resp.getElementsByTagName("events")[0];
	this.calendar = $("calendar");
	this.eventslist = $('eventslist');
	
	switch(this.content.getAttribute("type")){
		case 'detail': {
			this.element.onmouseover = this.element.onmouseout = null;
			var tooltip = this.element.getParent().getElement('.tooltip.calendardates');
            tooltip.getElement('.tooltip-content').set('html', this.content.childNodes[0].nodeValue);
            tooltip.getElement('.tooltip-content').set('html', this.content.childNodes[0].nodeValue);
			new Tooltip.Calendardate(tooltip,this.element);
			break;
        }
		default: {
			this.calendar.set('html', this.content.childNodes[0].nodeValue);
			(function(){this.eventslist.set('html',this.events.childNodes[0].nodeValue);}.bind(this)).attempt();
			break;
        }
	}    
	// updating for events page
	(function(){
		$$('.hidden').each(function(h){ h.removeClass('hidden') });
		var specialnav = $('events-special-nav');
		this.calendar.getElement('.month-minus').set({
			'class':specialnav.getElement('.left a').get('class'),
			'html':this.calendar.getElement('.month-minus img').get('alt')
		}).replaces(specialnav.getElement('.left a'));
		this.calendar.getElement('.month-plus').set({
			'class':specialnav.getElement('.right a').get('class'),
			'html':this.calendar.getElement('.month-plus img').get('alt')
		}).replaces(specialnav.getElement('.right a'));
		var sometext = this.calendar.getElement('.dyn').get('text') + " Events";
		$('featured-event').getElement('h2').set('text',sometext);
		Cufon.replace(".dyn", { fontFamily: 'Museo-300' });
	}.bind(this)).attempt();
}

function showJump(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	var jump = new Element("div", {
		'id':"jump",
		'styles':{
			'position':'absolute',
			'top':curtop+15,
			'left':curleft
		}
	});
	var output = '<select id="month">\n';
	var months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
	var n;
	months.each(function(m,i){
		n = ((i+1)<10)?'0'+(i+1):i+1;
		output += '<option value="'+n+'">'+m+'  </option>\n';
	});
	output += '</select> \n<select id="year">\n';
	(16).times(function(i){
		n = (i<10)?'0'+i:i;
		output += '<option value="20'+n+'">20'+n+'  </option>\n';
	});
	output += '</select> <a href="javascript:jumpTo()"><img src="/SLO-CITY/super_ajax_calendar/calendar/images/calGo.gif" alt="go" /></a> <a href="javascript:hideJump()"><img src="/SLO-CITY/super_ajax_calendar/calendar/images/calStop.gif" alt="close" /></a>';
	jump.set('html', output).inject(document.body);
}

function hideJump() {
	$("jump").dispose();	
}

function jumpTo() {
	var m = $("month");
	var y = $("year");
	calrequest.navigate(m.options[m.selectedIndex].value,y.options[y.selectedIndex].value,'');
	hideJump();
}
