var currentStep = 1;
var noMorePrefil = false;
var prefilStep = 2;
var blinkColor = ' #ececec';
var blinkBackgroundColor = ' #ffffff';
var showstopper = false;
var extraFooterHeight = 0;
var minFooterHeight = 0;
var stellingAntwoorden = Array();
var stellingAntwoordenColor = '#999999';
var stellingAntwoordenNoDisable = false;
var antwoord;

function check_showstopper(ele, value){
	
	if(ele){
		
		if(this.showstopper != true){
			//alert(this.showstopper);
			if( (typeof(value) == 'object' )&& (value instanceof Array)){
				
				tmp_stop = false;
				for(i=0;i<value.length;i++){
					if(ele.value==value[i]){
						tmp_stop = true;
						//alert('stop');
						break;
						
					}else{
						//alert('do not stop');
						tmp_stop = false;
					}
				}
				this.showstopper = tmp_stop;
			}else{
				if(ele.value==value){
					this.showstopper = true;
					//alert(this.showstopper);
				}else{
					//alert(this.showstopper);
					this.showstopper = false;
				}
			}
		}
	}
}

function check_showstopper2(ele, value){
	
	if(ele){

		if( (typeof(value) == 'object' )&& (value instanceof Array)){
			
			tmp_stop = false;
			for(i=0;i<value.length;i++){
				if(ele.value==value[i]){
					tmp_stop = true;
				}
			}
			this.showstopper = tmp_stop;
		}else{
			if(ele.value==value){
				this.showstopper = true;
			}else{
				this.showstopper = false;
			}
		}
	}
}

function check_showstopper3(ele, value){
	var ele = $(ele);

	if(ele){
		
		if( (typeof(value) == 'object' )&& (value instanceof Array)){
			
			tmp_stop = false;
			for(i=0;i<value.length;i++){
				if(ele.value==value[i]){
					tmp_stop = true;
				}
			}
			this.showstopper = tmp_stop;
		}else{
			
			if(ele.value==value){
				this.showstopper = true;
			}else{
				this.showstopper = false;
			}
		}
	}
}

function checkShowstopper(arrCombo){
	
	if((arrCombo instanceof Array)){
		var chk = true;
		var arrComboInfo = null;
		
		
		for(i=0; i<arrCombo.length;i++){
			arrComboInfo = arrCombo[i];
			
			if((arrComboInfo instanceof Array)){
				for(j=0; j<arrComboInfo.length;j++){
					arrComboVraagInfo = arrComboInfo[j];
					ComboEle = document.getElementsByName(arrComboVraagInfo[0]);
					
					// 1 of andere gare fix voor ie omdat hij niet bij 0 begint te tellen.
					if(navigator.userAgent.toUpperCase().indexOf("MSIE")!== -1){
						arrComboVraagInfo[1] = arrComboVraagInfo[1] +1;
					}
					
					if(ComboEle[arrComboVraagInfo[1]].checked !== true ){//|| ComboEle[0].value == arrComboInfo[1])
						chk = false;
						break;
					}else{
						chk = true;
					}
				}
			}	
			
			
		}
		this.showstopper = chk;
		
	}
}

function checkFieldVerplicht(elementName,arr){
	
	if(arr instanceof Array ){
		if(document.getElementsByName(arr[0]).length > 1){
			ele = document.getElementsByName(arr[0]);
			
			for(i=0; i<ele.length; i++){
				
				if(ele.checked){
					
					if(ele.value == arr[1]){
						$('span'+elementName).innerHTML = '';
					}
				}
			}
			
			
		}else{
				
			if($(arr[0]).value == arr[1]){
				$('span'+elementName).innerHTML = '';
				return;
			}
		}
	}
	$('span'+elementName).innerHTML = '*';
}


function change_pictures(id, url){
	
	if($(id)){
		$(id).src = url;
	}
	
}
function change_div(id, url){
	
	if($(id)){
		$(id).style.background = url;
		$('middle').innerHTML = '';
	}
	
}

function do_not_flash(){
	if($('middle')){

		$('middle').innerHTML = '';
	}
}

function activate_showstopper(){
	
	return this.showstopper;
	
}



function swapStep(from, too, prefil, submit) {
	
	
	if (too == prefilStep && noMorePrefil) {
		if (too > from) {
			too++;
		} else {
			too--;
		}
	} 
	if (too > from) {   
		if (!eval("checkStep"+from+"()")) {
			return;
		}
	}
	
	
	
		
	if (!submit) { 	
		currentStep = too;
	}
	 
	if (prefil) {  
		// werkt niet: 
		//prefilForm($F('email'), $F('dag'), $F('maand'), $F('jaar'));
		var fromObj = document.getElementById('fStep'+from);
		if (fromObj) {
			var email = document.getElementsByName('email')[0].value; 
			var dag = document.getElementsByName('dag')[0].value;
			var maand = document.getElementsByName('maand')[0].value;
			var jaar = document.getElementsByName('jaar')[0].value; 
			prefilForm(email, dag, maand, jaar); 
			return;
		}
	}
	
	if (submit) {
		if ($('telabbo') != null) {
		if (!document.getElementsByName('telabbo')[0].value) {
			if(document.getElementsByName('postcode2')[0].value.length === 2){
				
				document.getElementsByName('telabbo')[0].value = '06';
				document.getElementsByName('tel')[0].value = document.getElementsByName('mobiel')[0].value.replace(/^06( |)/, '');
				document.getElementsByName('mobiel')[0].value = '';
			}else{
				var matchPatBE2 = new RegExp('^((047[1-9])|(048[4-8])|(049[4-9]))(\\d)(?!\\5{5}$)(\\d{5})$','g');
								
				document.getElementsByName('telabbo')[0].value = document.getElementsByName('mobiel')[0].value.replace(matchPatBE2,'$1');
				document.getElementsByName('tel')[0].value =  document.getElementsByName('mobiel')[0].value.replace(matchPatBE2,'$5$6');		
			}
		}
		}
		document.getElementById('formulier').submit();
		return;
	}
	
	$('fStep'+from).style.display='none';
	
	//$('overlay'+too).style.style.filter = 'alpha(opacity=1)';
	$('overlay'+too).style.opacity=1; 
	//$('overlay'+too).filters.alpha.opacity=100
	
	
	$('overlay'+too).style.display='block';
	$('overlay'+too).fade({ duration: 0.5, from: 1, to: 0 });
	
	if (activate_showstopper()) {
		$('showstopper').style.display ='block';
		var height = $('showstopper').clientHeight;
	// IE ziet clientHeight als 0.
		if (height==0) height = $('showstopper').offsetHeight;
	} else { 	
		$('fStep'+too).style.display='block';
		var height = $('fStep'+too).clientHeight;
	}
	
	var top = $('form').style.top.replace('px', '')*1;  
	var mainHeight = (height+top+40+80+extraFooterHeight); 
	var footerTop = (height+top+192+extraFooterHeight);
	  
	if (footerTop < minFooterHeight) {
		footerTop = minFooterHeight;
		mainHeight = (minFooterHeight-60);
	}

	if ($('fContent').style.height.replace('px', '')*1 > height) {
		// alles wordt kleiner
		$('fBack').style.height = (height+20)+'px';
		$('fContent').style.height = (height)+'px';
		$('fContent').style.paddingTop = '40px';  
		$('fContent').style.paddingBottom = '20px';
		 
		Effect.ScrollToY(top-50);
		 
		$("footer").style.top = footerTop+"px";
		//$("main").style.height = mainHeight+"px";  
	} else {
		//alles wordt groter
		$('fBack').style.height = (height-20)+'px';
		$('fContent').style.height = (height)+'px';
		$('fContent').style.paddingTop = '0px';  
		$('fContent').style.paddingBottom = '20px';  

		$("footer").style.top = footerTop+"px";
		if (mainHeight > $("main").style.height.replace('px', '')*1) {
			$("main").style.height = mainHeight+"px";
		}
		
		Effect.ScrollToY(top-50);
	}	
	 

	
	new Effect.Morph('fBack', {
		style: 'height: '+(height)+'px;', 
		duration: 0.5 
	}); 
	
	new Effect.Morph('fContent', {
		style: 'padding-top: 20px; padding-bottom: 20px; ', 
		duration: 0.5 
	});
	//setTimeout('Effect.ScrollToY('+(top-50)+')', 0.1);
	
	if((typeof urchinTracker != 'undefined')){ 
		urchinTracker	( '/nieuwe_leadpagina\'s/pagina_' + too );
	}
}

function calculateHeight() { 
	if (prefilStep == currentStep && noMorePrefil == true) {
		document.getElementById('fStep'+currentStep).style.display = 'none'; 
		currentStep++;
		document.getElementById('fStep'+currentStep).style.display = 'block'; 
	}
	$('fContent').style.height = '1000px'; 
	
	var height = $('fStep'+currentStep).clientHeight;  
	var top = $('form').style.top.replace('px', '')*1; 

	$('fContent').style.height = (height)+'px';
	$('fBack').style.height = (height)+'px'; 
	$('main').style.height = (height+top+40+80+extraFooterHeight)+'px';
	$('footer').style.top = (height+top+192+extraFooterHeight)+'px';
	
	if ($('footer').style.top.replace('px', '')*1 < minFooterHeight) {
		$('footer').style.top = minFooterHeight+'px';
		$('main').style.height = (minFooterHeight-60)+'px';
	}
}


function showLightbox(id) {   
	scrollOffsets = document.viewport.getScrollOffsets(),
	//alert(scrollOffsets[1]);
	
	
	// remove all elements that are giving trouble.
	// in IE6
	$$( 'select', 'embed', 'oBject' ).each( function(element){
		   element = $( element );
		   //element.hide();
	});
	
	$('overlayLightbox-'+id).style.opacity = 1;
	$('overlayLightbox-'+id).style.display='block';
	$('overlayLightbox-'+id).fade({ duration: 0.5, from: 0.99, to: 0 }); 
	
	$('lightBox'+id).style.top = scrollOffsets[1]+50+'px'; 
	
	$('lightBox'+id).style.display = 'block';
	$('grayOver').style.display = 'block';    
	$('grayOver').style.height = document.documentElement.scrollHeight+'px'; 	 

	 
	var height = $('lightBoxContent2-'+id).clientHeight;  
	$('lightBoxContent1-'+id).style.height = (height)+'px';
	$('lightBoxBack'+id).style.height = (height)+'px'; 
	$('lightBoxBack'+id).style.paddingBottom = '0px'; 
	
	if ((height + scrollOffsets[1]+170) > $('grayOver').style.height.replace('px', '')*1) {
		$('grayOver').style.height = (height + scrollOffsets[1] + 170)+'px';
	}
	
	//animations
	
	$('lightBoxContent1-'+id).style.paddingTop = '30px';  
	$('lightBoxContent1-'+id).style.paddingBottom = '30px'; 
	  
	
	new Effect.Morph('lightBoxContent1-'+id, {
		style: 'padding-top: 50px; padding-bottom: 50px; ', 
		duration: 0.5 
	});   
	 
	new Effect.Morph('lightBoxBack'+id, {
		style: ' padding-bottom: 40px;', 
		duration: 0.5 
	});
	
	  
	
}

function hideLightbox(id) {  
	
	
	// Show all elements that are giving trouble.
	// in IE6
	$$( 'select', 'embed', 'oBject' ).each( function(element){
		   element = $( element );
		   element.show();
	});
	
	$('lightBox'+id).style.display = 'none'; 
	$('grayOver').style.display = 'none'; 
	$('grayBlink').style.height = ($('fContent').clientHeight-10)+'px';
	
	new Effect.Morph('grayBlink', {
		style: 'background-color: '+blinkColor, 
		duration: 0.5
	}); 

	if (!($('fGeslacht').className.match(/(redField|blueField)/))) { 
		new Effect.Morph('fGeslacht', {
			style: 'background-color: '+blinkColor, 
			duration: 0.5
		});  
		setTimeout("\
			new Effect.Morph('fGeslacht', {\
				style: 'background-color: '+blinkBackgroundColor, \
				duration: 0.5\
			}); \
		", 500);
		 
		setTimeout("\
			document.getElementById('fGeslacht').style.backgroundColor = '';\
		", 1100);	
	}
	
	setTimeout("\
		new Effect.Morph('grayBlink', {\
			style: 'background-color: '+blinkBackgroundColor, \
			duration: 0.5\
		}); \
	", 500);
}

function prefilForm(email, dag, maand, jaar) { 
	if (document.getElementsByName('voorletter')[0].value != "") {
		// er zijn al gegevens 
		swapStep(currentStep-1, currentStep);
		return;
	}

	new Ajax.Request('/uitingen/prefil.php', 
		{
			method:'get',
			parameters: {
				email: email, 
				dag: dag,
				maand: maand,
				jaar: jaar,
				hash: $F( 'hash' ) + $F( 'enterTime' )
			},
			onComplete: prefilFormReturn
		}
	);
 
}

function prefilFormReturn(transport, json) {  
	noMorePrefil = true;
	//swapStep(currentStep-1, currentStep);
	
	if (json) {
		setFieldWrong("reset");
		
		if ( json [ 'prefilSucces' ] === false ) {
			//var arr = $('fStep'+currentStep).getElementsByTagName('div');
			var arr = $('fStep'+currentStep).select('div');

			arr.each(function(e){
				
				//custom text.
				if($(e).hasClassName('noPrefill')){
					$(e).setStyle({
						display: 'block'
					});
					
					 throw $break;
				}
				
				if ( ( $(e).innerHTML ).match ( /ingevulde gegevens/ ) ){
					$(e).style.display = 'block';
				}
				else if ( ( $(e).innerHTML ).match ( /ontbrekende gegevens/ ) && document.getElementsByName('sitenaam')[0].value == 'DAS' ){
					$(e).innerHTML = '<strong>Vul hieronder uw bedrijfsgegevens in:</strong>';
				}
				else if ( ( $(e).innerHTML ).match ( /ontbrekende gegevens/ ) && document.getElementsByName('sitenaam')[0].value == 'Luckyday' ){
					$(e).innerHTML = '<strong>Vul hieronder je gegevens in:</strong>';
				}
				else if ( ($(e).innerHTML ).match ( /ontbrekende gegevens/ ) ){
					$(e).innerHTML = '<strong>Vul hieronder uw gegevens in:</strong>';
				}	
			});
			
	/*		for ( var i = 0; i < arr.length; i++ ) {
				
				if ( ( arr [ i ].innerHTML ).match ( /ingevulde gegevens/ ) ){
					arr [ i ].style.display = 'block';
				}
				else if ( ( arr [ i ].innerHTML ).match ( /ontbrekende gegevens/ ) && document.getElementsByName('sitenaam')[0].value == 'Luckyday' ){
					arr [ i ].innerHTML = '<strong>Vul hieronder je gegevens in:</strong>';
				}	
				else if ( ( arr [ i ].innerHTML ).match ( /ontbrekende gegevens/ ) ){
					arr [ i ].innerHTML = '<strong>Vul hieronder uw gegevens in:</strong>';
				}
			}*/
			
			$('prefilComment').style.display = 'none';
			$('prefilComment').style.float = 'none';
			
			
		} 
		if(json [ 'prefilSucces' ] === true) {
			
			var arr = $('fStep'+currentStep).select('div');

			arr.each(function(e){
				
				//custom text.
				if($(e).hasClassName('hasPrefill')){
					$(e).setStyle({
						display: 'block'
					});
					
					 throw $break;
				}
				
				
				if ( ( $(e).innerHTML ).match ( /ingevulde gegevens/ ) ){
					$(e).style.display = 'block';
				}
				else if ( ( $(e).innerHTML ).match ( /ontbrekende gegevens/ ) && document.getElementsByName('sitenaam')[0].value == 'DAS' ){
					$(e).innerHTML = '<strong>Controleer hieronder uw bedrijfsgegevens en vul de ontbrekende gegevens aan.</strong>';
				}
				else if ( ( $(e).innerHTML ).match ( /ontbrekende gegevens/ ) && document.getElementsByName('sitenaam')[0].value == 'Luckyday' ){
					$(e).innerHTML = '<strong>Controleer hieronder uw gegevens en vul de ontbrekende gegevens aan.</strong>';
				}	
				else if ( ($(e).innerHTML ).match ( /ontbrekende gegevens/ ) ){
					$(e).innerHTML = '<strong>Controleer hieronder uw gegevens en vul de ontbrekende gegevens aan.</strong>';
				}	
			});
			
			$('prefilComment').style.display = 'block';
			//$('prefilComment').style.height = 'auto';
			
			
		}
		
		
		var key;
		var key2;
		var element;
		 
		for (key in json) {
			element = document.getElementsByName(key);
			if (element) {
				if (element[0]) {
					if (element[0].type == 'radio' && element[0].value == json[key]) {
						element[0].checked = true;
					}
					element[0].value = json[key];
				}
				
				if (element[1]) {
					if (element[1].type == 'radio' && element[1].value == json[key]) {
						element[1].checked = true;
					}
					element[1].value = json[key];
				} 
			} 
		} 
		
		swapStep(currentStep-1, currentStep);
		var obj = document.getElementById('fStep'+currentStep).getElementsByTagName('div');
		var count = 1;
		var tempObj;
		obj[obj.length] = document.getElementById('fGeslacht');
		for (key in obj) {  
			if (obj[key].innerHTML == undefined) {
				continue;
			}
			if (obj[key].getElementsByTagName('span') && obj[key].getElementsByTagName('span')[0]) { 
				if (!(obj[key].getElementsByTagName('span')[0].innerHTML.match(/^\*/))) { 
					continue;
				}
			}
			if (obj[key].getElementsByTagName('input')) { 
				if (obj[key].getElementsByTagName('input')[0]) { 
					if (obj[key].getElementsByTagName('input')[0].value == '' && obj[key].getElementsByTagName('input')[0].name != 'mobiel') {
						if (json.prefilSucces == true) {
							obj[key].className += " blueField";
						}
						//obj[key].addClassName('blueField');
						continue;
					}
				}
			}
			
			if (obj[key].getElementsByTagName('select')) {
				if (obj[key].getElementsByTagName('select')[0]) {
					tempObj = obj[key].getElementsByTagName('select');
					
					for (key2 in tempObj) {
						if (tempObj[key2].selectedIndex == 0) { 
							if (json.prefilSucces == true) {
								obj[key].className += " blueField";
							}
							//obj[key].addClassName('blueField');
							continue;
						}
					} 
				}
			}
		}
	} 
}

function setFieldWrong(elementName) {
	var obj = document.getElementById('fStep'+currentStep).getElementsByTagName('div');
	var key;
	var newClass = '';
	
	if (currentStep == totalSteps) { 
		obj[obj.length] = document.getElementById('fGeslacht');
	}
	
	for (key in obj) {  
		if (obj[key]) {
			if (obj[key].className) {   
				if (elementName == "reset") {	 
					newClass = obj[key].className;
					newClass = newClass.replace(' blueField', '');
					newClass = newClass.replace(' redField', '');					
					obj[key].className = newClass; 
					continue;
				} 
				
				if (obj[key].getElementsByTagName('input')) {  
					
					if (obj[key].getElementsByTagName('input')[0]) {  
						
						if (obj[key].getElementsByTagName('input')[0].name == elementName) {   
							obj[key].className += " redField";
							continue;
						}
					}
				}
				
				if (obj[key].getElementsByTagName('textarea')) {  
					if (obj[key].getElementsByTagName('textarea')[0]) {  
						
						if (obj[key].getElementsByTagName('textarea')[0].name == elementName) {   
							obj[key].className += " redField";
							continue;
						}
					}
				}
				
				if (obj[key].getElementsByTagName('select')) {
					if (obj[key].getElementsByTagName('select')[0]) {
						tempObj = obj[key].getElementsByTagName('select');
						
						for (key2 in tempObj) {
							if (tempObj[key2].name == elementName) { 
								obj[key].className += " redField";
								continue;
							}
						} 
					}
				}
			}
		}
	}
}


function hideSub(hide){
	var tempObj = document.getElementById(hide).getElementsByTagName('div')[0]; 
	var height = tempObj.offsetHeight; 
			
	new Effect.Morph(hide, {
		style: 'height: 0px;', 
		duration: 0 
	});
		 
	$("main").style.height = (($('main').style.height.replace('px', '')*1)-height)+'px';
	$("fBack").style.height = (($('fBack').style.height.replace('px', '')*1)-height)+'px';
	$("fContent").style.height = (($('fContent').style.height.replace('px', '')*1)-height)+'px';
	$("footer").style.top = (($('footer').style.top.replace('px', '')*1)-height)+'px';
	 
}

var selected;

function showSub(show, hide){
		if(selected == show){
			return false;
		}
		
		selected = show;
		
		if($(hide).getHeight()){
			hideSub(hide);
		}
		var tempObj = document.getElementById(show).getElementsByTagName('div')[0]; 
		var height = tempObj.offsetHeight; 
				
		new Effect.Morph(show, {
			style: 'height: '+(height)+'px;', 
			duration: 0.5 
		});
		 
		$("main").style.height = (($('main').style.height.replace('px', '')*1)+height)+'px';
		 
		new Effect.Morph('fBack', {
			style: 'height: '+(($('fBack').style.height.replace('px', '')*1)+height)+'px;', 
			duration: 0.5 
		}); 
		
		new Effect.Morph('fContent', {
			style: 'height: '+(($('fContent').style.height.replace('px', '')*1)+height)+'px;', 
			duration: 0.5 
		});   
		
		new Effect.Morph('footer', {
			style: 'top: '+(($('footer').style.top.replace('px', '')*1)+height)+'px;', 
			duration: 0.5 
		}); 
	
}

function show_antwoord(from, stap){
	if (!eval("checkStep"+from+"()")) {
		return;
	}
 
	if (document.getElementById(this.antwoord+stap)) { 
		var tempObj = document.getElementById(this.antwoord+stap).getElementsByTagName('div')[0]; 
		var height = tempObj.offsetHeight; 
				
		new Effect.Morph(this.antwoord+stap, {
			style: 'height: '+(height)+'px;', 
			duration: 0.5 
		});
		 
		$("main").style.height = (($('main').style.height.replace('px', '')*1)+height)+'px';
		 
		new Effect.Morph('fBack', {
			style: 'height: '+(($('fBack').style.height.replace('px', '')*1)+height)+'px;', 
			duration: 0.5 
		}); 
		
		new Effect.Morph('fContent', {
			style: 'height: '+(($('fContent').style.height.replace('px', '')*1)+height)+'px;', 
			duration: 0.5 
		});   
		
		new Effect.Morph('footer', {
			style: 'top: '+(($('footer').style.top.replace('px', '')*1)+height)+'px;', 
			duration: 0.5 
		}); 
 
	}
}

function check_vraag(ele, num){
	var arr = stellingAntwoorden;
	if(ele.checked && ele.value == arr[(num-1)]){
		this.antwoord = 'goed'; 
	} else if(ele.checked && ele.value != arr[(num-1)]) {
		this.antwoord = 'fout'; 
	}
	
	if (stellingAntwoordenNoDisable == true) {
		return;
	}
	
	for (i=0; i<document.getElementsByTagName('input').length; i++) {
		var el = document.getElementsByTagName('input');
		if (el[i].type == 'radio' && el[i].name == 'stelling_'+num){
			document.getElementsByTagName('input')[i].onclick = 'none';

			if(el[i].checked != true)
			el[i].setAttribute("disabled","disabled");
			
			if(!(el[i].checked) && el[i].name == 'stelling_'+num){
				var label = document.getElementsByTagName('label');
				label[i].style.color = stellingAntwoordenColor;
			}
		}
	}
}

function IgnoreFilter(thisEle){

var input = document.getElementById(thisEle);

	
	if(this.showstopper){
		
		if(input.checked){
			this.showstopper = false;
		}
		else{
			this.showstopper = true;
		}
	}

}