// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

window.onload = (function(){
	// Functies uitvoeren bij onload pagina
	document.getElementById('content_contact').style.display = 'none';
	document.getElementById('content_nieuwsbrief').style.display = 'none';

	InitNav();
	externalLinks();
	
	try { 
		LoadEvents();
	} catch(err) { }
});

window.onunload = (function() {
	try { 
		GUnload();
	} catch(err) { }
});

function scrollToFooter(type) {
	render_footer_form(type);
	var bodyHeight = document.body.scrollHeight;
	var footerHeight = document.getElementById('footer').scrollHeight+40;
	var scrollHeight = bodyHeight - footerHeight;

	window.setTimeout((function () { 
		window.scrollTo(0,scrollHeight);
	}), 1200);  
	
	
}

function getElementsByClassName(oElm, strTagName, strClassName){
	// Alle elementen selecteren per classname
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return arrReturnElements;
}

function externalLinks() { 
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i<anchors.length; i++) {
		var anchor = anchors[i];
		(anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") ? anchor.target = "_blank" : ''
	} 
} 

function set_big_caseimage(image, replace_id) {
	var element = document.getElementById(replace_id);
	element.src = image;
	
	return false;
}
 
function collegas_highlight(obj, imgElement) {
  	
	afdeling = obj.className;
	
	var medewerkerElement = document.getElementById(imgElement);
	document.getElementById(imgElement + '_more_info').style.display = 'block';
	var medewerkerDivElement = document.getElementById(imgElement + '_div');
	
	var element = document.getElementById('medewerkers');
	var collegas = getElementsByClassName(element, 'img', medewerkerElement.className);

	for (var i = 0; i < collegas.length; i++) {
		highlight_id = collegas[i].id + '_div';
		
		if(imgElement == collegas[i].id) {
			document.getElementById(highlight_id).style.zIndex ='60'	
		} else {
			document.getElementById(highlight_id).style.zIndex ='50'
		}
		
		
		document.getElementById(highlight_id).className= "active";
		
	}
}
  
function collegas_init() {
	var element = document.getElementById('medewerkers');
	var collegas = getElementsByClassName(element, 'div', 'active');
	for (var i = 0; i < collegas.length; i++) {
		collegas[i].className= 'medewerker';
		collegas[i].style.zIndex = 10;
	}
	
	var more_info = getElementsByClassName(element, 'div', 'more_info');
	for (var i = 0; i < more_info.length; i++) {
		more_info[i].style.display = 'none';
	}
	
} 


function product_show_form(type) {
	if (type == 'brochure') {
		$('contactme_form').hide();
		$('brochure_form').toggle();
	} else if(type == 'contactme') {
		$('brochure_form').hide();
		$('contactme_form').toggle();
	}

}

function submit_brochureform(type, obj, optimizer) {

	error = false;
	if ($(type + 'form_naam').value == '') {
		$(type + 'form_naam').addClassName('error');
		$(type + 'form_naam_error').setStyle({
			display: 'block'
		});
		error = true;
	} else {
		$(type + 'form_naam').removeClassName('error');
		$(type + 'form_naam_error').setStyle({
			display: 'none'
		});
	}

	if (($(type + 'form_emailadres').value == '') || ((/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test($(type + 'form_emailadres').value)) == false)) {
		$(type + 'form_emailadres').addClassName('error');
		$(type + 'form_emailadres_error').setStyle({
			display: 'block'
		});
		error = true;
	} else {
		$(type + 'form_emailadres').removeClassName('error');
		$(type + 'form_emailadres_error').setStyle({
			display: 'none'
		});
	}

	if (($(type + 'form_telefoon').value == '') || ((/^[0-9\+\ ]+$/.test($(type + 'form_telefoon').value)) == false) || ($(type + 'form_telefoon').value.length < 10)) {
		$(type + 'form_telefoon').addClassName('error');
		$(type + 'form_telefoon_error').setStyle({
			display: 'block'
		});
		error = true;
	} else {
		$(type + 'form_telefoon').removeClassName('error');
		$(type + 'form_telefoon_error').setStyle({
			display: 'none'
		});
	}
	
	if (error == true) {
		return false;
	} else {

		if(optimizer) {
			// Google optimizer conversion
			if(typeof(_gat)!='object')document.write('<sc'+'ript src="http'+
				(document.location.protocol=='https:'?'s://ssl':'://www')+
				'.google-analytics.com/ga.js"></sc'+'ript>')

			try {
				var pageTracker=_gat._getTracker("UA-401078-28");
				pageTracker._trackPageview("/1082341138/goal");
			} catch(err){

			}

		} else {
			try {
				pageTracker._trackPageview('/producten/' + type + '/');
			} catch(error) {
			//alert(error);
			}
		}

		new Ajax.Updater({
			success: type + '_content',
			failure: type + '_content'
		}, '/producten/' + type, {
			asynchronous: true,
			evalScripts: true,
			parameters: Form.serialize(obj)
		});
		return false;

	}
	
}

function contactform_smsadres_validate(obj) {
	var field = document.getElementById('contact_sms_adres').value;
	var result;
	//var reg = new RegExp("^[0-9\ ]+$");
	var reg = new RegExp("^(00316|06|\\+316){1}([0-9]{8})$");

	if ((field == 'mobiel nummer') || (field == '')) {
		result = '<span>Voer a.u.b. een 10-cijferig moebiel<br />telefoonnummer in.</span>';
		return false;
	} else if(field == '06') {
		return false;
	} else if(reg.test(field) != true) {
		result = '<span>Voer a.u.b. een 10-cijferig moebiel<br />telefoonnummer in.</span>';		
		return false;
	} else {
		if (field.indexOf('00316') == 0) {
			newValue = '06' + field.substring(5);
		} else if (field.indexOf('06') == 0) {
			newValue = '06' + field.substring(2);
		} else if (field.indexOf('6') == 0) {
			newValue = '06' + field.substring(1);
		} else if (field.indexOf('+316') == 0) {
			newValue = '06' + field.substring(4);
		}

		document.getElementById('number_mobile_site').value = newValue;
		if(result)
			document.getElementById('send_mobile_site_result').innerHTML = result;
	}
	
	pageTracker._trackPageview('/contact/sms_adres/');
	return true;
}

/* --- FOOTER --- */
var footer_state_contact = false;
var footer_state_nieuwsbrief = false;

function check_search_value() {
	var value = document.getElementById('search_value').value;
	if(value == '' || value == ' ') {
		return false;
	} else {
		return true;
	}
}

function render_footer_form(form) {

	update_div = document.getElementById('content_' + form);
	
	img_path = '/images/layouts/home';
	
	document.getElementById('footer_icon_contact').src = img_path + '/list_item_blue.gif'
	document.getElementById('footer_icon_nieuwsbrief').src = img_path + '/list_item_blue.gif'
	
	if(form == 'contact') {
		if(footer_state_nieuwsbrief == true) {
			Effect.SlideUp('content_nieuwsbrief');
			footer_state_nieuwsbrief = false;
		}
		if (footer_state_contact == false) {
			Effect.SlideDown('content_' + form);
			document.getElementById('footer_icon_contact').src = img_path + '/list_item_blue_down.gif'
			footer_state_contact = true;
		} else {
			Effect.SlideUp('content_' + form);
			footer_state_contact = false;			
		}
	} else if(form == 'nieuwsbrief') {
		if(footer_state_contact == true) {
			Effect.SlideUp('content_contact');
			footer_state_contact = false;
		}
		if (footer_state_nieuwsbrief == false) {
			Effect.SlideDown('content_' + form);
			document.getElementById('footer_icon_nieuwsbrief').src = img_path + '/list_item_blue_down.gif'
			footer_state_nieuwsbrief = true;
		} else {
			Effect.SlideUp('content_' + form);
			footer_state_nieuwsbrief = false;
		}
	}


}

function footer_mobnr_validate(obj) {
	var field = document.getElementById('number_mobile_site').value;
	var result;
	//var reg = new RegExp("^[0-9\ ]+$");
	var reg = new RegExp("^(00316|06|\\+316){1}([0-9]{8})$");

	if ((field == 'mobiel nummer') || (field == '')) {
		result = '<span>Voer a.u.b. een 10-cijferig moebiel<br />telefoonnummer in.</span>';
		return false;
	} else if(field == '06') {
		return false;
	} else if(reg.test(field) != true) {
		result = '<span>Voer a.u.b. een 10-cijferig moebiel<br />telefoonnummer in.</span>';		
		return false;
	} else {
		if (field.indexOf('00316') == 0) {
			newValue = '06' + field.substring(5);
		} else if (field.indexOf('06') == 0) {
			newValue = '06' + field.substring(2);
		} else if (field.indexOf('6') == 0) {
			newValue = '06' + field.substring(1);
		} else if (field.indexOf('+316') == 0) {
			newValue = '06' + field.substring(4);
		}

		document.getElementById('number_mobile_site').value = newValue;
		if(result)
			document.getElementById('send_mobile_site_result').innerHTML = result;
	}

	pageTracker._trackPageview('/footer/sms_mobiele_site/');
	return true;
}

function footer_contactform_validate(obj) {
	var newsLetter 	= document.getElementById('footer_subscribe_newsletter');
	var emailadres 	= document.getElementById('contactform_emailadres'); 	emailadres.className = '';
	var telefoonnr 	= document.getElementById('contactform_telefoonnummer'); telefoonnr.className = '';
	var error = false;
	
	document.getElementById('footercontact_email').style.display = 'none';
	document.getElementById('footercontact_phone').style.display = 'none';

	if ((/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(emailadres.value)) == false) {
		emailadres.className = 'error';
		document.getElementById('footercontact_email').style.display = 'block';
		error = true;
	}
	
	if((!telefoonnr.value) || ((/^[0-9\+\ ]+$/.test(telefoonnr.value)) == false) || (telefoonnr.value.length < 10)) {
		telefoonnr.className = 'error';
		document.getElementById('footercontact_phone').style.display = 'block';
		error = true;
	}

	if (!error) {
		pageTracker._trackPageview('/footer/contact/');
		new Ajax.Updater({
			success: 'content_contact',
			failure: 'content_contact'
		}, '/footer/send_contact_info', {
			asynchronous: true,
			evalScripts: true,
			parameters: Form.serialize(obj)
		});
		return false;
	} else {

		return false;
	}

}	

function footer_contactpageform_validate(obj) {
	// Zakelijk
	var newsLetter 	= document.getElementById('subscribe_newsletter');
	var emailadres 	= document.getElementById('contactpageform_emailadres'); 	emailadres.className = '';
	var telefoonnr 	= document.getElementById('contactpageform_telefoonnummer'); telefoonnr.className = '';
	var error = false;
	
	document.getElementById('contactpageform_email_error').style.display = 'none';
	document.getElementById('contactpageform_phone_error').style.display = 'none';

	if ((/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(emailadres.value)) == false) {
		emailadres.className = 'error';
		document.getElementById('contactpageform_email_error').style.display = 'block';
		error = true;
	}
	

	if((!telefoonnr.value) || ((/^[0-9\+\ ]+$/.test(telefoonnr.value)) == false) || (telefoonnr.value.length < 10)) {
		telefoonnr.className = 'error';
		document.getElementById('contactpageform_phone_error').style.display = 'block';
		error = true;
	}

	if (!error) {
		pageTracker._trackPageview('/contact/con2tactformulier/');
		new Ajax.Updater({
			success: 'content_contactpage',
			failure: 'content_contactpage'
		}, '/footer/send_contact_info', {
			asynchronous: true,
			evalScripts: true,
			parameters: Form.serialize(obj)
		});
		return false;
	} else {
		return false;
	}

}

function footer_contactpageform_validate_consument(obj) {
	// Consument
	var newsLetter 	= document.getElementById('subscribe_consument_newsletter');
	var naam		= document.getElementById('contactpageform_consument_naam'); naam.className = '';
	var emailadres 	= document.getElementById('contactpageform_consument_emailadres'); 	emailadres.className = '';
	var telefoonnr 	= document.getElementById('contactpageform_consument_telefoonnummer'); telefoonnr.className = '';
	var shortcode	= document.getElementById('contactpageform_consument_shortcode'); shortcode.className = '';
	var error = false;

	document.getElementById('contactpageform_consument_name_error').style.display = 'none';
	document.getElementById('contactpageform_consument_shortcode_error').style.display = 'none';
	document.getElementById('contactpageform_consument_email_error').style.display = 'none';
	document.getElementById('contactpageform_consument_phone_error').style.display = 'none';

	if(!naam.value) {
		naam.className = 'error';
		document.getElementById('contactpageform_consument_name_error').style.display = 'block';
		error = true;
	}

	if(!shortcode.value) {
		shortcode.className = 'error';
		document.getElementById('contactpageform_consument_shortcode_error').style.display = 'block';
		error = true;
	}

	if ((/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(emailadres.value)) == false) {
		emailadres.className = 'error';
		document.getElementById('contactpageform_consument_email_error').style.display = 'block';
		error = true;
	}

	if((!telefoonnr.value) || ((/^[0-9\+\ ]+$/.test(telefoonnr.value)) == false) || (telefoonnr.value.length < 10)) {
		telefoonnr.className = 'error';
		document.getElementById('contactpageform_consument_phone_error').style.display = 'block';
		error = true;
	}

	if (!error) {
		pageTracker._trackPageview('/contact/contactformulier/');
		new Ajax.Updater({
			success: 'content_contactpage_consument',
			failure: 'content_contactpage_consument'
		}, '/footer/send_contact_info_consument', {
			asynchronous: true,
			evalScripts: true,
			parameters: Form.serialize(obj)
		});
		return false;
	} else {
		return false;
	}

}

function footer_newsletterform_validate(obj){
	var emailadres 	= document.getElementById('nieuwsbriefform_emailadres'); 	emailadres.className = '';
	document.getElementById('footernieuwsbrief_valid_email').style.display = 'none';
	var error = false;
	
	if ((/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(emailadres.value)) == false) {
		emailadres.className = 'error'; error = true;
	}
	
	if (error == false) {
		pageTracker._trackPageview('/footer/nieuwsbrief/');
		new Ajax.Updater({
			success: 'content_nieuwsbrief',
			failure: 'content_nieuwsbrief'
		}, '/footer/subscribe_newsletter', {
			asynchronous: true,
			evalScripts: true,
			parameters: Form.serialize(obj.form)
		});
	} else {
		document.getElementById('footernieuwsbrief_valid_email').style.display = 'block';
	}

	return false;
}

function clear_form(obj, defaultValue) {
	if (obj.value == defaultValue) {
		obj.value = '';
		obj.className = '';
	}
}

/*
 * 
 *  SCROLLER PRODUCTEN HOMEPAGE
 * 
 */

/* --- SLIDER --- */
var SLIDETIMER = 1;
var SLIDESPEED = 8;

// initiate auto scrolling //
function autoScroll(id, prefix, timer, restart){
	var div = document.getElementById(id);
	div.autoscroll = (!div.autoscroll && !restart) ? false : true;
	if (div.autoscroll) {
		var producten = document.getElementById('productenscroller');
		var sections = getElementsByClassName(producten, 'div', 'product');
		var length = sections.length;
		div.section = (div.section && div.section < length) ? div.section + 1 : 1;
		slideContent(prefix + '-' + div.section, prefix, timer);
	}
//document.getElementById('branches').innerHTML = 'on';
}

// handles section to section scrolling of the content //
function slideContent(id,prefix,timer) {
	var div = document.getElementById(id);
	var slider = div.parentNode;
	clearInterval(slider.timer);
	slider.section = parseInt(id.replace(/\D/g,''));
	slider.target = div.offsetLeft;
	slider.style.left = slider.style.left || '0px';
	slider.current = slider.style.left.replace('px','');
	slider.direction = (Math.abs(slider.current) > slider.target) ? 1 : -1;
	if(slider.direction == 1) {
	//	 alert('naar 1');
	}
	slider.timer = setInterval( function() {
		slideAnimate(slider,prefix,timer)
	}, SLIDETIMER);
}

function slideAnimate(slider,prefix,timer) {
	var curr = Math.abs(slider.current);
	var tar = Math.abs(slider.target);
	var dir = slider.direction;
	if((tar - curr <= SLIDESPEED && dir == -1) || (curr - tar <= SLIDESPEED && dir == 1)) {
		slider.style.left = (slider.target * -1) + 'px';
		clearInterval(slider.timer);
		if(slider.autoscroll) {
			setTimeout( function() {
				autoScroll(slider.id,prefix,timer)
			}, timer * 1000);
		}
	} else {
		var pos = (dir == 1) ? parseInt(slider.current) + SLIDESPEED : slider.current - SLIDESPEED;
		slider.current = pos;
		slider.style.left = pos + 'px';
	}
}

// cancel automatic scrolling //
function cancelAutoScroll(id, times) {
	var div = document.getElementById(id);
	div.autoscroll = false;
//document.getElementById('branches').innerHTML = 'out';
}