function searchform_action(itemaction, field, val) {
  document.getElementById('item_action').value = itemaction;  
  document.getElementById('item_field').value = field;  
  document.getElementById('item_val').value = val;  
  document.getElementById('searchform').submit();
}

function searchform_toggle(nm) {
  document.getElementById('expand_'+nm).style.display = 'block';  
  document.getElementById('base_'+nm).style.display = 'none';  
}

function massCheckboxUpdate() {
  var ch = true;
  for(var i = 1; i < arguments.length; i++) {
    if(!document.getElementById(arguments[i]).checked) ch = false;
  }
  document.getElementById(arguments[0]).checked = ch;
}
function massCheckboxToggle() {
  for(var i = 1; i < arguments.length; i++) {
    document.getElementById(arguments[i]).checked = arguments[0];
  }
}

function multipick_toggle(nm) {
  var status = document.getElementById('status_'+nm);
  if(status.value > 0) {
    status.value = 0;
    document.getElementById('label_'+nm).style.display = 'block';  
    document.getElementById('list_'+nm).style.display = 'none';  
    document.getElementById('icond_'+nm).style.display = 'block';  
    document.getElementById('iconu_'+nm).style.display = 'none';  
  } else {
    status.value = 1;
    document.getElementById('label_'+nm).style.display = 'none';  
    document.getElementById('list_'+nm).style.display = 'block';  
    document.getElementById('icond_'+nm).style.display = 'none';  
    document.getElementById('iconu_'+nm).style.display = 'block';  
  }
}
function multipick_update_label() {
  var out = Array();                       
  var nm = arguments[0];
  if(document.getElementById('allentry_'+nm)) {
    var allentry = document.getElementById('allentry_'+nm).value;
  }
  if(allentry != undefined && document.getElementById('chk_'+nm+'_'+allentry).checked) {
    out.push(document.getElementById('lbl_'+nm+'_'+allentry).innerHTML);      
  } else {
    for(var i = 1; i < arguments.length; i++) { 
      if(document.getElementById('chk_'+arguments[i]).checked) {
        out.push(document.getElementById('lbl_'+arguments[i]).innerHTML);      
      }
    }
  }  
  document.getElementById('label_'+nm).innerHTML = out.join(', ');
}


function searchFormUpdate() {
  document.getElementById('results').innerHTML = '<span class=grey>bezig met zoeken...</span>';
  var frm = document.getElementById('searchform');
  sendRequest(frm, 'search_count.php');
}

function bannerPop() {
  w=280;
  h=280;
  var winl = Math.floor((screen.width-w)/2);
  var wint = Math.floor((screen.height-h)/2);
  var settings  ='height='+h+',';
      settings +='width='+w+',';
      settings +='top='+wint+',';
      settings +='left='+winl+',';
      settings +='scrollbars=yes,';
      settings +='resizable=no';
  win=window.open('/pop_review.php','oww_popup',settings);
  win.window.focus();  
}

function toggleBewaarlijst() {
  var loc = document.getElementById('bewaaranchor');
  var txt = document.getElementById('bewaarbox');
  bb_moveLayer(txt,loc,-42,15);
  if(txt.style.display == 'block')
    txt.style.display = 'none';              
  else
    txt.style.display = 'block';              
}

function tooltipShow(tool,tipid) {
  var txt = document.getElementById(tipid);
  bb_moveLayer(txt,tool,tool.offsetWidth+5,5)
  txt.style.display = 'block';              

  // cover iframe for pulldowns e.d.
  var frm = document.getElementById('frame_'+tipid);
  if(frm) {
    frm.style.display = 'block';
    frm.style.width = txt.offsetWidth;
    frm.style.height = txt.offsetHeight;
    bb_moveLayer(frm,tool,tool.offsetWidth,10)
  }
}
function tooltipHide(tool,tipid) {
  var txt = document.getElementById(tipid);
  txt.style.display = 'none';
  var frm = document.getElementById('frame_'+tipid);
  if(frm) frm.style.display = 'none';
} 

Array.prototype.in_array = function ( obj ) {
	var len = this.length;
	for ( var x = 0 ; x < len ; x++ ) {
		if ( this[x] == obj ) return true;
	}
	return false;
}

function matrix_click(cid, did, chk) { 
  var nm = '';
  if(cid == 0 && did == 0) { // ALL
    for( var c = 0; c < catlist.length; c++ ) {   
      for( var d = 0; d < dglist.length; d++ ) {
        nm = catlist[c]+','+dglist[d];
        if(!disable.in_array(nm)) 
          document.getElementById('matrix_'+nm).checked = chk;
      } 
    } 

  } else if(cid == 0) { // ROW
    for( var c = 0; c < catlist.length; c++ ) {   
      nm = catlist[c]+','+did;
      if(!disable.in_array(nm)) 
        document.getElementById('matrix_'+nm).checked = chk;
      if(!chk) {
        nm = catlist[c]+',0';
        document.getElementById('matrix_'+nm).checked = false;
      }
    } 

  } else if(did == 0) { // COL
    for( var d = 0; d < dglist.length; d++ ) {   
      nm = cid+','+dglist[d];
      if(!disable.in_array(nm)) 
        document.getElementById('matrix_'+nm).checked = chk;
      if(!chk) {
        nm = '0,'+dglist[d];
        document.getElementById('matrix_'+nm).checked = false;
      }
    } 

  } else if(!chk) { // SINGLE UNCHECK
    nm = '0,'+did;
    document.getElementById('matrix_'+nm).checked = false;
    nm = cid+',0';
    document.getElementById('matrix_'+nm).checked = false;
    nm = '0,0';
    document.getElementById('matrix_'+nm).checked = false;

  }
}



function bb_moveLayer(obj,ref,offsetX,offsetY) {
  var newX = bb_findPosX(ref);
  var newY = bb_findPosY(ref);
  newX += offsetX;
  newY += offsetY;
  
  obj.style.top = newY + 'px';
  obj.style.left = newX + 'px';
} 

function bb_findPosX(obj) {
  var curleft = 0;
  if (obj.offsetParent) {
    while (obj.offsetParent) {
      curleft += obj.offsetLeft
      obj = obj.offsetParent;
    }
  } else if (obj.x) {
    curleft += obj.x;
  }
  return curleft;
}

function bb_findPosY(obj) {
  var curtop = 0;
  if (obj.offsetParent) {
    while (obj.offsetParent) {
      curtop += obj.offsetTop
      obj = obj.offsetParent;
    }
  } else if (obj.y) {
    curtop += obj.y;
  }
  return curtop;
}


function loadExternalHtml(pagetoload, targetid) {
  var loadingtext = '....';
  
  var tg = document.getElementById(targetid);
  tg.innerHTML = loadingtext;

  var http_request = false;

  if (window.XMLHttpRequest) { // Mozilla, Safari, ...
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {
      http_request.overrideMimeType('text/html');
    }
  } else if (window.ActiveXObject) { // IE
    try {
      http_request = new ActiveXObject('Msxml2.XMLHTTP');
    } catch (e) {
      try {
        http_request = new ActiveXObject('Microsoft.XMLHTTP');
      } catch (e) {}
    }
  }

  if (!http_request) {
    alert('Error: Cannot create an XMLHTTP instance');
    return false;
  }
  http_request.onreadystatechange = function() { loadExternalHtmlResult(http_request, targetid); };
  http_request.open('GET', pagetoload, true);
  http_request.setRequestHeader("Connection", "close");
  http_request.send(pagetoload);
}
function loadExternalHtmlResult(http_request, targetid) {  
  var tg = document.getElementById(targetid);
  if(http_request.readyState == 4) {
    if (http_request.status == 200) {
      tg.innerHTML = http_request.responseText;
    } else {
      tg.innerHTML = '<i>Error '+http_request.status+'</i>';
    }
  }
}