function checkMail(){
	var e = document.getElementById('email').value, r = new RegExp('^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$')
	if(e == '' || r.test(e) === false){
		document.getElementById('error').className.remove;
		document.getElementById('error').className = 'show';  				
		document.getElementById('error').innerHTML = '<p>Vul aub een geldig e-mail adres in.</p>';
		return false;
	}
	return true;
}

var ZAB = {
	init: function(){
	
		/* Uitgebreid zoeken */
		var a = $('div#contents a.uitgebreid-zoeken'),
			lsf = $('form#small-search-box'),
			uzf = $('div#uitgebreid-zoeken-form');
			
		if($('body').hasClass('doorzoeken')){
			if(uzf.hasClass('no-results')){
				lsf.hide();
				uzf.prependTo('div#contents').show().find('form.search-form').show();
				a.hide();
			}else{
				lsf.show();
				uzf.prependTo('div#contents').hide().find('form.search-form').show();
				a.show();				
			}
		}	
		$('a.uitgebreid-zoeken').click(function(){
			uzf.prependTo('div#contents').slideDown('slow', function(){if(a.get(0)) a.css('display', 'none');})
			//	.find('#sTitle').val($('#sKeywords').val());				
			lsf.slideUp('slow');			
		});
		$('a#close-search').click(function(){
			uzf.slideUp('slow', function(){if(a.get(0)) a.css('display', 'inline');});			
			lsf.slideDown('slow');

		});
		
		/* Country select */
		if($('form#persoonlijke-gegevens-form').get(0)){			
			var c = $('#sCountry').val();
			$('select#sCountry').change(function(){
				if($(this).val() != '' || $(this).val() != 'Nederland'){
					$('#sProvince').val('');
					$('div#prov-country-holder').hide();
				}
				if($(this).val() == 'Nederland'){
					$('div#prov-country-holder').show();
				}
			}); 
		}
		
		/* Lightbox */
		jQuery('a.job-on-map').click(function(){
			jQuery('div#map-box').modal();
			return false;
		});		
	
		/* Form validation */
		$('form.validate').submit(function(){
			var error = false, form = $(this);			
			form.find('input.required, textarea.required, select.required').each(function(){
				if($.trim($(this).val()) == ''){
					if($(this).get(0).id == 'sInvPostalB'){
						$(this).focus().prev().prev().append(ZAB.createToolTip('Dit is een verplicht veld')); // no direct label
					}else{
						$(this).focus().prev().append(ZAB.createToolTip('Dit is een verplicht veld'));
					}
					ZAB.showToolTip();
					error = true;
					return false;
				}
				/* Look for emails and validate */
				if($(this).hasClass('email') && ZAB.emailCheck($(this).val()) === false){
					$(this).focus().prev().append(ZAB.createToolTip('Dit email adress is ongeldig'));
					ZAB.showToolTip();
					error = true;
					return false;
				}
			});
			if(error === true) return false;
			form.find('input.postala').each(function(){
				if($(this).val().length != 4){
					$(this).focus().prev().append(ZAB.createToolTip('Moet 4 cijfers zijn'));
					ZAB.showToolTip();
					error = true;
					return false;
				}
			}).end().find('input.postalb').each(function(){
				if($(this).val().length != 2){
					$(this).focus().prev().append(ZAB.createToolTip('Moet 2 letters zijn'));
					ZAB.showToolTip();
					error = true;
					return false;
				}
			}).end().find('input.password').each(function(){
				var p1 = $(this), p2 = form.find('input#sPassword2');
				if(p1.get(0).id == 'sPassword' && p2.get(0) && p1.val() != '' && p1.val() != p2.val()){ // make sure pass1 and pass2 exist and match
					p1.focus().prev().append(ZAB.createToolTip('Fout wachtwoord'));
					ZAB.showToolTip();
					error = true;
					return false;
				}
			}).end().find('.int').each(function(){
				if($(this).val() != '' && $(this).val().match(/^([0-9]+)$/) === null){
					$(this).focus().prev().append(ZAB.createToolTip('Moeten cijfers zijn'));
					ZAB.showToolTip();
					error = true;
					return false;
				}
			});
			
			/* Pub/Expiredate adding job */	
			var ed = form.find('input#sExpireDay'), em = form.find('input#sExpireDay'), ey = form.find('input#sExpireYear');
			if(ed.get(0) && ed.val() != '' && em.get(0) && em.val() != '' && ey.get(0) && ey.val() != ''){
				var pubDate = new Date(), pubDay = $('input#sPubDay').val(), pubMonth = $('input#sPubMonth').val(),
				pubYear = $('input#sPubYear').val(), expDate = new Date(), expDay = $('input#sExpireDay').val(),
				expMonth = $('input#sExpireMonth').val(), expYear = $('input#sExpireYear').val();
				
				pubDate.setFullYear(pubYear,(pubMonth-1),pubDay);
				expDate.setFullYear(expYear,(expMonth-1),expDay);				
	
				if(expDate < pubDate){			
					$('input#sExpireDay').focus().prev().append(ZAB.createToolTip('Datum moet nieuwer zijn'));
					ZAB.showToolTip();
					error = true;
					return false;
				}
			}
			
			if(error) return false;
		});
		
		/* Sorter */
		
		$('#sOrderBy').change(function(){
			var hash, vars = [], url = window.location.href, hashes = url.slice(url.indexOf('?') + 1).split('&'), i = 0;
		//	alert(url);
			for(; i < hashes.length; i++){
				hash = hashes[i].split('=');//alert(hash[0]);
				if (hash[1]) vars[hash[0]] = hash[1];
			}
			if (vars['sOrderBy']){
				//alert('test');
				window.location = url.replace('sOrderBy='+vars['sOrderBy'], 'sOrderBy='+this.options[this.selectedIndex].value);
			}else{
				window.location =  url + '&sOrderBy='+this.options[this.selectedIndex].value;
			}
		});

		/* jTabs */
		var t = $('ul#tab-nav');
		if(t.get(0)){
			var tabs = t.tabs(), u = window.location.href, r = {}, f = $('form#persoonlijke-gegevens-form');
			
			r['mijn-banen'] = 0;
			r['persoonlijke-gegevens'] = 1;
			r['mijn-cv'] = 2;
			r['banen-per-mail'] = 3;
			
			var p = u.substring(u.indexOf('?') + 1);
			if(r[p] || r[p] == 0){
				tabs.tabs('select', r[p]);
			}else{
				tabs.tabs('select', 1);
			}
			
			if($('li#mijn-banen-tab, li#banen-per-mail-tab').hasClass('ui-tabs-selected')){ // onload hide form
				f.hide();
			}else{
				f.show();
			}

			$(this).find('a').click(function(){ // onclick hide form
				var id = $(this).parent().get(0).id;
				if(id == 'mijn-banen-tab' || id == 'banen-per-mail-tab'){
					f.hide();
				}else{
					f.show();
				}
				/* remove feedback */
		/*		if($('div.warning,div.error,div.confirm').get(0)){
					$('div.warning,div.error,div.confirm').hide();
				}
		*/	});
		}
		
		/* Home search box */
		if($('a.more-options').get(0)){
			$('div#extra-options').hide(); // hide by default
			$('a.more-options').toggle(
				function(){
					$('div#extra-options').show();
					$(this).html('Minder zoekopties<img src="/images/icons/min.gif" alt="Minder zoekopties" />');
					$('body.home form.search-form input.img').css('bottom', '8px');
				},
				function(){		
					$('div#extra-options').hide();
					$(this).html('Meer zoekopties<img src="/images/icons/plus.gif" alt="Meer zoekopties" />');
					$('body.home form.search-form input.img').css('bottom', '-10px');
				}
			);
		}
		
		/* Hover buttons */
		$('a.button-link').hover(
			function(){
				$(this).addClass('button-link-hover');
			},
			function(){
				$(this).removeClass('button-link-hover');		
			}
		);
		
		/* Site hover home */
		if (typeof document.body.style.maxHeight == "undefined" && $('ul#vacaturesites').get(0)){
			$('ul#vacaturesites li').hover(function(){$(this).addClass('hover')}, function(){$(this).removeClass('hover')});
		}
		
		/* Input focus empty */
		$('input.pre').focus(function(){$(this).val('');});
		var def = 'Bijv. accountant';
		$('#sKeywords').focus(function(){
			if ($(this).val() == def)
				$(this).val('');
		}).blur(function(){
			if ($(this).val() == '')
				$(this).val(def);
		});
	},
	createToolTip: function(t){
		return '<div class="tip" style="display:none;">'+t+'</div>';
	},
	showToolTip: function(){
		$('div.tip').fadeIn('slow', function(){
			setTimeout(function(){
				$('div.tip').fadeOut('slow', function(){
					$(this).remove();
				});
			}, 1000);
		});
	},
	emailCheck: function(email){
		r = new RegExp('^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$');
		return (email == '' || r.test(email) === false) ? false : true;
	}
}
$(ZAB.init);