/**
*
* functie om een rij in een table te hi-lighten al er een mouseoverevent overheen gaat
*
* gebruik: <tr onclick="JavaScript:document.someForm.submit()"
*              onmouseover="setPointer(this, '#FFFFCC')"
*              onmouseout="setPointer(this, '')"
*              style="cursor:hand">
*/
function setPointer(theRow, thePointerColor){
  if (typeof(theRow.style) == 'undefined' || typeof(theRow.cells) == 'undefined') {
    return false;
  }
  var row_cells_cnt = theRow.cells.length;
  for (var c = 0; c < row_cells_cnt; c++) {
    theRow.cells[c].bgColor = thePointerColor;
  }
  return true;
}

/**
* toon de popup voor literatuurbeschrijving in een layer
*/
function showBeschrijving(titel, samenv, auteur, jaar, isbn_issn, naam, adres, pc, plaats, tel, fax, email, url_download, prijs, local_dn, local_dn_icon){
  // reset huidige vulling van de velden
  document.getElementById("titelTekst").innerHTML = "";
  document.getElementById("beschrijvingTekst").innerHTML = "";
  document.getElementById("auteur").innerHTML = "";
  document.getElementById("isbn").innerHTML = "";
  document.getElementById("verkb").innerHTML = "";
  document.getElementById("downld").innerHTML = "";
  document.getElementById("prijs").innerHTML = "";
  document.getElementById("local_dn_img").innerHTML = "";
  document.getElementById("local_dn_link").innerHTML = "";
  // nieuwe waarden indien van toepassing
  document.getElementById("titelTekst").innerHTML = "<b>"+titel+"</b>";
  document.getElementById("beschrijvingTekst").innerHTML = samenv;
  document.getElementById("auteur").innerHTML = auteur +" ("+ jaar+ ")";
  document.getElementById("isbn").innerHTML = isbn_issn;
  document.getElementById("prijs").innerHTML = prijs;
  // een download via een internetlink naar een andere website
  document.getElementById("downld").innerHTML = "<a href='"+url_download+"' class='link_2' target='_blank'>"+url_download+"</a>";
  // een eventueel lokaal te downloaden bestand
  if(!local_dn==""){
    document.getElementById("local_dn_img").innerHTML = "<img src='../../beeld/"+local_dn_icon+"'>";
    document.getElementById("local_dn_link").innerHTML = "<a href='../../docs/literatuur/"+local_dn+"' class='link_2' onmouseover='return true' target='_blank'>Dit document kunt u hier downloaden</a>";
  }
  if(!naam==""){
    document.getElementById("verkb").innerHTML = naam + "<br>" + adres + "<br>" + pc + " " + plaats + "<br>" + tel +
          "<br><a href='mailto:" + email+"' class='link_2'>"+email+"</a>";
  }

  // toon de popup (als dat niet al zo was)
  document.getElementById("beschrijving").style.visibility = "visible";
}

/**
* laat de popup voor literatuurbeschrijving verdwijnen
*/
function hideBeschrijving(){
  document.getElementById("beschrijving").style.visibility = "hidden";
}

/**
* is een veld leeg of null of allen \t of \n
*/
function isblank(s) {
  for(var i = 0; i < s.length; i++) {
    var c = s.charAt(i);
    if ((c != ' ') && (c != '\n') && (c != '\t')) return false;
  }
  return true;
}

/**
* valideer een e-mailadres
*/
function checkEmail(email){
  if(email != ''){
    var re = /^[a-z0-9\-\.\_]+@([a-z0-9\-]+\.)+[a-z]{2,4}$/i;
    if(!email.match(re)) {
      return false;
    } else {
      return true;
    }
  }
}

/**
* valideer de velden van een form. moet in de onsubmit worden gebruikt
*/
function testFields(theForm){
  returnValue = true;
  var msg;
  msg  = "________________________________________________\n\n";
  msg += "Het formulier wordt niet verwerkt:\n\n";
  e = theForm.email_alg;
  if ((e.value == null) || (e.value == "") || isblank(e.value) || (!checkEmail(e.value))) {
    msg += "Het E-mail veld is niet of niet juist ingevuld.\t\n";
    returnValue = false;
  }
  msg += "________________________________________________\n\n";
  if(!returnValue)
    alert(msg);

  return returnValue;
}

/**
* Retourneer een XmlHttpRequest object voor AJAX functionaliteit
*/
function createXMLHttpRequest() {
  try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
  try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
  try { return new XMLHttpRequest(); } catch(e) {}
  return null;
}

/**
* browser-safe functies om een eventhandler aan een element te koppelen (addEvent) en weer te ontkoppelen (removeEvent)
*
* voorbeeld van gebruik: addEvent(window, 'load', showPopup, false);
*/
function addEvent(elm, evType, fn, useCapture){
  if(elm.addEventListener){  // DOM
    elm.addEventListener(evType, fn, useCapture);
    return true;
  } else if(elm.attachEvent){ // IE 5+
    var r = elm.attachEvent('on' + evType, fn);
    return r;
  } else { // IE 4
    elm['on'+evType] = fn;
  }
}

function removeEvent(elm, evType, fn, useCapture, oldHandler){
  if(elm.removeEventListener){ // DOM 
    elm.removeEventListener(evType, fn, useCapture);
  } else if(elm.detachEvent){ // IE 5+  =
    elm.detachEvent('on' + evType, fn);
  } else {
    elm['on'+evType] = oldHandler;  // IE 4
  }
  
}

function selectBoxChangeHandler(){
}