/* DS: Used to style a select field. */

function selectReplacement(obj) {
  obj.className += ' replaced';
  var ul = document.createElement('ul');
  ul.className = 'selectReplacement';
  var opts = obj.options;
  for (var i=0; i<opts.length; i++) {
    var selectedOpt;
    if (opts[i].selected) {
      selectedOpt = i;
      break;
    } else {
      selectedOpt = 0;
    }
  }
  for (var i=0; i<opts.length; i++) {
    var li = document.createElement('li');
    var txt = document.createTextNode(opts[i].text);
    li.appendChild(txt);
    li.selIndex = opts[i].index;
    li.selectID = obj.id;
    li.onclick = function() {
      selectMe(this);
    }
    if (i == selectedOpt) {
      li.className = 'selected';
      li.onclick = function() {
				//toggleSubmit(obj);
        this.parentNode.className += ' selectOpen';
        this.onclick = function() {
          selectMe(this);
        }
      }
    }
    if (window.attachEvent) {
	      li.onmouseover = function() {
        this.className += ' hover';
      }
      li.onmouseout = function() {
        this.className = 
          this.className.replace(new RegExp(" hover\\b"), '');
      }
    }
    ul.appendChild(li);
  }
  obj.parentNode.insertBefore(ul,obj);
}
function selectMe(obj) {
  var lis = obj.parentNode.getElementsByTagName('li');
	//toggleSubmit(obj);
  for (var i=0; i<lis.length; i++) {
    if (lis[i] != obj) {
      lis[i].className='';
      lis[i].onclick = function() {
        selectMe(this);
      }
    } else {
      setVal(obj.selectID, obj.selIndex);
      obj.className='selected';
      obj.parentNode.className = 
        obj.parentNode.className.replace(new RegExp(" selectOpen\\b"), '');
      obj.onclick = function() {
				//toggleSubmit(obj)
        obj.parentNode.className += ' selectOpen';
        this.onclick = function() {
          selectMe(this);
        }
      }
    }
  }
}
function toggleSubmit(obj) {
	if (obj.parentNode.parentNode.name == "regiositePicker" || obj.parentNode.parentNode.parentNode.name == "regiositePicker") {
		var subm = document.getElementById('submitBtn');

		if (subm.style.display != 'none') {
			subm.style.display = 'none';
		} else {
			subm.style.display = '';
		}
	}
}
function setVal(objID, selIndex) {
  var obj = document.getElementById(objID);
  obj.selectedIndex = selIndex;
	if (document.forms['regiositePicker'].regiourl.value!='') {
		document.location.href=document.forms['regiositePicker'].regiourl.value;
	}
}
function setForm() {
  if (document.regiositePicker){
    var s = document.regiositePicker.getElementsByTagName('select');
    for (var i=0; i<s.length; i++) {
      selectReplacement(s[i]);
    }
  }
}
window.onload = function() {
  (document.all && !window.print) ? null : setForm();
}

/* /DS: Used to style a select field. */

//MR: email validation function
function isEmail(str){
  re = new RegExp ('^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$');
  return re.test(str);
}

//MR: function to validate the add discussion form (prikboard functionality)
function validateAddDiscussion(formname) {
    var bSuccess = true

    if (document.forms[formname].authorname.value == '' && bSuccess) {
      alert('Het veld "Naam" is een verplicht veld en mag niet leeg zijn.');
      document.forms[formname].authorname.focus();
      bSuccess = false;
    }
    else if (document.forms[formname].authoremail.value == '' && bSuccess) {
      alert('Het veld "E-mailadres" is een verplicht veld en mag niet leeg zijn.');
      document.forms[formname].authoremail.focus();
      bSuccess = false;
    } 
    else if (document.forms[formname].authoremail.value != '' && !isEmail(document.forms[formname].authoremail.value) && bSuccess) {
      alert('Het veld "E-mailadres" is niet een geldig e-mailadres.');
      document.forms[formname].authoremail.focus();
      bSuccess = false;
    }    
    else if (document.forms[formname].label.value == '' && bSuccess) {
      alert('Het veld "Titel oproep" is een verplicht veld en mag niet leeg zijn.');
      document.forms[formname].label.focus();
      bSuccess = false;
    }
    else if (document.forms[formname].body.value == '' && bSuccess) {
      alert('Het veld "Uw tekst" is een verplicht veld en mag niet leeg zijn.');
      document.forms[formname].body.focus();
      bSuccess = false;
    }

    return bSuccess;

}

//MR: function to validate the add reaction form (prikboard functionality)
function validateAddReaction(formname) {
    var bSuccess = true

    if (document.forms[formname].authorname.value == '' && bSuccess) {
      alert('Het veld "Naam" is een verplicht veld en mag niet leeg zijn.');
      document.forms[formname].authorname.focus();
      bSuccess = false;
    }
    else if (document.forms[formname].authoremail.value != '' && !isEmail(document.forms[formname].authoremail.value) && bSuccess) {
      alert('Het veld "E-mailadres" is niet een geldig e-mailadres.');
      document.forms[formname].authoremail.focus();
      bSuccess = false;
    }    
    else if (document.forms[formname].body.value == '' && bSuccess) {
      alert('Het veld "Uw tekst" is een verplicht veld en mag niet leeg zijn.');
      document.forms[formname].body.focus();
      bSuccess = false;
    }

    return bSuccess;
}

function submitSearchForm() {
	if (document.searchForm.keywords.value.length < 3) {
		alert('De zoekterm moet minimaal 3 karakters lang zijn');
		return false;
	} else {
    return true;
	}
}

