function initMonthCalendar(){		initMonthCalendarDisplay();		initMonthCalendarDate();		globalEvents();}function createMonthCalendar(){		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="displayTodayMonthCalendar();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="displayPreviousMonthCalendar();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="displayNextMonthCalendar();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.onmouseover = new Function('this.className=\'mark\';');		view.onmouseout = new Function('this.className=\'\';');		view.innerHTML = weekNameML;		view.onclick= initWeekCalendar;		menuDiv.appendChild(view);		var view = document.createElement('DIV');		view.id = 'bigCalendar_month';		view.className='active';		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='bigCalendarDaysMarginMonth';		for(var no=0;no<dayname.length;no++){			var day = document.createElement('DIV');			day.className='bigCalendarDaylabel';			day.id='day'+no;			day.innerHTML = dayname[no];			margin.appendChild(day);		}		days.appendChild(margin);		topDiv.appendChild(topContDiv);		topDiv.appendChild(days);		var contentDiv = document.createElement('DIV');		contentDiv.id = 'bigCalendarContent';		var events = document.createElement('DIV');		events.id='bigCalendar_events_month';		for(var i=0;i<35;i++){			var day = document.createElement('DIV');			day.className='bigCalendar_events_day_month';			day.id='allday'+i;			var day_header = document.createElement('DIV');			day_header.className='bigCalendar_events_day_month_heder';			day_header.id='bigCalendar_events_day_header_'+i;						day.appendChild(day_header);			events.appendChild(day);		}		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 initMonthCalendarDisplay(){		calendar_container = document.getElementById('bigCalendarContainer');		calendar_container.innerHTML = '';				createMonthCalendar();		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('bigCalendarDaysMarginMonth');				content_container = document.getElementById('bigCalendarContent');				events_container = document.getElementById('bigCalendar_events_month');		margin_alldays_container = document.getElementById('bigCalendar_events_month');				setSizeMonthkCalendar();		var subDivs = events_container.getElementsByTagName('DIV');		alldayMonthPositionLeftArray = new Array();		alldayMonthPositionTopArray = new Array();				for(var no=0;no<subDivs.length;no++){			if(subDivs[no].className=='bigCalendar_events_day_month'){								newAppointmentAllDayWidth = subDivs[no].offsetWidth-daysMarginSize;			}			if(subDivs[no].className=='bigCalendar_events_day_month'){				alldayMonthPositionLeftArray[alldayMonthPositionLeftArray.length] = getLeftPos(subDivs[no]);				alldayMonthPositionTopArray[alldayMonthPositionTopArray.length] = getTopPos(subDivs[no]);			}		}		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 = 'month';}
function initMonthCalendarDate(){
if(actualYearOfAllCalendar){
var tmpDate = new Date(dateToday);
tmpDate.setUTCFullYear(actualYearOfAllCalendar);
tmpDate.setUTCDate(actualDayOfAllCalendar);
tmpDate.setUTCMonth(actualMonthOfAllCalendar);

dateStartOfMonth = new Date(tmpDate.getFullYear(),tmpDate.getMonth(),1);
dateDisplayOfMonth = new Date(dateStartOfMonth.getFullYear(), dateStartOfMonth.getMonth(), dateStartOfMonth.getDate()- (dateStartOfMonth.getDay()-1));

}else{
dateStartOfMonth = new Date(dateToday.getFullYear(),dateToday.getMonth(),1);
dateDisplayOfMonth = new Date(dateStartOfMonth.getFullYear(), dateStartOfMonth.getMonth(), dateStartOfMonth.getDate()- (dateStartOfMonth.getDay()-1));
}

actualMonthOfAllCalendar = dateStartOfMonth.getMonth();
actualYearOfAllCalendar = dateStartOfMonth.getFullYear();
updateHeaderMonthCalendar()
updateDateMonthCalendar();
if(externalSourceFile_config){
getConfigMonthFromServer();}}
function initMonthCalendarFromDate(date){
dateStartOfMonth = new Date(date.getFullYear(),date.getMonth(),1);
dateDisplayOfMonth = new Date(dateStartOfMonth.getFullYear(), dateStartOfMonth.getMonth(), dateStartOfMonth.getDate()- (dateStartOfMonth.getDay()-1));
actualMonthOfAllCalendar = dateStartOfMonth.getMonth();
actualYearOfAllCalendar = dateStartOfMonth.getFullYear();
updateHeaderMonthCalendar()
updateDateMonthCalendar();
if(externalSourceFile_config){
getConfigMonthFromServer();
}}
function setSizeMonthkCalendar(){
documentsize = windowsize();
templatesize = getdivsize("template-top");
topcalendarsize = getDivDimension(calendars_container_top);
containersize = getdivsize("calendars-container-right");
contentsize = getdivsize("bigCalendarContent");
border_size = 2;
margin_size = 1;
scroll_size = 0;
hours_size = 0;
minbigcalendarwidth = 730;
minbigcalendarheight = 300;
bigcalendarheight = 0;
bigcalendarwidth = 0;
bigcalendarheight = documentsize[1] - templatesize[1] - 70;
height = Math.floor(bigcalendarheight/5);
bigcalendarheight = (height*5);
if(bigcalendarheight<minbigcalendarheight) {
bigcalendarheight = minbigcalendarheight;
height = Math.floor(bigcalendarheight/5);
}
bigcalendarwidth = contentsize[0];
width = Math.floor(bigcalendarwidth/7);
bigcalendarwidth = (width*7)+border_size;
if(bigcalendarwidth<minbigcalendarwidth) {
bigcalendarwidth = minbigcalendarwidth;
width = Math.floor(bigcalendarwidth/7);
bigcalendarwidth = (width*7)+border_size;}
calendar_container.style.width = bigcalendarwidth+'px';
content_container.style.height = bigcalendarheight+'px';
var is_chrome_cm = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
width = width - (is_chrome_cm ? 4 : 1);
left = 0;
for(var i=0;i<7;i++){
document.getElementById("day"+i).style.width=width+'px';
document.getElementById("day"+i).style.left= left+'px';
left = left + width + margin_size;}
for(var i=0;i<35;i++){
document.getElementById("allday"+i).style.width=width+'px';
document.getElementById("allday"+i).style.height=height+'px';
left = left + width + margin_size;}}
function displayPreviousMonthCalendar()
{
dateStartOfMonth = new Date(dateStartOfMonth.getFullYear(),dateStartOfMonth.getMonth()-1,1);
days = dateStartOfMonth.getDay() > 0 ? dateStartOfMonth.getDay() -1 : 6;
dateDisplayOfMonth = new Date(dateStartOfMonth.getFullYear(), dateStartOfMonth.getMonth(), dateStartOfMonth.getDate() - days);
actualMonthOfAllCalendar = dateStartOfMonth.getMonth();
actualYearOfAllCalendar = dateStartOfMonth.getFullYear();

updateHeaderMonthCalendar()
updateDateMonthCalendar();
clearAppointments3();
getItemsAllDayMonthFromServer();}
function displayNextMonthCalendar() {
dateStartOfMonth = new Date(dateStartOfMonth.getFullYear(),dateStartOfMonth.getMonth()+1,1);
days = dateStartOfMonth.getDay() > 0 ? dateStartOfMonth.getDay() -1 : 6;
dateDisplayOfMonth = new Date(dateStartOfMonth.getFullYear(), dateStartOfMonth.getMonth(), dateStartOfMonth.getDate()- days);
actualMonthOfAllCalendar = dateStartOfMonth.getMonth();
actualYearOfAllCalendar = dateStartOfMonth.getFullYear();

updateHeaderMonthCalendar()
updateDateMonthCalendar();

clearAppointments3();
getItemsAllDayMonthFromServer();
}

function displayTodayMonthCalendar() 
{

dateStartOfMonth = new Date(dateToday.getFullYear(),dateToday.getMonth(),1);
days = dateStartOfMonth.getDay() > 0 ? dateStartOfMonth.getDay() -1 : 6;
dateDisplayOfMonth = new Date(dateStartOfMonth.getFullYear(),dateStartOfMonth.getMonth(),dateStartOfMonth.getDate()- days)
actualMonthOfAllCalendar = dateStartOfMonth.getMonth();
actualYearOfAllCalendar = dateStartOfMonth.getFullYear();

updateHeaderMonthCalendar()
updateDateMonthCalendar();

clearAppointments3();
getItemsAllDayMonthFromServer();
}

function updateHeaderMonthCalendar() 
{
var start = new Date();
start.setTime(dateDisplayOfMonth.getTime());

for(var no=0;no<35;no++){
alldiv = document.getElementById('allday'+no);
day = document.getElementById('bigCalendar_events_day_header_'+no);


day.innerHTML = '<a href="#" onmousedown="displayDayFromMonthCalendar('+no+'); return false;"><span>'+start.getDate()+'</span></a>';

if(start.getMonth() == dateStartOfMonth.getMonth()){
classname = 'bigCalendar_events_day_month_heder bigCalendar_events_day_month_heder_onmonth';
}else{
classname = 'bigCalendar_events_day_month_heder bigCalendar_events_day_month_heder_offmonth';
}

if(start.getDate() == dateToday.getDate() && start.getMonth() == dateToday.getMonth() && start.getFullYear() == dateToday.getFullYear()){
classname = classname + ' bigCalendar_events_day_month_heder_today';
alldiv.style.backgroundColor = '#ffffcc';
}else{
alldiv.style.backgroundColor = '#ffffff';
}

day.className = classname;


start.setDate(start.getDate()+1);
}

smallCalendarSelectMonthFromDate(dateStartOfMonth);
}

function updateTodayMonthCalendar() 
{
var tmpDate = new Date();
var today = tmpDate.getDay();
var month = tmpDate.getMonth()/1 + 1;
var date = tmpDate.getDate();

var subDivs = weekScheduler_appointments.getElementsByTagName('DIV');

day_of_week = 0;
for(var no=0;no<subDivs.length;no++){
if(subDivs[no].className=='weekScheduler_appointments_month'){
if(month + '|' + date == dayDateArray[day_of_week]){
subDivs[no].id='weekScheduler_appointments_today';
}else{
subDivs[no].id='';
}
day_of_week++;
}}}
function displayDayFromMonthCalendar(days){
var tmpTime = dateDisplayOfMonth.getTime();
tmpTime = tmpTime + (1000*60*60*24*days);
var dateShowDay = new Date();
dateShowDay.setTime(tmpTime);
displayDayFromDayCalendar(dateShowDay);}
function updateDateMonthCalendar() 
{
var show_date = document.getElementById('show_date');
show_date_container.innerHTML = '<div>'+monthname[dateStartOfMonth.getMonth()] + ' ' + dateStartOfMonth.getFullYear()+'</div>';
}

function displayMonthFromMonthCalendar(date){
if(activeCalendarView != 'month'){
initMonthCalendarDisplay();
initMonthCalendarFromDate(date);
}else{
dateStartOfMonth = new Date(date.getFullYear(),date.getMonth(),1);
dateDisplayOfMonth = new Date(dateStartOfMonth.getFullYear(), dateStartOfMonth.getMonth(), dateStartOfMonth.getDate()- (dateStartOfMonth.getDay()-1));
actualMonthOfAllCalendar = dateStartOfMonth.getMonth();
actualYearOfAllCalendar = dateStartOfMonth.getFullYear();
updateHeaderMonthCalendar();
updateDateMonthCalendar();
clearAppointments3();getItemsAllDayMonthFromServer();}}

