var animationSpeed = 0.3;
var debug_bnr = 0;

// preload images for searchbox
var srch_img_1 = new Image(152,16);
var srch_img_2 = new Image(21,16);
var srch_img_3 = new Image(21,16);
var srch_img_4 = new Image(16,16);
var srch_img_5 = new Image(16,16);
var srch_img_6 = new Image(16,16);
var srch_img_7 = new Image(16,16);

var pic_root = '/i/elements/buttons/';

srch_img_1.src = pic_root + 'btn_uitgebreid.gif';
srch_img_2.src = pic_root + 'btn_search_page.gif';
srch_img_3.src = pic_root + 'btn_search_page_selected.gif';
srch_img_4.src = pic_root + 'btn_search_page_next.gif';
srch_img_5.src = pic_root + 'btn_search_page_next_disabled.gif';
srch_img_6.src = pic_root + 'btn_search_page_prev.gif';
srch_img_7.src = pic_root + 'btn_search_page_prev_disabled.gif';

var req;
var div_counter = 0;
var search_page;

var item_count_limit = 10000;
var items_per_div = 5;
var div_count_limit = 20;
var div_count_shown_limit = 5;
var div_preselected = 0;

var eltoresize = new Array('inner', 'header', 'header_banner_holder', 'body', 'content_left_center','content_left', 'content_center', 'menu_left', 'footer');

var f_pending;

document.observe("dom:loaded", function() {
  if ( $('inner') ) {
    adaptToScreen();
    Event.observe(document.onresize ? document : window, "resize", adaptToScreen );
  }
  if ( $('box_member_to_initialize') ) { box_member_to_initialize(); }
  if ( $('box_search_to_initialize') ) { box_search_to_initialize(); }
  checkEmptyBannerslots();
  if ( $('outer') ) { msgNameChange() }

});

function msgNameChange() {

  var cookie_msg_nc = 'amsg_namechange';
  var shown = readCookie(cookie_msg_nc);
  if ( shown == null ) {

    //alert( 'nog geen cookie...' )
    createCookie(cookie_msg_nc,1,90);

    var msg_txt =
      'Beste bezoeker,<br />'
      + '<br />'
      + 'iens recepten heeft per 1 mei 2010 een nieuwe naam: <b>okoko recepten</b>'
      + '<br />'
      + '<br />'
      + 'Onze nieuwe domeinnaam is <a href="http://www.okokorecepten.nl/">www.okokorecepten.nl</a>. Voorlopig blijven we nog wel even bereikbaar via <a href="http://www.iensrecepten.nl/">www.iensrecepten.nl</a>, maar dat gaat in de toekomst veranderen. Pas dus je bookmarks aan!'
      + '<br />'
      + '<br />'
      + 'Verandert er verder nog iets? Nee, alleen de naam is gewijzigd. Heb je recepten verzameld in je online kookboek, dan vind je die op de vertrouwde plek.'
      + '<br />'
      + '<br />'
      + 'Veel culinaire inspiratie op okoko recepten gewenst!<br />'
      + 'het okoko recepten team<br />'
      + '<br />'
      + 'PS Heb je nog geen account aangemaakt op okoko recepten?<br /><b><a href="/leden/aanmelden.asp">Meld je dan nu gratis aan</a>!</b><br />'
      ;



    showMessageBox('iens recepten wordt okoko recepten',msg_txt,450,400,null,null);

  }

  //else { alert( 'cookie: ' + shown ) }


}


function checkEmptyBannerslots() {

  var bnr_ajax_debug = '';
  var arr_banner_slots = $$('div.bnrslot');
  var slot_code_present = '';

  if ( arr_banner_slots.length != 0 ) {

    for (var i = 0; i < arr_banner_slots.length; i++) {

      slot_code_present = arr_banner_slots[i].innerHTML;

      if ( (slot_code_present.indexOf('flash_') != -1) && (slot_code_present.indexOf('ma_item') == -1) ) {

        if ( slot_code_present.indexOf('bnrdir') != -1 ) {
          var flash_banner_id = arr_banner_slots[i].innerHTML.replace('<SPAN class=bnrdir>', '').replace('</SPAN>', '').replace('flash_', '');
        }
        else {
          var flash_banner_id = arr_banner_slots[i].innerHTML.replace('<!--$$flash_', '').replace('$$-->', '');
        }

        if (debug_bnr==1) { alert('case flash, slot ' + arr_banner_slots[i].id + ' : ' + flash_banner_id) }

        var xml_f_page = '/includes/ajax/ajax_get_flash_banner_xml.asp'
        var xml_f_params = '?id=' + flash_banner_id + '&ph=' + arr_banner_slots[i].id;

        new Ajax.Request ( xml_f_page, { method: 'get', parameters: xml_f_params, onComplete: processInsertFlashBanner } );

      }

    }

  }

}

function processInsertFlashBanner(request) {

  var rqxml   = request.responseXML;
  var bnr_f   = rqxml.getElementsByTagName("ir_flash_file")[0].firstChild.data;
  var bnr_w   = rqxml.getElementsByTagName("ir_flash_width")[0].firstChild.data;
  var bnr_h   = rqxml.getElementsByTagName("ir_flash_height")[0].firstChild.data;
  var bnr_sc  = rqxml.getElementsByTagName("ir_flash_scale")[0].firstChild.data;
  var bnr_qu  = rqxml.getElementsByTagName("ir_flash_quality")[0].firstChild.data;
  var bnr_ck  = rqxml.getElementsByTagName("ir_flash_clicktag")[0].firstChild.data;
  var bnr_i   = rqxml.getElementsByTagName("ir_flash_alt_img")[0].firstChild.data;
  var bnr_ix  = rqxml.getElementsByTagName("ir_flash_alt_img_x")[0].firstChild.data;
  var bnr_iy  = rqxml.getElementsByTagName("ir_flash_alt_img_y")[0].firstChild.data;
  var bnr_ia  = rqxml.getElementsByTagName("ir_flash_alt_img_txt")[0].firstChild.data;
  var bnr_mv  = rqxml.getElementsByTagName("ir_flash_vermin")[0].firstChild.data;
  var bnr_ph  = rqxml.getElementsByTagName("ir_flash_placeholder")[0].firstChild.data;
  var bnr_bl  = rqxml.getElementsByTagName("ir_flash_blank")[0].firstChild.data;

  var bnr_h_init;
  if ( bnr_ph == 'bnrslot_1' ) { bnr_h_init = $(bnr_ph).getHeight(); }

  if ( swfobject.hasFlashPlayerVersion(bnr_mv + '.0.0') == true ) {
    bnr_ck = 'http://' + document.domain + bnr_ck;
    flashvars = {clickTag:bnr_ck};
    params = {scale:bnr_sc,quality:bnr_qu,wmode:'opaque'};
    attributes = {};
    swfobject.embedSWF(bnr_f, bnr_ph, bnr_w, bnr_h, bnr_mv + ".0.0", false, flashvars, params, attributes);
  }
  else {
    var str_blank = '';
    if ( bnr_bl == 1 ) { str_blank = ' target="_blank"' }
    str_ir_flash_alt_img =
        '<a href="' + bnr_ck + '"' + str_blank + '>'
      + '<img src="' + bnr_i + '" width="' + bnr_ix + '" height="' + bnr_iy + '" alt="' + bnr_ia + '" />'
      + '</a>';
    $(bnr_ph).update(str_ir_flash_alt_img);
  }

  if ( bnr_ph == 'bnrslot_1' ) {
    if ( bnr_h < bnr_h_init ) { $(bnr_ph).setStyle({ marginTop: ((bnr_h_init-bnr_h)/2) + 'px' }); }
  }

}

function adaptToScreen() {

  var viewport_width = document.viewport.getWidth();
  if ( viewport_width >= 1124  ) {
    eltoresize.each(function(i) { if ($(i)) { $(i).addClassName('theme_bigger'); } });
  }
  else {
    eltoresize.each(function(i) { if ($(i)) { $(i).removeClassName('theme_bigger'); } });
  }

  if ( $('darkenScreenObject') ) {
    $('darkenScreenObject').style.height = getBrowserWindowSize().height + 'px';
    if ( $('lightbox') ) { positionBox($('lightbox')) }
  }

}

function sbStatsTrack(pagetype, pageid, cookiename, sessionid, urlhardcoded) {
  var imgStats = sbMakeStatsImg(pagetype, pageid, cookiename, sessionid, urlhardcoded, false);
  document.write(imgStats);
}

function sbMakeStatsImg(pagetype, pageid, cookiename, sessionid, urlhardcoded, ajaxcaller) {

  // detect cookie
  var cookieID   = ''
  if(document.cookie) {
  	var cookieName = cookiename;
  	var theCookie = document.cookie;
  	theCookie = unescape(theCookie);
  	var firstChar = theCookie.indexOf(cookieName);
  	if(firstChar != -1) {
  		firstChar += cookieName.length + 1;
  		var lastChar = theCookie.indexOf(';', firstChar);
  		if(lastChar == -1) lastChar = theCookie.length;
  		cookieID = unescape(theCookie.substring(firstChar, lastChar) );
  	}
  }

  // detect language user
  taalUser = navigator.userLanguage;
  taalBrowser = navigator.browserLanguage;
  taalSystem = navigator.systemLanguage;
  if (taalUser != 'en-us') {taal = taalUser;}
  else if (taalSystem != 'en-us') {taal = taalSystem;}
  else if (taalBrowser != 'en-us') {taal = taalBrowser;}
  else {taal = taalUser;}
  if (taal == undefined) {taal = '-';}
  var userlang = taal ;

  // detect screen properties
  var w=screen.width;
  var h=screen.height;
  var c;
  if (screen.colorDepth) {c=screen.colorDepth} else {c=screen.pixelDepth}

  // detect refering page
  if ( ajaxcaller == true ) {
    var refererpage = '...';
  }
  else {
    var refererpage='' + escape(document.referrer);
  }

  // detect url this page (can be hardcoded)
  var urlpage_hc = urlhardcoded;
  if (urlpage_hc != '') { urlpage=escape(urlpage_hc) }
  else { urlpage='' + escape(document.URL) }

  var file  = '/_admin/sitetools/stats/count_sql.asp';
  var info;
  var str_return;

  var randomnumber = Math.floor(Math.random()*100000);

  info =
  '?w=' + w
  + '&h=' + h
  + '&c=' + c
  + '&r=' + refererpage
  + '&u='+ urlpage
  + '&cID=' + cookieID
  + '&p=' + pagetype
  + '&pID=' + pageid
  + '&sID=' + sessionid
  + '&l=' + userlang
  + '&rnd=' + randomnumber;

  str_return = '<img src="' + file + info + '" width="1" height="1" border="0" alt="" />';
  return str_return;

}

///////////////////////////////////////////////////////////////////////
// Login and logout                                                     //
//////////////////////////////////////////////////////////////////////////

function box_member_to_initialize() {

  var str_results =
    '<form id="frm_member_box" name="frm_member_box" action="#" onsubmit="return false;">'
    + '<div id="member_frm">'
    + '  <div class="login_lbl">e-mailadres</div>'
    + '  <div class="login_field"><input type="text" id="member_email" name="member_email" class="member_box_field" value="" size="8" maxlength="50" /></div>'
    + '  <div class="login_lbl">password</div>'
    + '  <div class="login_field"><input type="password" id="member_password" name="member_password" class="member_box_field" value="" size="8" maxlength="50" /></div>'
    + '  <div class="login_lbl login_lbl_chkbx">onthoud mij</div>'
    + '  <div class="login_field"><input type="checkbox" name="member_remember" value="yep" checked="checked" /><input type="image" src="/i/elements/buttons/btn_inloggen.gif" id="inloggen" name="inloggen" value="Inloggen" onclick="ajax_login(\'box\');" /></div>'
    + '</div>'
    + '<div id="login_remember">'
    + '  <div id="login_remember_txt"><a href="/leden/mailmijnpassword.asp">password vergeten?</a></div>'
    + '</div>'
    + '<div id="login_become_member">'
    + '<a href="/leden/aanmelden.asp"><img src="/i/elements/aanmelden.jpg" /></a>'
    + '</div>'
    + '<input type="hidden" id="member_id" name="member_id" value="-1" />'
    + '</form>';

    $('box_member_inner').innerHTML = str_results;

}

function ajax_login( caller ) {

  var frm = (caller == 'popup') ? document.frm_member_box_popup : document.frm_member_box;
  var val_email = frm.member_email.value;
  var val_pw = escape(frm.member_password.value);
  var val_rem = (frm.member_remember.checked) ? frm.member_remember.value : '';

  if ( caller != 'popup' ) {
    var bx_mbr = $('box_member_inner');
    bx_mbr.innerHTML = '<div class="wait"><img id="icon_login_wait" src="/i/elements/symbols/icon_wait_lbrown.gif" /></div>';
    bx_mbr.style.display = 'block';
  }

  var xml_page = '/includes/ajax/ajax_login_xml.asp'
  var xml_params = '?email=' + val_email + '&password=' + val_pw + '&remember=' + val_rem;
  new Ajax.Request ( xml_page, { method: 'get', parameters: xml_params, onComplete: processLoginAttempt } );

}

function processLoginAttempt(request) {

  var str_results = '';

  var rqxml = request.responseXML;
  var respons = rqxml.getElementsByTagName("respons")[0].firstChild.data;
  var inbox = rqxml.getElementsByTagName("inbox")[0].firstChild.data;
  var cookbook = rqxml.getElementsByTagName("cookbook")[0].firstChild.data;
  var weekmenu = rqxml.getElementsByTagName("weekmenu")[0].firstChild.data;
  var shoppinglist = rqxml.getElementsByTagName("shoppinglist")[0].firstChild.data;

  var item = rqxml.getElementsByTagName("member");
  if ( item.length != 0 ) {

    if ( respons == 1 ) {

      member_id         = item[0].getAttributeNode("id").value;
      member_sex        = item[0].getAttributeNode("sex").value;
      member_firstname  = item[0].getAttributeNode("firstname").value;
      member_middlename = item[0].getAttributeNode("middlename").value;
      member_lastname   = item[0].getAttributeNode("lastname").value;

      var memberbox_class = '';
      if ( member_sex == 'f' ) { memberbox_class = ' class="member_intro_f"'; }

      str_results =
        '<div id="member_intro"' + memberbox_class + '>welkom ' + member_firstname + '</div>'
        + '<div id="member_changeprofile"><a href="/leden/wijzigen.asp">profiel wijzigen</a></div>'
        + '<div class="member_assets_row">'
        + '  <div class="member_assets_cookbook"><a href="/leden/kookboek.asp">kookboek <span id="cookbook_count">(' + cookbook + ')</span></a></div>'
        + '  <div class="member_assets_weekmenu"><a href="/leden/weekmenu.asp">weekmenu<span id="weekmenu_count">(' + weekmenu + ')</span></a></div>'
        + '  <div class="member_assets_shoppinglist"><a href="/leden/shoppinglist.asp">shopping list <span id="shoppinglist_count">(' + shoppinglist + ')</span></a></div>'
        + '  <div class="member_assets_inbox"><a href="/leden/inbox.asp">inbox<span id="weekmenu_count">(' + inbox + ')</span></a></div>'
        + '</div>'
        + '<form id="frm_member_box" name="frm_member_box" action="#">'
        + '<input type="hidden" id="member_id" name="member_id" value="' + member_id + '" />'
        '</form>';

      $('box_member_inner').update(str_results);

      new Effect.Morph('box_member_inner', { style: 'height:82px', duration: animationSpeed, afterFinish: function( ) {
        $('box_member_inner').className = 'box_member_logged_in';
        $('box_member').insert({top: '<div id="member_box_logout" onclick="ajax_logout();">uitloggen</div>'});
      } });

      if ( $('lightbox') ) {
        if ( typeof(f_pending) == 'function' ) {
          f_pending();
          f_pending = null;
          return true;
        }
      }

      if ( $('become_member') ) { $('become_member').className = 'become_member_hidden' }

    }

    else if ( respons == 2 ) {

      var member_id = rqxml.getElementsByTagName("member")[0].getAttributeNode("id").value;
      var member_email = rqxml.getElementsByTagName("memberemail")[0].firstChild.data;

      if ( $('lightbox') ) {

        str_results =
          '<div class="memberbox_intro_txt">Je hebt je account nog niet geactiveerd.<br /><br /><a href="/leden/activeringsmail.asp?id=' + member_id + '&email=' + escape(member_email) + '">Klik hier</a> voor een bevestigings e-mail waarmee je je account kunt activeren.</div>';

      }
      else {

        str_results =
          '<div class="box_member_err">Je hebt je aangemeld, maar je hebt account nog niet geactiveerd.<br /><br />Activeren is heel makkelijk:<br /><br /><a href="/leden/activeringsmail.asp?id=' + member_id + '&email=' + escape(member_email) + '">Klik hier</a> om een bevestigings e-mail naar jezelf te laten sturen. In die e-mail tref je een link. Als je op die link klikt, dan is je account geactiveerd.</div>';

          new Effect.Morph('box_member_inner', { style: 'height:123px', duration: animationSpeed, afterFinish: function( ) { $('box_member_inner').className = 'box_member_error'; $('box_member_inner').update(str_results); } });

      }

    }

    else {

      if ( $('lightbox') ) {

        str_results =
          '<div class="memberbox_intro_txt">Je inloggegevens zijn niet gevonden.<br />Probeer het nog een keer...</div>'
          + '<form id="frm_member_box_popup" name="frm_member_box_popup" onsubmit="return false;" action="#">'
          + '<div class="member_box_login_lbl">e-mailadres</div>'
          + '<div class="member_box_login_field"><input type="text" id="member_email" name="member_email" class="member_box_field" value="" size="8" maxlength="50"></div>'
          + '<div class="member_box_login_lbl">password</div>'
          + '<div class="member_box_login_field"><input type="password" id="member_password" name="member_password" class="member_box_field" value="" size="8" maxlength="50"></div>'
          + '<div class="member_popup_box_login_btn"><input type="image" src="/i/elements/buttons/popup/btn_inloggen.gif" id="inloggen" name="inloggen" value="Inloggen" onclick="ajax_login(\'popup\');"></div>'

          + '<div class="member_box_login_remember member_box_login_remember_popup">'
          + '<div class="li_cb"><input type="checkbox" name="member_remember" value="yep" checked></div>'
          + '<div class="li_t">onthoud mijn gegevens</div>'
          + '<div class="li_i"><img src="/i/elements/symbols/icon_help.gif" class="sitehelp" onclick="callHelpPopup(1);" \/></div>'
          + '</div>'

          + '<div class="popuploginbox_subscribe">Als je nog geen lid bent, dan kun je hier een <a href="/leden/aanmelden.asp">gratis account</a> aanmaken.</div>'
          + '</form>';

      }

      else {

        str_results =
          '<form id="frm_member_box" name="frm_member_box" action="#" onsubmit="return false;">'
          + '<div class="box_member_err">Je inloggegevens zijn niet gevonden.<br />Probeer het nog een keer...</div>'
          + '<div id="member_frm">'
          + '  <div class="login_lbl">e-mailadres</div>'
          + '  <div class="login_field"><input type="text" id="member_email" name="member_email" class="member_box_field" value="" size="8" maxlength="50" /></div>'
          + '  <div class="login_lbl">password</div>'
          + '  <div class="login_field"><input type="password" id="member_password" name="member_password" class="member_box_field" value="" size="8" maxlength="50" /></div>'
          + '  <div class="login_lbl login_lbl_chkbx">onthoud mij</div>'
          + '  <div class="login_field"><input type="checkbox" name="member_remember" value="yep" checked="checked" /><input type="image" src="/i/elements/buttons/btn_inloggen.gif" id="inloggen" name="inloggen" value="Inloggen" onclick="ajax_login(\'box\');" /></div>'
          + '</div>'
          + '<div id="login_remember">'
          + '  <div id="login_remember_txt"><a href="/leden/mailmijnpassword.asp">password vergeten?</a></div>'
          + '</div>'

          + '<div id="login_become_member">'
          + '<a href="/leden/aanmelden.asp"><img src="/i/elements/aanmelden.jpg" /></a>'
          + '</div>'

          + '<input type="hidden" id="member_id" name="member_id" value="-1" />'
          + '</form>';

          new Effect.Morph('box_member_inner', { style: 'height:208px', duration: animationSpeed, afterFinish: function( ) { $('box_member_inner').className = 'box_member_error'; $('box_member_inner').innerHTML = str_results; } });

      }

    }

  }
  else {
    str_results = '';
  }

  if ( $('lightbox_content_inner') ) {
    $('lightbox_content_inner').update(str_results);
  }

  submitcount = 0;

}

function ajax_logout() {

  if ( $("box_member_inner") ) {
    var bx_mbr = $('box_member_inner');
    bx_mbr.innerHTML = '<div class="wait"><img id="icon_login_wait" src="/i/elements/symbols/icon_wait_lbrown.gif" /></div>';
    bx_mbr.style.display = 'block';
    $('member_box_logout').remove();
    new Ajax.Request ( '/includes/ajax/ajax_logout_xml.asp', { method: 'get', parameters: '', onComplete: processLogout } );
  }

}

function processLogout(request) {

  var el_member_box = $('box_member_inner');

  str_results =
    '<form id="frm_member_box" name="frm_member_box" action="#" onsubmit="return false;">'
    + '<div class="box_member_err">Je bent uitgelogd.</div>'
    + '<div id="member_frm">'
    + '  <div class="login_lbl">e-mailadres</div>'
    + '  <div class="login_field"><input type="text" id="member_email" name="member_email" class="member_box_field" value="" size="8" maxlength="50" /></div>'
    + '  <div class="login_lbl">password</div>'
    + '  <div class="login_field"><input type="password" id="member_password" name="member_password" class="member_box_field" value="" size="8" maxlength="50" /></div>'
    + '  <div class="login_lbl login_lbl_chkbx">onthoud mij</div>'
    + '  <div class="login_field"><input type="checkbox" name="member_remember" value="yep" checked="checked" /><input type="image" src="/i/elements/buttons/btn_inloggen.gif" id="inloggen" name="inloggen" value="Inloggen" onclick="ajax_login(\'box\');" /></div>'
    + '</div>'
    + '<div id="login_remember">'
    + '  <div id="login_remember_txt"><a href="/leden/mailmijnpassword.asp">password vergeten?</a></div>'
    + '</div>'
    + '<input type="hidden" id="member_id" name="member_id" value="-1" />'
    + '</form>';

    new Effect.Morph('box_member_inner', { style: 'height:108px', duration: animationSpeed, afterFinish: function( ) { $('box_member_inner').className = 'box_member_error'; $('box_member_inner').innerHTML = str_results; } });

}

//////////////////////////////////////////////////////////////////////////
// Searchbox : start                                                    //
//////////////////////////////////////////////////////////////////////////

function box_search_to_initialize() {
  var xml_page = '/includes/ajax/ajax_search_criteria.asp';
  new Ajax.Request ( xml_page, { method: 'get', parameters: '', onComplete: box_search_fill } );
}

function box_search_fill(request) {

  var rqxml = request.responseXML;

  var str_opt  = '<option value="-1" class="optgray">rplc</option>';
  var str_search_criteria_extra = '';

  var arr_crit = new Array('course','kitchen','type','source','time');
  var arr_crit_lbl = new Array('Menugang','Keuken','Soort','Receptbron','Bereidingstijd');
  var arr_crit_def = new Array('alle menugangen','alle keukens','alle soorten','alle bronnen','geen voorkeur');

  var str_options;
  for (var c = 0; c < arr_crit.length; c++) {

    var options = rqxml.getElementsByTagName(arr_crit[c]);
    if ( options.length != 0 ) {

      str_options = '';
      for (var i = 0; i < options.length; i++) {
        opt     = options[i];
    		opt_act = opt.getAttributeNode("active").value;
    		opt_lbl = opt.childNodes[0].data;
    		opt_id  = opt.getAttributeNode("id").value;
        if ( (opt_act == 'True') && (opt_lbl != 'ledenrecepten') ) {
          str_options += '<option value="' + opt_id + '">' + opt_lbl + '</option>';
        }
      }

      str_search_criteria_extra +=
        '<tr>'
        + '<td class="lbl">' + arr_crit_lbl[c] + '</td>'
        + '<td>'
        + '<select id="search_' + arr_crit[c] + '" name="search_' + arr_crit[c] + '" class="search_select" onchange="ajax_search(2, \'self\');">'
        + str_opt.replace('rplc', arr_crit_def[c])
        + str_options
        + '</select></td>'
        + '</tr>';

    }

  }

  var requestQS_in = '';
  var requestQS_ti = '';

  var str_search_criteria =
    '<tr>'
    + '<td class="lbl">naam recept</td>'
    + '<td><input type="text" id="search_title" class="search_txt" name="search_title" value="' + requestQS_ti + '" size="8" maxlength="50" onkeyup="ajax_search(2, \'self\');" /></td>'
    + '</tr>'
    +  '<tr>'
    + '<td class="lbl">Ingredi&euml;nt</td>'
    + '<td><input type="text" id="search_ingr" class="search_txt" name="search_ingr" value="' + requestQS_in + '" size="8" maxlength="50" onkeyup="ajax_search(2, \'self\');" /></td>'
    + '</tr>';

  var str_results =
      '<div id="searchbox_outer">'
    + '<form id="frm_searchbox" name="frm_searchbox" action="#">'
    + '<table id="searchbox_extra">'
    + str_search_criteria_extra
    + '</table>'
    + '<table id="searchbox">'
    + str_search_criteria
    + '</table>'
    + '</form>'
    + '</div>'
    + '<div id="searchbox_results"></div>';

    $('box_search_inner').innerHTML = str_results;
    $('box_search_inner').style.height = '55px';

}

function toggle_search_extra() {

  var newHeight;
  var searchbox_extra = $('searchbox_extra');

  if ( searchbox_extra.className != 'expanded' ) {
    newHeight = 163;
    if ( $('searchbox_results').style.display == 'block' ) { newHeight = 453; }
    new Effect.Morph('box_search_inner', { style: 'height:' + newHeight + 'px', duration: animationSpeed, afterFinish: function( ) { $('searchbox_extra').addClassName('expanded'); $('toggle_search_extra').update('minder zoekopties'); } });
  }
  else {
    newHeight = 56;
    if ( $('searchbox_results').style.display == 'block' ) { newHeight = 348; }
    new Effect.Morph('box_search_inner', { style: 'height:' + newHeight + 'px', duration: animationSpeed, afterFinish: function( ) { $('searchbox_extra').removeClassName('expanded'); $('toggle_search_extra').update('meer zoekopties'); } });
  }

}

function setSearchBox() {

  var querystring = window.location.search ;
  var querystring_items = 0;
  var querystring_array;
  var search_div_selected = 1;
  div_found = 0;

  querystring_array = querystring.split('&');

  // analyze querystring and count if any search parameters were set...
  if ( querystring_array.length > 1 ) {
    for (var i_qs = 0; i_qs < querystring_array.length; i_qs++) {
      if ( querystring_array[i_qs] != -1 ) { querystring_items++ }
      if ( querystring_array[i_qs].substr(0,2) == 'p=' ) {
        search_div_selected = querystring_array[i_qs].replace('p=', '');
      }
    }
  }

  // if any search parameters were set, then call search again + show correct page
  if ( querystring_items > 0 ) {
    ajax_search(2, 'auto');
    if ( search_div_selected > 1 ) {
      if ( $('result_div_' + search_div_selected) ) {
        toggle_result_div(search_div_selected);
        div_preselected = 0;
      }
      else {
        div_preselected = search_div_selected;
      }
    }
  }

}

function ajax_search( request_type, trigger ) {

  var el_searchbox_results = $('searchbox_results');
  el_searchbox_results.innerHTML = '<div class="wait"><img id="icon_search_wait" src="/i/elements/symbols/icon_wait_lbrown.gif" /></div>';
  el_searchbox_results.style.display = 'block';

  if ( trigger == 'self' ) { div_preselected = 0 }

  if ( (window.XMLHttpRequest) || (window.ActiveXObject) ) {

    if ( $("searchbox_results") ) {

      var xml_page          = '/includes/ajax/ajax_search_xml.asp';
      var searchterms       = '';

      var el_search_course  = document.frm_searchbox.search_course;
      var el_search_kitchen = document.frm_searchbox.search_kitchen;
      var el_search_type    = document.frm_searchbox.search_type;
      var el_search_source  = document.frm_searchbox.search_source;
      var el_search_time    = document.frm_searchbox.search_time;
      var el_search_ingr    = document.frm_searchbox.search_ingr;
      var el_search_title   = document.frm_searchbox.search_title;

      searchterms += '&co=' + el_search_course.value;
      searchterms += '&ki=' + el_search_kitchen.value;
      searchterms += '&ty=' + el_search_type.value;
      searchterms += '&so=' + el_search_source.value;
      searchterms += '&ti=' + el_search_time.value;

      if ( el_search_ingr.value.length >= 2 ) { searchterms += '&in=' + el_search_ingr.value; }
      if ( el_search_title.value.length >= 2 ) { searchterms += '&tt=' + el_search_title.value; }

      if (
        (el_search_course.value == -1)
        && (el_search_kitchen.value == -1)
        && (el_search_type.value == -1)
        && (el_search_source.value == -1)
        && (el_search_time.value == -1)
        && (el_search_ingr.value == '')
        && (el_search_title.value == '')
      ) {

        var el_searchbox_results = $('searchbox_results');
        el_searchbox_results.innerHTML = '<div class="search_result_count_total"></div>';
        el_searchbox_results.style.display = 'none';

      }
      else {

        xml_page_full = xml_page + '?go=' + request_type + searchterms;
        search_page = '/zoeken/index.asp' + '?go=' + request_type + searchterms;
        new Ajax.Request ( '/includes/ajax/ajax_search_xml.asp', { method: 'get', parameters: 'go=' + request_type + searchterms, onComplete: processResults } );

      }

    }

  }

}

function processResults(request) {

  var el_searchbox_results = $('searchbox_results');
  var str_results = '';
  var str_results_tab = '';
  var str_result_count = '0 recepten gevonden';

  var r = request.responseXML;
  var item_count_total = r.getElementsByTagName("recipe_count")[0].firstChild.data;
  var search_terms = r.getElementsByTagName("search_terms")[0].firstChild.data;
  var items = r.getElementsByTagName("recipe");
  if ( items.length != 0 ) {

    var recipe_on_div_counter = 0;
    var div_class;
    var item_id; var item_title; var item_img; var item_url; var str_results_tab;
    div_counter = 0;

    for (var i = 0; i < items.length; i++) {

      recipe_on_div_counter++;
      item_id     = items[i].getAttributeNode("id").value;
      item_title  = items[i].getAttributeNode("title").value;
      item_img    = items[i].getAttributeNode("visual").value;
      item_url    = items[i].childNodes[0].data;
      if ( item_img == '' ) { item_img = '/i/i.gif' }

      str_results_tab +=
        '<div class="search_result_line">'
        + '<a href="' + item_url + '" rel="nofollow"><img src="' + item_img + '" />' + item_title + '</a>'
        + '</div>';

      if ( recipe_on_div_counter == items_per_div ) {
        div_counter++;
        div_class = 'result_div' + ((div_counter > 1) ? ' result_div_hidden' : '');
        str_results += '<div id="result_div_' + div_counter + '" class="' + div_class + '">' + str_results_tab + '</div>';
        recipe_on_div_counter = 0;
        str_results_tab = '';
      }

    }

    // Add last couple of results to total results
    if ( str_results_tab != '' ) {
      div_counter++;
      div_class = 'result_div' + ((div_counter > 1) ? ' result_div_hidden' : '');
      str_results += '<div id="result_div_' + div_counter + '" class="' + div_class + '">' + str_results_tab + '</div>';
    }


    // Links for toggling between result divs
    var result_div_links = '';
    var div_per_line_counter = -1;
    var result_div_links_counter = 0;
    var str_class_result_div_links;
    var result_div_links_holder_prev = '';
    var result_div_links_holder_next = '';
    var str_search_result_full;

    str_results += '<div id="results_footer"><div>&nbsp;</div></div>';

    if ( div_counter > 1 ) {

      for (var i = 1; i <= div_counter; i++) {

        div_per_line_counter++;
        if ( div_per_line_counter == div_count_shown_limit ) {

          result_div_links_counter++;
          str_class_result_div_links = 'result_div_links_holder' + ((result_div_links_counter == 1) ? '_active' : '');

          if ( result_div_links_counter > 1 ) {
            result_div_links_holder_prev = '<div class="result_div_link_arrow result_div_link_arrow_enabled" onclick="toggle_result_div_line(' + (1*(result_div_links_counter-1)) + '); toggle_result_div(' + (1*((result_div_links_counter-1)*items_per_div)) + ');"><img src="' + srch_img_6.src + '" /></div>'; }
          else {
            result_div_links_holder_prev = '<div class="result_div_link_arrow"><img src="' +srch_img_7.src + '" /></div>'; }

          if ( i <= div_counter ) {
            result_div_links_holder_next = '<div class="result_div_link_arrow result_div_link_arrow_enabled" onclick="toggle_result_div_line(' + (1*(result_div_links_counter+1)) + '); toggle_result_div(' + (1*(i)) + ');"><img src="' + srch_img_4.src + '" /></div>'; }
          else {
            result_div_links_holder_next = '<div class="result_div_link_arrow"><img src="' + srch_img_5.src + '" /></div>'; }


          str_results +=
            '<div id="result_div_links_holder_' + result_div_links_counter + '" class="' + str_class_result_div_links + '">'
            + '<div class="result_div_links_outer">'
          + '<div class="result_div_links_outer_inner">'
            + result_div_links_holder_prev
            + result_div_links
            + result_div_links_holder_next
            + '</div>'
            + '</div>'
            + '</div>';

          div_per_line_counter = 0;
          result_div_links = '';

        }

        result_div_links += '<div id="result_div_link_' + i + '" class="result_div_link' + ((i == 1) ? ' result_div_link_selected' : '') + '" onclick="toggle_result_div(' + i + ');">' + i + '</div>';

      }

      if ( result_div_links != '' ) {

        result_div_links_counter++;

        str_class_result_div_links = 'result_div_links_holder';
        if ( result_div_links_counter == 1 ) { str_class_result_div_links = 'result_div_links_holder_active' }

        if ( result_div_links_counter > 1 ) {
          result_div_links_holder_prev = '<div class="result_div_link_arrow result_div_link_arrow_enabled" onclick="toggle_result_div_line(' + (1*(result_div_links_counter-1)) + '); toggle_result_div(' + (1*((result_div_links_counter-1)*items_per_div)) + ');"><img src="' + srch_img_6.src + '" /></div>'; }
        else {
          result_div_links_holder_prev = '<div class="result_div_link_arrow"><img src="' + srch_img_7.src + '" /></div>'; }


        if ( i < div_counter ) {
          result_div_links_holder_next = '<div class="result_div_link_arrow result_div_link_arrow_enabled" onclick="toggle_result_div_line(' + (1*(result_div_links_counter+1)) + '); toggle_result_div(' + (1*(i)) + ');"><img src="' + srch_img_4.src + '" /></div>'; }
        else {
          result_div_links_holder_next = '<div class="result_div_link_arrow"><img src="' + srch_img_5.src + '" /></div>'; }

        str_results +=
          '<div id="result_div_links_holder_' + result_div_links_counter + '" class="' + str_class_result_div_links + '">'
          + '<div class="result_div_links_outer">'
          + '<div class="result_div_links_outer_inner">'
          + result_div_links_holder_prev
          + result_div_links
          + result_div_links_holder_next
          + '</div>'
          + '</div>'
          + '</div>';

      }

    }

  }
  else {
    str_results_tab = '';
  }



  // Results count
  if ( item_count_total == 1 ) {
    str_result_count = '1 recept';
  }
  else if ( item_count_total >= item_count_limit ) {
    str_result_count = '&#155; ' + item_count_limit + ' recepten';
  }
  else  {
    str_result_count = item_count_total + ' recepten';
  }

  // Button extended results
  str_search_result_full = '';
  if ( items.length != 0 ) {
    str_search_result_full = '<div class="search_result_full"><a href="' + search_page + '"><img src="' + srch_img_1.src  + '" /></a></div>';
  }

  el_searchbox_results.innerHTML =
    str_results
    + '<div class="search_result_count_total">' + str_result_count + ' gevonden</div>'
    + str_search_result_full
    ;

  var newHeight = ($('searchbox_extra').className == 'expanded') ? 453 : 348;

  new Effect.Morph('box_search_inner', { style: 'height:' + newHeight + 'px', duration: animationSpeed, afterFinish: function( ) { el_searchbox_results.style.display = 'block'; } });

  if ( div_preselected != 0 ) {
    toggle_result_div(div_preselected);
    if ( div_preselected > items_per_div ) {
      div_line_preselected = Math.ceil((div_preselected)/items_per_div);
      toggle_result_div_line(div_line_preselected);
    }
  }

}

function toggle_result_div( s ) {
  for (var i = 1; i <= div_counter; i++) {
    $('result_div_' + i).className = 'result_div result_div_' + ((i == s) ? 'selected' : 'hidden');
    $('result_div_link_' + i).className = 'result_div_link' + ((i == s) ? ' result_div_link_selected' : '');
  }
}

function toggle_result_div_line( s ) {
  var el;
  for (var j = 1; j <= div_count_limit; j++) {
    el = $('result_div_links_holder_' + j)
    if ( el ) { el.className = 'result_div_links_holder' + ((j == s) ? '_active' : ''); }
  }
}

