
//http://www.google.com/calendar/feeds/sam.birch@gmail.com/public/basic

	function initCalendar(url){
		arrDates = new Array();
		currentDate = new Date();
		month = currentDate.getMonth();
		year = currentDate.getFullYear();
		
		//url = 'basic.ics';
		//url = 'http://www.google.com/calendar/feeds/sam.birch@gmail.com/public/basic';
		//url = 'http://www.google.com/calendar/ical/sam.birch@gmail.com/public/basic.ics';
		//url = 'calendarfeed.php?url='+url;
		
		new Ajax(url,{postBody: 'google', onComplete: getDates}).request();
	
	}
	
	function getDates(obj){
		//alert(obj.transport.responseText);
		var arr = obj.transport.responseText.split('\n');
		arr.each(function(el,i){
			
			var a = el.split(';');
			if(a[0] == 'DTSTART'){
				var bs = a[1].split(':');
				//var ss = bs[1].substr(0,4)+','+bs[1].substr(4,2)+','+bs[1].substr(6,2);
				//var dts = new Date(ss);
				var dts = new Date(bs[1].substr(0,4), (bs[1].substr(4,2)), bs[1].substr(6,2));
				//alert(dts);
				
				var be = arr[i+1].split(':');
				//var se = be[1].substr(0,4)+','+be[1].substr(4,2)+','+be[1].substr(6,2);
				//var dte = new Date(se);
				var dte = new Date(be[1].substr(0,4), (be[1].substr(4,2)), be[1].substr(6,2));
				//alert(dte);
				do {
					arrDates.push(dts.toString());
					//alert(dts);
					dts = getNextDate(dts);
				} while (dts.isBefore(dte));
				
			}
		});
		setDates();
	}
	
	function setDates(){
		title = document.getElement('.title');
		title.setHTML(getMonthName(month)+' '+year);
		
		var cd = new Date();
	
		dt = document.getElementsBySelector('.date');
		i = 1;
		j = 1;
		dt.each(function(d){ 
			d.setHTML('');
			//d.removeClassName('currentMonth');
			d.removeClassName('selected');
			d.removeClassName('today');
			
			if(i > getFirstDay(year, month) && j <= getMaxDay(year, month)){
				//d.addClassName('currentMonth');
				var nd = new Date(year, (month+1), j);
				//alert(nd);
				//alert(arrDates.length)
				if(arrDates.test(nd.toString())){
					d.addClassName('selected');
				}
				if(cd.getDate() == j && cd.getMonth() == month && cd.getFullYear() == year){
					d.addClassName('today');
				}
				d.setHTML(j);
				j++;
			}else{
				d.setHTML("&nbsp;");	
			}
			i++;
		});
	}
	
	function nextMonth(){
		month++;
		if(month == 12){
			month = 0;
			year++;
		}
		setDates();
	}
	
	function previousMonth(){
		month--;
		if(month == -1){
			month = 11;
			year--;
		}
		setDates();
	}
	
	function getNextDate(date){
		var d = date.getDate();
		var m = date.getMonth();
		var y = date.getFullYear();
		
		var newDate = new Date(y, m, (d+1));
		return newDate;
	}

	//var dt = new Date();
	
	function getMaxDay(year, month){
		var i
		for(i=28;i<33;i++){
			var dt = new Date(year, month, i);
			if(dt.getMonth() != month){
				return i-1;
			}
		}
	}
	
	
	function getMonthName(int){
		switch(int){
			case 0 :
				str = 'January';
				break;
			case 1 :
				str = 'Febuary';
				break;
			case 2 :
				str = 'March';
				break;
			case 3 :
				str = 'April';
				break;
			case 4 :
				str = 'May';
				break;
			case 5 :
				str = 'June';
				break;
			case 6 :
				str = 'July';
				break;
			case 7 :
				str = 'August';
				break;
			case 8 :
				str = 'September';
				break;
			case 9 :
				str = 'October';
				break;
			case 10 :
				str = 'November';
				break;
			case 11 :
				str = 'December';
				break;
		}
		return str;
	}
	
	
	
	function getFirstDay(year,month){
		var dt = new Date(year, month, 01);
		return dt.getDay();
	}
	
	
