function add_bookmark() {
  if (document.all) {
    window.external.addFavorite('http://www.gbrd.nl/','Website GBRD')
  } else {
    alert('Uw browser ondersteunt toevoegen van favorieten niet. Type daarom ctrl-D (command-D op Macintosh) om deze pagina bij uw favorieten te plaatsen!')
  }
}

function show_photo(url, descr)
{
  $('fullfoto').style.background='url('+url+') no-repeat center';
  $('bijschrift').innerHTML = descr;
}

function get_page(art_no)
{
  my_form = document.getElementById('myfrm');
  document.getElementById('start').value=parseInt(art_no);
  my_form.submit();
}
    
    numericorder = function(a, b) { 
      return a -b; }


var nav = null;          
function initPage() {
  
  return
}

toggle_visibility = function(elmid) {
  var subm = $(elmid);
  if (subm.style.display=='none' || subm.style.display=='')
      subm.style.display='block';
  else
      subm.style.display='none';
};

// ------------------------------------------------ AJAX maillist subscription ---------------------------------------------------
send_maillist_subscription = function () {
  intraxxion.submitform('newsletter.htm/action', getElement('digibrief'), maillist_subscription);
};
maillist_subscription = function (data) {
  resp = JSON.parse(data.responseText);
  maillistMessage(resp.message);
};

maillistMessage = function(msg) {         
  cmnew = DIV({'id':'digibrief_message','style':'padding-bottom:4px;display:block'}, SPAN(null, msg));
  swapDOM('digibrief_message', cmnew);
  callLater(7, hideMaillistMessage );
};

hideMaillistMessage = function() {
  getElement('digibrief_message').style.display = 'none';
};
// ------------------------------------------------ navigatie --------------------------------------------------------
pulldownNavigation = function() {
  bindMethods(this);    
  this.menudata = null;
};

pulldownNavigation.prototype = {
  init: function () {
    this.load();
  },
  load: function() {    
    lh =  location.href;
    ll = lh.split('/');
    if (ll[ll.length-1] == 'action') {
      lastll = ll.slice(0,ll.length-1); 
      lh = lastll.join('/');
    }                                                        
    if (ll[ll.length-1] == 'sitemap') {
      lastll = ll.slice(0,ll.length-1); 
      lh = lastll.join('/');
    }                                                        
    if (ll[ll.length-1] == 'alphabetic.html') {
      lastll = ll.slice(0,ll.length-1); 
      lh = lastll.join('/');
    }                                                        
    if (ll[ll.length-1] == 'advanced_search') {
      lastll = ll.slice(0,ll.length-1); 
      lh = lastll.join('/');
    }                                                        
    if (ll[ll.length-1] == 'search_results') {
      lastll = ll.slice(0,ll.length-1); 
      lh = lastll.join('/');
    }                                                        

    d = loadJSONDoc(lh+'/'+'json_fetch_navigation');
    d.addCallbacks(this.loadReady, this.loadFailed);
  }, 
  loadReady: function(data) {
    this.menudata = data;
    this.render();
  },
  loadFailed: function(err) {
    log(err);
  },
  render: function() {
    themenu = UL({'id':'pdnav'}, map(this.addMain,this.menudata));                                         
    swapDOM('pdnav', themenu);
  },
  addMain: function(mainmenu) { 
    unordered = UL(null,map(this.addSub, mainmenu.subs));
    if (mainmenu.selected) 
      anc = A({'class':'selected','style':'color: #649d0f', 'href' : mainmenu.url }, mainmenu.title);
    else                              
      anc = A({'href' : mainmenu.url }, mainmenu.title);
    list = LI(null, anc, unordered);

    connect(anc,'onmouseover',this.mainOver);
    connect(anc,'onmouseout', this.mainOut);
    connect(unordered,'onmouseover',this.subOver);
    connect(unordered,'onmouseout',this.subOut);
    //connect(anc,'onfocus', blur);
    
    return list;
  },
  addSub: function(submenu) {
    unordered = UL(null,map(this.addTSub, submenu.subs));
    link =  A({'href':submenu.url},submenu.title)
    if (submenu.subs.length > 0)
      list = LI({'class':'second'}, unordered,link);
    else
      list = LI({'class':'second'}, link);
    //connect(link,'onfocus', function(e){blur();});
    connect(unordered,'onmouseover',this.subOver);
    connect(unordered,'onmouseout',this.subOut);
    
    return list;
  },
  addTSub: function(submenu) {
    link =  A({'href':submenu.url},submenu.title)
    list = LI({'class':'third','style':'z-index:100'}, link);
    //connect(link,'onfocus', function(e){blur();});
    
    return list;
  },
  mainOver: function(evt) {
    target = evt.target();
    //target.style.background = 'url(DesignerImages/navigatie_f2.jpg) no-repeat';    
    showElement(target.nextSibling);
    //target.nextSibling.style.display ='block';
  },
  mainOut: function(evt) {
    target = evt.target();
    if (target.className == 'selected') {  
      //target.style.background = 'url(DesignerImages/navigatie_f3.jpg) no-repeat';
    } else {
      //target.style.background = 'url(DesignerImages/navigatie_f1.jpg) no-repeat';
    }
    hideElement(target.nextSibling);
    //target.nextSibling.style.display='none';
  },
  subOver: function(evt) {
    target = evt.target();
    if (target.nodeName == 'A') {
      if (target.parentNode.className == 'second') {
        this.secondOver(target);
      }
      if (target.parentNode.className == 'third') {
        this.secondOver(target.parentNode.parentNode.nextSibling);
        secanc = target.parentNode.parentNode.parentNode.parentNode;
        secanc.style.display='block';
        target.parentNode.parentNode.style.display='block';
      }
    }
    return
  },
  secondOver: function(target) {
    mainanc = target.parentNode.parentNode.parentNode.firstChild;
    mainanc.style.color = '#649d0f';
    mainanc.nextSibling.style.display='block';
    if (target.previousSibling)
      target.previousSibling.style.display='block';
  },
  subOut: function(evt) {
    target = evt.target();
    if (target.nodeName == 'A') {
      if (target.parentNode.className == 'second') {
        this.secondOut(target);
      }
      if (target.parentNode.className == 'third') {
        target.parentNode.parentNode.style.display='none';        
        secanc = target.parentNode.parentNode.parentNode.parentNode;
        //log(target.parentNode.parentNode.nextSibling)
        this.secondOut(target.parentNode.parentNode.nextSibling);
      }
    }
    return
  },
  secondOut: function(target) {
    mainanc = target.parentNode.parentNode.parentNode.firstChild;
    if (mainanc.className == 'selected') {  
      mainanc.style.color = '#649d0f';
    } else {
      mainanc.style.color = 'white';
    }
    if (target.previousSibling) {
      if (target.previousSibling.childNodes.length > 0) {
        //log(target.previousSibling.tagName);
        //log(target.previousSibling.childNodes.length);
        if (target.previousSibling.style.display=='block')
          target.previousSibling.style.display='none';
      }
    }
    mainanc.nextSibling.style.display='none';
  }
}
// ------------------------------------------------ AJAX Q&A search --------------------------------------------------------------
var qaold = '';

doliveqasearch = function () {
  res = $('qaresults');
  qaqry = $('qaquery').value;
  if (qaqry != qaold) {
    if (qaqry == '') {
      res.innerHTML = '';
      res.style.display = 'none';
    } else
      intraxxion.submitform('DesignerTemplates/qaresults.html', $('qaform'), displayqaresults);
  }
  qaold = qaqry;
  setTimeout('doliveqasearch()', 700) ;
};

displayqaresults = function (data) {
  $('qaresults').style.display = 'block';
  $('qaresults').innerHTML = data.responseText;
};


fetch_questions = function (subject_id ) {
  tt = $(subject_id).previousSibling;
  if ((tt.className != 'subjecttitle') && (tt.className != 'selected')) { 
    tt = tt.previousSibling;
  }
  
  if ($(subject_id).style.display == 'none') {
    $('subject').value = subject_id;  
    $('target').value = $('mytarget').value;
    tt.className = 'selected';    
    intraxxion.submitform(location.href+'/fetch_questions', $('subjform'), displaysubjectresults);
  } 
  if ($(subject_id).style.display == 'block') {
    $(subject_id).style.display = 'none';
    tt.className = 'subjecttitle';    
  }
};

displaysubjectresults = function (data) {
  resultset = JSON.parse(data.responseText);
  var newDiv = DIV({'id':resultset.id,'class':'subjectcontent'}) 
  for (x = 0; x < resultset.rows.length;x++) {
    hdr = DIV({'id':resultset.rows[x].id,'class':'answertitle'}, resultset.rows[x].pagetitle)
    connect(hdr,'onclick', this, 
      function(e) {
        toggle_visibility('CN_'+e.target().id);
        
      }
    );
    newDiv.appendChild(hdr);
    cnt = DIV({'id':'CN_'+resultset.rows[x].id,'class':'answercontent'});
    cnt.innerHTML = '<span class="answer">Antwoord:</span>'+resultset.rows[x].content;
    newDiv.appendChild(cnt);
  }
  swapDOM(resultset.id, newDiv);
  $(resultset.id).style.display = 'block';
};
IEOver = function (evt) {
};
IEOut =function (evt) {
};


// ------------------------------------------------ Initialize the page after loading --------------------------------------------------------

function setBlur(ob) {
  connect(ob,'onfocus', 
    function(e) { 
      blur(); 
    }
  );
}
                      
var wsetup = null;
setlinkclass = function() {
  sp = getElementsByTagAndClassName('span',null,$('wxmapelement'))[0];
  pr = sp.parentNode;
  pr.className = 'gkaartgebruiksvoorwaarden';
  pr.setAttribute('class','gkaartgebruiksvoorwaarden');       
}


connect(window,'documentReady',
  function(e) {
    nav = new pulldownNavigation();
    nav.init();

    anchors = getElementsByTagAndClassName('A','');
    
    /* Directnaar menu */
    hideElement($('directnaar_items'));
    connect($('directnaar'), 'onclick', 
        function(e) {
            if ($('directnaar_items').style.display == 'none')
                showElement($('directnaar_items'));
            else
                hideElement($('directnaar_items'));
        }
    );
    /*
    connect($('directnaar'), 'onmouseout', 
        function(e) {
            hideElement($('directnaar_items'));
        }
    );
    */
    connect($('directnaar_items'), 'onclick', 
        function(e) {
            hideElement($('directnaar_items'));
        }
    );

    /* Tarieven snelmenu */
    hideElement($('directtarieven_items'));
    connect($('directtarieven'), 'onclick', 
      function(e) {
        if ($('directtarieven_items').style.display == 'none')
            showElement($('directtarieven_items'));
        else
            hideElement($('directtarieven_items'));
      }
    );
    /*
    connect($('directtarieven'), 'onmouseout', 
      function(e) {
        hideElement($('directtarieven_items'));
      }
    );
    */
    connect($('directtarieven_items'), 'onclick', 
      function(e) {
        hideElement($('directtarieven_items'));
      }
    );

    if ($('newsletter_register')) {
        connect($('newsletter_register'),'onclick', send_maillist_subscription );     
    }
    
    if ($('qaform')) {
        doliveqasearch();
    }
    if ($('inlog')) {
        connect($('inlog'),'onclick', 
            function(e) {
                if ($('inlogpdnav').style.display == 'none') {
                    showElement($('inlogpdnav'));
                } else {
                    hideElement($('inlogpdnav'));                   
                }
            }
        );
    }
  }
);                                                
function vergroot() {
    body = document.getElementsByTagName('body')[0];
    $('maincontent').style.fontSize = '130%';   
}

function verklein() {
    body = document.getElementsByTagName('body')[0];
    $('maincontent').style.fontSize = '100%';   
}

function patch_form(url) {
  // Patch the form so it uses "DesignerScripts/projectform_action" thru AJAX
  my_form = getElementsByTagAndClassName('form',null,$('meerinfoform'))[0];
  my_form.id = 'patched_form'
  my_form.action="DesignerScripts/projectform_action";
  
  connect(my_form, 'onsubmit', 
    function(e) {
      return false;
    }
  );

  submitbtnlayer  = getElementsByTagAndClassName('div','formsubmit',$('meerinfoform'))[0]
  submitbtn = null;
  for (x=0;x < submitbtnlayer.childNodes.length;x++) {
    if (submitbtnlayer.childNodes[x].nodeType == "1") {
      submitbtn = submitbtnlayer.childNodes[x];
    }
  }
  newbtn = IMG({'border':'0','alt':'','src':'DesignerImages/verstuur_f1.gif'});
  swapDOM(submitbtn,newbtn);
  connect(newbtn, 'onclick', 
    function(e) {
      e.target().src='DesignerImages/verstuur_f1.gif';
      projectform_submit()
    }
  );
  connect(newbtn, 'onmouseout', 
    function(e) {
      e.target().src='DesignerImages/verstuur_f1.gif';
    }
  );
  connect(newbtn, 'onmouseover', 
    function(e) {
      e.target().src='DesignerImages/verstuur_f2.gif';
    }
  );
  // Add some fields
  if (! $('extra_form_fields')) {
    extra_form_fields = SPAN({'id':'extra_form_fields'}, 
        INPUT({'type':'hidden','value':url,'name':'formurl','id':'formurl'})
        );
    appendChildNodes(my_form, extra_form_fields);
  }
}

function projectform_submit() {
  frm =  $('patched_form');
  req = getXMLHttpRequest();       
  req.open('POST', frm.action, true);
  req.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
  postBody = queryString(frm);
  d = sendXMLHttpRequest(req, postBody); 
  d.addCallbacks(projectFormReady,projectFormFailed);
}

function projectFormReady(data) {
  mydata = evalJSONRequest(data);
  if (mydata.status == 'OK') {
    melding = DIV({'id':'foutmelding','class':'error','style':'display:block'}, 'Formulier is succesvol verzonden naar Kolmont Woonprojecten.');
    swapDOM($('foutmelding'), melding);
    callLater(4.0, hideElement, $('foutmelding'));
    callLater(5.0, toggle_form);
  } else {
    melding = DIV({'id':'foutmelding','class':'error','style':'display:block'}, 'U heeft het formulier onvolledig of incorrect ingevuld, invoervelden met een * zijn verplicht. Na correctie kan het formulier opnieuw verzonden worden.');
    swapDOM($('foutmelding'), melding);    
  }
  window.scrollTo(0,0);
}

function projectFormFailed(err) {
  log(err);
}

function toggle_form() { 
  frm = $('meerinfoform');
  oc = $('objectcontent');
  
  if (frm.style.display == 'none') {    
    frm.style.display = 'block';
    oc.style.display = 'none';
    
  } else {
    frm.style.display = 'none';
    oc.style.display = 'block';
  }
}

function toggle_city(header, cityId) {   
  if ($(cityId).style.display == 'block') {
    $(cityId).style.display = 'none';
    header.style.background = '#666666 url(DesignerImages/resultaten_f2.jpg) no-repeat'
  } else {
    $(cityId).style.display = 'block';
    header.style.background = '#666666 url(DesignerImages/resultaten.jpg) no-repeat'
  }
}