// gastenboek: bij het bericht wordt er bijvoorbeeld <b> </b> toegevoegd aan het textveld
function insertBBcode(field,openTag, closeTag){
	comp = navigator.userAgent.toLowerCase();
	vers = parseInt(navigator.appVersion);
	msie = ((comp.indexOf('msie') != -1) && (comp.indexOf('opera') == -1));
	nets = ((comp.indexOf('mozilla') != -1) && (comp.indexOf('spoofer') == -1) && (comp.indexOf('compatible') == -1) && (comp.indexOf('opera') == -1) && (comp.indexOf('webtv') == -1) && (comp.indexOf('hotjava') == -1));
	win  = ((comp.indexOf('win') != -1) || (comp.indexOf('16bit') != -1));

	if ((vers >= 4) && msie && win){
	    if (!document.selection.createRange().text){
	        field.focus();
	        document.selection.createRange().duplicate().text = openTag + " " + closeTag;

	        return;
	    }else{
	        field.focus();
	        document.selection.createRange().text = openTag + document.selection.createRange().text + closeTag;

	        return;
	    }

	}else{
		field.value += openTag + " " + closeTag;
		field.focus();
	}
}

// gastenboek: controlleren op lege velden en anti-spam
function checkForm(form){
	if (form.naam.value == "") {
		alert("U moet wel een naam invullen !");
		form.naam.focus();
		return false;
	}
	if (form.tekst.value == "") {
		alert("U moet wel wat invullen in het tekstvlak !");
		form.tekst.focus();
		return false;
	}
	if (form.norobot.value == "") {
		alert("U dient de anti-spam code in te voeren");
		form.norobot.focus();
		return false;
	}

    
    return true;
		

}

// contact: controlleren op lege velden en anti-spam
function checkForm2(formcontact){
	if (formcontact.naam.value == "") {
		alert("U moet wel een naam invullen!");
		formcontact.naam.focus();
		return false;
	}
	if(formcontact.email.value == ""){
		alert("U moet een emailadres invullen");
		formcontact.email.focus();
		return false;
	}else if((formcontact.email.value.indexOf('@') < 0) || ((formcontact.email.value.charAt(formcontact.email.value.length-4) != '.') && (formcontact.email.value.charAt(formcontact.email.value.length-3) != '.'))){
		alert('U heeft geen geldig emailadres ingevuld');
		formcontact.email.focus();
		return false;
	}									
    if (formcontact.bericht.value == "") {
		alert("U moet wel een boodschap invullen!");
		formcontact.bericht.focus();
		return false;
	}  
    if (formcontact.norobot.value == "") {
		alert("U moet een anti-spam code in te vullen !");
		formcontact.norobot.focus();
		return false;
	}  

return true;
} 

// modules: het invoegen van een waarde in de lijst
function insertValue(field){
	var doc = field.ownerDocument;
	if (!doc)
	    doc = field.document;

	var opt     = doc.createElement('OPTION');
	opt.value   = prompt("Welke waarde wilt u toevoegen?");
	opt.text    = opt.value;
	field.options.add(opt, field.length);
}

// modules: het disabelen van onnodige velden
function disableFields(value,id){
    if(value == 'tekstveld'){
        document.getElementById(id + '_invoersoort').selectedIndex     = 0;

        document.getElementById(id + '_invoersoort').disabled          = false;
        document.getElementById(id + '_verplicht').disabled            = false;
        document.getElementById(id + '_maximale_lengte').disabled      = false;
        document.getElementById(id + '_standaard').disabled            = false;
        document.getElementById(id + '_waarden').disabled              = true;
    }else if(value == 'aankruisvakjes'){
        document.getElementById(id + '_invoersoort').disabled          = true;
        document.getElementById(id + '_verplicht').disabled            = true;
        document.getElementById(id + '_maximale_lengte').disabled      = true;
        document.getElementById(id + '_standaard').disabled            = false;
        document.getElementById(id + '_waarden').disabled              = false;
    }else if(value == 'keuzerondjes'){
        document.getElementById(id + '_invoersoort').disabled          = true;
        document.getElementById(id + '_verplicht').disabled            = true;
        document.getElementById(id + '_maximale_lengte').disabled      = true;
        document.getElementById(id + '_standaard').disabled            = false;
        document.getElementById(id + '_waarden').disabled              = false;
    }else if(value == 'tekstvak'){
        document.getElementById(id + '_invoersoort').selectedIndex     = 0;

        document.getElementById(id + '_invoersoort').disabled          = true;
        document.getElementById(id + '_verplicht').disabled            = false;
        document.getElementById(id + '_maximale_lengte').disabled      = false;
        document.getElementById(id + '_standaard').disabled            = false;
        document.getElementById(id + '_waarden').disabled              = true;
    }else if(value == 'uitschuif_keuzelijst'){
        document.getElementById(id + '_invoersoort').disabled          = true;
        document.getElementById(id + '_verplicht').disabled            = true;
        document.getElementById(id + '_maximale_lengte').disabled      = true;
        document.getElementById(id + '_standaard').disabled            = false;
        document.getElementById(id + '_verplicht').disabled            = true;
        document.getElementById(id + '_waarden').disabled              = false;
    }else if(value == 'jaartal'){
        document.getElementById(id + '_invoersoort').selectedIndex     = 1;

        document.getElementById(id + '_invoersoort').disabled          = true;
        document.getElementById(id + '_maximale_lengte').disabled      = true;
        document.getElementById(id + '_standaard').disabled            = true;
        document.getElementById(id + '_verplicht').disabled            = true;
        document.getElementById(id + '_waarden').disabled              = true;
    }
}

// een popup venster openen
function popup(url,breedte,hoogte,center){
   	var LeftPosition=(screen.width)?(screen.width-breedte)/2:100;
   	var TopPosition=(screen.height)?(screen.height-hoogte)/2:100;
	if(center == true){
		settings = 'toolbar=0, location=0, directories=0, statusbar=0, menubar=0, scrollbars=1, resizable=0, width='+breedte+', height='+hoogte+', top='+TopPosition+',left='+LeftPosition;
	}else{
		settings = 'toolbar=0, location=0, directories=0, statusbar=0, menubar=0, scrollbars=1, resizable=0, width='+breedte+', height='+hoogte;
	}
	var windowname = 'window_'+url;
	windowname = windowname.substr(0,windowname.length-4);
	window.open(url, 'window', settings);
}

// registratie: het controlleren van de velden
function veldenControleRegistratie(){
	var error = "De volgende fouten zijn opgetreden:";
	var karakters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_";
	var i = 0;

	if(document.getElementById('mijn_gebruikersnaam').value == ""){
		error += '\n - Gebruikersnaam is niet ingevuld!';
	}

	while(i < document.getElementById('mijn_gebruikersnaam').value.length){
	    if(karakters.indexOf(document.getElementById('mijn_gebruikersnaam').value.substring(i,i+1)) == -1){
			error += '\n - Gebruikersnaam mag alleen letters, cijfers en liggende streepjes bevatten (aZ_09)!';
	        i = document.getElementById('mijn_gebruikersnaam').value.length;
	    }
	    i++;
	}

	if(document.getElementById('mijn_gebruikersnaam').value.length > 20){
		error += '\n - Gebruikersnaam mag niet meer dan 20 karakters bevatten!';
	}
	if(document.getElementById('mijn_wachtwoord').value == ""){
		error += '\n - Wachtwoord is niet ingevuld!';
	}
	if(document.getElementById('mijn_wachtwoord').value.length < 5){
		error += '\n - Wachtwoord moet minimaal 5 tekens bevatten!';
	}	
	if(document.getElementById('mijn_wachtwoord').value != document.getElementById('herhaal_wachtwoord').value){
		error += '\n - Ingevulde wachtwoorden zijn niet aan elkaar gelijk!';
	}
	if(document.getElementById('emailadres').value == ""){
		error += '\n - Emailadres is niet ingevuld!';
	}else if((document.getElementById('emailadres').value.indexOf('@') < 0) || ((document.getElementById('emailadres').value.charAt(document.getElementById('emailadres').value.length-4) != '.') && (document.getElementById('emailadres').value.charAt(document.getElementById('emailadres').value.length-3) != '.'))){
		error += '\n - U heeft geen geldig emailadres ingevuld';
	}
	if(document.getElementById('algemene_voorwaarden').checked == false){
		error += '\n - U dient akkoord te gaan met de algemene voorwaarden!';
	}


	if(error != "De volgende fouten zijn opgetreden:"){
    	alert(error);
		return false;
	}else{
		if (document.getElementById("TB_HideSelect") == null) {
	        $("body").append("<iframe id='TB_HideSelect'></iframe><div id='TB_overlay'></div><div id='TB_window'></div>");
	        $("#TB_overlay").click(TB_remove);
		}

		$(window).scroll(TB_position);

		TB_overlaySize();

		$("body").append("<div id='TB_load'><img src='images/loadingAnimation.gif' /></div>");
		TB_load_position();

		return true;
	}
}

// account beheer: het controlleren van de velden
function veldenControleAccountBeheer(){
	var error = "De volgende fouten zijn opgetreden:";

	if(document.getElementById('wachtwoord').value != document.getElementById('herhaal_wachtwoord').value){
		error += '\n - Ingevulde wachtwoorden zijn niet aan elkaar gelijk!\n';
	}
	if(document.getElementById('voornaam').value == ""){
		error += '\n - Voornaam is niet ingevuld!';
	}
	if(document.getElementById('achternaam').value == ""){
		error += '\n - Achternaam is niet ingevuld!';
	}
	if(document.getElementById('woonplaats').value == ""){
		error += '\n - Woonplaats is niet ingevuld!';
	}
	if(document.getElementById('emailadres').value == ""){
		error += '\n - Emailadres is niet ingevuld!';
	}else if((document.getElementById('emailadres').value.indexOf('@') < 0) || ((document.getElementById('emailadres').value.charAt(document.getElementById('emailadres').value.length-4) != '.') && (document.getElementById('emailadres').value.charAt(document.getElementById('emailadres').value.length-3) != '.'))){
		error += '\n - U heeft geen geldig emailadres ingevuld';
	}
	if(document.getElementById('jaar').value == "2005"){
		error += '\n - Geboortedatum is niet ingevuld!';
	}

	if(error != "De volgende fouten zijn opgetreden:"){
    	alert(error);
		return false;
	}else{
		if (document.getElementById("TB_HideSelect") == null) {
	        $("body").append("<iframe id='TB_HideSelect'></iframe><div id='TB_overlay'></div><div id='TB_window'></div>");
	        $("#TB_overlay").click(TB_remove);
		}

		$(window).scroll(TB_position);

		TB_overlaySize();

		$("body").append("<div id='TB_load'><img src='images/loadingAnimation.gif' /></div>");
		TB_load_position();

		return true;
	}
}

// Javascript functies voor "wijzig waarden"
function swapOptions(obj,i,j){
	var o = obj.options;
	var i_selected = o[i].selected;
	var j_selected = o[j].selected;
	var temp = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected);
	var temp2= new Option(o[j].text, o[j].value, o[j].defaultSelected, o[j].selected);
	o[i] = temp2;
	o[j] = temp;
	o[i].selected = j_selected;
	o[j].selected = i_selected;
}

function moveOptionUp(obj){
	for(i=0;i<obj.options.length;i++){
		if(obj.options[i].selected){
			if(i != 0 && !obj.options[i-1].selected){
				swapOptions(obj,i,i-1);
				obj.options[i-1].selected = true;
			}
		}
	}
}

function moveOptionDown(obj){
	for(i=obj.options.length-1;i>=0;i--){
		if(obj.options[i].selected){
			if(i !=(obj.options.length-1) && ! obj.options[i+1].selected){
				swapOptions(obj,i,i+1);
				obj.options[i+1].selected = true;
			}
		}
	}
}

function removeSelectedOptions(from){
    for(var i=(from.options.length-1);i>=0;i--){
        var o = from.options[i];
        if(o.selected){
            from.options[i] = null;
        }
    }
	from.selectedIndex = -1;
}
