// JavaScript Document
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function popUp( url, width, height, scroll ) {
	props=window.open( url, 'poppage', 'toolbars=1, scrollbars='+scroll+', location=0, statusbars=0, menubars=0, resizable=1, width='+width+', height='+height );
	props.focus();
}

function setCookie(name, value) {
    var deCookie = name + "=" + escape(value);
    expires = new Date()
    expires.setDate(expires.getDate()+60);
    expires= expires.toGMTString();
    deCookie += "; expires="; 
    deCookie += expires; 
    document.cookie = deCookie;
}

function getCookie(c_name){
	if (document.cookie.length>0){
		c_start=document.cookie.indexOf(c_name + "=")
		if (c_start!=-1){ 
			c_start=c_start + c_name.length+1 
			c_end=document.cookie.indexOf(";",c_start)
			if (c_end==-1) c_end=document.cookie.length
			return unescape(document.cookie.substring(c_start,c_end))
		} 
	}
	return null
}

function delCookie(name){
	expires = new Date(1970,1,1);
	expires = expires.toGMTString();
	deCookie = name
	deCookie += "=delete; expires=";
	deCookie += expires;
	document.cookie = deCookie;
}

$(document).ready(function(){

    /* Lightbox voor afbeeldingen */
    $('a[rel="lightbox"]').lightbox({
	    fitToScreen: true
    });

	
	/* AJAX-formulieren */
	$(".form").bind("click", function(){
		$('#htmlForm').ajaxForm({target: '.form'});
	});
	
	/* Activiteitenkalender mouseover */
	$(".activiteit").bind("mouseover", function(){
		var classname = $(this).attr('class').replace('activiteit',"");
		$(this).removeClass(classname);
		$(this).addClass(classname+"_over");
	});
	
	/* Activiteitenkalender mouseout */
	$(".activiteit").bind("mouseout", function(){
		var classname = $(this).attr('class').replace('activiteit',"");
		$(this).removeClass(classname);
		$(this).addClass(classname.replace("_over",""));
	});	

	if(menu_item_id) $(".subnav").slideToggle("slow"); //animation
	
	$('input[name=telefoonnummer_prive], input[name=telefoonnummer_mobiel]').bind('keypress', function(e) { 
		var pressedKey = (e.keyCode ? e.keyCode : e.which);
		
		if ((pressedKey >= 37 && pressedKey <= 57) && (pressedKey != 45 || pressedKey != 46) || (pressedKey == 8 || pressedKey == 9 || pressedKey == 118 || pressedKey == 190)) // 0 t/m 9
		{
			return true;
		}
		return false;
	});
	
	$('input[name=telefoonnummer_prive], input[name=telefoonnummer_mobiel], input[name=telefoon1], input[name=telefoon2]').keyup(function(e){
		var pressedKey = (e.keyCode ? e.keyCode : e.which);
		if(pressedKey != 8 && pressedKey != 46)$(this).val(formatTelefoonnummer($(this).val()));
	});
	
	$('input[name=postcode]').keyup(function(e){
		var pressedKey = (e.keyCode ? e.keyCode : e.which);
		if(pressedKey != 8 && pressedKey != 46 && $('select[name=land] option:selected').val() == 'Nederland')$(this).val(formatPostcode($(this).val()));
	});
	
	$('input[name=postcode], input[name=huisnummer]').blur(function(){
		$.post(
				virt_path+'ajax/adresgegevens/postcode/'+$('input[name=postcode]').val()+'/huisnummer/'+$('input[name=huisnummer]').val()+'/', 
				function(data){
					if(data.straatnaam != '' && data.plaatsnaam != '')
					{
						$('input[name=straat]').val(data.straatnaam);
						$('input[name=woonplaats]').val(data.plaatsnaam);
					}
				},
				'json'
		);
	});
	
	$('input[name=geboorteplaats], input[name=woonplaats]').keyup(function(e){
		$(this).val($(this).val().toUpperCase());
	});
	
	$('input[name=geboorteplaats]').autocomplete(virt_path+'ajax/plaatsen/',
	{
		width: 324,
		mustMatch: false,
		highlight: false,
		matchContains: false,
		minChars: 1,
		scrollHeight: 320,
		scroll: true,
		formatItem: function (row)
		{
			return row[0];
		}
	});
	
	$('.chat_gesloten').hover( function(){ $("#openingstijden").toggle(); } )
	
});

/* 
 * Functies gebruikt in het sollicitatieformulier
 */
function formatTelefoonnummer(telefoonnummer){
	var kengetallen = [
	    '010',	'0111',	'0113',	'0114',	'0115',	'0117',	'0118',	'013',	'014',	'015', 
		'0161',	'0162',	'0164',	'0165',	'0166',	'0167',	'0168',	'0172',	'0174',	'0180', 
		'0181',	'0182',	'0183',	'0184',	'0186',	'0187',	'020',	'0222',	'0223',	'0224', 
		'0226',	'0227',	'0228',	'0229',	'023',	'024',	'0251',	'0252',	'0255',	'026', 
		'0294',	'0297',	'0299',	'030',	'0313',	'0314',	'0315',	'0316',	'0317',	'0318', 
		'0320',	'0321',	'033',	'0341',	'0342',	'0343',	'0344',	'0345',	'0346',	'0347', 
		'0348',	'035',	'036',	'038',	'040',	'0411',	'0412',	'0413',	'0416',	'0418', 
		'043',	'045',	'046',	'0475',	'0478',	'0481',	'0485',	'0486',	'0487',	'0488', 
		'0492',	'0493',	'0495',	'0497',	'0499',	'050',	'0511',	'0512',	'0513',	'0514', 
		'0515',	'0516',	'0517',	'0518',	'0519',	'0521',	'0522',	'0523',	'0524',	'0525', 
		'0527',	'0528',	'0529',	'053',	'0541',	'0543',	'0544',	'0545',	'0546',	'0547', 
		'0548',	'055',	'0561',	'0562',	'0566',	'0570',	'0571',	'0572',	'0573',	'0575', 
		'0577',	'0578',	'058',	'0591',	'0592',	'0593',	'0594',	'0595',	'0596',	'0597', 
		'0598',	'0599',	'070',	'071',	'072',	'073',	'074',	'075',	'076',	'077', 
		'078',	'079'];
	
	var clean_telefoonnummer = telefoonnummer.replace(/\s/g, '').replace(/\-/g, '');
	var formatted_telefoonnummer = telefoonnummer.replace(/\s/g, '');
	
	// vang de landcode (NL) af
	if(clean_telefoonnummer.substring(0, 3) == '+31')
	{
		return clean_telefoonnummer.replace('+31', '0');
	}
	// mobiel nummer
	else if(clean_telefoonnummer.substring(0, 2) == '06')
	{
		return clean_telefoonnummer.substring(0, 2)+'-'+clean_telefoonnummer.substring(2, 10);
	}
	// vast nummer
	else
	{
		for(var i in kengetallen)
		{
			if(clean_telefoonnummer.substring(0, 4) == kengetallen[i])
			{
				return clean_telefoonnummer.substring(0, 4)+'-'+clean_telefoonnummer.substring(4, 10);
			}
			else if(clean_telefoonnummer.substring(0, 3) == kengetallen[i])
			{
				return clean_telefoonnummer.substring(0, 3)+'-'+clean_telefoonnummer.substring(3, 10);
			}
		}
	}
	
	return formatted_telefoonnummer;
}

function formatPostcode(postcode)
{
	if(postcode.length > 4)
	{
		var clean_postcode = postcode.replace(' ', '');
		return clean_postcode.substring(0, 4)+' '+clean_postcode.substring(4, 6).toUpperCase();
	}
	
	return postcode.toUpperCase();
}
