window.addEvent('domready', function() {
	setDefaultInputText();
	removeFirstChildBorder();
	splitJobCatList();
});

window.addEvent('load', function() {
	initJobFilterAccordion();
});

/**
 * check if the list has more then 5 items, if more split other items in second list 
 *
 * @author Phi Son Do<phison.do@efocus.nl>
 * @version 1.0, 6 mei, 2010
 * @requires MooTools 1.2.4 Core, <http://www.mootools.net>
 * @requires MooTools 1.2.4 More, <http://www.mootools.net> 
 * @return void
 */
function splitJobCatList() {
	var elJobCatList = $$('div.middlepane div.f3_jobs').getElement('ul')[0];
	if(elJobCatList){
		var arrJobCatListItems = elJobCatList.getElements('li');
		if(arrJobCatListItems.length > 4){
			var intTotalLeft = (arrJobCatListItems.length / 2).round(0);
			var arrSecondRow = [];
			for (var i = intTotalLeft; i < arrJobCatListItems.length; i++) {
				arrSecondRow.push(arrJobCatListItems[i]);
				arrJobCatListItems[i].dispose();
			}
			var elNewList = new Element('ul', {
				'class': 'joblist'
			});
			arrSecondRow.each(function(item){
				elNewList.adopt(item);
			});
			elNewList.inject(elJobCatList, 'after');
		};
	}
}


/**
 * Toggles default text in text inputfields
 *
 * @author Phi Son Do<phison.do@efocus.nl>
 * @version 1.0, 6 mei, 2010
 * @requires MooTools 1.2.4 Core, <http://www.mootools.net>
 * @requires MooTools 1.2.4 More, <http://www.mootools.net> 
 * @return void
 */
function setDefaultInputText() {
	var arrInputFields = $$('.defaultText');
	
	if(arrInputFields){
		arrInputFields.each(function(elInputField) {
			elInputField.defaultText = elInputField.value;
			
			elInputField.addEvents({
				'focus': function() {
					if (elInputField.value == elInputField.defaultText) {
						elInputField.value = '';
					}
				}
			});
		});
	}
}


/**
 * Removes the border of the first list item
 *
 * @author Phi Son Do<phison.do@efocus.nl>
 * @version 1.0, 6 mei, 2010
 * @requires MooTools 1.2.4 Core, <http://www.mootools.net>
 * @requires MooTools 1.2.4 More, <http://www.mootools.net> 
 * @return void
 */
function removeFirstChildBorder() {
	var arrListItems = $$('ul.no-top-border');	
	
	if(arrListItems){
		arrListItems.each(function(elList){			
			var elFirstChildListItem = elList.getElement('li:first-child');
			if(elFirstChildListItem){				
				elFirstChildListItem.setStyles({
					borderTop: 'none',
					marginTop: 0,
					paddingTop: 0
				});				
			}			
		});
	}
}


/**
 * initJobFilterAccordion
 *
 * initializes accordion in Job Filter list
 *
 * @author Klaas Dieleman <klaas{AT}efocus.nl>
 * @author Phi Son Do <phison.do{AT}efocus.nl>
 * @return void
 */
function initJobFilterAccordion() {
	var elJobFilter = $('jobfilter-accordion');
	
	if (elJobFilter) {
		var accordion = new Accordion(elJobFilter.getElements('ul li a'), elJobFilter.getElements('div.field'), {
			opacity: 0,
			show: 0,
			onActive: function(toggler, element){
				toggler.addClass('open');
				element.addClass('open');
			},
			onBackground: function(toggler, element){
				toggler.removeClass('open');
				element.removeClass('open');
			}
		});
	};
}

/**
 * rebuild function postSearchString
 * submits searchform on vacancyoverview
 * @author Rocco Janse, <rocco@efocus.nl>
 * @since 1.0, 01/12/2010
 * @return void
 */
function postSearchString() {
	
	var strDefTrefwoord = $(document.body).getElement('input[name=def_trefwoord]').get('value');
	var strDefLocation = $(document.body).getElement('input[name=def_location]').get('value');
	var strUrl = $(document.body).getElement('input[name=pageUrl]').get('value');
	var	arrInputs = $(document.body).getElement('fieldset.jobsearch').getElements('input[type=text]');
	var arrSelects = $(document.body).getElement('fieldset.jobsearch').getElements('select');
	var strKeyword = '';
	var strLocation = '';
	var strDistance = '';
	var strCountry = '';
	
	arrInputs.each(function(input) {
		if (input.get('name') == 'trefwoord' && strDefTrefwoord != input.get('value')) {
			strKeyword = input.get('value');
		}
		if (input.get('name') == 'location' && strDefLocation != input.get('value')) {
			strLocation = input.get('value');
		}
	})

	arrSelects.each(function(select) {
		if (select.get('id') == 'distance') {
			strDistance = select.get('value');
		}
		if (select.get('id') == 'countries') {
			strCountry = select.get('value');
		}
	})
	
	window.location.href = strUrl+'?keyword='+strKeyword+'&location='+strLocation+'&distance='+strDistance+'&country='+strCountry;
}
