var isNN = (navigator.appName.indexOf("Netscape")!=-1);

function autoTab(input,len,e) {
    var keyCode = (isNN) ? e.which : e.keyCode; 
    var filter  = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
    if (input.value.length >= len && !containsElement(filter,keyCode)) {
		input.value = input.value.slice(0, len);
		var index = getIndex(input);
		var nextField = input.form[(index+1) % input.form.length];
		while (nextField.type == 'hidden' || nextField.type == 'button') {
			index ++;
			nextField = input.form[(index+1) % input.form.length];
	    }
	    if (nextField) {
	    	nextField.focus();
	    }
    }
    return true;
}

function containsElement(arr,ele) {
    var found = false, index = 0;
    while (!found && index < arr.length) {
		if (arr[index] == ele) {
		    found = true;
		} else {
		    index++;
		}
    }
    return found;
}

function getIndex(input) {
    var index = -1, i = 0, found = false;
	    while (i < input.form.length && index == -1) {
		if (input.form[i] == input) {
		    index = i;
		} else {
		    i++;
		}
    }
    return index;
}

function noTab(e) {
    var keyCode = (isNN) ? e.which : e.keyCode;
    if (keyCode == 0) {
	return false;
    } else {
	return true;
    }
}

function goHuisdieren(objecttype) {
    if (objecttype == '') {
		$('objecttypeName0').innerHTML='';
		$('objecttypeName1').innerHTML='';
		$('objecttypeMaxPersonen').innerHTML='8';
		$('objecttypeGif0').style.display='none';
		$('objecttypeGif1').style.display='none';
    } else {
		$('objecttypeGif0').src='images/'+objecttype.split(':')[0]+'.gif';
		$('objecttypeGif1').src='images/'+objecttype.split(':')[0]+'.gif';
		$('objecttypeGif0').style.display='block';
		$('objecttypeGif1').style.display='block';
		$('objecttypeName0').innerHTML=$('objecttype').options[$('objecttype').selectedIndex].text;
		$('objecttypeName1').innerHTML=$('objecttype').options[$('objecttype').selectedIndex].text;
		$('objecttypeMaxPersonen').innerHTML=$('objecttype').options[$('objecttype').selectedIndex].value.split(':')[2];
    }
    if (objecttype == '' || objecttype.split(':')[0] == 'bg') {

		$('animalDiv').style.display='block';
		$('animalDiv0').innerHTML=objLang.toegestaan;
		$('noAnimalDiv').style.display='none';
	
		$('aantalHuisdieren').disabled=false;
	
		$('animalGif0').style.display='block';
		$('animalGif1').style.display='block';
		$('noAnimalGif0').style.display='none';
		$('noAnimalGif1').style.display='none';

    } else {

		$('animalDiv').style.display='none';
		$('animalDiv0').innerHTML=objLang.nee;
		$('noAnimalDiv').style.display='block';
	
		$('aantalHuisdieren').disabled=true;
	
		$('animalGif0').style.display='none';
		$('animalGif1').style.display='none';
		$('noAnimalGif0').style.display='block';
		$('noAnimalGif1').style.display='block';

    }
    getAantalPersonenSelectBox(objecttype.split(':')[2]);
    return false;
}

function getAantalPersonenSelectBox(aantalPersonen) {
	var currentAantalPersonen = parseInt($('aantalPersonen').value);
	$('aantalPersonenDiv').innerHTML='';
	var string = new Array();
	var intAantalPersonen = 1;
	var evChange="getMeereizend();";
	if (parseInt(aantalPersonen) > 0) {
		intAantalPersonen = parseInt(aantalPersonen);
	}
	string.push("<select name='aantalPersonen' id='aantalPersonen' onChange='"+evChange+"'>");
	for(var i=1;i<=intAantalPersonen;i++){
		var selected = (i == currentAantalPersonen || (i < currentAantalPersonen && i == intAantalPersonen)) ? " selected" : "";
		string.push("<option value='"+i+"'"+selected+">"+i+"</option>");
	}
    string.push('</select>');
    $('aantalPersonenDiv').innerHTML = string.join('');
    if (currentAantalPersonen != parseInt($('aantalPersonen').value)) {
    	getMeereizend();
    }
    return false;
}
    

function goTab(tabNumber) {
    if ($('tabMiddle'+tabNumber).className!='tabMiddleNormal') {
        return false;
    }
    if (tabNumber+0 == 2) {
        //#HOOK INTO BESCHIKBAARHEID
	return getBeschikbaarheid();
    }
    tableScroll(tabNumber);
    if (tabNumber+0 == 4) {
	    checkGegevensForm();
    }
    selectTab(tabNumber);
}

function selectTab(tabNumber) {
    var i=0;
    for (i=0;i<=5;i++) {
        if ($('tabMiddle'+i).className=='tabMiddleSelected') {
            $('tabLeft'+i).className='tabLeftNormal';
            $('tabMiddle'+i).className='tabMiddleNormal';
            $('tabRight'+i).className='tabRightNormal';
        }
    }
    $('tabLeft'+tabNumber).className='tabLeftSelected';
    $('tabMiddle'+tabNumber).className='tabMiddleSelected';
    $('tabRight'+tabNumber).className='tabRightSelected';
   	pageTracker._trackPageview('funnel_G1/step'+parseInt(tabNumber)+'.html');
}

function getBeschikbaarheid() {
    showThrobber();
    $('avStatus').innerHTML=objLang.zoektBeschikbaarheid+"...";
    var params = Form.serialize('olbForm');
    var AsselBergs = new Ajax.Updater('hiero','_ajaxBeschikbaarheid.php',{ onSuccess: successBeschikbaarheid, onFailure: failBeschikbaarheid, onComplete: hideThrobber, parameters: params } );
}

function successBeschikbaarheid(Request) {
    $('avStatus').innerHTML="";
    tableScroll(2);
    selectTab(2);
}

function failBeschikbaarheid(Request) {
	if (Request.getResponseHeader('X-B4A-responseError')) {
		$('avStatus').innerHTML=Request.getResponseHeader('X-B4A-responseError');
	} else {
		$('avStatus').innerHTML=objLang.geenBeschikbaarheid+"...";
	}
}

function getBoeking() {
    if (checkGegevensForm()) {
		enableTab(5);
		showThrobber();
		$('maakBoeking').value='true';
		var params = Form.serialize('olbForm')+'&getObjectId='+$('objectId').value;
		$('maakBoeking').value='false';
		var AsselBergs = new Ajax.Updater('bookingResults','_ajaxBoekNu.php',{ evalScripts: true, onSuccess: successBoeking, onFailure: failBoeking, onComplete: hideThrobber, parameters: params } );
		goTab(5);
    }
}

function successBoeking() {
    $('selectedObject').onclick = false;
    $('userDataButton').disabled=true;
    $('bookingButton').style.display='block';
    for (i=0;i<=4;i++) {
		disableTab(i);
    }
    var i = 0;
    while (i < $('userDataButton').form.length) {
		$('userDataButton').form[i].disabled = true;
        i++;
    }
    $('bookingButton').disabled=false;
   	pageTracker._trackPageview('funnel/geboekt.html');
	try {
		var pageTracker=_gat._getTracker("UA-7841698-1");
		pageTracker._trackPageview("/0113934599/goal");
	}catch(err){}
   	
}

function failBoeking() {
    $('bookingResults').innerHTML="<h3 style=\"color: red;\">"+objLang.boekenNietGelukt+"</h3>"+objLang.probeerHetLater;
}


function getOfferte(el,objectId) {
    jslog.debug($(el).id);
//    jslog.info($(el).style.padding + '|' + $(el).style.margin);
//    jslog.debug('getOfferte:'+$(el).id);
////### Kijken of er al een is en deze terugzetten
    if ($('selectedObject')) {
		reposition(el,objectId);
		return false;
    }
    getRealOfferte(el,objectId);
    return false;
}

function getRealOfferte(el,objectId) {
    $(el).style.margin="0";
    $(el).style.padding="0";
    $('objectId').value=objectId;
    enableTab(3);

////### Nieuwe cloon maken en positioneren

    var newClone = $(el).cloneNode(true);
    newClone.id = 'selectedObject';
    newClone.objectId = objectId;
    newClone.originalId = $(el).id;
//    Position.clone($(el),$('selectedObject'));
//    Position.clone($(el),newClone);
    $('insertBeforeMe').parentNode.insertBefore(newClone,$('insertBeforeMe'));
    Position.absolutize($('selectedObject'));
//$(el).style.margin="0px;";
    $('selectedObject').style.margin="0";
    $('selectedObject').style.padding="0";
//    jslog.info('source offsetWidth: '+ $(el).offsetWidth);
//    jslog.info('target offsetWidth: '+ $('selectedObject').offsetWidth);
    Position.clone($(el),$('selectedObject'));
//    $('selectedObject').style.margin="3px;";
//    Position.clone($(el),$('selectedObject'),{offsetTop: -3,offsetLeft: -3});
    //$('selectedObject').style.width = $(el).offsetWidth + 'px';
    //$('selectedObject').style.height= $(el).offsetHeight + 'px';
//    jslog.info('source offsetWidth: '+ $(el).offsetWidth);
//    jslog.info('target offsetWidth: '+ $('selectedObject').offsetWidth);
    $(el).style.margin="3";
    $(el).style.padding="2";
    $('selectedObject').style.margin="3";
    $('selectedObject').style.padding="2";
//    jslog.info('source offsetWidth: '+ $(el).offsetWidth);
//    jslog.info('target offsetWidth: '+ $('selectedObject').offsetWidth);
//    jslog.info($(el).style.padding + '|' + $(el).style.margin);
    jslog.info($(el).style.visibility);
    $(el).style.visibility='hidden';
    $('selectedObject').style.background='#C5EE04';
    $('selectedObject').onclick = function () { reposition() };
    $('selectedObject').style.cursor='auto';
    new Effect.Highlight('selectedObject', {startcolor: '#FFFFFF' });
    //Element.makePositioned($(el));
    //var myLeftPos = parseFloat(Element.getStyle($(el),'left') || '0');
    //alert(myLeftPos);
    //new Effect.MoveBy($(el),-$(el).offsetTop,1138-$(el).offsetLeft, { transition: Effect.Transitions.slowstop, queue: 'end', duration: 1.2});
    var myRealOffset = Position.cumulativeOffset($('selectedObject'));
    $('selectedObject').myRealOffset=myRealOffset;
    var parentRealOffset = Position.cumulativeOffset($('chooseAccom'));
    var myLeft=parentRealOffset[0]+$('chooseAccom').offsetWidth-$('selectedObject').offsetWidth-myRealOffset[0];
//    jslog.debug(myLeft);
    new Effect.MoveBy('selectedObject',67-myRealOffset[1],myLeft, { mode: 'relative',transition: Effect.Transitions.slowstop, duration: 1.1});
    showThrobber();
    $('offerteButton').style.display="none";
    $('offerteResults').innerHTML=objLang.ogenblikGeduld;
    $('offerteResults').style.cursor="wait";
    var params = Form.serialize('olbForm')+'&getObjectId='+objectId;
    var AsselBergs = new Ajax.Updater('offerteResults','_ajaxOfferte.php',{ onComplete: gotOfferte, parameters: params } );
    goTab(3);
}

function reposition(el,objectId) {
    var currentTab=parseInt(-1*($('moveTable').offsetLeft-10)/677);
    if (currentTab != 2) {
		goTab(2);
    }
    if ($($('selectedObject').originalId)) {
        new Effect.MoveBy('selectedObject',$('selectedObject').myRealOffset[1]-2,$('selectedObject').myRealOffset[0]-3, { queue: 'end', mode: 'absolute',transition: Effect.Transitions.slowstop, duration: 1.1, afterFinish: function() { switchback(el,objectId) } });
	$('selectedObject').style.background='#FFFFFF';
        new Effect.Highlight('selectedObject', {startcolor: '#C5EE04', queue: 'end' });
    } else {
		new Effect.Fade('selectedObject', { afterFinish: function() { switchAway(el,objectId) } });
    }
}

function switchback(el,objectId) {
    $($('selectedObject').originalId).style.visibility='visible';
    switchAway(el,objectId);
}

function switchAway(el,objectId) {
    $('selectedObject').style.visibility='hidden';
    $('objectId').value='';
    $('insideOfMe').removeChild($('selectedObject'));
    if (el && objectId) {
        getRealOfferte(el,objectId);
    }
}

function gotOfferte() {
    $('offerteButton').style.display="block";
    hideThrobber();
    $('offerteResults').style.cursor="default";
}

function getMeereizend() {
    $('meereizendDiv').innerHTML='';
    var string = new Array();
    string.push('<table border="0" cellpadding="2" cellspacing="0" style="font-size: 14px;"><tbody><tr><td colspan="3" style="padding: 5px; background-color: #C5EE04;"><i><b>Meereizende personen:</b></i></td></tr><tr><td><div style="padding: 2px;"><b>Naam:</b></div></td><td><b>Geboorte datum:</b></td></tr>');
    var maxI = 1;
    if ($('aantalPersonen').value > 0 || $('aantalPersonen').options[$('aantalPersonen').options.selectedIndex].value > 0) {
		maxI = $('aantalPersonen').value;
    }
    var evFocus, evBlur, evKeyup, evKeyup2, evTDclick;
    for(var i=1;i<=maxI;i++){
    	evFocus = "setErrorMessage(this, 'errorMessageDiv');";
    	evBlur = "checkGegevensForm();";
    	evKeyup = "checkGegevensForm(); setErrorMessage(this, 'errorMessageDiv');";
    	evKeyup2 = (i==maxI ? evKeyup : evKeyup + ' return autoTab(this, 4, event)');
    	evTDclick = "giveBirthDateToCalendar('gd_"+i+"', 'gm_"+i+"', 'gy_"+i+"');";
		string.push('<tr><td>'+i+'.&nbsp;<input type="text" name="naam_'+i+'" id="naam_'+i+'" size="17" maxlength="17" onfocus="'+evFocus+'" onblur="'+evBlur+'" onkeyup="'+evKeyup+'"></td>' +
						'<td><input type="text" name="gd_'+i+'" id="gd_'+i+'" size="2" maxlength="2" onfocus="'+evFocus+'" onblur="'+evBlur+'" onKeyUp="'+evKeyup+' return autoTab(this, 2, event);" ><input ' +
						'type="text" name="gm_'+i+'" id="gm_'+i+'" size="2" maxlength="2" onfocus="'+evFocus+'" onblur="'+evBlur+'" onKeyUp="'+evKeyup+' return autoTab(this, 2, event);"><input ' +
						'type="text" name="gy_'+i+'" id="gy_'+i+'" size="4" maxlength="4" onfocus="'+evFocus+'" onblur="'+evBlur+'" onKeyUp="'+evKeyup2+'"></td> ' + 
						'<td onclick="'+evTDclick+'"><img src="images/calendar.gif" border="0" id="calButton_' + i + '" alt="Klik hier voor een handige kalenderhulp.">' + getCalenderScript(i) + '</td></tr>');
    }
    string.push('</tbody></table>');
    $('meereizendDiv').innerHTML = string.join('');
}

function getCalenderScript(number) {
	var func = "fillDateFields(this.value, 'gd_" + number + "', 'gm_" + number + "', 'gy_" + number + "'); checkGegevensForm(); setErrorMessage($('gy_'+" + number + "), 'errorMessageDiv'); ";
	var html = '<input type="hidden" name="hiddenDOB_' + number + '" id="hiddenDOB_' + number + '" value="" onchange="' + func + '"> \n';
	setTimeout("doCalendarSetup("+number+")", 600);
	return html;
}

function doCalendarSetup(number) {
	Calendar.setup({
		inputField     :    "hiddenDOB_" + number,
		ifFormat       :    "%d-%m-%Y",
		daFormat       :    "%d-%m-%Y",
		showsTime      :    false,
		button         :    "calButton_" + number,
		singleClick    :    true,
		align          :    "Bl",
		electric       :    false
	});
}

function showThrobber() {
    $('throbber').style.display='block';
}

function hideThrobber() {
    $('throbber').style.display='none';
}


function tableScroll(tabNumber) {
    new Effect.MoveBy('moveTable',0,tabNumber*-677,{ transition: Effect.Transitions.slowstop, mode: 'absolute', queue: 'end', duration: 1.2, afterFinish: function () { tableScrollOnFinish(tabNumber) } });
}

function tableScroll3(tabNumber) {
    new Effect.MoveBy('moveTable',0,tabNumber*-677,{ transition: Effect.Transitions.slowstop, mode: 'absolute', duration: 1.2, afterFinish: function () { tableScrollOnFinish(tabNumber) } });
}

function objectIdScroll(el,tabNumber) {
    var currentTab=parseInt($(el).offsetLeft/677);
    var myDuration = (tabNumber-currentTab) < 0 ? 1.0 : 1.4; 
    //jslog.debug($(el).offsetLeft);
    jslog.info($(el).offsetLeft + ' - ' + currentTab);
    new Effect.MoveBy($(el),0,(tabNumber-currentTab)*677, { mode: 'relative', transition: Effect.Transitions.slowstop, queue: 'end', duration: myDuration});
}

// 2492 461 1138 677


function tableScrollOnFinish(tabNumber) {
    //### HOOKS ###

    if (tabNumber+0 == 1) {
		//#HOOK INTO AANKOMST & VERTREK
    	if ($('aankomstDatumDag').enabled) {
    		$('aankomstDatumDag').focus();
    	}
		return false;
		//#DONTR CHANGE FOCUS WHILE RUNNING AN EFFECT
    }
/*    if (tabNumber+0 == 2) {
        //#HOOK INTO BESCHIKBAARHEID
	var params = Form.serialize('olbForm');
        var AsselBergs = new Ajax.Updater('beschikbaarheid','/brem/beschikbaarheid',{ parameters: params } );
        return false;
   }
*/					    

}

function ajaxGetObjecttypeDiv4() {
    Effect.BlindUp('objecttypeDiv',{afterFinish: function() { ajaxGetObjecttypeDiv2();} });
}

function ajaxGetObjecttypeDiv5() {
    $('objecttypeDiv').style.display='none';
    $('objecttypeDiv').innerHTML=$('objecttype_'+$('objecttype').value).innerHTML;
    //new Ajax.Updater('objecttypeDiv','/olb/template/objecttype_'+$('objecttype').value+'.html', {
	//method: 'get',
	//onLoad:
	Effect.BlindDown('objecttypeDiv',{queue: 'end'});
	//});
}

function ajaxGetObjecttypeDiv() {
    new Effect.MoveBy('objecttypeDiv',-344,0,{  transition: Effect.Transitions.exponential, mode: 'absolute', queue: 'end', afterFinish: function() { ajaxGetObjecttypeDiv2();} });
}

function ajaxGetObjecttypeDiv2() {
    $('objecttypeDiv').innerHTML=$('objecttype_'+$('objecttype').value).innerHTML;
    new Effect.MoveBy('objecttypeDiv',0,0,{  transition: Effect.Transitions.slowstop, mode: 'absolute', queue: 'end' });
}

function initOnlineBoeken() {
    var olbFormEventObserver = new Form.EventObserver( 'olbForm', processOlbFormEvent );
    var olbFormEventObserver = new Form.Observer( 'olbForm',2, processOlbFormEvent );
}

function processTab1() {
    var avTab = 0;
    if ($('aankomstDatumDag').value) {
		if ($('aankomstDatumDag').value >= 1 && $('aankomstDatumDag').value <= 31) {
		    avTab++;
		} else {
		    $('avStatus').innerHTML=objLang.aankomstDagError;
		    return false;
		}
    }
    if ($('aankomstDatumMaand').value) {
		if ($('aankomstDatumMaand').value >= 1 && $('aankomstDatumMaand').value <= 12) {
		    avTab++;
		} else {
		    $('avStatus').innerHTML=objLang.aankomstMaandError;
		    return false;
		}
    }
    if ($('vertrekDatumDag').value) {
		if ($('vertrekDatumDag').value >= 1 && $('vertrekDatumDag').value <= 31) {
		    avTab++;
		} else {
		    $('avStatus').innerHTML=objLang.vertrekDagError;
		    return false;
		}
    }
    if ($('vertrekDatumMaand').value) {
		if ($('vertrekDatumMaand').value >= 1 && $('vertrekDatumMaand').value <= 12) {
		    avTab++;
		} else {
		    $('avStatus').innerHTML=objLang.vertrekMaandError;
		    return false;
		}
    }
    if ($('aankomstDatumDag').value && $('aankomstDatumMaand').value && $('vertrekDatumDag').value && $('vertrekDatumMaand').value) {
		var today = new Date();
		if (isDayMonthBeforeToday($('aankomstDatumDag').value,$('aankomstDatumMaand').value)) {
			$('hiddenAankomstJaar').value = today.getFullYear()+1;
		} else {
			$('hiddenAankomstJaar').value = today.getFullYear();
		}
		if (isDayMonthBeforeToday($('vertrekDatumDag').value,$('vertrekDatumMaand').value)) {
			$('hiddenVertrekJaar').value = today.getFullYear()+1;
		} else {
			$('hiddenVertrekJaar').value = today.getFullYear();
		}
		var calcArrival = dateCalculator($('aankomstDatumMaand').value,$('aankomstDatumDag').value,$('hiddenAankomstJaar').value);
		var calcDepart  = dateCalculator($('vertrekDatumMaand').value,$('vertrekDatumDag').value,$('hiddenVertrekJaar').value);
		jslog.info('Aankomst: ' + calcArrival);
		jslog.info('Vertrek   ' + calcDepart);
		if (calcDepart > calcArrival) {
		    avTab++;
		} else {
		    $('avStatus').innerHTML=objLang.vertrekLaterDanAankomstError;
		    return false;
		}
    }
    if ($('aantalPersonen').value) {
		if ($('aantalPersonen').value >= 1 && $('aantalPersonen').value <= 9) {
		    avTab++;
		} else {
		    $('avStatus').innerHTML=objLang.aantalPersonenError;
		    return false;
		}
    }
    return avTab;
}

function dateCalculator(xmyMaand,xmyDag,xmyYear) {
	if (!xmyYear) {
		xmyYear=new Date().getFullYear();
	}
	return parseInt(parseInt(xmyYear*1)*10000 + parseInt(xmyMaand*1)*100 + parseInt(xmyDag*1));	
}
 
function processOlbFormEvent() {
    var avTab = processTab1();
    if (avTab != false && $('avStatus').innerHTML != objLang.geenBeschikbaarheid) {
		$('avStatus').innerHTML="";
    }
    if (avTab == 6) {
		enableTab(2);
		$('aankomstVertrekButton').disabled=false;
    } else {
		disableTab(2);
		$('aankomstVertrekButton').disabled=true;
    }
    if ($('objectId').value) {
		enableTab(3);
    } else {
		disableTab(3);
    }
    
}

function enableTab(tabNumber) {
    if ($('tabMiddle'+tabNumber).className!='tabMiddleNormal Disabled') {
        return false;
    }
    $('tabMiddle'+tabNumber).className='tabMiddleNormal';
}

function disableTab(tabNumber) {
    if ($('tabMiddle'+tabNumber).className == 'tabMiddleNormal Disabled') {
		return false;
    }
    $('tabMiddle'+tabNumber).className='tabMiddleNormal Disabled';
}

function checkGegevensForm() {
	var errors = 0;
	if ($('achternaam').value == '') {
		inputError('achternaam', true, objLang.achternaamError);
		errors ++;
	} else {
		inputError('achternaam', false);
	}
	if ($('straatnaam').value == '') {
		inputError('straatnaam', true, objLang.straatnaamError);
		errors ++;
	} else {
		inputError('straatnaam', false);
	}
	if ($('huisnummer').value == '') {
		inputError('huisnummer', true, objLang.huisnummerError);
		errors ++;
	} else {
		inputError('huisnummer', false);
	}
	if ($('postcode').value == '') {
		inputError('postcode', true, objLang.postcodeError);
		errors ++;
	} else {
		var land = $('land').options[$('land').options.selectedIndex].value;
		if (land == 'NL') {
			$('postcode').value = $('postcode').value.toUpperCase();
			regex = /^(\d{4}) ?([A-Z]{2})$/;
			if (!regex.test($('postcode').value)) {
				inputError('postcode', true, objLang.postcodeErrorNL);
				errors ++;
			} else {
				$('postcode').value = $('postcode').value.replace(regex, "$1 $2");
				inputError('postcode', false);
			}
		} else {
			inputError('postcode', false);
		}
	}
	if ($('woonplaats').value == '') {
		inputError('woonplaats', true, objLang.woonplaatsError);
		errors ++;
	} else {
		inputError('woonplaats', false);
	}
	if ($('telefoonnummer').value == '') {
		inputError('telefoonnummer', true, objLang.telefoonError);
		errors ++;
	} else {
		inputError('telefoonnummer', false);
	}
	if ($('emailadres').value == '') {
		inputError('emailadres', true, objLang.emailError);
		errors ++;
	} else if (!validateEmail($('emailadres').value)) {
		inputError('emailadres', true, objLang.emailErrorExample);
		errors ++;
	} else {
		inputError('emailadres', false);
	}
	/*
	var regex = /[^0-9]/g;
	$('rekeningnummer').value = $('rekeningnummer').value.replace(regex, '');
	if ($('bank').checked == true || $('giro').checked == true) {
		var bgError = false;
		if ($('rekeningnummer').value == '') {
			inputError('rekeningnummer', true, objLang.bankError);
			errors ++;
			bgError = true;
		} else {
			var land = $('land').options[$('land').options.selectedIndex].value;
			if ($('giro').checked == true) { 
				if ($('rekeningnummer').value.length < 3 || $('rekeningnummer').value.length > 7) {
					inputError('rekeningnummer', true, objLang.bankErrorGiro);
					errors ++;
					bgError = true;
				}
			} else if (land == 'NL' && !isElfProof($('rekeningnummer').value)) {
				inputError('rekeningnummer', true, objLang.bankErrorBank);
				errors ++;
				bgError = true;
			}
		}
	} else if ($('rekeningnummer').value != '') {
		inputError('rekeningnummer', true, objLang.bankOrGiro);
		errors ++;
		bgError = true;
	}
	if (!bgError) {
		inputError('rekeningnummer', false);
	}
	*/
	errors += checkMeereizend();
	
	// alles okay of juist niet?
	if (errors > 0) {
		$('userDataButton').disabled = true;
		$('errorMessageDiv').style.display = 'block';
		$('allValidated').value='false';
		return false;
	} else {
	    if (processTab1() == 6 && $('objectId').value) {
			$('allValidated').value='true';
			$('userDataButton').disabled = false;
			$('errorMessageDiv').style.display = 'none';
			return true;
	    } else {
			$('allValidated').value='false';
			$('userDataButton').disabled = true;
			$('errorMessageDiv').style.display = 'block';
			return false;
	    }
	}
}


function checkMeereizend() {
	var errors = 0;
	return errors;	
	var meeReizendTrs = $('meereizendDiv').getElementsByTagName('tr');
	if (meeReizendTrs.length > 0) {
		for (var i=1; i<=meeReizendTrs.length-2; i++) {
			var regex = /[^0-9]/g;
			$('gd_'+i).value = $('gd_'+i).value.replace(regex, '');
			$('gm_'+i).value = $('gm_'+i).value.replace(regex, '');
			$('gy_'+i).value = $('gy_'+i).value.replace(regex, '');

			if ($('naam_'+i).value == '') {
				inputError('naam_'+i, true, 'Vul een naam in voor persoon ' + i + '.');
				errors ++;
			} else {
				inputError('naam_'+i, false);
			}
			if ($('gd_'+i).value == '') {
				inputError('gd_'+i, true, 'Vul een geboortedag in voor persoon ' + i + '.');
				errors ++;
			} else {
				var gd = $('gd_'+i).value * 1;
				if (gd < 1 || gd > 31) {
					inputError('gd_'+i, true, 'Vul een geldige geboortedag in voor persoon ' + i + '.');
					errors ++;
				} else {
					inputError('gd_'+i, false);
				}
			}
			if ($('gm_'+i).value == '') {
				inputError('gm_'+i, true, 'Vul een geboortemaand in voor persoon ' + i + '.');
				errors ++;
			} else {
				var gm = $('gm_'+i).value * 1;
				if (gm < 1 || gm > 12) {
					inputError('gm_'+i, true, 'Vul een geldige geboortemaand in voor persoon ' + i + '.');
					errors ++;
				} else {
					inputError('gm_'+i, false);
				}
			}
			if ($('gy_'+i).value == '') {
				inputError('gy_'+i, true, 'Vul een geboortejaar in voor persoon ' + i + '.');
				errors ++;
			} else {
				var gy = $('gy_'+i).value * 1;
				if (gy < 1900 || gy > new Date().getFullYear()+1 ) {
					inputError('gy_'+i, true, 'Vul een geldig geboortejaar in voor persoon ' + i + '.');
					errors ++;
				} else {
					inputError('gy_'+i, false);
				}
			}
		}
	}
	return errors;	
}

function inputError(id, toggle, error) {
	$(id).style.backgroundColor = (toggle ? '#EFB13B' : '#FFFFFF');
	$(id).title = (toggle ? error : '');
}

function setErrorMessage(element, errorId) {
	$(errorId).innerHTML = element.title;
}

// Email Validation Javascript
// copyright 23rd March 2003, by Stephen Chapman, Felgall Pty Ltd
// You have permission to copy and use this javascript provided that
// the content of the script is not changed in any way.
function validateEmail(addr) {
	var db = false; //debug
	var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
	for (i=0; i<invalidChars.length; i++) {
	   if (addr.indexOf(invalidChars.charAt(i),0) > -1) {
	      if (db) alert('email address contains invalid characters');
	      return false;
	   }
	}
	for (i=0; i<addr.length; i++) {
	   if (addr.charCodeAt(i)>127) {
	      if (db) alert("email address contains non ascii characters.");
	      return false;
	   }
	}
	var atPos = addr.indexOf('@',0);
	if (atPos == -1) {
	   if (db) alert('email address must contain an @');
	   return false;
	}
	if (atPos == 0) {
	   if (db) alert('email address must not start with @');
	   return false;
	}
	if (addr.indexOf('@', atPos + 1) > - 1) {
	   if (db) alert('email address must contain only one @');
	   return false;
	}
	if (addr.indexOf('.', atPos) == -1) {
	   if (db) alert('email address must contain a period in the domain name');
	   return false;
	}
	if (addr.indexOf('@.',0) != -1) {
	   if (db) alert('period must not immediately follow @ in email address');
	   return false;
	}
	if (addr.indexOf('.@',0) != -1){
	   if (db) alert('period must not immediately precede @ in email address');
	   return false;
	}
	if (addr.indexOf('..',0) != -1) {
	   if (db) alert('two periods must not be adjacent in email address');
	   return false;
	}
	var suffix = addr.substring(addr.lastIndexOf('.')+1);
	if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum') {
	   if (db) alert('invalid primary domain in email address');
	   return false;
	}
	return true;
}

function isElfProof(rekening) {
	if (rekening.length != 9) {
		return false;
	}
	var total = 0;
	var factor = 0;
	for (var i=1; i<=9; i++) {
		factor = 10-i;
		total +=  rekening.charAt(i-1) * factor;
	}
	return (total%11 == 0);
}

function autoFillFirstPerson() {
	var meeReizendTrs = $('meereizendDiv').getElementsByTagName('tr');
	if (meeReizendTrs.length > 0) {
		if ($('achternaam').value == '') {
			$('naam_1').value = '';
		} else {
			var naam1 = $('achternaam').value;
			if ($('voornaam').value != '') {
				naam1 = $('voornaam').value + " " + naam1;
			}
			$('naam_1').value = naam1;
		}
	}
}

