function initWeekCalendar(){		initWeekCalendarDisplay();		initWeekCalendarDate();		globalEvents();}function createWeekCalendar(){		var topDiv = document.createElement('DIV');		topDiv.id = 'calendars-container-top';		var topContDiv = document.createElement('DIV');		topContDiv.id = 'bigCalendarTopContainer';		var navDiv = document.createElement('DIV');		navDiv.id = 'bigCalendarNavigation';		navDiv.innerHTML = '<a id="calendar_today" href="#" onclick="displayTodayWeekCalendar();return false;"><img onmouseover="this.src=\''+image_big_path+'calendar_today_act_'+currentLang+'.gif\'" onmouseout="this.src=\''+image_big_path+'calendar_today_'+currentLang+'.gif\'" src="'+image_big_path+'calendar_today_'+currentLang+'.gif" /></a> <a id="calendar_prev" href="#" onclick="displayPreviousWeekCalendar();return false;"><img onmouseover="this.src=\''+image_big_path+'calendar_left_act.gif\'" onmouseout="this.src=\''+image_big_path+'calendar_left.gif\'" src="'+image_big_path+'calendar_left.gif" /></a> <a id="calendar_next" href="#" onclick="displayNextWeekCalendar();return false;"><img onmouseover="this.src=\''+image_big_path+'calendar_right_act.gif\'" onmouseout="this.src=\''+image_big_path+'calendar_right.gif\'" src="'+image_big_path+'calendar_right.gif" /></a>';		var dateDiv = document.createElement('DIV');		dateDiv.id = 'bigCalendarDate';		dateDiv.innerHTML = '<div></div>';		var ajaxDiv = document.createElement('DIV');		ajaxDiv.id = 'bigCalendarAjax';		ajaxDiv.innerHTML = '';		var menuDiv = document.createElement('DIV');		menuDiv.id = 'bigCalendarMenu';		var view = document.createElement('DIV');		view.id = 'bigCalendar_day';		view.onclick= initDayCalendar;		view.onmouseover = new Function('this.className=\'mark\';');		view.onmouseout = new Function('this.className=\'\';');		view.innerHTML = dayNameML;		menuDiv.appendChild(view);		var view = document.createElement('DIV');		view.id = 'bigCalendar_week';		view.className='active';		view.innerHTML = weekNameML;		menuDiv.appendChild(view);		var view = document.createElement('DIV');		view.id = 'bigCalendar_month';		view.onclick= initMonthCalendar;		view.onmouseover = new Function('this.className=\'mark\';');		view.onmouseout = new Function('this.className=\'\';');		view.innerHTML = monthNameML;		menuDiv.appendChild(view);		topContDiv.appendChild(navDiv);		topContDiv.appendChild(dateDiv);		topContDiv.appendChild(ajaxDiv);		topContDiv.appendChild(menuDiv);		var days = document.createElement('DIV');		days.id='bigCalendarDays';		var margin = document.createElement('DIV');		margin.id='bigCalendarDaysMargin';		for(var no=0;no<daynameshort.length;no++){			var day = document.createElement('DIV');			day.className='bigCalendarDaylabel';			day.id='day'+no;			day.innerHTML = '<a href="#" onclick="displayDayFromWeekCalendar('+no+'); return false;">'+daynameshort[no]+' <span></span></a>';			margin.appendChild(day);		}		days.appendChild(margin);		var alldays = document.createElement('DIV');		alldays.id='bigCalendarContainerAllDay';		var allmargin = document.createElement('DIV');		allmargin.id='bigCalendarContainerAllDayMargin';		for(var no=0;no<daynameshort.length;no++){			var allday = document.createElement('DIV');			allday.className='bigCalendarAllDaylabel';			allday.id='allday'+no;			allmargin.appendChild(allday);		}		alldays.appendChild(allmargin);		topDiv.appendChild(topContDiv);		topDiv.appendChild(days);		topDiv.appendChild(alldays);		var contentDiv = document.createElement('DIV');		contentDiv.id = 'bigCalendarContent';		var hours = document.createElement('DIV');		hours.id='bigCalendarHours';		for(var i=0;i<24;i++){			var hour = document.createElement('DIV');			hour.className='bigCalendarTime';			if(i<10) k = '0'+i; else k = i;			hour.innerHTML=k+':00';			hours.appendChild(hour);		}		var events = document.createElement('DIV');		events.id='bigCalendar_events';		for(var i=0;i<7;i++){			var day = document.createElement('DIV');			day.className='bigCalendar_events_day';			day.id='bigCalendar_events_day_'+i;			for(k=0;k<24;k++){				var hour = document.createElement('DIV');				hour.id = 'bigCalendar_events_hour_'+i+'_'+k;				hour.className='bigCalendar_events_hour';				day.appendChild(hour);			}			events.appendChild(day);		}		contentDiv.appendChild(hours);		contentDiv.appendChild(events);		var footer = document.createElement('DIV');		footer.id='bigCalendarFooter';		var footerl = document.createElement('DIV');		footerl.id='bigCalendarFooterLeft';		var footerr = document.createElement('DIV');		footerr.id='bigCalendarFooterRight';		footer.appendChild(footerr);		footer.appendChild(footerl);		calendar_container.appendChild(topDiv);		calendar_container.appendChild(contentDiv);		calendar_container.appendChild(footer);}
function initWeekCalendarDisplay(){		calendar_container = document.getElementById('bigCalendarContainer');		calendar_container.innerHTML = '';				createWeekCalendar();		if(!document.all)calendar_container.onclick = ffEndEdit;				template_container = document.getElementById('template-top');				calendars_container_top = document.getElementById('calendars-container-top');				show_date_container = document.getElementById('bigCalendarDate');				message_ajax_container = document.getElementById('bigCalendarAjax');				margin_days_container = document.getElementById('bigCalendarDaysMargin');				margin_alldays_container = document.getElementById('bigCalendarContainerAllDayMargin');				content_container = document.getElementById('bigCalendarContent');				events_container = document.getElementById('bigCalendar_events');				setSizeWeekCalendar();		var subDivs = events_container.getElementsByTagName('DIV');				dayPositionArray = new Array();		for(var no=0;no<subDivs.length;no++){			if(subDivs[no].className=='bigCalendar_events_hour'){								newAppointmentWidth = subDivs[no].offsetWidth-daysMarginSize;			}			if(subDivs[no].className=='bigCalendar_events_day'){				dayPositionArray[dayPositionArray.length] = getLeftPos(subDivs[no]);			}		}		var subDivs = margin_alldays_container.getElementsByTagName('DIV');		for(var no=0;no<subDivs.length;no++){			if(subDivs[no].className=='bigCalendarAllDaylabel'){								newAppointmentAllDayWidth = subDivs[no].offsetWidth;			}		}		if(initTopHour > weekplannerStartHour) content_container.scrollTop = ((initTopHour - weekplannerStartHour)*(itemRowHeight+1));				appointmentsOffsetTop = getTopPos(events_container);		appointmentsOffsetLeft = getLeftPos(events_container)-1;				document.documentElement.onmousemove = schedulerMouseMove;		document.documentElement.onselectstart = cancelSelectionEvent;		document.documentElement.onmouseup = schedulerMouseUp;		document.documentElement.onkeydown = schedulerKeyboardEvent;		document.documentElement.onclick = schedulerOnClick;		activeCalendarView = 'week';}
function initWeekCalendarDate(){				if(actualYearOfAllCalendar){			var tmpDate = new Date(dateToday);			tmpDate.setUTCFullYear(actualYearOfAllCalendar);			tmpDate.setUTCDate(actualDayOfAllCalendar);			tmpDate.setUTCMonth(actualMonthOfAllCalendar);			dateStartOfWeek = new Date(tmpDate);		}else{			dateStartOfWeek = new Date(dateToday);		}		actualDayOfAllCalendar = dateStartOfWeek.getDate();		actualMonthOfAllCalendar = dateStartOfWeek.getMonth();		actualYearOfAllCalendar = dateStartOfWeek.getFullYear();		var day = dateStartOfWeek.getDay();		if(day==0)day=7;		if(day>1){			var time = dateStartOfWeek.getTime();			time = time - (1000*60*60*24) * (day-1);			dateStartOfWeek.setTime(time);		}		updateHeaderWeekCalendar();		updateTodayWeekCalendar();		updateDateWeekCalendar();		if(externalSourceFile_config){			getConfigFromServer();		}}
function initWeekCalendarFromDate(date){		dateStartOfWeek = new Date();		dateStartOfWeek.setTime(date);		var tmpDate = new Date(actualYearOfAllCalendar,actualMonthOfAllCalendar,actualDayOfAllCalendar);		var day = tmpDate.getDay(); if(day==0)day=7;		actualDayOfAllCalendar = dateStartOfWeek.getDate() + (day-1);		actualMonthOfAllCalendar = dateStartOfWeek.getMonth();		actualYearOfAllCalendar = dateStartOfWeek.getFullYear();				updateHeaderWeekCalendar();		updateTodayWeekCalendar();		updateDateWeekCalendar();				if(externalSourceFile_config){			getConfigFromServer();		}}

function setSizeWeekCalendar(){
documentsize = windowsize();
templatesize = getDivDimension(template_container); 
topcalendarsize = getDivDimension(calendars_container_top);
containersize = getDivDimension(content_container);
contentsize = getDivDimension(events_container);
border_size = 2;  
margin_size = 3; 
scroll_size = 16;
hours_size = 40; 


minbigcalendarwidth = 730;
minbigcalendarheight = 300;

bigcalendarheight = 0;
bigcalendarwidth = 0;


bigcalendarheight = documentsize[1] - templatesize[1] - topcalendarsize[1] - 30;
bigcalendarheight = bigcalendarheight < minbigcalendarheight ? minbigcalendarheight : bigcalendarheight;


left = 0;

width = Math.floor((contentsize[0]-hours_size-scroll_size)/7)-margin_size;


bigcalendarwidth = (((width+margin_size)*7)+hours_size+scroll_size+border_size);


if(bigcalendarwidth<minbigcalendarwidth) {
bigcalendarwidth = minbigcalendarwidth;
width = Math.floor((bigcalendarwidth-hours_size-scroll_size)/7)-margin_size;
}


calendar_container.style.width = bigcalendarwidth+'px';
content_container.style.height = bigcalendarheight-border_size+'px';
events_container.style.width = (bigcalendarwidth-hours_size-scroll_size-border_size)+'px';

for(var i=0;i<7;i++){
document.getElementById("day"+i).style.width=width+'px';
document.getElementById("day"+i).style.left= left+'px';

document.getElementById("allday"+i).style.width=width+'px';
document.getElementById("allday"+i).style.left=left+'px';
document.getElementById("allday"+i).style.height='17px';

document.getElementById("bigCalendar_events_day_"+i).style.width=width+'px';
document.getElementById("bigCalendar_events_day_"+i).style.left=left+'px';
left = left + width + margin_size;
}
}

function setSizeWeekCalendarAllDays(myheight){
document.getElementById("bigCalendarContainerAllDay").style.height=(myheight+3)+'px';

if(activeCalendarView == 'day'){
	document.getElementById("allday0").style.height=myheight+'px';
}else{
	for(var s=0;s<7;s++){
		document.getElementById("allday"+s).style.height=myheight+'px';
	}
}

documentsize = windowsize();
templatesize = getDivDimension(template_container); 
topcalendarsize = getDivDimension(calendars_container_top);


minbigcalendarheight = 300;

bigcalendarheight = documentsize[1] - templatesize[1] - topcalendarsize[1] - 30;
bigcalendarheight = bigcalendarheight < minbigcalendarheight ? minbigcalendarheight : bigcalendarheight;

content_container.style.height = bigcalendarheight-border_size+'px';


appointmentsOffsetTop = getTopPos(events_container);
appointmentsOffsetLeft = getLeftPos(events_container)-1;

}

function displayPreviousWeekCalendar() //gotowa
{
var tmpTime = dateStartOfWeek.getTime();
tmpTime = tmpTime - (1000*60*60*24*7);
dateStartOfWeek.setTime(tmpTime);

var tmpDate = new Date(actualYearOfAllCalendar,actualMonthOfAllCalendar,actualDayOfAllCalendar);
var day = tmpDate.getDay(); if(day==0)day=7;
actualDayOfAllCalendar = dateStartOfWeek.getDate() + (day-1);
actualMonthOfAllCalendar = dateStartOfWeek.getMonth();
actualYearOfAllCalendar = dateStartOfWeek.getFullYear();

updateHeaderWeekCalendar();
updateTodayWeekCalendar();
updateDateWeekCalendar();

clearAppointments();
getItemsFromServer();
getItemsAllDayFromServer();
}

function displayNextWeekCalendar() //gotowa
{

var tmpTime = dateStartOfWeek.getTime();
tmpTime = tmpTime + (1000*60*60*24*7);
dateStartOfWeek.setTime(tmpTime);

var tmpDate = new Date(actualYearOfAllCalendar,actualMonthOfAllCalendar,actualDayOfAllCalendar);
var day = tmpDate.getDay(); if(day==0)day=7;
actualDayOfAllCalendar = dateStartOfWeek.getDate() + (day-1);
actualMonthOfAllCalendar = dateStartOfWeek.getMonth();
actualYearOfAllCalendar = dateStartOfWeek.getFullYear();

updateHeaderWeekCalendar();
updateTodayWeekCalendar();
updateDateWeekCalendar();

clearAppointments();
getItemsFromServer();
getItemsAllDayFromServer();
}

function displayTodayWeekCalendar()
{
dateStartOfWeek = new Date(dateToday);
var day = dateToday.getDay();
if(day==0)day=7;
if(day>1){
var time = dateToday.getTime();
time = time - (1000*60*60*24) * (day-1);
dateStartOfWeek.setTime(time);
}

var tmpDate = new Date(actualYearOfAllCalendar,actualMonthOfAllCalendar,actualDayOfAllCalendar);
var day = tmpDate.getDay(); if(day==0)day=7;
actualDayOfAllCalendar = dateStartOfWeek.getDate() + (day-1);
actualMonthOfAllCalendar = dateStartOfWeek.getMonth();
actualYearOfAllCalendar = dateStartOfWeek.getFullYear();

updateHeaderWeekCalendar();
updateTodayWeekCalendar();
updateDateWeekCalendar();

clearAppointments();
getItemsFromServer();
getItemsAllDayFromServer();
}

function updateHeaderWeekCalendar() 
{
var subDivs = margin_days_container.getElementsByTagName('DIV');

var tmpDate = new Date();
var tmpDate2 = new Date(dateStartOfWeek);


for(var no=0;no<subDivs.length;no++){
var month = tmpDate2.getMonth()/1 + 1;
var date = tmpDate2.getDate();
var year = tmpDate2.getFullYear();
var todayd = tmpDate.getDate();
var todaym = tmpDate.getMonth()/1 + 1;
var todayy = tmpDate.getFullYear();
var tmpHeaderFormat = " " + headerDateFormat;
tmpHeaderFormat = tmpHeaderFormat.replace('dzien',date);
tmpHeaderFormat = tmpHeaderFormat.replace('miesiac',month);
subDivs[no].getElementsByTagName('SPAN')[0].innerHTML = tmpHeaderFormat;

if((month + '|' + date + '|' + year) == (todaym + '|' + todayd + '|' + todayy))
subDivs[no].className='bigCalendarDaylabel bigCalendarTodaylabel';
else
subDivs[no].className='bigCalendarDaylabel';
dayDateArray[no] = month + '|' + date + '|' + year;

var time = tmpDate2.getTime();
time = time + (1000*60*60*24);
tmpDate2.setTime(time);
}

smallCalendarSelectWeekFromDate(dateStartOfWeek);
}

function updateTodayWeekCalendar(){	var tmpDate = new Date();	var today = tmpDate.getDay();	var month = tmpDate.getMonth()/1 + 1;	var date = tmpDate.getDate();	var year = tmpDate.getFullYear();	var subDivs = events_container.getElementsByTagName('DIV');	day_of_week = 0;	for(var no=0;no<subDivs.length;no++){		if(subDivs[no].className=='bigCalendar_events_day' || subDivs[no].className=='bigCalendar_events_day bigCalendar_events_today'){			if(month + '|' + date + '|' + year == dayDateArray[day_of_week]){				subDivs[no].className='bigCalendar_events_day bigCalendar_events_today';			}else{				subDivs[no].className='bigCalendar_events_day';			}			day_of_week++;		}	}}function updateDateWeekCalendar(){	var dateEndOfWeek = new Date();	dateEndOfWeek.setTime(dateStartOfWeek.getTime()+(1000*60*60*24*6));	if(dateStartOfWeek.getMonth() != dateEndOfWeek.getMonth())	show_date_container.innerHTML = '<div>'+dateStartOfWeek.getDate()+ ' '+monthname[dateStartOfWeek.getMonth()] + ' '+dateStartOfWeek.getFullYear() + ' - ' + dateEndOfWeek.getDate()+ ' '+monthname[dateEndOfWeek.getMonth()] + ' '+dateEndOfWeek.getFullYear()+'</div>';	else	show_date_container.innerHTML = '<div>'+dateStartOfWeek.getDate() + '-'+dateEndOfWeek.getDate() + ' '+monthname[dateStartOfWeek.getMonth()] + ' '+dateStartOfWeek.getFullYear()+'</div>';}function displayDayFromWeekCalendar(days){	var tmpTime = dateStartOfWeek.getTime();	tmpTime = tmpTime + (1000*60*60*24*days);	var dateShowDay = new Date();	dateShowDay.setTime(tmpTime);		displayDayFromDayCalendar(dateShowDay);}function displayWeekFromWeekCalendar(week){	data = new Date(smallCalendarStartDisplay.getFullYear(),smallCalendarStartDisplay.getMonth(),smallCalendarStartDisplay.getDate()+(week*7));	var tmpTime = data.getTime();	if(activeCalendarView != 'week'){		initWeekCalendarDisplay();		initWeekCalendarFromDate(tmpTime);	}else{		dateStartOfWeek.setTime(tmpTime);		var tmpDate = new Date(actualYearOfAllCalendar,actualMonthOfAllCalendar,actualDayOfAllCalendar);		var day = tmpDate.getDay(); if(day==0)day=7;		actualDayOfAllCalendar = dateStartOfWeek.getDate() + (day-1);		actualMonthOfAllCalendar = dateStartOfWeek.getMonth();		actualYearOfAllCalendar = dateStartOfWeek.getFullYear();		updateHeaderWeekCalendar();		updateTodayWeekCalendar();		updateDateWeekCalendar();		clearAppointments();		getItemsFromServer();		getItemsAllDayFromServer();	}}

