// JavaScript Document

/* EVENT LISTENERS */
addEvent(window, 'load', init);

function init(){
			
	
}

/* FUNCTIONS */
function addEvent(obj, evType, fn){ 
	try{
		if (obj.addEventListener){ 
			obj.addEventListener(evType, fn, false); 
			return true; 
		} else if (obj.attachEvent){ 
			var r = obj.attachEvent("on"+evType, fn); 
			return r; 
		} else { 
			return false; 
		} 
	}catch(e){ }
}

function clearDate(){
	if(document.getElementById('birthdate').value == 'dd-mm-jjjj'){
		document.getElementById('birthdate').value = '';
		document.getElementById('birthdate').className="formfield smaller";
	}
}

function clearAddress(){
	if(document.getElementById('address').value == 'straat en huisnummer'){
		document.getElementById('address').value = '';
		document.getElementById('address').className="formfield";
	}
}

function clearPostAddress(){
	if(document.getElementById('postaddressAddress').value == 'postbus of straat en huisnummer'){
		document.getElementById('postaddressAddress').value = '';
		document.getElementById('postaddressAddress').className="formfield";
	}
}

function showFields(){
	if(document.getElementById('postaddressFields').style.display == 'none'){
		document.getElementById('postaddressFields').style.display = "block";
	}else{
		document.getElementById('postaddressFields').style.display = "none";
	}	
}

function displayHiddenIEdivs() {
	var o = document.getElementById('contentFourBlocksBottom');
	if (o != undefined) {
		o.style.display = 'block';
	}
}

/* left menu */
function leftMenu(showSubMenu){
	for(q = 0; q < totalLeftMenuItems; q++){
	 	document.getElementById('leftMenuSub'+q).style.display="none";
	 	
	 	document.getElementById('leftMenuHoofd'+q).style.color="#375584";
	 	
	}
	
	document.getElementById('leftMenuSub'+showSubMenu).style.display="block";
	document.getElementById('leftMenuHoofd'+showSubMenu).style.color="#e13540";
}

/* Zoekveld */
function emptyValue(elm, tekst){
	if(document.getElementById(elm).value==tekst){
		//document.getElementById(elm).style.color = '#000000';
		document.getElementById(elm).value="";
	}
}

function returnValue(elm, tekst){
	if(document.getElementById(elm).value==""){
		//document.getElementById(elm).style.color = '#a1a1a1';
		document.getElementById(elm).value=tekst;		
	}
}

/* roll over for default buttons */
function changeImage(element, new_image){	
	element.src = new_image;
}

/* Upload CV Form */
function enableSelectbox(id) {
	// Disable all together
	document.frmUploadCV.aanzetInternet.disabled = "disabled";
	document.frmUploadCV.aanzetKrant.disabled = "disabled"
	document.frmUploadCV.aanzetVakblad.disabled = "disabled"
	document.frmUploadCV.aanzetEvenement.disabled = "disabled"
	document.frmUploadCV.aanzetOverig.disabled = "disabled"
	
	// Enable the passed selectbox
	document.getElementById(id).disabled = false;	
}

/* roll over for action */
var oldLeftImage = '';
var oldRightImage = '';

function changeActionImageLeft(element, new_image){	
	if(element.src == imageUrl +'btn_scroll_left_dimmed.gif'){
		return false;
	}else{
		if(new_image != imageUrl +'btn_scroll_left_mo.gif'){		
			element.src = oldLeftImage;
		}else{
			oldLeftImage = element.src;
			element.src = new_image;
		}
	}
}

function changeActionImageRight(element, new_image){	
	if(element.src == imageUrl +'btn_scroll_right_dimmed.gif'){
		return false;
	}else{
		if(new_image != imageUrl +'btn_scroll_right_mo.gif'){		
			element.src = oldRightImage;
		}else{
			oldRightImage = element.src;
			element.src = new_image;
		}
	}
}

function emptyValue(elm, tekst){
	if(document.getElementById(elm).value==tekst){
		document.getElementById(elm).value="";
	}
}
function returnValue(elm, tekst){
	if(document.getElementById(elm).value==""){
		document.getElementById(elm).value=tekst;
	}
}

function popUp(link , width , height){
	window.open(link, 'venster', 'width=' + width + ',height=' + height + ',scrollbars=yes,toolbar=no,location=no,status=no,resize=no');
}

function expandAll(startDiv) {
	var divObj = document.getElementById(startDiv);
	if (divObj == "object") {
		for (var i=0;i<divObj.childNodes.length;i++) {
			if (divObj.childNodes[i].nodeName == "DIV" && divObj.childNodes[i].id.substr(0,6) == "folder") {
				toggleFolder(divObj.childNodes[i].id, document.getElementById("image" + divObj.childNodes[i].id.substr(6)));
				expandAll(divObj.childNodes[i].id);
			}
		}
	}
}

function closeAll(startDiv) {
	expandAll(startDiv);
	var divObj = document.getElementById(startDiv);
	for (var i=0;i<divObj.childNodes.length;i++) {
		if (divObj.childNodes[i].nodeName == "DIV" && divObj.childNodes[i].id.substr(0,6) == "folder") {
			toggleFolder(divObj.childNodes[i].id, document.getElementById("image" + divObj.childNodes[i].id.substr(6)));
			expandAll(divObj.childNodes[i].id);
		}
	}
}

function expandItem(theID, startDiv) {
	var divObj = document.getElementById(startDiv);
	var found = false;
	for (var i=0;i<divObj.childNodes.length;i++) {
		if (divObj.childNodes[i].nodeName == "DIV" && divObj.childNodes[i].id.substr(0,6) == "folder") {
			found = expandItem(theID, divObj.childNodes[i].id);
			if (divObj.childNodes[i].id == "folder" + theID) {
				// current element found
				toggleFolder(divObj.childNodes[i].id, document.getElementById("image" + divObj.childNodes[i].id.substr(6)));
				return true;
			}
			if (found) {
				toggleFolder(divObj.childNodes[i].id, document.getElementById("image" + divObj.childNodes[i].id.substr(6)));
				return true;
			}
		}
	}
	return found;
}

function toggleFolder(id, imageNode) {
	var folder = document.getElementById(id);
	var l = imageNode.src.length;
	if (imageNode.src.substring(l-21,l)=="tree_folderclosed.png" || imageNode.src.substring(l-19,l)=="tree_folderopen.png") {
		imageNode = imageNode.previousSibling;
		l = imageNode.src.length;
	}
	if (folder == null) {
	} 
	else if (folder.style.display == "block")  {
		if (imageNode != null) {
			imageNode.nextSibling.src = imgPath+"sitemap/tree_folderclosed.png";
			if (imageNode.src.substring(l-14,l) == "tree_mnode.png") {
				imageNode.src = imgPath+"sitemap/tree_pnode.png";
			}
			else if (imageNode.src.substring(l-18,l) == "tree_mlastnode.png") {
				imageNode.src = imgPath+"sitemap/tree_plastnode.png";
			}
		}
		folder.style.display = "none";
	} 
	else {
		if (imageNode != null) {
			imageNode.nextSibling.src = imgPath+"sitemap/tree_folderopen.png";
			if (imageNode.src.substring(l-14,l) == "tree_pnode.png") {
				imageNode.src = imgPath+"sitemap/tree_mnode.png";
			}
			else if (imageNode.src.substring(l-18,l) == "tree_plastnode.png") {
				imageNode.src = imgPath+"sitemap/tree_mlastnode.png";
			}
		}
		folder.style.display = "block";
	}
	//updateRowColor();
}

/* Menu functions */
var activeItem = '';

function toggleSubmenu(showItem){
	if(document.getElementById('subMenu'+showItem).style.display =='block'){
		hideAllSubmenus();
	}else{
		showSubmenu(showItem)
	}
}

function showSubmenu(showItem){	
	hideAllSubmenus();
	
	// show submenu items
	document.getElementById('subMenu'+showItem).style.display= "block";
	// show submenu
	document.getElementById('subMenu').style.display= "block";
	document.getElementById('subMenuIe6Fix').style.display= "block";
	
	activeItem = showItem;
	if(document.getElementById('menuitem'+showItem) != null) {
		activeItemObject = document.getElementById('menuitem'+showItem);
		AddClassName(activeItemObject, 'over');
		AddClassName(activeItemObject, 'active');
	}
}

function hideAllSubmenus(){
	// hide submenus
	for(var q = 1; q < 5; q++){
		if (document.getElementById('subMenu'+q) != null) {
			document.getElementById('subMenu'+q).style.display= "none";
		}
		if (document.getElementById('menuitem'+q) != null ) {

			RemoveClassName(document.getElementById('menuitem'+q),'over');
			RemoveClassName(document.getElementById('menuitem'+q),'active');
		}
	}
	
	document.getElementById('subMenu').style.display = 'none';
	document.getElementById('subMenuIe6Fix').style.display = 'none';
}

var submenuTimer;
function startTimerSubmenus(){
	submenuTimer = setTimeout("hideAllSubmenus()",1000); 
	// hideAllSubmenus();
}

function stopTimerSubmenus(){
	clearTimeout(submenuTimer);
}

/* End Menu functions */



function getObjectsByClassname(clsName) {
	var retVal = new Array();
	var elements = document.getElementsByTagName("*");
	
	for(var i = 0;i < elements.length;i++) {
		if(elements[i].className.indexOf(" ") >= 0) {
			classes = elements[i].className.split(" ");
			for(var j = 0;j < classes.length;j++){
				if(classes[j] == clsName) {
					retVal.push(elements[i]);
				}
			}
		}
		else if(elements[i].className == clsName) {
			retVal.push(elements[i]);
		}
	}
	return retVal;
}


function RemoveClassName(objElement, strClass) {
	// if there is a class
	if ( objElement.className ) {
	
	   // the classes are just a space separated list, so first get the list
	   var arrList = objElement.className.split(' ');
	
	   // get uppercase class for comparison purposes
	   var strClassUpper = strClass.toUpperCase();
	
	   // find all instances and remove them
	   for ( var i = 0; i < arrList.length; i++ )
	      {
	
	      // if class found
	      if ( arrList[i].toUpperCase() == strClassUpper )
	         {
	
	         // remove array item
	         arrList.splice(i, 1);
	
	         // decrement loop counter as we have adjusted the array's contents
	         i--;
	
	         }
	
	      }
	
	   // assign modified class name attribute
	   objElement.className = arrList.join(' ');
	
	   }
	// if there was no class
	// there is nothing to remove
}

function AddClassName(objElement, strClass, blnMayAlreadyExist) {
	
	// if there is a class
	if ( objElement.className )
	   {
	
	   // the classes are just a space separated list, so first get the list
	   var arrList = objElement.className.split(' ');
	
	   // if the new class name may already exist in list
	   if ( blnMayAlreadyExist )
	      {
	
	      // get uppercase class for comparison purposes
	      var strClassUpper = strClass.toUpperCase();
	
	      // find all instances and remove them
	      for ( var i = 0; i < arrList.length; i++ )
	         {
	
	         // if class found
	         if ( arrList[i].toUpperCase() == strClassUpper )
	            {
	
	            // remove array item
	            arrList.splice(i, 1);
	
	            // decrement loop counter as we have adjusted the array's contents
	            i--;
	
	            }
	
	         }
	
	      }
	
	   // add the new class to end of list
	   arrList[arrList.length] = strClass;
	
	   // add the new class to beginning of list
	   //arrList.splice(0, 0, strClass);
	   
	   // assign modified class name attribute
	   objElement.className = arrList.join(' ');
	
	   }
	// if there was no class
	else
	   {
	
	   // assign modified class name attribute      
	   objElement.className = strClass;
	
	   }
}

function switchFold(id) {
	var foldLi = document.getElementById('foldable_'+id);
	if(foldLi != null) {
		var currentClass = foldLi.className ;
		if(currentClass == 'collapsed') {
			RemoveClassName(foldLi,'collapsed');
			AddClassName(foldLi,'expanded');
		}else{
			RemoveClassName(foldLi,'expanded');
			AddClassName(foldLi,'collapsed');
		}
	}
}



function createHTTPHandler(){
    httphandler = false;
    /*@cc_on @*/
    /*@if (@_jscript_version >= 5)
    // JScript gives us Conditional compilation, we can cope with old IE versions.
    // and security blocked creation of the objects.
    try {
      httphandler = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
       httphandler = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
          httphandler = false;
      }
    }
    @end @*/
    if (!httphandler && typeof XMLHttpRequest!='undefined') {
        httphandler = new XMLHttpRequest();
    }
    return httphandler;
}

function createHTTPHandler_tmp(){

	// code for Mozilla, etc.
	if (window.XMLHttpRequest)
	  {
	  xmlhttp=new XMLHttpRequest()
	  }
	// code for IE
	else if (window.ActiveXObject)
	  {
	  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
	  }
	return xmlhttp;
}

Array.prototype.find = function (s)
{
	for(var i=0;i<this.length;i++)
	if(this[i] == s) return true; 
	return false;
};

// init object

function js_in_array(the_needle, the_haystack){
	var the_hay = the_haystack.toString();
	if(the_hay == ''){
	    return false;
	}
	var the_pattern = new RegExp(the_needle, 'g');
	var matched = the_pattern.test(the_haystack);
	return matched;
 }
 

function getDatesForArticle(articleId, placeId, date, dayPartId){
	if(placeId != ''){
		XMLHTTPObject = createHTTPHandler(); 
		XMLHTTPObject.open('GET', pagesUrl+'education.ajax.php?action=getDates&articleId=' + articleId+'&placeId=' + placeId+'&date=' + date, true);
		XMLHTTPObject.setRequestHeader("Cache-Control", "no-cache");
		XMLHTTPObject.setRequestHeader("X_USERAGENT", "AJAX_shopmodule");
	  	XMLHTTPObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	 	XMLHTTPObject.setRequestHeader('Connection', 'close');
		XMLHTTPObject.send(null);
		XMLHTTPObject.onreadystatechange=function() {
							
			if (XMLHTTPObject.readyState==4) {
				response = XMLHTTPObject.responseText;
				document.getElementById('dateFieldFix').innerHTML = response;
				
				if(date != ''){
					getDayPartsForArticle(articleId, placeId, date, dayPartId);
				}
			}
		}
	}else{
		document.getElementById('dateFieldFix').innerHTML = '<select name="date" class="formfield" id="dateField"><option>selecteer een datum</option></select>';
		document.getElementById('partOfDayFix').innerHTML = '<select name="partOfDay" class="formfield" id="dateField"><option>selecteer een dagdeel</option></select>';
	}
}

function getDayPartsForArticle(articleId, placeId, date, dayPartId){
	XMLHTTPObject = createHTTPHandler(); 
	XMLHTTPObject.open('GET', pagesUrl+'education.ajax.php?action=getDayParts&articleId=' + articleId+'&placeId=' + placeId+'&date=' + date+'&dayPartId=' + dayPartId, true);
	XMLHTTPObject.setRequestHeader("Cache-Control", "no-cache");
	XMLHTTPObject.setRequestHeader("X_USERAGENT", "AJAX_shopmodule");
  	XMLHTTPObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
 	XMLHTTPObject.setRequestHeader('Connection', 'close');
	XMLHTTPObject.send(null);
	XMLHTTPObject.onreadystatechange=function() {
						
		if (XMLHTTPObject.readyState==4) {
			response = XMLHTTPObject.responseText;
			document.getElementById('partOfDayFix').innerHTML = response;
		}
	}
}

function toggleExtraCourse2() {
	var bCheckedCourse1 = document.forms.educationSubscribe.extraCourse1.checked;
	if(bCheckedCourse1) {
		//document.getElementById('extraCourse2').style.display = 'block';
		document.getElementById('extraCourse2Checkbox').disabled = '';
		document.getElementById('placeAndDateExtraCourse2').disabled = '';
	}else{
		//document.getElementById('extraCourse2').style.display = 'none';
		// Uncheck checkbox for 2nd extra course
		document.forms.educationSubscribe.extraCourse2.checked = false;
		document.getElementById('extraCourse2Checkbox').disabled = 'true';
		document.getElementById('placeAndDateExtraCourse2').disabled = 'true';
	}
	updatePrice();
}

function updatePrice() {
	var totalPrice = 225;
	if(document.forms.educationSubscribe.extraCourse1.checked) {
		totalPrice = 400;
	}
	if(document.forms.educationSubscribe.extraCourse2.checked) {
		totalPrice = 600;
	}
	document.getElementById('priceSpan').innerHTML = totalPrice;
}

function updatePrice2() {
	var totalPrice = 0;
	
	if(document.forms.educationSubscribe.extraVSACourse1.checked && document.forms.educationSubscribe.extraVSACourse2.checked){
		totalPrice = 5175;
	}else{
		if(document.forms.educationSubscribe.extraVSACourse1.checked) {
			totalPrice = 3950;		
		}
		if(document.forms.educationSubscribe.extraVSACourse2.checked) {
			totalPrice = 1500;
		}
	}
	
	if(document.forms.educationSubscribe.extraVSACourse3.checked) {
		totalPrice += 150;
	}
	document.getElementById('priceSpan').innerHTML = totalPrice;
}

function showEducationsTimetable() {
	document.getElementById('educationsTimetable').style.display = 'block';
}

function hideEducationsTimetable() {
	document.getElementById('educationsTimetable').style.display = 'none';
}

