function emptystr(string) {
	var x = 0;
	var chr;
	var empty = true;
	if (string.length) {
		do {
			chr = string.substring(x, x + 1);
			x++;
			empty = (chr == ' ' || chr == '\t' || chr == '\n' || chr == '\r');
		} while (empty && x < string.length);
	}
	return empty;
}

function checkNumber(item, name){
  if (isNaN(document.form_cms.elements[item].value)){
	  alert(name + ' moet een nummer zijn!');
    document.form_cms.elements[item].focus();
    return false;
  }
  else{
    return true;
  }
}

function checkEmpty(item, name){
  if (emptystr(document.form_cms.elements[item].value)){
    alert('U bent ' + name + ' vergeten in te voeren!');
    document.form_cms.elements[item].focus();
    return false;
  }
  else
    return true;
}

function checkEmail(item){
  var pattern=/(^[\-_\.a-zA-Z0-9]+)@((([0-9]{1,3}\.){3}([0-9]{1,3})((:[0-9])*))|(([a-zA-Z0-9\-]+)(\.[a-zA-Z]{2,})+(\.[a-zA-Z]{2})?((:[0-9])*)))/;
  
  if (document.form_cms.elements[item].value.search(pattern) == -1){
    alert('Het e-mailadres is onjuist!');
    document.form_cms.elements[item].focus();
    return false;
  }
  else{
    return true;
  }
}

function checkRadio(item){
  for(var i = 0; i < document.form_cms.elements[item].length; i++){
    if(document.form_cms.elements[item][i].checked == true){
      return true;
    }
  }
  alert('U moet een waarde selecteren!');
  return false;
}

function checkPoll(item){
  for(var i = 0; i < document.form_poll.elements[item].length; i++){
    if(document.form_poll.elements[item][i].checked == true){
      return true;
    }
  }
  alert('U moet een waarde selecteren!');
  return false;
}

// Check function for form module 
function form_checkField(type, name, label) {
  switch (type) {
    case 'textfield':
    case 'password':
    case 'textarea':
      return checkEmpty(name, label);
      break;
    case 'radio':
    case 'checkbox':
      var sel = false;
      var frm = document.forms['form_cms'];
      for (var i = 0; i < frm.elements.length && !sel; i++)
        sel = (frm.elements[i].name == name && frm.elements[i].checked);

      if (sel)
        return true;
    	else {
        alert(label + " is een verplicht veld!");
        return false;
      }
      break;
    case 'select':
      if (document.forms['form_cms'].elements[name].selectedIndex == -1) {
        alert(label + " is een verplicht veld!");
        return false;
      }
      return true;
      break;
  }
  return false;
}

function form_validateForm() {
  var ret = true;

  for (var i = 0; i < form_formChecks.length && ret; i++)
    ret = form_checkField(form_formChecks[i][0], form_formChecks[i][1], form_formChecks[i][2]);
  
  return ret;
}

function checkForm(moduleName, formName, action) {
  switch (moduleName) {
    case 'forum':
      switch (formName) {
        case 'subject':
          if (action == 'add')
            return (checkEmpty('subject', 'het onderwerp') && checkEmpty('user', 'de naam') && checkEmail('email') && checkEmpty('content', 'het bericht')); 
          else
            return false;
          break;
        case 'post':
          if (action == 'add')
            return (checkEmpty('user', 'de naam') && checkEmail('email') && checkEmpty('content', 'het bericht')); 
          else 
            return false;
          break;
      }
      break;
    case 'newsletter':
      switch (formName) {
        case 'member':
          if (action == 'add')
            return (checkEmpty('lastname', 'de achternaam') && checkEmpty('firstname', 'de voornaam') && checkEmail('email'));
          else if (action == 'remove')
            return checkEmail('email');
          else
            return false;
      }
      break;
    case 'job':
      switch (formName) {
        case 'reaction':
          if (action == 'send')
            return (checkEmpty('firstname', 'de voornaam') && checkEmpty('lastname', 'de achternaam')  && checkEmpty('address', 'het adres')  && checkEmpty('zipcode', 'de postcode')  && checkEmpty('city', 'de woonplaats') && checkEmail('email')  && checkEmpty('motivation', 'de motivatie'));
          else
            return false;
      }
      break;
    case 'relation':
      if (action == 'search')
        return (checkEmpty('search_string', 'de zoekopdracht'));
      else
        return false;
    break;
    case 'poll':

      if (action == 'vote')
        return (checkPoll('answer'));
      else
        return false;
     break;
  }
  return false;
}

function windowOpen(name, url, height, width) {
  var l = (screen.width) ? (screen.width - width) / 2 : 0;
  var t = (screen.height) ? (screen.height - height) / 2 : 0;
  var opts = 'width=' + width + ',height=' + height + ',top=' + t + ',left=' + l + ',toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no';

  var win = window.open(url,name, opts);
  win.focus();
}

function selectListboxItem(listbox, item ) {
	var opts = listbox.options;
	for (var i = 0; i < opts.length; i++)
		opts[i].selected = (opts[i].value == item);
}

function showStatus(name){
  window.status=name;
  return true;
}

function resetRow() {
  var bar = parent.frames['menu_top'].document.getElementById('menu_top');
  for (var i = 0; i < bar.childNodes.length; i++) {
    if (bar.childNodes[i].nodeName.toLowerCase() == 'td' && bar.childNodes[i].id.substr(0, 8) == 'menu_top')
      bar.childNodes[i].className = 'menu_top';
  }

  var bar = parent.frames['menu_bottom'].document.getElementById('menu_bottom');
  for (var i = 0; i < bar.childNodes.length; i++) {
    if (bar.childNodes[i].nodeName.toLowerCase() == 'td'){
      for (var j = 0; j < bar.childNodes[i].childNodes.length; j++) {
        if (bar.childNodes[i].childNodes[j].nodeName.toLowerCase() == 'a' && bar.childNodes[i].childNodes[j].id.substr(0, 11) == 'menu_bottom')
          bar.childNodes[i].childNodes[j].className = 'menu_bottom';
      }
    }
  }
}

function changeClass(frame_name,item,class_name) {
  if (parent.frames[frame_name].document.getElementById) {
    resetRow();
    document.getElementById(item).className = class_name;
  }
}

function swapImage(item,image) {
  document.images[item].src = image;
}


