/*
Functions
*/
function createObjects(){
	// DIVISIONS
	objWdkaElements.html = $('html');
	objWdkaElements.body = $('body');
	objWdkaElements.main = $('main');

	objWdkaElements.background = $('background');
	objWdkaElements.background_full = $('background_full');
	objWdkaElements.background_full_container = $('background_full_container');
	objWdkaElements.background_animate = $('background_animate');
	objWdkaElements.background_animate_container = $('background_animate_container');

	objWdkaElements.footer = $('footer');
	objWdkaElements.logos = $('logos');

	objWdkaElements.header_1 = $('header_1');
	objWdkaElements.header_2 = $('header_2');
	objWdkaElements.header_block_1 = $('header_block_1');
	objWdkaElements.header_block_2 = $('header_block_2');

	objWdkaElements.content = $('content');
	objWdkaElements.content_home = $('content_home');
	objWdkaElements.subnav = $('subnav');
	objWdkaElements.subnav_btns = $('subnav_btns');
	objWdkaElements.readmore = $('readmore');

	objWdkaElements.menu = $('menu');
	objWdkaElements.colofon = $('colofon');
	objWdkaElements.extranav = $('extranav');

	objWdkaElements.window_nav = $('window_nav');
	objWdkaElements.window_header = $('window_header');
	objWdkaElements.window_subheader = $('window_subheader');

	objWdkaElements.player_nav = $('player_nav');
	objWdkaElements.player_nav_title = $('player_nav_title');
	objWdkaElements.player_nav_index = $('player_nav_index');
	objWdkaElements.player_thumb = $('player_thumb');
	objWdkaElements.player_nav_thumbs = $('player_nav_thumbs');
	objWdkaElements.player_nav_art_title = $('player_nav_art_title');
	objWdkaElements.player_disable_arrow = $('player_disable_arrow');
	objWdkaElements.but_player_zoom = $('but_player_zoom');
	
	objWdkaElements.ch_lv3_cats = $('ch_lv3_cats');
	objWdkaElements.btn_categories = $('btn_categories');
	objWdkaElements.ch_lv3_social = $('ch_lv3_social');
	objWdkaElements.btn_social = $('btn_social');

	// VARIABLES
	objWdkaVariables.intWindowWidth = window.getWidth();
	objWdkaVariables.intWindowHeight = window.getHeight();

	objWdkaVariables.intBackgroundWidth = 0;
	objWdkaVariables.intBackgroundHeight = 0;

	objWdkaVariables.window_navPosX = false;
	objWdkaVariables.window_navPosY = false;
}


function loadRollOverImages(){
	
	// APPLY BUTTON 
	var strPath = '/images/system/apply/';
	var strExtension = 'jpg';
	var arrApplyItems;
	if(strLangId=='nl')arrApplyItems = ['aanmelden_nl'];
	if(strLangId=='en')arrApplyItems = ['aanmelden_en'];
	for(var i=0; i<arrApplyItems.length; i++){
		arrRollOverImagesObjects.push(createRollOverImageObject(arrApplyItems[i], strPath, strExtension));
	}
	
	// MAIN MENU
	var strPath = '/images/system/menu/';
	var strExtension = 'png';
	var arrMenuItems;
	if(strLangId=='nl')arrMenuItems = ['actueel', 'studie', 'academie'];
	if(strLangId=='en')arrMenuItems = ['actueel_en', 'studie_en', 'academie_en'];
	for(var i=0; i<arrMenuItems.length; i++){
		arrRollOverImagesObjects.push(createRollOverImageObject(arrMenuItems[i], strPath, strExtension));
	}

	// COLOFON
	var strPath = '/images/system/';
	var strExtension = 'gif';
	var arrColofonItems;
	arrColofonItems = ['colofon', 'disclaimer', 'intranet', 'english', 'nederlands'];
	for(var i=0; i<arrColofonItems.length; i++){
		arrRollOverImagesObjects.push(createRollOverImageObject(arrColofonItems[i], strPath, strExtension));
	}

	// PRELOAD
	for(var i=0; i<arrRollOverImagesObjects.length; i++){
		arrRollOverImages.push(arrRollOverImagesObjects[i].hover);
	}
	new Asset.images(arrRollOverImages, { onComplete:createRollOverImages });

}

function createRollOverImageObject(strName, strPath, strExtension){
	var objImage = new Object();
	objImage.id = 'btn_'+strName;
	objImage.obj = $('btn_'+strName);
	objImage.image = strPath+strName+'.'+strExtension;
	objImage.hover = strPath+strName+'_hover.'+strExtension;

	return objImage;
}

function createRollOverImages(){
	for(var i=0; i<arrRollOverImagesObjects.length; i++){
		createRollOverImage(i);
	}
}

function createRollOverImage(id){
	if(arrRollOverImagesObjects[id].obj && arrRollOverImagesObjects[id].obj.getProperty('class')!='current') {
		arrRollOverImagesObjects[id].obj.addEvent('mouseover', function() {
			arrRollOverImagesObjects[id].obj.setProperty('src', arrRollOverImagesObjects[id].hover);
		});
		arrRollOverImagesObjects[id].obj.addEvent('mouseout', function() {
			arrRollOverImagesObjects[id].obj.setProperty('src', arrRollOverImagesObjects[id].image);
		});
	};
}

function updateModulePanel(){
	var strEducationType=getFormFieldValueById('type_education');
	var strTimescheduleId=getFormFieldValueById('timeschedule_id');
	
	var objFormData={strCodeId: strCodeId, strEducationType: strEducationType, strTimescheduleId: strTimescheduleId, rnd: Math.random()};
	var objAjax = new Request({
		url: arrIdPath['uretrieveeducationhierarchy'],
		onSuccess: function(strHtml){
			var elDivPopup=$('widget-container_ajax');
			var elDivContent=elDivPopup.getElement('div[class=widget_content]');
			//alert(elDivContent);
			elDivContent.innerHTML=strHtml;

			setWindowLinkEventsEducation();
		}
	}).get(objFormData);	
}

function retrieveModuleContent(strModuleId){
	//retrieves the content of a module via ajax and inserts it into the page
	var objFormData={strModuleId: strModuleId, rnd: Math.random()};
	var objAjax = new Request({
		url: arrIdPath['uretrieveeducationcontent'],
		onSuccess: function(strHtml){
			objWdkaElements.content.innerHTML=strHtml;
		
			setPageOverflow();
			repositionFooter();
			repositionContent();
			bolContentExpand = false;
		}
	}).get(objFormData);		
}

function retrieveStudySetupContent(strPageId){
	//retrieves the content of a studysetup via ajax and inserts it into the page
	var arrFormData=new Array();
	arrFormData['id']=strPageId;

	var objFormData={id: strPageId, rnd: Math.random()};
	var objAjax = new Request({
		url: arrIdPath['uretrieveestudysetupcontent'],
		onSuccess: function(strHtml){
			objWdkaElements.content.innerHTML=strHtml;
		
			setPageOverflow();
			repositionFooter();
			repositionContent();
			bolContentExpand = false;
		}
	}).get(objFormData);		
}


function setLangId(strlangId){
	//uses an ajax call to a utility that sets the session cntaining the language session

	var objFormData={strLangIdNew: strlangId, rnd: Math.random()};
	var objAjax = new Request({
		url: arrIdPath['usetlangid'],
		onSuccess: function(strHtml){
			if(strHtml=='<status>ok</status>'){
				
				//alert("lang id successfully set")

				var strCurrentUrl=window.location.href;
				if(strCurrentUrl.indexOf("lng=")>0){
					var strNewUrl=strCurrentUrl.replace(/lng=([a-z][a-z])/, "lng="+strlangId);
				}
				else{
					if(strCurrentUrl.indexOf("?")>0){
						var strNewUrl=strCurrentUrl.replace(/#/, "&lng="+strlangId+"#");
					}
					else{
						var strNewUrl=strCurrentUrl.replace(/#/, "?lng="+strlangId+"#");
					}
				}
				window.location = strNewUrl;
				

				
			}else{
				alert("Error occured while setting the lang id")
			}

		}
	}).get(objFormData);		

}


function setWindowLinkEventsEducation(){
	/*
	Sets the popup height and the events for the links
	*/
	//correct the height of the panel
	var elDivPopup=$('widget-container_ajax');
	var elDivContent=elDivPopup.getElement('div[class=window_content_2]');
	
	var elDivWidgetContent=elDivPopup.getElement('div[class=widget_content]');
	var elDivSubHeader=elDivWidgetContent.getElement('div[class=window_subheader]');
	var elDivSubContent1=elDivWidgetContent.getElement('div[class=window_content_1]');
	var elDivSubContent2=elDivWidgetContent.getElement('div[class=window_content_2]');
	var elDivWidgetContentContainer=elDivWidgetContent.getParent();
	
	var objCoordinates=elDivSubHeader.getCoordinates();
	var intHeight=objCoordinates.height;
	objCoordinates=elDivSubContent1.getCoordinates();
	intHeight+=objCoordinates.height;
	objCoordinates=elDivSubContent2.getCoordinates();
	intHeight+=objCoordinates.height;

	
	elDivWidgetContent.setStyle('height', intHeight+3);	
	elDivWidgetContentContainer.setStyle('height', intHeight+2);
	elDivPopup.setStyle('height', 100);
	
	var arrLinks=elDivContent.getElements('a');
	//alert(arrLinks.length);
	arrLinks.each(function(el, index){

		el.addEvent('click', function(event) {
			event = new Event(event).stop();
			strId=this.getProperty('title')
			retrieveModuleContent(strId);
			
			var elDivPopup=$('widget-container_ajax');
			var elDivContent=elDivPopup.getElement('div[class=window_content_2]');
			var arrElements=elDivContent.getElements('a');
			
			//var arrElements=objWdkaElements.window_nav.getElements('a');
			arrElements.each(function(elLink, index){
				var elParent=elLink.getParent();
				elParent.setProperty("class","lv4");
			})

			var elParent=this.getParent();
			elParent.setProperty("class","lv4_current");

			//move the sbititle to the title
			var strSubHeaderWindow=elDivSubHeader.get('text');
			//alert(strSubHeaderWindow);
			objWdkaElements.header_block_1.set('text',strSubHeaderWindow);
			objWdkaElements.header_block_2.set('text',this.get('text'));
			
			//alert(strSemesterId);
			//pageStateChange({objeducation: {code: strCodeId, type: strEducationType, semester: strSemesterId}});
			
		});

	});
}

function setWindowLinkEventsStudySetup(){
	/*
	Sets the popup height and the events for the links
	*/
	//correct the height of the panel
	var elDivPopup=$('widget-container_ajax');
	var elDivContent=elDivPopup.getElement('div[class=window_content_2]');
	
	var elDivWidgetContent=elDivPopup.getElement('div[class=widget_content]');
	var elDivSubHeader=elDivWidgetContent.getElement('div[class=window_subheader]');
	var elDivSubContent2=elDivWidgetContent.getElement('div[class=window_content_2]');
	var elDivWidgetContentContainer=elDivWidgetContent.getParent();
	
	var objCoordinates=elDivSubHeader.getCoordinates();
	var intHeight=objCoordinates.height;
	objCoordinates=elDivSubContent2.getCoordinates();
	intHeight+=objCoordinates.height;

	
	elDivWidgetContent.setStyle('height', intHeight+3);	
	elDivWidgetContentContainer.setStyle('height', intHeight+2);
	elDivPopup.setStyle('height', 80);
	
	var arrLinks=elDivContent.getElements('a');
	arrLinks.each(function(el, index){

		el.addEvent('click', function(event) {
			event = new Event(event).stop();
			strId=this.getProperty('title')
			retrieveStudySetupContent(strId);

			var elDivPopup=$('widget-container_ajax');
			var elDivContent=elDivPopup.getElement('div[class=window_content_2]');
			var arrElements=elDivContent.getElements('a');
			
			arrElements.each(function(elLink, index){
				var elParent=elLink.getParent();
				elParent.setProperty("class","lv4");
			})

			var elParent=this.getParent();
			elParent.setProperty("class","lv4_current");

			var strSubHeaderWindow=elDivSubHeader.get('text');
			//alert(strSubHeaderWindow);
			objWdkaElements.header_block_1.set('text',strSubHeaderWindow);
			objWdkaElements.header_block_2.set('text',this.get('text'));

		});

	});
}

function setWindowLinkEventsLinksDownloads(){

	/*
	Sets the popup height and the events for the links
	*/
	//correct the height of the panel
	var elDivPopup=$('widget-container_ajax');
	var elDivWidgetContent=elDivPopup.getElement('div[class=widget_content]');	
	var elDivWidgetContentContainer=elDivWidgetContent.getParent();
	
	//measure the content elements
	var objCoordinates;
	var intHeight=0;
	var arrElContent=elDivPopup.getElements('div[class=window_content_2]');
	arrElContent.each(function(el, index){
		objCoordinates=el.getCoordinates();
		intHeight+=objCoordinates.height;
	})
	
	var arrElSubHeader=elDivPopup.getElements('div[class=window_subheader]');
	arrElSubHeader.each(function(el, index){
		objCoordinates=el.getCoordinates();
		intHeight+=objCoordinates.height;
	})	
	
	/*
	var elDivContent=elDivPopup.getElement('div[class=window_content_2]');
	

	var elDivSubContent2=elDivWidgetContent.getElement('div[class=window_content_2]');
	
		
	var objCoordinates=elDivSubContent2.getCoordinates();
	var intHeight=objCoordinates.height;
	*/
	
	
	elDivWidgetContent.setStyle('height', intHeight+3);	
	elDivWidgetContentContainer.setStyle('height', intHeight);
	elDivPopup.setStyle('height', 10);
	

}


function windowClose(){

	if(bolWindowOpen == true){
		bolWindowOpen = false;

		var objWindowFX = new Fx.Morph(objWdkaElements.window_nav, {duration: 250});
		objWindowFX.start({'opacity': 0});
	}
}

function windowCloseReload(){
	//only reload if the main content has changed (compare header of popup with header in main content to test)
	var strTitle1=$('header_block_1').get('text');
	var strTitle2="";
	if($('window_subheader')){
		strTitle2=$('window_subheader').get('text');
	}
	
	if(strTitle1.toUpperCase()==strTitle2.toUpperCase()){	
		window.location.reload();
	}else{
		windowClose();
	}
}

function widgetBackgroundFix(){
	var elWidget=$('widget-container_iframe');
	var intWindowNavHeight = elWidget.getSize().y
	if(Browser.ie){
		elWidget.getElements('div[class=sh_ml]').setStyles({ 'height': intWindowNavHeight-15 });
		elWidget.getElements('div[class=sh_mr]').setStyles({ 'height': intWindowNavHeight-15 });
	}
	
	//to position background fades correctly
	elWidget.setStyle('height', intWindowNavHeight-19);
	elWidget.getElement('.widget_content_cell').setStyle('height', intWindowNavHeight-27);
}
function widgetInternetIframeOpen(objArguments){
	var objArgsWidgetIframe={
		iframeurl: objArguments.url,
		windowtitle: objArguments.title,
		width: objArguments.width+'px',
		height: objArguments.height+'px',
		postop: objArguments.top+'px',
		posleft: ((objWdkaVariables.intWindowWidth/2)+objArguments.left)+'px',
		oncomplete: "widgetBackgroundFix()",
		onclose: "widgetInternetIframeClose()"
	}	
	
	widgetIframeOpen(objArgsWidgetIframe);
}


function widgetInternetIframeClose(){	
	var elWidget=$('widget-container_iframe');	
	widgetInternetClose(elWidget);	
}

function widgetInternetAjaxClose(){
	var elWidget=$('widget-container_ajax');
	var arrDivs=elWidget.getElements('div[class=lv4_current]')
	if(arrDivs.length>0){
		(function(){ window.location.reload(); }).delay(300);
	}
	
	widgetInternetClose(elWidget);	
}


function widgetInternetClose(elWidget){
	var objWindowFX = new Fx.Morph(elWidget, {duration: 250, onComplete: function(){
			elWidget.getElement('.widget_controls-top').set('html','');
			elWidget.getElement('.widget_controls-bottom').set('html','');
			elWidget.dispose();	
		}
	});
	objWindowFX.start({'opacity': 0});	
}


function fixCrossbrowserCss(){
	if(BrowserDetect.OS == "Mac" && BrowserDetect.browser == "Firefox" && BrowserDetect.version == 3){
		if(objWdkaElements.header_2) objWdkaElements.header_2.setStyles({'margin-top': '1px'});
	}

}



function subStringCount(strNeedle, strHaystack){

	strNeedle = strNeedle.toLowerCase();
	strHaystack = strHaystack.toLowerCase();

	var c = 0;
	for (var i=0; i<strHaystack.length; i++) {
		if (strNeedle == strHaystack.substr(i, strNeedle.length)) {
			c++;
		}
	} 
	return c;
}

function dropDownSwap(){
	if(bolDropDownActive == false){
		dropDownOpen();
	}
	else{
		dropDownClose();
	}
}
// vicky try social media
function openTwitter() {
	var currentUrl = window.location;
	window.open( "http://twitter.com/share?url="+currentUrl+"&status=ola", "Twitter", 
"status = 1, height = 500, width = 650, resizable = 0" );
}
function openFacebook() {
	var currentUrl = window.location;
	window.open( "http://www.facebook.com/sharer.php?u="+currentUrl, "Facebook", 
"status = 1, height = 500, width = 650, resizable = 0" );
}
function openHyves() {
	var currentUrl = window.location;
	window.open( "http://www.hyves-share.nl/button/tip/?tipcategoryid=12&rating=5&title=wdka&body=Bron: [url="+currentUrl+"]"+currentUrl+"[/url]", "Hyves","status = 1, height = 500, width = 650, resizable = 0" );
}



function dropDownSocialMediaSwap(){
	if(bolDropDownSocialMediaActive == false){
		dropDownSocialMediaOpen();
	}
	else{
		dropDownSocialMediaClose();
	}	
}
function dropDownSocialMediaOpen(){
	if(bolDropDownActive == true){
		dropDownClose();
	}
	if(bolDropDownSocialMediaActive == false){
		bolDropDownSocialMediaActive = true;
		
		objWdkaElements.ch_lv3_social.setStyles({'display': 'block'});
		objWdkaElements.ch_lv3_social.setStyles({'opacity': 0});

		objWdkaElements.btn_social.setProperty('src', 'images/system/arrow_cat_down.gif');

		var objDropDownFX = new Fx.Morph(objWdkaElements.ch_lv3_social, {duration: 250});
		objDropDownFX.start({'opacity': 1});
	}
}

function dropDownSocialMediaClose(){
	if(bolDropDownSocialMediaActive == true){
		bolDropDownSocialMediaActive = false;

		objWdkaElements.btn_social.setProperty('src', 'images/system/arrow_cat_right.gif');
		
		var objDropDownFX = new Fx.Morph(objWdkaElements.ch_lv3_social, {duration: 250});
		objDropDownFX.start({'opacity': 0});
	}
}
// end vicky try

function dropDownOpen(){
	if(bolDropDownActive == false){
		bolDropDownActive = true;

		objWdkaElements.ch_lv3_cats.setStyles({'display': 'block'});
		objWdkaElements.ch_lv3_cats.setStyles({'opacity': 0});

		objWdkaElements.btn_categories.setProperty('src', 'images/system/arrow_cat_down.gif');

		var objDropDownFX = new Fx.Morph(objWdkaElements.ch_lv3_cats, {duration: 250});
		objDropDownFX.start({'opacity': 1});
	}
}

function dropDownClose(){
	if(bolDropDownActive == true){
		bolDropDownActive = false;

		objWdkaElements.btn_categories.setProperty('src', 'images/system/arrow_cat_right.gif');
		
		var objDropDownFX = new Fx.Morph(objWdkaElements.ch_lv3_cats, {duration: 250});
		objDropDownFX.start({'opacity': 0});
	}
}


function navigationPanelNewsGetCategory(){
	//retrieve the currently selected category
	var arrCategoryLinksSelected=$('ch_lv3_cats').getElements('a[class=current]');
	if(arrCategoryLinksSelected.length==0){
		return "1";
	}else{
		var el=arrCategoryLinksSelected[0];
		var strCategoryId=retrieveQuerystringParameterValue(el.getProperty("href"), "categoryid");
		return strCategoryId;
	}
}

function navigationPanelNewsGetCategoryName(){
	//retrieve the currently selected category
	var arrCategoryLinksSelected=$('ch_lv3_cats').getElements('a[class=current]');
	if(arrCategoryLinksSelected.length==0){
		return "";
	}else{
		var el=arrCategoryLinksSelected[0];
		return el.get('text');
	}
}

function navigationPanelNewsSetup(){
	/*
	Sets up the events required for the news navigation panel
	*/

	//pagination component
	var arrPaginationLinks=$('nav_pagination').getElements('a');
	arrPaginationLinks.each(function(item, index){

		item.addEvent('click', function(e){
			//alert('click');
			var e = new Event(e).stop();
			var strCategoryId=navigationPanelNewsGetCategory();
			var strPaginationNumber=this.get('text');
			var objParentNode, objCurrentNode;
			var strCurrentNodeText;
			var intNewNodeNumber;
			
			if(this.getProperty("href").indexOf("#disabled")==-1){

				//handle previous and next buttons
				if(strPaginationNumber=="<" || strPaginationNumber=="&lt;" || strPaginationNumber==">" || strPaginationNumber=="&gt;"){
					//get the current active pagination
					objParentNode=this.getParent();
					objCurrentNode=objParentNode.getElement('a[class=current]');
					strCurrentNodeText=objCurrentNode.get('text');
					if(strPaginationNumber=="<" || strPaginationNumber=="&lt;"){
						intNewNodeNumber=strCurrentNodeText.toInt()-1;
					}else{
						intNewNodeNumber=strCurrentNodeText.toInt()+1;
					}
					strPaginationNumber=parseInt(intNewNodeNumber);
				}

				navigationPanelNewsUpdate(strCategoryId, strPaginationNumber);
			}

		});

	});

	//categories
	objWdkaElements.ch_lv3_cats = $('ch_lv3_cats');
	var arrCategoryLinks=$('ch_lv3_cats').getElements('a');
	arrCategoryLinks.each(function(item, index){

		item.addEvent('click', function(e){
			var e = new Event(e).stop();
			var strCategoryId=retrieveQuerystringParameterValue(this.getProperty("href"), "categoryid");
			var strPaginationNumber="1";
			dropDownSwap();

			navigationPanelNewsUpdate.delay(250, false, [strCategoryId, strPaginationNumber])
		});

	});

	//articles may need to add the category to the link
	var arrArticleLinks=$('articles_pagination').getElements('div[class=lv3_item] a');
	arrArticleLinks.each(function(item, index){

		item.addEvent('click', function(e){
			var e = new Event(e).stop();
			var strUrl=this.getProperty("href");
			var strCategoryId=navigationPanelNewsGetCategory();
			strUrl=replaceQuerystringParameter(strUrl, "categoryid", strCategoryId)
			location.href=strUrl;
		});

	});
	
	//set the name of the main item in the category drop down
	var strCategoryId=navigationPanelNewsGetCategory();
	var strCurrentCategoryName="Nieuwscategorieën"
	if(strCategoryId!="1"){
		strCurrentCategoryName=navigationPanelNewsGetCategoryName();
	}else{
		if(strLangId=='en')strCurrentCategoryName="News categories";
		var elNode=$('ch_lv3_cats').getElement('a');
		elNode.setProperty('class', 'current');
	}
	$('btn_categories_label').set('text','');
	$('btn_categories_label').appendText(strCurrentCategoryName);
	//$('dropdown_main').setText('');
	//$('dropdown_main').appendText(strCurrentCategoryName);
	
	
	$('news_ordernewsletter').addEvent('click', function(e){
		var e = new Event(e).stop();
		var strStatement=arrTools['ordernewsletter'];
		eval(strStatement);
	});
}


function navigationPanelNewsUpdate(strCatId, strPagNumber){
	//updates the news panel with new content (ajax)
	var strArtId;
	var arrArguments=navigationPanelNewsUpdate.arguments;

	var strUrl=arrIdPath['unavigationpanelupdate'];
	
	if(arrArguments.length==3){
		strArtId=arrArguments[2];
	}else{
		strArtId=retrieveQuerystringParameterValue(location.href, "articleid");
	}

	if(strArtId == ""){
		strArtId = 1;
	}

	dumpLog("navigationPanelNewsUpdate fired strArtId="+strArtId+", strCatId="+strCatId+", strPagNumber="+strPagNumber);
	//change the page state
	pageStateChange({objnewspanel: {article: strArtId, category: strCatId, page: strPagNumber}});
}

function navigationPanelNewsUpdateExecute(strCatId, strPagNumber, strArtId){
	//updates the news panel with new content (ajax)
	var strArtId;
	var arrArguments=navigationPanelNewsUpdateExecute.arguments;

	var strUrl=arrIdPath['unavigationpanelupdate'];
	
	if(arrArguments.length==3){
		strArtId=arrArguments[2];
	}else{
		strArtId=retrieveQuerystringParameterValue(location.href, "articleid");
	}
	
	dumpLog("navigationPanelNewsUpdateExecute fired strArtId="+strArtId+", strCatId="+strCatId+", strPagNumber="+strPagNumber);
	
	var objData={strPaginationNumber: strPagNumber, strCategoryId: strCatId, rnd: Math.random(), strArticleId: strArtId};
	var objAjax = new Request({
		url: strUrl,
		onSuccess: function(strResponse){
			$('articles_pagination').set('html', strResponse);
			navigationPanelNewsSetup();
		}
	}).get(objData);	
}

function addDefaultPageElementEvents(){
	//this function adds (click) events to some default page componets
	var arrElements, elChildNode, strId;

	// 1) news icons
	var elFooter=$('footer');
	if(isDefined(elFooter)){
		elChildNode=elFooter.getFirst();
		if(isDefined(elChildNode)){
			strId=elChildNode.getProperty('id');
			if(strId=='footer_player'){
				//this news icon will initiate the background image player
				arrElements=elChildNode.getElements('a')
				arrElements.each(function(item, index){

					item.addEvent('click', function(e){
						var e = new Event(e).stop();
						var strHashNew="state=";
						if(bolPlayerActive == false){
							
							pageStateChange({objplayer: {state: 'open', zoomstate: bolPlayerZoom, image: intPlayerIndexCurrent}});
							//HistoryManager.setValues('backgroundplayer', ['open', bolPlayerZoom, intPlayerIndexCurrent]);
							playerOpen();
						}
						else{
							//strHashNew+="player_closed";

							pageStateChange({objplayer: {state: 'closed', zoomstate: bolPlayerZoom, image: intPlayerIndexCurrent}});
							//HistoryManager.setValues('backgroundplayer', ['closed', bolPlayerZoom, intPlayerIndexCurrent]);
							playerClose();
						}

					});

				});

			}else{
				//3 icons at the bottom of the page
				var arrLinkElements = elChildNode.getParent().getElements('div.text a');

				arrLinkElements.each(function(elLink) {
					var arrTemp = [];
					arrTemp.push(elLink);
					//for some reason, internet explorer is not able tp pass the element using the method below.
					//it's still functional though (in this case) as the 'a' link remains to be active...
					convertInternalLink({ arrids: arrTemp });
				})
			}

		}

	}

	// 2) player buttons
	var elPlayer=$('player_nav')
	if(elPlayer){
		convertInternalLink({arrids: ['but_player_close', 'but_player_zoom', 'but_player_next', 'but_player_prev']});
	}

	// 3) colofon buttons
	var elColofon=$('colofon')
	if(elColofon){
		convertInternalLink({arrids: ['but_colofon_nl', 'but_colofon_en', 'but_colofon_disclaimer', 'but_colofon_colofon', 'but_colofon_copyright']});
	}

	// 4) category drop down
	convertInternalLink({id: 'dropdown_main'});
	convertInternalLink({id: 'dropdown_social'});
	
	// 5) subnavigation buttons
	var elSubnav=$('subnav');
	if(elSubnav){
		convertInternalLink({arrids: ['subnav_moduleinfo', 'subnav_studysetup', 'subnav_linksdownloads']});
	}	
	
	// custom items
	if($('news_orderbrochure')){
		$('news_orderbrochure').addEvent('click', function(e){
			var e = new Event(e).stop();
			var strStatement=arrTools['orderbrochure'];
			eval(strStatement);
		});
	}
	if($('modeshow')){
		$('modeshow').addEvent('click', function(e){
			var e = new Event(e).stop();
			var strStatement=arrTools['modeshow'];
			eval(strStatement);
		});
	}
	

}

function convertInternalLink(objArguments){
	
	/*
	This function is used to replace default behavior of regular links
	To keep the site searchable for google, but allow an ajax type of site
	*/

	//distill local variables from the passed object
	var strId=typeof objArguments.id != 'undefined'? objArguments.id : '';
	var arrIds = typeof objArguments.arrids != 'undefined' ? objArguments.arrids : '';

	//alert(JSON.encode(objArguments));

	//put all 
	if(arrIds=="")arrIds=[strId];

	arrIds.each(function(strId, index){
		var el;
		//alert(strId+" - "+$type(strId))
		//grab the element
		if(typeOf(strId)=='element'){
			el=strId;
		}else{
			el=$(strId);
		}
		
		if(isDefined(el)){
			//alert(el+" - "+typeOf(el));
			el.addEvent('click', function(e){
				//1) prevent link behavior
				var e = new Event(e).stop();
	
				//2) determine what action to execute
				switch(strId){
					case "but_colofon_nl":
						//switch language button
						setLangId('nl');
						break;
					case "but_colofon_en":
						//switch language button
						setLangId('en');
						break;
					
					case "dropdown_main":
						//news category dropdown
						dropDownSwap();
						break;
//vicky try
					case "dropdown_social":
						//social media dropdown
						dropDownSocialMediaSwap();
						break;
											
					case "but_player_close":
						//closes the background image player
						if(bolPlayerActive){
							pageStateChange({objplayer: {state: 'closed', zoomstate: bolPlayerZoom, image: intPlayerIndexCurrent}})
							playerClose();
						}
						break;					
					case "but_player_zoom":
						//zooms the background image player
						if(bolPlayerActive){
							var strPlayerZoom="false", strPlayerState="open";
							if(bolPlayerActive==false)strPlayerState="open";
							
							if(bolPlayerZoom == false){
								strPlayerZoom="false";
								playerZoomOut("background_full", 500);
							}
							else{
								strPlayerZoom="true";
								playerZoomIn("background_full", 500);
							}
							
							toggleZoomButton();
							
							pageStateChange({objplayer: {state: strPlayerState, zoomstate: strPlayerZoom, image: intPlayerIndexCurrent}})
							
						}
						break;					
					case "but_player_next":
						//next image in the background image player
						swapBackgroundNext();
						break;								
					case "but_player_prev":
						//next image in the background image player
						swapBackgroundPrev();
						break;	
					
					case "subnav_moduleinfo":
						var objFormData={strCodeId: strCodeId, rnd: Math.random()};
						var strTitle=$(strId).get('text');
						var objWidgetProperties={
								windowtitle: strTitle,
								postop: '156px',
								posleft: ((objWdkaVariables.intWindowWidth/2)+75)+'px',
								width: '230px',
								height: '400px',
								ajaxurl: arrIdPath['uretrieveeducationhierarchy'],
								ajaxdata: objFormData,
								oncomplete: "setWindowLinkEventsEducation()",
								onclose: "widgetInternetAjaxClose()"
							};						
						
						widgetAjaxOpen(objWidgetProperties);
						
						
						break;							
					case "subnav_studysetup":
						var objFormData={strCodeIdReferrer: strCodeId, strPageIdReferrer: strPageId, rnd: Math.random()};
						var strTitle=$(strId).get('text');
						var objWidgetProperties={
								windowtitle: strTitle,
								postop: '156px',
								posleft: ((objWdkaVariables.intWindowWidth/2)+75)+'px',
								width: '230px',
								height: '200px',
								ajaxurl: arrIdPath['uretrieveestudysetuphierarchy'],
								ajaxdata: objFormData,
								oncomplete: "setWindowLinkEventsStudySetup()",
								onclose: "widgetInternetAjaxClose()"
							};						
						
						widgetAjaxOpen(objWidgetProperties);						
						
						break;
					case "subnav_linksdownloads":
						if(strPageId == "unews"){
							var strArtId=retrieveQuerystringParameterValue(location.href, "articleid");
							var objFormData={articleid: strArtId, rnd: Math.random()};
						}
						else{
							var objFormData={id: strPageId, rnd: Math.random()};
						}
						var strTitle=$(strId).get('text');
						//alert("ajaxurl:"+arrIdPath['ulinksdownloads']);						
						var objWidgetProperties={
							windowtitle: strTitle,
							postop: '156px',
							posleft: ((objWdkaVariables.intWindowWidth/2)+75)+'px',
							width: '230px',
							height: '200px',
							ajaxurl: arrIdPath['ulinksdownloads'],
							ajaxdata: objFormData,
							oncomplete: "setWindowLinkEventsLinksDownloads()",
							onclose: "widgetInternetAjaxClose()"
						};						
						
						widgetAjaxOpen(objWidgetProperties);												

						break;						
																
					default:
						var strUrl=el.getProperty("href");
						if(strUrl!="#")location.href=strUrl;
						break;
				}
			});
		}		
	});



}


function dumpLog(strText){
	
	if(bolUseDebugLayer){
		var currentTime = new Date()
	  var hours = currentTime.getHours()
	  var minutes = currentTime.getMinutes()
	  var seconds=currentTime.getSeconds()
	
	  if (minutes < 10)minutes = "0" + minutes
	  if (seconds < 10)seconds = "0" + seconds
	  
	  strText=hours + ":" + minutes + ":"+seconds+" - "+strText;
	  
	  var elDebugLayer=$('debug_layer');
	  
	  
	  if(isDefined(elDebugLayer)){
	  	if(intDebugCounter==0)elDebugLayer.style.visibility='visible';
	  	
		  elDebugLayer.innerHTML=elDebugLayer.innerHTML+"<br/>"+strText;	
			elDebugLayer.scrollTop = elDebugLayer.scrollHeight;
			
		  if(intDebugCounter==0){
		  	var elDebugLayerHandle=$('debug_layer_handle')
		  	var objOptions={
					handle: elDebugLayerHandle
				}
		  	//alert(elDebugLayerHandle)
			  elDebugLayer.makeDraggable();
			}			
			
			intDebugCounter++;
		}
		
	}
}

/*
handling of page state change actions
*/
function pageStateChangeExecute(objPageStateChange){
	/*
	Updates the user interface with changes contained in the objPageStateChange object
	*/
	dumpLog("pageStateChangeExecute => objPageStateChange: "+ JSON.encode(objPageStateChange));

	/*
	IMPLEMENTATION SPECIFIC
	*/
	Object.each(objPageStateChange, function(value, key){
	  //dumpLog("object key:" + key + " - $type()"+$type(key)+" value:" + value+" - $type():"+$type(value));

		//alert(strArticleId);
		
		switch(key){
			case "objnewspanel":
				if(typeOf(value)=="object"){
					
					if(strPageId=="0" || strPageId=="unews"){
						var arrCompNewsPanelStartValues=new Array();
						arrCompNewsPanelStartValues.push(retrieveQuerystringParameterValue(location.href, 'articleid'));
						var strCategoryId=retrieveQuerystringParameterValue(location.href, 'categoryid');
						if(strCategoryId=="")strCategoryId="1";
						arrCompNewsPanelStartValues.push(strCategoryId);
						arrCompNewsPanelStartValues.push(retrieveQuerystringParameterValue(location.href, 'page'));
		
						//on match - executed when the hash changes
						if(value.article=='' && bolInitialLoad==false){
							//we have returned to the initial state of the page (no page state information)
							if(arrCompNewsPanelStartValues[0]!=""){
								navigationPanelNewsUpdateExecute(arrCompNewsPanelStartValues[1], arrCompNewsPanelStartValues[2], arrCompNewsPanelStartValues[0]);
							}
						}else{
							//(strCategory, strPage, strArticleId)
							//navigationPanelNewsUpdateExecute(strCatId, strPagNumber, strArtId)
							if(value.article!='') navigationPanelNewsUpdateExecute(value.category, value.page, value.article);
						}						
					
					}
				}
				break;

			case "objplayer":
				if(typeOf(value)=="object"){
					if(strPageId=="unews"){
						if(value.state=='' && bolInitialLoad==false){
							//we have returned to the initial state of the page (no page state information)
							//close the player
							playerClose();				
						}else{				
							if(value.state!=''){
								updatePlayerState(value.state, value.zoomstate, value.image);
							}
						}
					}
				}
				break;

		}
	});
}
/*
-- window events --
*/
function onLoad(){
	
	//tweaks for crossbrowser css
	fixCrossbrowserCss();
	
	(function(){
		bolInitialLoad=false;
	}).delay(500);
	
	
	// wdka_scripts.js //
	loadRollOverImages();
	
	//add events to default page elements
	addDefaultPageElementEvents.delay(500);
		
	
	/*
	Initiate the history manager
	*/
	historyInit();
	
}

function onDomReady(){
	
	if(bolLocalServer){
		if(arrPlayerImages.length==0)alert("no player images received - cannot display background image")
	}

	// wdka_scripts.js
	createObjects();

	// wdka_player.js //
	loadBackground();

	// wdka_gui.js //
	setPageOverflow();
	repositionFooter();
	repositionContent();
	repositionColofon();
	repositionMain();

	if(strPageId=="unews"){
		navigationPanelNewsSetup();
	}

	var objArgs={
		installurl: '/scripts/widgets',
		usewidgets: 'iframe,ajax',
		serversidelang: 'asp',
		customcss: '/styles/widget-styles_wdka-internet.css',
		wrapper: '/assets/popup-internet_window.html'	
	}
	widgetInitiate(objArgs);
	
}

function onResize(){
	// Set Variables
	objWdkaVariables.intWindowWidth = window.getWidth();
	objWdkaVariables.intWindowHeight = window.getHeight();

	// wdka_player.js //
	if(bolPlayerActive == false){
		resizeBackground('background', 0, false);
	}
	else{
		if(bolPlayerZoom == true){
			bolPlayerZoom = false;
			playerZoomOut("background_full", 0);
		}
		else{
			resizeBackground('background_full', 0, false);
		}

		// set player nav
		objWdkaElements.player_nav.setStyles({ 'width': objWdkaVariables.intWindowWidth, 'height': objWdkaVariables.intWindowHeight});
	}

	// wdka_gui.js //
	if(bolPlayerActive == false){
		setPageOverflow();
		repositionFooter();
		repositionContent();
		bolContentExpand = false;
	}
	repositionColofon();
	repositionMain();

}

function onScroll(){
	// Set Variables
	objWdkaVariables.intWindowWidth = window.getWidth();
	objWdkaVariables.intWindowHeight = window.getHeight();

	// wdka_gui.js
	repositionColofon();
}

/*
Global variables and objects
*/
var strPopupDivContentType="";
var intTimer1;
var intDebugCounter=0;
var intMaxPopupHeight=460;
var bolDropDownActive=false;
var bolDropDownSocialMediaActive=false;
var bolWindowOpen=false;
var bolInitialLoad=true;
var bolUseDebugLayer=false;
if(location.search.indexOf('dumplog')>0)bolUseDebugLayer=true;
var arrRollOverImages = new Array();
var arrRollOverImagesObjects = new Array();
var objWdkaElements = new Object();
var objWdkaVariables = new Object();

/*
!!!
Object containing the properties of all the user interface objects that we need to track
!!!
*/
var objPageState={
	objnewspanel: {
		article: '',
		category: '1',
		page: '1'		
	},
	objplayer: {
		state: 'closed',
		zoomstate: 'false',
		image: '0'
	},
	objeducation: {
		code: 'ADV',
		type: 'regular',
		semester: '1'
	}

}			


/*
Runtime logic
*/

window.addEvent("domready", onDomReady);

window.addEvent("load", onLoad);

window.addEvent("resize", onResize);

window.addEvent("scroll", onScroll);

