//Hack
if(!$chk(GetVars)) {
/**
 * GetVars is a object with can be used to acces get vars send to the window
 */
var GetVars = new Class({
	
	getstring: '',
	
	getparts: [],
	
	getvars: {},
	
	initialize: function() {
		this.parsevars();	
	},
	
	parsevars: function() {
		
		this.getstring = (window.location.search) ? window.location.search : '';
		
		//Check is the getstring contains any characters
		if(this.getstring.length > 1) {
			
			this.getparts = window.location.search.substr(1).replace('+', ' ').split(/[&;]/g);
			
			for(var i=0;i<this.getparts.length;i++) {
				
				var getvar = this.getparts[i].split('=');
				this.getvars[unescape(getvar[0])] = ((getvar.length) == 1) ? '' : unescape(getvar[1]);
				
			}
		}
	},
	
	
	get: function(key) {
		if($chk(this.getvars[key])) {
			return this.getvars[key];
		}
		return null;
	},
	
	isset: function(key) {
		return $chk(this.getvars[key]);	
	}
	
});
window.getvars = new GetVars();
}



var selectCalendarDate = function(e, dateList) {

	var selectedDate = dateList[0][0];
	var query = window.getvars.getvars;
	query["year"] = selectedDate[0];
	query["month"] = selectedDate[1];
	query["day"] = selectedDate[2];
	
	var qstring = "";
	for (s in query){
//		alert(s + " " + query[s]);
		qstring += s + "=" + query[s] + "&";
	}
	
	window.location = window.location.pathname + "?" + qstring;
//		window.location = '/?view=' + view + '&type=agenda&year='+selectedDate[0]+'&month='+selectedDate[1]+'&day='+selectedDate[2];
}


YAHOO.namespace("strawberries.calendar");

var lang;

function initCalendar(language) {
 
    var month = parseInt(window.getvars.get('month')); 
    var day = parseInt(window.getvars.get('day')); 
    var year = parseInt(window.getvars.get('year')); 

    if (isNaN(month) || isNaN(day) || isNaN(year)) { 
		var dnow = new Date();
		month = 1 + dnow.getMonth();
		day = dnow.getDate();
		year = dnow.getFullYear();
	}
    var strDate = month + "/" + day + "/" + year;

    YAHOO.strawberries.calendar.cal = new YAHOO.widget.Calendar("cal", "calContainer", { MULTI_SELECT: false } );
	YAHOO.strawberries.calendar.cal.select(strDate);
	YAHOO.strawberries.calendar.cal.cfg.setProperty("pagedate", month + "/" + year); 

	YAHOO.strawberries.calendar.cal.selectEvent.subscribe(selectCalendarDate);
    YAHOO.strawberries.calendar.cal.render();

	
	if(window.webkit || window.webkit419 || window.webkit420 || window.ie6 || window.ie7) { //Safari fix
		var weekdays	= $$('.calweekdaycell');
		
		for(var i=0;i<weekdays.length;i++) {
			weekdays[i].setStyle('background-image', weekdays[i].getParent().getStyle('background-image'));
			weekdays[i].setStyle('background-position-x', ((i*26)*-1)+'px');
			
		}
	}
}

YAHOO.util.Event.addListener(window, "load", initCalendar);

function showDates() {
    // Later in your application, when you need the selected dates   
    var arrDates = YAHOO.strawberries.calendar.cal.getSelectedDates();   

    for (var i = 0; i < arrDates.length; ++i) {   
         var date = arrDates[i];

         // Work with selected date...
         var displayMonth = date.getMonth() + 1;
         var displayYear = date.getFullYear();
         var displayDate = date.getDate();

    }
}
