/* CHECKFORM */
$(document).ready(function(){
	$('#symposium input').click(function(){
		if($(this).is(':checked')){
			var classname=$(this).attr('class').split(" ");
			for(var i=0;i<classname.length;i++){
				if(classname[i] && classname[i]!='ask'){
					$('.'+classname[i]).attr('checked',false);
				}
			}
			$(this).attr('checked',true);
		}
	});
});


function checkform(form){
	
	$('.editor').each( function(){
		var editor = tinyMCE.get($('.editor').attr('name')); 
		$('.editor').val( editor.getContent() );
	});

	var formid = $(form).attr('id');
	var check = new Array;
	check[0] = "checkverplicht(	'"+formid+"', 'verplicht')";
	check[1] = "validation(		'"+formid+"', 'validate_postcode','checkpostcode',	'De postcode is niet correct', 			'land')";
	check[2] = "validation(		'"+formid+"',	'validate_email', 	'checkmail', 		'Het emailadres is niet correct')";
	check[3] = "validation(		'"+formid+"',	'aantal', 			'checknum', 		'Dit is geen geldig aantal')";
	check[4] = "compare(		'"+formid+"',	'password',			'U dient tweemaal hetzelfde wachtwoord op te geven.')";
	check[5] = "check_keuze(	'voorwaarden', 	'voorwaarden', 		'')";
	check[6] = "checkandask(	'"+formid+"', 'ask')";
	
	var count=0;
	while(count<check.length){
		if(eval(check[count])){
			count++;
		} else {
			return false;
		}
	}
	return true;
}


function checkmail(email){
	var regExp= new RegExp("\\w+([-+.\']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");
	if(!regExp.test(email)){
		return false;
	} else {
		return true;
	}
}

function checkpostcode(postcode, id){
	if(id){
		var land = $('#'+id).val();
		if(land=='BE'){
			var regExp= new RegExp("^[0-9]{4}$");
		} else {
			var regExp= new RegExp("^[1-9][0-9]{3}\\s?[a-zA-Z]{2}$");
		}
	} else {
		var regExp= new RegExp("^[1-9][0-9]{3}\\s?[a-zA-Z]{2}$");
	}
	if(!regExp.test(postcode)){
		return false;
	} else {
		return true;
	}
}

function checknum(value, convert){

	if(convert==null){
		convert=true;
	}
	
	if(convert){
		value=value.replace(',', '.');
	}
	
	if(isNaN(value)){
		return false;
	} else {
		return true;
	}
}


function checkandask(id, c){
	var warning = false;
	$('#'+id+' .'+c).each( 
		function(){		

			var classname=$(this).attr('class').split(" ");
			for(var i=0;i<classname.length;i++){
				if(classname[i] && classname[i]!='ask'){
					if(!$("input."+classname[i]+":checked").val()){
						warning=true;
					}
				}
			}
		}
	);

	if(warning){
		return(confirm('U heeft niet voor ieder blok een keuze gemaakt. Wilt u toch doorgaan?'));
	} else {
		return true;
	}
}


function checkverplicht(id, c){
	var error = false;
	$('#'+id+' .'+c).each( 
		function(){				  
			if($(this).attr('type')=='radio' || $(this).attr('type')=='checkbox'){
				var name = $(this).attr('name');
				if(!$("input[name='"+name+"']:checked").val()){
					error=true;
				}
			} else {
				if($(this).val()=='' || $(this).val()==$(this).attr('alt')){
					$(this).css('border-color', 'red');
					error=true;
				} else {
					$(this).css('border-color', '');
				}
			}
		}
	);

	if(error){
		alert('Niet alle verplichte velden zijn ingevuld');
		return false;
	} else {
		return true;
	}
}


function validation(id, c, func, msg, extra){
	var error = false;
	if(extra){
		func+='($(this).val(),"'+extra+'")';
	} else {
		func+='($(this).val())';
	}
	$('#'+id+' .'+c).each( 
		function(){
			if(this.value && !eval(func)){
				$(this).css('color', 'red');
				error=true;
			} else {
				$(this).css('color', '');
			}
		}
	);

	if(error){
		alert(msg);
		return false;
	} else {
		return true;
	}
	
}

function check_keuze(naam, c, variabel){
	if($("input[name='"+naam+"']").attr('name')==naam && !$("input[name='"+naam+"']:checked").val()){
		$('.'+c).each( 
			function(){
				$(this).css('color', 'red');
			}
		);
		alert('U dient akkoord te gaan met de algemene voorwaarden');
		return false;
	} else {
		$('.'+c).each( 
			function(){
				$(this).css('color', '');
			}
		);
		return true;
	};
}

function compare(id, c, msg){
	var error = false;
	var values = new Array;
	$('#'+id+' .'+c).each( 
		function(){
			values[values.length]=$(this).val();
		}
	);

	for(var i=0;i<values.length;i++){
		for(var j=(i+1);j<values.length;j++){
			if(values[i]!=values[j]){
				error = true;
			}
		}
	}
	if(error){
		alert(msg);
		return false;
	} else {
		return true;
	}
	
}


function show_bankkeuze(val){
	if(val==1){
		$('#ideal').show();
	} else {
		$('#ideal').hide();
	}
}


