function(doc) {
	Date.prototype.getWeek = function(dowOffset) {
		var year = this.getFullYear();
		var isLeapYear = false;
		var weekNumber;
		if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) {
			isLeapYear = true;
		}
		var yearBefore = year - 1;
		var isYearBeforeLeap = false;
		if ((yearBefore % 4 === 0 && yearBefore % 100 !== 0) || yearBefore % 400 === 0) {
			isYearBeforeLeap = true;
		}
		var mnth = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334];
		var dayOfYear = this.getDate() + mnth[this.getMonth()];
		if (isLeapYear && this.getMonth() > 1) {
			dayOfYear++;
		}
		var YY = yearBefore % 100;
		var C = yearBefore - YY;
		var G = YY + YY / 4;
		var jan1Weekday = 1 + (((((C / 100) % 4) * 5) + G) % 7);
		if (dayOfYear <= (8 - jan1Weekday) && jan1Weekday > 4) {
			if (jan1Weekday === 5 || (jan1Weekday === 6 && isYearBeforeLeap)) {
				weekNumber = 53;
			} else {
				weekNumber = 52;
			}
			return weekNumber;
		}
		var ammountOfDaysInYear = 365;
		if (isLeapYear) {
			ammountOfDaysInYear = 366;
		}
		var weekDay = this.getDay();
		if (weekDay === 0) {
			weekDay = 7;
		}
		if (ammountOfDaysInYear - dayOfYear < 4 - weekDay) {
			return 1;
		}
		weekNumber = Math.floor((dayOfYear + (7 - weekDay) + (jan1Weekday - 1)) / 7);
		if (jan1Weekday > 4) {
			weekNumber--;
		}
		return weekNumber;

	};

	if (doc.type && doc.type === "Backend_Dodb_Document_Shift" && doc.termin) {
		var terminDate = new Date(doc.termin * 1000);
		emit(terminDate.getWeek(), doc);
	}
}


