var selectedHoofdfunctionaliteiten = new Array();
var selectedPakketten = new Array();
var selectedTabs = new Array();

// PakkettenList
function addToPakketList(id) {
	var tmpPakketten = new Array();
	var removed = false;
			
	for (i=0;i<selectedPakketten.length;i++)
	{
		if (selectedPakketten[i] != id) {
			tmpPakketten.push(selectedPakketten[i]);
		} else {
			removed = true;
		}
	}
	if (!removed) {
		if (tmpPakketten.length < 3) {
			tmpPakketten.push(id);
		} else {
			document.getElementById('vergelijk'+id).checked = '';
			alert('U kunt maximaal 4 pakketten selecteren');
		}
	}
	selectedPakketten = tmpPakketten;
	
}
function getSelectedPakketten() {
	return selectedPakketten.toString();
}

//////////////////////////////////////////////
/* EVENTS */
//////////////////////////////////////////////

// Clicking on a Wizard Answer
function onclickWizardAnswer(question, answer, key, val, addToCriteria) {

	// track click on answer google analytics
	pageTracker._trackEvent('click-wizard', 'click', '/' + question + '/' + answer);
	if (addToCriteria == 'true') addToCriteria = 1
	else if (addToCriteria == 'false') addToCriteria = 0
	else if (addToCriteria != 1 && addToCriteria != 0) addToCriteria = 1
	
	DWREngine._execute(_framework+"ajax/pakket.cfc", null, "setCriteria", key, val, addToCriteria, countResults);
}

function onclickHoofdfunctionaliteit(hfs_id,addToCriteria) {
	if (addToCriteria == 'true') addToCriteria = 1
	else if (addToCriteria == 'false') addToCriteria = 0
	else if (addToCriteria != 1 && addToCriteria != 0) addToCriteria = 1
	// slideout result page 
	$('togglerresultWrapperOut').click();
	DWREngine._execute(_framework+"ajax/pakket.cfc", null, "setCriteria", 'lst_hoofdfunctionaliteit_ids', hfs_id, addToCriteria, countResults);
}

// Get the found Pakketsystemen
function getResults() {
	var oArgs = new Object()	
	oArgs.pakketDetailUrl = _pakketDetailUrl
	oArgs.gfxFolder = _gfxfolder
	DWREngine._execute(_framework+"ajax/pakket.cfc", null, "showList", oArgs, getResultsCompleted);
}
function getResultsCompleted(ajax_response) {
	document.getElementById("resultList").innerHTML = ajax_response;
	setTimeout("$('togglerresultWrapperIn').click();",600);	
}

var resultListSortDir = "asc"
function onclickSortResultList() {
	$('togglerresultWrapperOut').click()
	// set new sortorder
	resultListSortDir = (resultListSortDir == "asc") ? "desc" : "asc"
	// set title
	document.getElementById("sortResultList").title = ( "Resultaat " + ( (resultListSortDir == "desc") ? "oplopend" : "aflopend" ) + " sorteren" )
	// build arguments
	var oArgs = new Object()	
	oArgs.pakketDetailUrl = _pakketDetailUrl
	oArgs.gfxFolder = _gfxfolder
	oArgs.sortdir = resultListSortDir
	// send request
	DWREngine._execute(_framework + "ajax/pakket.cfc", null, "showList", oArgs, cbOnClickSortResultList)
}
function cbOnClickSortResultList(ajax_response) {
	document.getElementById("resultList").innerHTML = ajax_response;
	setTimeout("$('togglerresultWrapperIn').click()", 600);
}

// Clicking on Vergelijk button
function onclickVergelijk(frmObj, pakket_id) {

	var lst_pakketten = ''  
	var i;
	var count = 0;
	
	if (pakket_id > 0)  lst_pakketten = lst_pakketten + pakket_id

	if (frmObj.type == 'select-multiple') {
 		for (i=0; i<frmObj.options.length; i++) {
			if (frmObj.options[i].selected) {
				if (lst_pakketten.length > 0) lst_pakketten = lst_pakketten + ',' + frmObj.options[i].value
				else lst_pakketten = frmObj.options[i].value
				count++;
			}
		}
	}
	else {
		for (i=0; i<frmObj.length; i++){
		if (frmObj[i].checked==true) {
			if (lst_pakketten.length > 0) lst_pakketten = lst_pakketten + ',' + frmObj[i].value
			else lst_pakketten = frmObj[i].value
			count++;
			}
		}	
	} 
 
  if(count==0) alert('Kies minimaal 1 pakket.')
  else if(count > 3) alert('Kies maximaal 3 andere pakketten')
  else {
	DWREngine._execute(_framework + "ajax/pakket.cfc", null, "getVergelijkUrl", lst_pakketten, cbOnclickVergelijk);
	document.getElementById('loading_vergelijk').style.display ='';
  }
}

function cbOnclickVergelijk(vergelijkurl) {
	location.href=vergelijkurl
}

//////////////////////////////////////////////
/* OTHER FUNCTIONS */
//////////////////////////////////////////////

// deze is nodig voor de homepage voor het uitklappen van de hoofdfunctionaliteitgroepen na een AJAX call
function uitklappeninstellen(id) {
	eval('var HFSmySlide'+id+' = new Fx.Slide("HFStoggleDiv'+id+'")');
	eval('HFSmySlide'+id+'.hide()');
	$('HFStoggler'+id).addEvent('click', function(e){
		e = new Event(e);
		eval('HFSmySlide'+id+'.toggle()');
		e.stop();
		
		if (document.getElementById("arrowHome"+id).src.substring(document.getElementById("arrowHome"+id).src.length-8) == 'down.gif') {
			document.getElementById("arrowHome"+id).src = _gfxfolder+'arrow_home.gif';
		} else {
			document.getElementById("arrowHome"+id).src = _gfxfolder+'arrow_home_down.gif';
		}
	});
}

// Count the amount of found Pakketsystemen
function countResults() {
	DWREngine._execute(_framework+"ajax/pakket.cfc", null, "getFoundNumber", countResultsCompleted);
}
function countResultsCompleted(ajax_response) {
	// update counters
	var aContainers = new Array("flashcontent", "flashcontentTop")
	for (var i=0; i<aContainers.length; i++) {
		if ( document.getElementById(aContainers[i] + "Wrapper") ) {
			oWrapper = document.getElementById(aContainers[i] + "Wrapper")
			while(oWrapper.childNodes.length > 0) {
				oWrapper.removeChild(oWrapper.childNodes[0])
			}
			_div = document.createElement("div")
			_div.setAttribute("id", aContainers[i])
			oWrapper.appendChild(_div)
			// reinit flash
			swfobject.embedSWF(_swfURL+ajax_response.aantal, aContainers[i], "50", "24", "8.0.0", false, flashvars, params, attributes);
		}
	}
	// check wether it is on the result page 
	if (document.location.href.indexOf('result') > 0) {
		getResults(ajax_response.lst_branche_ids);
	}
	// check wether it is on the wizard 
	if (document.location.href.indexOf('wizard') > 0) {
		document.getElementById('resultAantalHidden').innerHTML = ajax_response.aantal;
	}
}

var alreadyDownloading = false;
// Download the factsheet
function getFactSheet(pakket_id,branche_id,filter_tabs_ids) {
	if (!alreadyDownloading) { 
		alreadyDownloading = true;
		document.getElementById("loading").style.display = 'block';
		var theData = new Object()
		theData.pakket_id = pakket_id
		theData.branche_id = branche_id
		theData.filter_tabs_ids = filter_tabs_ids
		DWREngine._execute(_framework+"ajax/pakket.cfc", null, "getFactsheetUrl", theData, getFactSheetCompleted);
	} else {
		alert("De PDF wordt aangemaakt, even geduld alstublieft");
	}
}
function getFactSheetCompleted(ajax_response) {
	alreadyDownloading = false;
	document.getElementById("loading").style.display = 'none';
	window.open(ajax_response);
}

// switch tab on pakket_detail
var currentTab = null;
function switchTab(tabId) {
	if (currentTab != null) {
		document.getElementById('labeltab'+currentTab).className = 'Tab';
		document.getElementById('tab'+currentTab).style.display = 'none';
	}
	document.getElementById('labeltab'+tabId).className = 'TabActive';
	document.getElementById('tab'+tabId).style.display = 'block';
	currentTab = tabId;
	document.getElementById('extra_link').style.visibility = (currentTab!=0) ? 'hidden' : 'visible';	
}

function switchTabHelper(show,hide) {
	$('tab'+show).style.display = 'block';
	if (hide != null && hide != show) {
		$('tab'+hide).style.display = 'none';
	}
	$('tabButtonIn'+show).click();
}

function setTabWidth() {
	// set the rest of the tab-border with javascript... otherwise we don't know the width it should be.
	myWidth = document.getElementById("allTabs").offsetWidth;
	document.getElementById("restTab").style.width = 984 - myWidth + 'px';
}

// Wizard
var currentQuestion = 1;

function gotoQuestion(question, drempelwaarde, action_url) {
	$('togglerOut').click();
	
	// never go to result if the 'previous question' button has been clicked.
	if (currentQuestion < question) {
		// track click on next question
		
		// if the amount of found pakketten rearches a certain value or there are no more questions, then go to the result page.
		if ((document.getElementById('resultAantalHidden').innerHTML <= drempelwaarde) || (document.getElementById('vraag'+question) == undefined)) {
			document.location.href = action_url;
			return;
		}
	}
	else {
		// track click on previous question
		pageTracker._trackEvent('click-wizard', 'click', '/' + currentQuestion + '/' + question);
	}
	
	// set the big question number
	document.getElementById('wizardHeader').innerHTML = question + '';
			
	// set question number label
	document.getElementById('TabQuestion').innerHTML = 'Vraag ' + question;
				
	// change the width of the extra tab border
	setTabWidth();
	
	// change the body of the question (the answers)
	document.getElementById('vraag'+currentQuestion).style.display = 'none';
	document.getElementById('vraag'+question).style.display = 'block';
	document.getElementById('antwoorden'+currentQuestion).style.display = 'none';
	document.getElementById('antwoorden'+question).style.display = 'block';
	
	document.getElementById('backButton').style.display = (question != 1) ? 'block' : 'none';
	// set next question button label
	document.getElementById('wizardVolgende').innerHTML = 'Naar vraag ' + (question+1);
	
	// track pageview google analytics
	pageTracker._trackPageview('/wizard/' + question);
	
	setTimeout("$('togglerIn').click()",600);
			
	currentQuestion = question;
	countResults()
}

function switchDiv(id) {
	var div = document.getElementById(id);
	if (div.style.display == 'none') {
		div.style.display = 'block';
	} else {
		div.style.display = 'none';
	}
}

// Login Leveranciers
function onLoginLeverancier() {
	var str_args = new Object();
	str_args.website_id = _website_id
	str_args.website_name = _website_name
	str_args.usr = document.forms['leverancierloginForm'].usr.value
	str_args.pwd = document.forms['leverancierloginForm'].pwd.value	
	DWREngine._execute(_framework + "ajax/leverancier.cfc", null, "loginRCMSUser", str_args, cbonLoginLeverancier);
}
function cbonLoginLeverancier(str_result) {
	if(str_result.errmsg.length == 0) location.href = str_result.redirect_url
	else alert(str_result.errmsg)
}

//pakketten
var cur_tab = 'promo'
var cur_pakket_id = 0
function onClickTab(pakket_id,tabname) {
	var str_args = new Object();
	str_args.pakket_id = pakket_id
	str_args.tabname = tabname
	if (str_args.tabname!=cur_tab) {
		DWREngine._execute(_framework + "ajax/pakket.cfc", null, "showTabContent", str_args, cbonClickTab);
	}
}
function cbonClickTab(str_result) {
		//sDumper(str_result)
		//highlight tab
		document.getElementById('content' + str_result.pakket_id + cur_tab).innerHTML = str_result.html
		document.getElementById('tab' + str_result.pakket_id + str_result.tabname).className = 'TabActive'
		document.getElementById('tab' + str_result.pakket_id + cur_tab).className = 'Tab'
		cur_tab=str_result.tabname
		cur_pakket_id=str_result.pakket_id
}

function Teller(tekstveld,maxlengte) {
    var teller = document.forms[0].elements['teller'];
    if (tekstveld.value.length > maxlengte) { // te lang, inkorten
    tekstveld.value = tekstveld.value.substring(0, maxlengte);
    window.alert('Je hebt het maximale aantal tekens bereikt!');
    teller.value = maxlengte - tekstveld.value.length;
    }
    else {    // update tellerwaarde
    teller.value = maxlengte - tekstveld.value.length;
    }
}

function ShowHide(div, arrowimg) {
	
	var thisLevel = document.getElementById(div);
	var thisImg = document.getElementById(arrowimg);
	
	if (thisLevel.style.display == "none") {
		thisLevel.style.display = "block"; 
		thisImg.src = _framework + 'gfx/arrow_home_down.gif'
	}
	else {		
		thisLevel.style.display = "none";
		thisImg.src = _framework + 'gfx/arrow_home.gif'
	}
}

function gotoLeverancier(leverancier_url) {
	var url_action = document.location.href=leverancier_url.value;
	document.getElementById('loading_leverancier').style.display ="";
	setTimeout("url_action",2000);
}
function gotoPakket(pakket_url) {
	var url_action = document.location.href=pakket_url.value;
	document.getElementById('loading_pakket').style.display ="";
	setTimeout("url_action",2000);
}
function gotoWizard(wizard_url) {
	var url_action = document.location.href=wizard_url.value;
	document.getElementById('loading_wizard').style.display ="";
	setTimeout("url_action",2000);
}
