
function getCO2 ( ) {
	
	var co2PerDay = 350;
	var startHour = 7;
	var stopHour = 17;
	
	var co2PerMinute = co2PerDay/(stopHour-startHour)/60;
	var todayDate = new Date ( );
	
	// Hier kann man das Datum anpassen zum testen
	//var todayDate = new Date ( 2011,0,4,19,0,0 );
	var startDate = new Date ( todayDate.getFullYear(),0,1 );
	
	var startWeekDay = startDate.getDay ( );
	var currentWeekDay = todayDate.getDay ( );
	var daysToNextMonday;
	var firstMonday;
	var daysToLastMonday;
	var lastMonday;
	var fullWeeks;
	
	// Errechnen des ersten Montags
	if ( startWeekDay == 1 ) {
		firstMonday = startDate;
	} else {
		daysToNextMonday =  ( 8 - startWeekDay ) % 7;
		firstMonday = new Date ( startDate.getTime ( ) + ( daysToNextMonday * 86400000 ) );
	}
	
	// Errechnen des letzten Montags
	if ( currentWeekDay == 1 ) {
		lastMonday = new Date ( todayDate.getTime () );
	} else {
		daysToLastMonday =  ( ( 8 - currentWeekDay ) % 7 ) - 7;
		lastMonday = new Date ( todayDate.getTime ( ) + ( daysToLastMonday * 86400000 ) );
	}
	
	// Errechnen der vollen Wochen seit begin
	lastMonday.setHours ( 0 );
	lastMonday.setMinutes ( 0 );
	lastMonday.setSeconds ( 0 );
	lastMonday.setMilliseconds ( 0 );
	
	fullWeeks = Math.round ( ( lastMonday.getTime ( ) - firstMonday.getTime ( ) ) / 604800000 );
	
	// Errechnen der Arbeits Minuten in den kompletten wochen seit beginn
	var workingMinutesInFullWeeks = ( fullWeeks * 5 * ( stopHour - startHour ) * 60 );
	
	// Errechnen der Arbeitstage vom Start Datum bis zum ersten Montag
	var workDaysBeforeFirstMonday = ( ( firstMonday.getTime ( ) - startDate.getTime ( ) ) / 86400000 ) - 2;
	if ( workDaysBeforeFirstMonday < 0 ) workDaysBeforeFirstMonday = 0;
	
	// Errechnen der Arbeitsminuten vor dem ersten Montag
	var minutesBeforeFirstMonday = workDaysBeforeFirstMonday * ( stopHour - startHour ) * 60;
	
	// Errechnen der Arbeitstage vom letzten Montag bis Heute ( ohne heute mir einzuberechnen )
	var todayMorning = new Date ( todayDate.getFullYear(), todayDate.getMonth(), todayDate.getDate() );
	var workingDaysFromLastMondayToToday = ( ( todayMorning.getTime ( ) - lastMonday.getTime ( ) ) / 86400000 );
	if ( todayMorning.getDay() == 0 ) workingDaysFromLastMondayToToday -= 1;
	
	// Errechnen der Arveitsminuten von letzten Montag bis Heute ( ohne heute mir einzuberechnen )
	var workingMinutesFromLastMondayToToday = workingDaysFromLastMondayToToday * ( stopHour - startHour ) * 60;
	
	// Errechnen der arbeitsminuten von heute
	var workingMinutesToday;
	if ( todayDate.getDay() == 0 || todayDate.getDay() == 6 || todayDate.getHours () < startHour ) { 
		workingMinutesToday = 0;
	} else if ( todayDate.getHours () >= stopHour ) {
		workingMinutesToday = (stopHour-startHour)*60;
	} else {
		workingMinutesToday = ( ( todayDate.getHours () - startHour ) * 60 ) + todayDate.getMinutes ( );
		workingMinutesToday += todayDate.getSeconds ( ) / 60;
	}
	
	// Zusammen zählen aller Arbeitsminuten
	var allMinutes = minutesBeforeFirstMonday + workingMinutesInFullWeeks + workingMinutesFromLastMondayToToday + workingMinutesToday;
	
	// Errechnen des kompletten co2s
	var co2 = allMinutes*co2PerMinute;
	
	// Runden auf zwei komma stellen
	co2 = co2.toFixed ( 2 );
	
	return co2;
	
}


// Beispiel einbindung

function updateCO2 ( ) {
	
	var div = document.getElementById ( "view" );
	div.innerHTML = getCO2 ( ) + " kg";
	
}

window.setInterval ( "updateCO2 ( );", 1000 );
