function changeIcon(e,mode,color) {
  e.src="/ufc/rapid/sls_sites/objects/0e9178000c9784950f95fb37c555b529/icon_"+mode+"_o.gif";
  e.onmouseout=function() {
    e.src="/ufc/rapid/sls_sites/objects/0e9178000c9784950f95fb37c555b529/icon_"+mode+"_"+color+".gif";
  }
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function StyleForms() {
  var x = document.getElementsByTagName('input');
  for (var i=0;i<x.length;i++) {
    var type = x[i].type;
    var oldclass = x[i].className;
    oldclass = (oldclass ? oldclass + " " : oldclass);
    if (type == 'text' || type == '' || type == 'password') x[i].className = oldclass + 'input';
    if (type == 'radio') x[i].className = oldclass + 'radio';
    if (type == 'file') x[i].className = oldclass + 'file';
    if (type == 'checkbox') x[i].className = oldclass + 'checkbox';
    if (type == 'button' || type == 'submit' || type == 'reset') x[i].className = oldclass + 'button';
  }
}

// Plaats de focus in het eerst veld van het laatste formulier 
// Edit LF 20081103 nav bespreking met Luuk: *ook* als het gaat om het "topsearch"-formulier.
// Indien er (alleen) een topsearch en een tabelfilterformulier is, plaats de focus in de topsearch.
function PlaceFocus() {
  if (document.forms.length > 0) {
    var f = document.forms.length - 1;
    //if (document.forms[f].id == "topsearch") return false;
    if (f == 1 && document.forms[0].id == "topsearch" && document.forms[1].name == "filterform") {
      f = 0;
    }
    var theform = document.forms[f];
    for (i = 0; i < theform.length; i++) {
      if ((theform.elements[i].type == "text") || (theform.elements[i].type == "textarea")) {
        theform.elements[i].focus();
		theform.elements[i].select();
        if (theform.elements[i].value == 'Type een zoekterm') { 
			theform.elements[i].value = '';
		}
        break;
      }
    }
  }
}

function insertbbcode(field, tagopen, tagclose) { 
// http://parentnode.org/javascript/working-with-the-cursor-position/

  var newtext;
  var start;

  if (document.selection) {
    // IE
    // Het vervangen van CRLF -> LF is nodig omdat CRLF bij het bepalen van de lengte
    // van een string als 2 tekens geldt, maar bij het aansturen van de cursorpositie als 1 teken.

    field.focus();
    var orig = field.value.replace(/\r\n/g, "n");  
    var range = document.selection.createRange();

    if(range.parentElement() != field) {   // Er is een selectie, maar dit is in een ander veld (bijv. zoekbox bovenaan)
      field.value += tagopen + tagclose;
      field.focus();
      return false;
    }  

    // Vervang tekst
    var selectedtext = range.text;
    newtext = tagopen + selectedtext + tagclose;
    range.text = newtext;

    // Bepaal op welke positie de tekst veranderd is (door origineel en nieuwe tekst te vergelijken).
    var actual = tmp = field.value.replace(/\r\n/g, "\n");  

    var diff;
    for(diff = 0; diff < orig.length; diff++) {   
      if(orig.charAt(diff) != actual.charAt(diff)) break;   
    }   

    for(var index = 0, start = 0; 
        tmp.match(newtext)   
          && (tmp = tmp.replace(newtext, ""))   
          && index < diff;   
        index = start + newtext.length) {   
      start = actual.indexOf(newtext, index);   
    }  

    //alert("diff: " + diff + ", start: " + start + ", orig: " + orig + ", actual: " + actual);

    // "start" is waar de tekst veranderd is

    if (start != null) {   
      if (selectedtext.length > 0) {
        // Als de tags "om" geselecteerde tekst heen geplaatst worden, zet de cursor naar het einde van de tags
        setCaretTo(field, start + newtext.length);   
      } else {
        // Als de tags zonder selectie in de tekst geplaatst worden, zet de cursor tussen de tags
        setCaretTo(field, start + tagopen.length);
      }
    }   

  } else if (field.selectionStart || field.selectionStart == '0') {
    var selLength = field.textLength;
    start = field.selectionStart;
    var end = field.selectionEnd;

    newtext = tagopen + (field.value).substring(start, end) + tagclose;

    field.value = (field.value).substring(0, start) + newtext + (field.value).substring(end, field.value.length);

    if (end - start > 0) {
      // Als de tags "om" geselecteerde tekst heen geplaatst worden, zet de cursor naar het einde van de tags
      setCaretTo(field, start + newtext.length);
    } else {
      // Als de tags zonder selectie in de tekst geplaatst worden, zet de cursor tussen de tags
      setCaretTo(field, start + tagopen.length);
    }

  } else {
    // Andere browsers: voeg de tags toe aan het eind van de tekst.
    field.value += tagopen += tagclose;
    field.focus();
  }


}

// Stel cursorpositie in in textarea
function setCaretTo(obj, pos) {   
    if(obj.createTextRange) {   
        /* Create a TextRange, set the internal pointer to  
           a specified position and show the cursor at this  
           position  
        */  
        var range = obj.createTextRange();   
        range.move("character", pos);   
        range.select();   
    } else if(obj.selectionStart) {   
        /* Gecko is a little bit shorter on that. Simply  
           focus the element and set the selection to a  
           specified position  
        */  
        obj.focus();   
        obj.setSelectionRange(pos, pos);   
    }   
} 

