var recipe_prefix = '';
var ul_active = results_total_count = -1, rec_start = rec_end = pg_current = nr_recs_pp = nr_nav_pgs = 1;
var page_type=0, pi=29, cn='', ss='', page_ajax='';

document.observe("dom:loaded", function() {
  if ( $("recnav2") ) { initTheme(1) } else if ( $('navindex') ) { initTheme(0) }
});


function initTheme(mode) {

  var arr_vars_init = $("navindex").className.split('[]')
  pi = arr_vars_init[1];
  pg_current = arr_vars_init[2];
  nr_recs_pp = arr_vars_init[3];
  nr_nav_pgs = arr_vars_init[4];
  cn = arr_vars_init[5];
  ss = arr_vars_init[6];
  page_ajax = arr_vars_init[7];
  var recs = arr_vars_init[8];
  var grp = arr_vars_init[9];

  if (mode==1) {

  var str_pgs = '', rec_start = 1, rec_end = nr_recs_pp;
  if ( pg_current != 1) {
    rec_start = ((pg_current-1)*nr_nav_pgs*nr_recs_pp) + 1;
    rec_end = rec_start + (nr_recs_pp-1);
    if ( rec_end > recs ) { rec_end = recs }
  }

  if ( recs > nr_recs_pp ) {

    var pgs = Math.ceil(recs/nr_recs_pp);
    var pg_first = (((pg_current-1)*nr_nav_pgs)+1);
    var pg_last = pgs;
    if ( (pg_last-pg_first) >= nr_nav_pgs ) { pg_last = pg_first+Number(nr_nav_pgs-1) }

    if ( pg_current > 1 ) { str_pgs += '<div class="pg_prev" onclick="ajaxNav(\'?grp=' + grp +'\', ' + ((pg_current*1)-1) + ');"></div>' }
    else { str_pgs += '<div class="pg_prev_disabled"></div>' }

    var pp=0;
    for (var p=pg_first; p<=pg_last; p++) {
      pp++;
      if ( pp == 1 ) { str_pgs += '<div class="pg pg_current" onclick="pageClick(' + pp + ');">' + p + '</div>' }
      else { str_pgs += '<div class="pg" onclick="pageClick(' + pp + ');">' + p + '</div>' }
    }

    if ( pgs > pg_last ) { str_pgs += '<div class="pg_next" onclick="ajaxNav(\'?grp=' + grp +'\', ' + ((pg_current*1)+1) + ');"></div>' }
    else { str_pgs += '<div class="pg_next_disabled"></div>' }

  }

  $('recnav2').update(str_pgs);
  $('navindex').update('recepten ' + rec_start + ' t/m ' + rec_end + ' van ' + recs);
  setRecDivs();

  }
  else { $('navindex').update('recepten 1 t/m ' + recs + ' van ' + recs) }

}


function setRecDivs() {
  var arr_ul = $$('#reclist' + ' ul');
  arr_ul.each(function(i) {i.className = 'ul_hidden'});
  arr_ul[0].className = 'ul_active';
  ul_active = 0;
}


function pageClick( nr ) {
  nr--;
  var lists = $$('#reclist ul');
  lists[ul_active].className = 'ul_hidden';
  lists[nr].className = 'ul_active';

  var page_nrs = $$('#recnav2 div.pg');
  page_nrs[ul_active].removeClassName('pg_current');
  page_nrs[nr].addClassName('pg_current');

  ul_active = nr;
  var nav_index = $('navindex');
  var arr_nav_index = nav_index.innerHTML.split(' ');
  if ( results_total_count == -1 ) { results_total_count = arr_nav_index[5] }

  rec_start = ((pg_current-1)*nr_recs_pp*nr_nav_pgs) + 1 + ((nr)*nr_recs_pp) ;
  rec_end = ((pg_current-1)*nr_recs_pp*nr_nav_pgs) + ((nr+1)*nr_recs_pp) ;
  if ( rec_end > results_total_count ) { rec_end = results_total_count }

  var new_nav_index =
    arr_nav_index[0]
    + ' ' + rec_start
    + ' ' + arr_nav_index[2]
    + ' ' + rec_end
    + ' ' + arr_nav_index[4]
    + ' ' + arr_nav_index[5];

  nav_index.update(new_nav_index);

  // insert stat img into page
  var page_ajax_pagenr = '';
  var page_ajax_full = '';
  page_ajax_pagenr = ((pg_current-1)*nr_nav_pgs) + (nr+1);
  if ( page_ajax_pagenr == 1 ) { page_ajax_pagenr = '' } else { page_ajax_pagenr = page_ajax_pagenr + '/' }
  page_ajax_full = page_ajax + page_ajax_pagenr;

  if (window.sb_stat) { $('outer').insert(sbMakeStatsImg( page_type, pi, cn, ss, page_ajax_full, true )) }
  try {pageTracker._trackPageview(page_ajax_full);} catch(err){}

}


function ajaxNav( qs, page ) {
  new Ajax.Request ( '/includes/ajax/ajax_themes_nav.asp', { method: 'get', parameters: qs + '&p=' + page, onComplete: processAjaxNav } );
}


function processAjaxNav(request) {

  ul_active = -1;
  var pg_current_prev = pg_current;

  var el_results = $('reclist');
  el_results.update('');

  var r, r_id, r_url, r_title, r_img, r_source, r_course, r_kitchen, r_type, r_time, r_score;

  var items = request.responseXML.getElementsByTagName("recipe");
  var nav = request.responseXML.getElementsByTagName("nav");
  var nav_items = nav[0].childNodes;
	var page_count = nav_items[0].childNodes[0].nodeValue;
	var page_current = nav_items[1].childNodes[0].nodeValue;
	results_total_count = nav_items[2].childNodes[0].nodeValue;
	var results_page_count = nav_items[3].childNodes[0].nodeValue;
  var results_page_count_real = nav_items[4].childNodes[0].nodeValue;
	nr_recs_pp = nav_items[5].childNodes[0].nodeValue;
	nr_nav_pgs = nav_items[6].childNodes[0].nodeValue;
	var par_group = nav_items[7].childNodes[0].nodeValue;

  var str_line = '';

  if ( items.length != 0 ) {

    var pages_shown = 1
    var recipes_on_page = -1
    str_line = '<ul id="ul_' + pages_shown + '">';

    for (var i=0; i<items.length; i++) {

      r = items[i].childNodes;
  		r_id = r[0].childNodes[0].data;
  		r_url = r[1].childNodes[0].data;
 		  r_title = r[2].childNodes[0].data;
  		r_img = r[3].childNodes[0].data;
  		r_source = r[4].childNodes[0].data;
  		r_course = r[5].childNodes[0].data;
  		r_kitchen = r[6].childNodes[0].data;
  		r_type = r[7].childNodes[0].data;
  		r_time = r[8].childNodes[0].data;
  		r_score = r[9].childNodes[0].data;

      str_recipe_props =
        r_course
        + ', ' + r_type
        + ', ' + r_kitchen
        + ', ' + r_time + ' min'
        + ', ' + r_source;

      if ( recipe_prefix != '' ) { str_recipe_props = recipe_prefix + ' &#149; ' + str_recipe_props; }

      recipes_on_page++;
      if ( recipes_on_page == nr_recs_pp ) {
        pages_shown++;
        str_line+= '</ul><ul id="ul_' + pages_shown + '">';
        recipes_on_page = 0
      }

      str_line +=
        '<li>'
        + '<div class="score">' + r_score + '</div>'
        + '<a href="' + r_url + '">'
        + '<img src="' + r_img + '" alt="' + r_title + '" />'
        + r_title
        + '<div>' + str_recipe_props + '</div>'
        + '</a>'
        + '</li>';

    }

    str_line += '</ul>';
    el_results.update(str_line);

  }
  else {
    el_results.update('<ul>' + str_line + '</ul>');
  }

  var str_nav = '', current_page_range = 0, page_last = 0, page_first = 0, page_real_extra = 0, page_last_real = 0, page_first_real = 0, recipe_first = 0, recipe_last = 0;
  pg_current = page_current;


  if ( page_count >= 2 ) {

    current_page_range = Math.ceil((pg_current)/nr_nav_pgs);
    page_last = current_page_range * nr_nav_pgs;
    page_first = 1;
    if ( page_last > pages_shown ) { page_last = pages_shown };

    page_real_extra = (page_current-1) * nr_nav_pgs;
    page_last_real = page_last + page_real_extra;
    page_first_real = page_first + page_real_extra;
    if ( page_last_real > page_count ) { page_last_real = page_count };

    recipe_first = ((pg_current-1) * nr_recs_pp) + 1;
    recipe_last = recipe_first + (nr_recs_pp-1);
    if ( (recipe_first + items.length) < recipe_last ) { recipe_last = recipe_first + items.length -1 }

    if ( pg_current > 1 ) {
      str_nav +=
        '<div class="pg_prev" onclick="ajaxNav(\'?grp=' + par_group + '\', ' + parseInt(pg_current-1) + ');"></div>';
    }
    else { str_nav += '<div class="pg_prev_disabled"></div>' }

    for (var i_page = page_first; i_page <= page_last; i_page++) {
      str_nav += '<div class="pg" onclick="pageClick(' + i_page + ');">' + Number(i_page+page_real_extra) + '</div>';
    }

    if ( pg_current < results_page_count_real ) {
      str_nav +=
        '<div class="pg_next" onclick="ajaxNav(\'?grp=' + par_group + '\', ' + parseInt(Number(pg_current)+1) + ');"></div>';
    }
    else { str_nav += '<div class="pg_next_disabled"></div>' }

  }

  $('recnav2').update(str_nav);
  setRecDivs();

  if ( pg_current > pg_current_prev ) { pageClick(1); }
  else { pageClick(5); }


}