var imageDown, imageUp, overClass, outClass, headerOverClass, headerOutClass;
var selectionObjects = new Array("selZoektermijn");
    
imageDown = 'images/arrow-down.gif';
imageUp = 'images/arrow-up.gif';    

overClass = 'over';
outClass = '';

headerOverClass = 'list-header-blue';
headerOutClass = 'list-header';        

bGhostEvent = true;

setPrijsklasse = function(ref){
  var klasseKoop = "prijsklasse-koop";
  var klasseHuur = "prijsklasse-huur";
  
  var objKlasseShow, objKlasseHide;

  if (ref.id == 'koop'){
    objKlasseShow = document.getElementById(klasseKoop);
    objKlasseHide = document.getElementById(klasseHuur);
  }
  if (ref.id == 'huur'){
    objKlasseShow = document.getElementById(klasseHuur);
    objKlasseHide = document.getElementById(klasseKoop);  
  }
  
  if ((objKlasseShow) && (objKlasseHide)){
    objKlasseShow.style.display = 'block';
    objKlasseHide.style.display = 'none';    
  }
}

imageClick = function(imgObj, listContainer){
  listClick(imgObj.parentNode, listContainer, imgObj.id);  
  bGhostEvent = false;
}

listClick = function(obj, listId, imageId){
  if (bGhostEvent){
    if (!isVisible(listId)) preserveSingle();
    setVisible(listId, (!isVisible(listId)));                     
    
    if (isVisible(listId)){
      imageSwap(imageId, imageUp);
      setClass(obj, headerOverClass);
      preserveSelectionVisuality(false);      
    }
    else{
      imageSwap(imageId, imageDown);
      setClass(obj, headerOutClass);        
      preserveSelectionVisuality(true);      
    }
  }
  bGhostEvent = true;  
}
isVisible = function(id){
  if (document.getElementById(id)){
    if (document.getElementById(id).style.display == 'none') return false;
  }
  return true;
}
setVisible = function(id, value){      
  if (document.getElementById(id)){
    if (value)
      document.getElementById(id).style.display = 'block';
    else
      document.getElementById(id).style.display = 'none';        
  }         
}
imageSwap = function(id, newImage){
  if (document.getElementById(id)){
    document.getElementById(id).setAttribute('src', newImage);
  }       
}
setClass = function(obj, newClass){
  obj.className = newClass; 
}
rowOver = function(obj, chkId){
  if (!rowIsSelected(chkId)) obj.className = overClass;      
}
rowOut = function(obj, chkId){
  if (!rowIsSelected(chkId)) obj.className = outClass;      
} 
rowClick = function(obj, chkId){  
  if (rowIsSelected(chkId)){
    obj.className = outClass;
    unselectRow(chkId);
  }
  else{
    obj.className = overClass;
    selectRow(chkId);            
  }
}
setStatusText = function(spanId, text){
  document.getElementById(spanId).innerText = text;
}

rowIsSelected = function(chkId){
  var obj = document.getElementById(chkId);
  
  if ((obj) && (obj.getAttribute('type') == 'checkbox')){
    return obj.checked;
  }
  return false;
} 
checkBoxClick = function(chkObj){
  rowClick(chkObj.parentNode, chkObj.id);
}
selectRow = function(chkId){
  var obj = document.getElementById(chkId);          
  if (obj) obj.checked = true;
}  
unselectRow = function(chkId){
  var obj = document.getElementById(chkId);          
  if (obj) obj.checked = false;     
}
preserveSelectionVisuality = function(visible){
  var obj = null;
  
  if (selectionObjects.length == 0) return;
  
  for (var i=0;i<selectionObjects.length;i++){
    obj = document.getElementById(selectionObjects[i]);
    if (obj){
      if (visible){
        obj.style.display = 'block';        
      }
      else{
        obj.style.display = 'none';        
      }            
    }
  }     
}
preserveSingle = function(){
  var headerid = "", imageid = "";
  var elements = null;
  elements = getElementsByClassName('inner-list-container');
  
  if (elements){
    for (var i=0; i<elements.length; i++){
      setVisible(elements[i].id, false);       

      headerid = 'header-' + elements[i].id.split('-')[1];
      imageid = 'list-arrow-' + elements[i].id.split('-')[1];        
      
      if (document.getElementById(headerid)) setClass(document.getElementById(headerid), headerOutClass);            
      if (document.getElementById(imageid)) imageSwap(imageid, imageDown);
    } 
  }
  preserveSelectionVisuality(true);        
}    
getElementsByClassName = function(needle){
    var s, i, r = [], l = 0, e;
    var re = new RegExp('(^|\\s)' + needle + '(\\s|$)');

    if (navigator.userAgent.indexOf('Opera') > -1){
        s = [document.documentElement || document.body], i = 0;

        do{
            e = s[i];

            while (e){
                if (e.nodeType == 1){
                    if (e.className && re.test(e.className)) r[l++] = e;

                    s[i++] = e.firstChild;
                }    
                e = e.nextSibling;
            }
        }while (i--);
    }
    else{
        s = document.getElementsByTagName('*'), i = s.length;

        while (i--){
            e = s[i];
            if (e.className && re.test(e.className)) r[l++] = e;
        }
    }    
    return r;
}
document.onreadystatechange = function(){ 
  if (document.readyState == "complete"){
    document.body.onclick = function(){
      var s = window.event.srcElement.className;
      
      if ((s.indexOf('list-header') != -1) && 
          (s.indexOf('list-header-blue') != -1) &&
          (s.indexOf('inner-list-container') != -1) && 
          (s.indexOf('inner-list') != -1) ||
          (s.length == 0)){              
            if ((window.event.srcElement.getAttribute('type') != 'checkbox') && (window.event.srcElement.parentNode.className != 'inner-list'))
              if (window.event.srcElement.id.indexOf('list-arrow') == -1) preserveSingle();            
            
      }
    } 
  }
}

