document.write('<script language="javascript" src="' + 'commonFunctions/BrowserDetection.js"></script>');


/*=================================================
	Variabelen voor de kalender:
===================================================*/
var vandaagBorderColor = 'AAAA00';//'E20275';	//de kleur voor de border rond de cel van de huidige datum
var blnVerbergAfgelopen = true;
var oRow, oCell, oTHead;
var activiteitenArray;
var activiteitTypesArray;
var lastSelected = null;



/*=================================================
	Constructor 'myDate' en
	functies om de arrays op te vullen
	en de gewenste data eruit te halen
===================================================*/
function myDate(jaar, maand, dag, id, activiteitStr, activiteitType) {
   this.jaar = parseInt(jaar);
   this.maand = parseInt(maand);
   this.dag = parseInt(dag);
   this.id = id;
   this.activiteitStr = activiteitStr;
   this.activiteitType = activiteitType;
} 

function dateMoetVerborgenWorden(j,m,d) {
	if (blnVerbergAfgelopen) {
		var vandaag = new Date();
		var datumValue = new Date(j,m,d+1);
		if (datumValue < vandaag) return true;
	}
	return false;
} 

function typeIsInActiviteitenArray(type) {
	for (var i=0;i<activiteitenArray.length;i++) {
		if (activiteitenArray[i].activiteitType==type  && (!dateMoetVerborgenWorden(activiteitenArray[i].jaar,activiteitenArray[i].maand,activiteitenArray[i].dag))) 
			return true;
	}
	return false;
} 

function dateIsInActiviteitenArray(j,m,d) {
	if (dateMoetVerborgenWorden(j,m,d)) return false; 	
	
	for (var i=0;i<activiteitenArray.length;i++) {
		if (parseInt(activiteitenArray[i].jaar)==parseInt(j))
			if (parseInt(activiteitenArray[i].maand)==parseInt(m))
				if (parseInt(activiteitenArray[i].dag)==parseInt(d))
					return true;
	}
	return false;
} 

function findActiviteit(id) {
	var s = "";
	
	for (var i=0;i<activiteitenArray.length;i++) {
		if (activiteitenArray[i].id==id) {
			if (s!="") s += "<hr class=lijntje size=0 width=100%>"	
			s += activiteitenArray[i].activiteitStr;
		}
	}
	//if (s=="") s="<table class=myTable border=0><tr height=10><td></td></tr></table>";
	return s;
} 

function addDateToActiviteitenArray(j,m,d,s,t) {
	id = j + "-" + parseInt(m+1) + "-" + d;
	if (!activiteitenArray) activiteitenArray = new Array();
	activiteitenArray.push(new myDate(j,m,d,id,s,t));
} 

function fillActiviteitenArray() {
	activiteitenArray = null;
	activiteitenArray = new Array();
	/*
	addDateToActiviteitenArray(2005,2,1,"test 2005-03-01","testType1");
	addDateToActiviteitenArray(2005,2,3,"test 2005-03-03","testType1");
	addDateToActiviteitenArray(2005,2,12,"test 2005-03-12","testType2");
	addDateToActiviteitenArray(2005,2,12,"test2 2005-03-12","testType2");
	/**/
	activiteitenArray.sort();
} 

function fillActiviteitenTypesArray(s) {
	if (activiteitTypesArray == null) activiteitTypesArray = new Array();
	activiteitTypesArray.push(s);
}



/*=================================================
	Functies om de kalender te tekenen 
	en te bewerken
===================================================*/
function deleteLinksTable() {
	for (var i=document.getElementById('linksTable').rows.length-1;i>=0;i--) {
		document.getElementById('linksTable').deleteRow(i);
	}
} 

function deleteMonth() {
	for (var i=document.getElementById('oTable').rows.length-1;i>=0;i--) {
		document.getElementById('oTable').deleteRow(i);
	}
} 

function browseMonth(s) {
	currMaand = document.getElementById('oTable').rows[0].cells[1].id;
	str = document.getElementById('oTable').rows[0].cells[1].innerHTML;
	jaar = str.slice(str.length-4,str.length); 	
	deleteMonth(); 	
	if (s=="next") {
		if (parseInt(currMaand)<11) setCalendar(parseInt(currMaand)+1,parseInt(jaar));
		else setCalendar(0,parseInt(jaar)+1);
	}
	else {
		if (parseInt(currMaand)>0) setCalendar(parseInt(currMaand)-1,parseInt(jaar));
		else setCalendar(11,parseInt(jaar)-1);
	}
} 

function dezeMaand() {
	if (document.getElementById('oTable').rows.length>0) deleteMonth();
	if (!activiteitenArray) fillActiviteitenArray();
	var vandaag = new Date();
	setCalendar(vandaag.getMonth(),vandaag.getFullYear());
	datumStr = vandaag.getFullYear() + "-" + parseInt(vandaag.getMonth()+1) + "-" + vandaag.getDate();
	parent.window.document.getElementById('divRight').innerHTML = unescape(findActiviteit(datumStr));
	setCellSelected(getCellWithID(datumStr));
	//alert("dezeMaand");
} 

function setCalendar(maand,jaar) {
	var isVandaag = false;
	var vandaag = new Date();
	datumValue = new Date(jaar,maand,1); 	
	
	do {
		isVandaag = false;
		if (vandaag.getDate()==datumValue.getDate() && 
			vandaag.getMonth()==datumValue.getMonth() &&
			vandaag.getFullYear()==datumValue.getFullYear()) isVandaag=true;		
			
		datumStr = datumValue.getFullYear() + "-" + parseInt(datumValue.getMonth()+1) + "-" + datumValue.getDate();
		
		if (dateIsInActiviteitenArray(datumValue.getFullYear(),datumValue.getMonth(),datumValue.getDate())) 
			insertDag(datumValue.getDay(),datumValue.getDate(),maand,datumValue.getFullYear(),datumStr,isVandaag);
		else insertDag(datumValue.getDay(),datumValue.getDate(),maand,datumValue.getFullYear(),"",isVandaag); 	
		datumValue.setDate(datumValue.getDate()+1);
		
	} while(datumValue.getMonth()==maand); 	
	
	deleteLinksTable(); 	
	
	var linksTableBody = document.getElementById('linksTableBody'); 	
	
	for (var i=0;i<activiteitTypesArray.length;i++) {
		if (typeIsInActiviteitenArray(activiteitTypesArray[i]) || i==0 || i==activiteitTypesArray.length-1) {
			oRow = linksTableBody.insertRow(linksTableBody.rows.length);
    		oCell = oRow.insertCell(oRow.cells.length);
			oCell.innerHTML = activiteitTypesArray[i];
			oCell.className = "linkText";
			oCell.onmouseover = calLinksMouseEvents;
			oCell.onmouseout = calLinksMouseEvents;	
			oCell.onclick = calLinksMouseEvents; 			
			
			if (i==0) oCell.id = "vandaag";
			else if (i==activiteitTypesArray.length-1) oCell.id = "blnToonVerberg";
			else oCell.id = activiteitTypesArray[i]; 			
			
			if (i==0 || i==activiteitTypesArray.length-1) {
				if (i==0) oRow = linksTableBody.insertRow(linksTableBody.rows.length);
				else oRow = linksTableBody.insertRow(linksTableBody.rows.length-1);
				oCell = oRow.insertCell(oRow.cells.length);
				oCell.style.height = 8;
			}
		}
	}
} 

function getCellWithID(id) {
	for (var r=2;r<document.getElementById('oTable').rows.length;r++) {
		for (var i=0;i<(document.getElementById('oTable').rows[r]).cells.length;i++) {
			if (document.getElementById('oTable').rows[r].cells[i].id == id) return document.getElementById('oTable').rows[r].cells[i];
		}
	}
	return 0;
} 

function setCellSelected(c) {
	if (c.className == 'calendarCell_Selected') return;
	c.className = 'calendarCell_Selected';
	if (lastSelected) lastSelected.className = 'calendarCell_Special';
	lastSelected = c;
	parent.window.document.getElementById('divRight').innerHTML = unescape(findActiviteit(c.id));
} 

function insertDag(dagNr,dagDatum,maandNr,jaar,id,isVandaag) {
	if (document.getElementById('oTable').rows.length==0) {
		oTHead = document.getElementById('oTable').createTHead();
		oRow = oTHead.insertRow(0);
		oCell = oRow.insertCell(0); 		
		
		if (BrowserDetect.browser=='Firefox') oCell.innerHTML = "<<";
		else oCell.innerHTML = "<<<";
		oCell.className = 'calendarCell_Nav_Normal';
		oCell.id = "arrowLeft";
		oCell.onclick = handleEvent;
		oCell.onmouseover = handleEvent;
		oCell.onmouseout = handleEvent;	
		
		var maandNaam = new Array;
		maandNaam[0] = "Januari";
		maandNaam[1] = "Februari";
		maandNaam[2] = "Maart";
		maandNaam[3] = "April";
		maandNaam[4] = "Mei";
		maandNaam[5] = "Juni";
		maandNaam[6] = "Juli";
		maandNaam[7] = "Augustus";
		maandNaam[8] = "September";
		maandNaam[9] = "Oktober";
		maandNaam[10] = "November";
		maandNaam[11] = "December";
		
		oCell = oRow.insertCell(oRow.cells.length);
		oCell.colSpan = 5;
		oCell.innerHTML = maandNaam[maandNr] + " " + jaar;
		oCell.className = 'calendarCell_Head_Maand';
		oCell.id = maandNr;
		
		oCell = oRow.insertCell(oRow.cells.length);
		oCell.innerHTML = ">>";
		oCell.className = 'calendarCell_Nav_Normal';
		oCell.id = "arrowRight";
		oCell.onclick = handleEvent;
		oCell.onmouseover = handleEvent;
		oCell.onmouseout = handleEvent;
				
		oRow = oTHead.insertRow(document.getElementById('oTable').rows.length);	
		
		var weekdag = new Array;
		weekdag[0] = "Zo";
		weekdag[1] = "Ma";
		weekdag[2] = "Di";
		weekdag[3] = "Wo";
		weekdag[4] = "Do";
		weekdag[5] = "Vr";
		weekdag[6] = "Za"; 	
			
		for (var i=0;i<7;i++) {
			oCell = oRow.insertCell(oRow.cells.length);
			oCell.innerHTML = weekdag[i];
			oCell.id = "head";
			oCell.className = 'calendarCell_Head_Weekdagen';
		} 		oRow = oTHead.insertRow(oTHead.rows.length); 	
			
		for (var i=0;i<dagNr;i++) {
			oCell = oRow.insertCell(oRow.cells.length);
			oCell.id = "head";
		}
	} 	else {
		if (dagNr==0) oRow = document.getElementById('oTBody0').insertRow(document.getElementById('oTBody0').rows.length);
		else oRow = document.getElementById('oTable').rows[document.getElementById('oTable').rows.length-1];
	}     oCell = oRow.insertCell(oRow.cells.length);
	oCell.id = id;
	
	if (id!="") { 		oCell.innerHTML  = dagDatum;
		oCell.onclick = handleEvent;
		oCell.onmouseover = handleEvent;
		oCell.onmouseout = handleEvent;
		oCell.className = 'calendarCell_Special';
		oCell.style.cursor = 'hand';
	}
	else {
		oCell.innerHTML = dagDatum;
		oCell.style.cursor= 'default';
	} 	if (!oCell.className) oCell.className = 'calendarCell_Normal'; 	
	if (isVandaag) {
		oCell.style.borderColor= vandaagBorderColor;
		oCell.style.borderWidth= 2;
	}
}


/*=================================================
	Event handling voor de kalender:
===================================================*/
function handleEvent(aEvent){
  // if aEvent is null, means the IE event model, so get window.event.
  var myEvent = aEvent ? aEvent : window.event;
  var c;
  if (myEvent.target) c = myEvent.target;
  else c = myEvent.srcElement;    if (myEvent.type=="mouseover" && c.className != 'calendarCell_Selected') {
  		if (c.className=='calendarCell_Nav_Normal')
			c.className = 'calendarCell_Nav_Hover';
	  	else
			if (c.id == "arrowRight" || c.id == "arrowLeft")
				c.className = 'calendarCell_Nav_Hover';
			else
				c.className = 'calendarCell_Hover';
  }   if (myEvent.type=="mouseout"  && c.className != 'calendarCell_Selected') {
  		if (c.className=='calendarCell_Nav_Hover') 
			c.className = 'calendarCell_Nav_Normal';
  		else
			if (c.id == "arrowRight" || c.id == "arrowLeft")
				c.className = 'calendarCell_Nav_Normal';
			else
				c.className = 'calendarCell_Special';
  }   if (myEvent.type=="click") {
		if (c.id == "arrowRight") { browseMonth("next"); return; }
		if (c.id == "arrowLeft") { browseMonth("previous"); return; }
		setCellSelected(c);
  }   if (myEvent.type=="change") {
  		c.className = 'calendarCell_Nav_Hover';
  } 
} 

function resetViewLinksTable() {
	for (var r=0;r<document.getElementById('linksTable').rows.length;r++) {
		for (var i=0;i<(document.getElementById('linksTable').rows[r]).cells.length;i++) {
			document.getElementById('linksTable').rows[r].cells[i].className = "linkText";
		}
	}
}



/*=================================================
	Functions voor de links onder de kalender:
===================================================*/
function calLinksMouseEvents(aEvent) {
	resetViewLinksTable();
	var myEvent = aEvent ? aEvent : window.event;
	var c;
	if (myEvent.target) c = myEvent.target;
	else c = myEvent.srcElement; 	
	
	if (myEvent.type=="mouseover") c.className = "linkText_MouseOver";
	if (myEvent.type=="mouseout") c.className = "linkText";
	if (myEvent.type=="click") {
		if (c.id=="vandaag") {
			dezeMaand();
			return;
		}
		if (c.id=="blnToonVerberg") {
			verbergAfgelopen(c);
		}
		else mouseClickText(c.id);
	}
} 

function mouseOverText(t) {
	t.className = "linkText_MouseOver";
} 

function mouseOutText(t) {
	t.className = "linkText";
} 

function mouseClickText(t) {
	var s = "";
	var blnOk = true; 	
	
	for (var i=0;i<activiteitenArray.length;i++) {
		if (activiteitenArray[i].activiteitType==t) {
			if (blnVerbergAfgelopen) {
				var datumValue = new Date(activiteitenArray[i].jaar,activiteitenArray[i].maand,activiteitenArray[i].dag+1);
				var vandaag = new Date();
				if (datumValue > vandaag) blnOk = true;
				else blnOk = false;				
			} 			if (blnOk) {
				if (s!="") s += "<hr class=lijntje size=0 width=100%>"	
				s += activiteitenArray[i].activiteitStr;
			}
		}
	} 	
	
	parent.window.document.getElementById('divRight').innerHTML = unescape(s); 	
	
	if (lastSelected) lastSelected.className = 'calendarCell_Special';
} 

function verbergAfgelopen(t) {
	if (t.innerHTML=="*Verberg afgelopen") {
		t.innerHTML = "*Toon afgelopen";
		blnVerbergAfgelopen = true;
		activiteitTypesArray[activiteitTypesArray.length-1] = "*Toon afgelopen";
	}
	else {
		t.innerHTML = "*Verberg afgelopen";
		blnVerbergAfgelopen = false;
		activiteitTypesArray[activiteitTypesArray.length-1] = "*Verberg afgelopen";
	}
	
	dezeMaand();
} 



/*=================================================
	Functions om de taken 
	voor een persoon te zoeken:
===================================================*/ 
function zoekTakenPersoonEnterKey(e) {
	var key = window.event ? e.keyCode : e.which;
	if (key != 13) return;
	//document.getElementById('zoekBtn').focus();
	zoekTakenPersoon();
} 

function zoekTakenPersoon() {
	var url = "agenda/zoekTakenPersoon.php?pers=" + document.getElementById('zoekPersoon').value;
	url += "&blnVerbergAfgelopen=";
	if (blnVerbergAfgelopen) url += 1;
	else url += 0;
	
	var hiddenFrameObj = document.getElementById("hiddenFrame");
	hiddenFrameObj.src = url;
} 

function onLoadIFrame() {
	var IFrameObj = document.getElementById("hiddenFrame");
	
	var IFrameDoc;
	if (IFrameObj.contentDocument) {
	    // For NS6
		IFrameDoc = IFrameObj.contentDocument; 
	} else if (IFrameObj.contentWindow) {
	    // For IE5.5 and IE6
		IFrameDoc = IFrameObj.contentWindow.document;
    } else if (IFrameObj.document) {
        // For IE5
        IFrameDoc = IFrameObj.document;
    } 

	parent.window.document.getElementById('divRight').innerHTML = IFrameDoc.body.innerHTML;
} 