  /**
   * @desc Beveiligen van een e-mail met javascript
   * @example voorbeeld adres: apollo@2mpact.be
   * @param {String}    user        gebruikersnaam (gedeelte voor @)    (voorbeeld: apollo)
   * @param {String}    domain      domein    (zonder .be etc)          (voorbeeld: 2mpact)
   * @param {String}    tld         bv. bv, com (zonder de .)           (voorbeeld: be)
   * @param {boolean}   use_mailto  true voor de link; false voor tekst
   */
  function em_no_spam(user, domain, tld, use_mailto)
  {
      var result = "";

      result = user + "@" + domain + "." + tld;

      if(use_mailto == true)
      {
          result = "mailto:"+result;
          window.location = result;
      }
      else
      {
          document.write(result);
      }
  }

function valideer_verplicht_element(element) {
	if(element) {
		if(element.length > 0) {
			//alert('multi');
			return valideer_verplicht_any(element);
		}
		else {
			//alert('single');
			return valideer_verplicht(element);
		}
	}
	else {
		return false;
	}
}

function valideer_verplicht(element) {
	if(element) {
	   var tagName = element.tagName.toUpperCase();
	   //alert(tagName);
	   switch(tagName) {
			case 'INPUT':
				var inputType = element.getAttribute('type');
				if(!inputType) inputType = 'text'; 
				switch(inputType.toLowerCase()) {
					case 'checkbox':
						return element.checked; 
						break;
					case 'radio':
						return element.checked; 
						break;
					default:
						return !isEmpty(element.value);
				}
				break;
			case 'SELECT':
				return !isEmpty(element.options[element.selectedIndex].value);
				break;
			case 'TEXTAREA':
				return !isEmpty(element.value);
				break;
			default:
				return valideer_verplicht_any(element);
				break;
		}
	}
	else {
		return false;
	}
}

function valideer_verplicht_any(element) {
	if(element) {
		for(var i=0; i<element.length;i++) {
		   if(valideer_verplicht(element[i])) return true;
		}
		
		return false;
	}
	else {
		return false;
	}
}

function valideer_verplicht_all(element) {
	if(element) {
		for(var i=0; i<element.length;i++) {
			if(!valideer_verplicht(element[i])) return false;
		}
		return true;
	}
	else {
		return false;
	}
}

function getElementValue(element) {
   var value = null;
	if(element && element.tagName) {
		if(element.tagName.toUpperCase() == 'INPUT') {
			var inputType = element.getAttribute('type');
			if(!inputType) inputType = 'text';
		
			switch(inputType.toLowerCase()) {
				case 'checkbox': 
					value = element.checked?element.value:null; 
					break;
				case 'radio':								
					var radioGroup = element.form[element.name]; 							
					for (var i = 0; i< radioGroup.length; i++) {
						if (radioGroup[i].checked) {
						   value = radioGroup[i].value;
						}
					} 								
					break;
				default:
					value = element.value;
			}
		} else if(element.tagName.toUpperCase() == 'SELECT') {
			value = element.options[element.selectedIndex].value;						
		} else if(element.tagName.toUpperCase() == 'TEXTAREA') {
			value = element.value;
		}
	}
	return value;
}

function isEmpty(s) {
	var regexpWhitespace = /^\s+$/;
	return  ((s == null) || (s.length == 0) || regexpWhitespace.test(s));
}

function isEmail(s) {
	var regexpEmail = /\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/;
	return isEmpty(s) || regexpEmail.test(s);
}

/**
 * Print debug naar firebug
 * @param  string	msg		bericht dat je wil tonen
 * @param  string   type    (optioneel) type bericht dat je wil tonen (warn, error, info, debug[=default])
 */
function firebug(msg, type)
{
	//test of de firefox extension 'firebug' is geïnstalleerd
	try
	{		
		var apollo = "[apollo] ";	
		switch(type)
		{
			case 'warn': 	console.warn(apollo+msg);		break;
			case 'error':	console.error(apollo+msg);		break;
			case 'info':	console.info(apollo+msg);		break;
			default:		console.debug(apollo+msg);
		}

	}catch(error) { /* do nothing */ }
}

var form_radio_buttons = new Array();
var form_radio_buttons_value = new Array();

function form_uncheck_radio(element) {
	var element_name = element.name;
	var element_value = element.value;
	
	//if(element.checked == true ) {
	//je kan niet checken hierop want altijd true
	if(form_radio_buttons[element_name] == true && form_radio_buttons_value[element_name] == element_value) {
		element.checked = false;
	}
	else {
		element.checked = true;
	}
	
	form_radio_buttons[element_name] = element.checked;
	form_radio_buttons_value[element_name] = element_value;
}


function toon_div(div_id)
{
	var div = document.getElementById(div_id);
	div.className = '';
}

function verberg_div(div_id)
{
	var div = document.getElementById(div_id);
	div.className = 'hidden';
}

function toon_verberg_div(verberg_div_id, toon_div_id)
{
	verberg_div(verberg_div_id);
	toon_div(toon_div_id);
}

function fixH(one,two,min_h) {
	if (document.getElementById(one)) {
	var lh=document.getElementById(one).offsetHeight;
	var rh=document.getElementById(two).offsetHeight;
	var nh = Math.max(lh, rh, min_h);
	document.getElementById(one).style.height=nh+10+"px";
	document.getElementById(two).style.height=nh+10+"px";
	}
}

/*
GEBRUIK VAN fixColumns:

var kolom_arr = new Array("kolom_1","kolom_2","kolom_3");
 fixColumns(kolom_arr, 250);
*/

function fixColumns(kolom_arr,min_h) {
	var kolom_hoogte_arr = new Array();
	var kolom_arr_length =  kolom_arr.length;
	var el = 'undefined';
	
	var hoogte_string = '';
	for(var i = 0; i < kolom_arr_length; i++) {
				if (el = document.getElementById(kolom_arr[i])) {
						   kolom_hoogte_arr[i] = el.offsetHeight;
				}
	}
	
	hoogte_string = kolom_hoogte_arr.join(',');
	var eval_string = 'Math.max(' + hoogte_string + ',' + min_h + ')';

	var nh = eval(eval_string);

	for(var i = 0; i < kolom_arr_length; i++) {
				if (document.getElementById(kolom_arr[i])) {
						   document.getElementById(kolom_arr[i]).style.height = nh+"px";
				}
	}
}

