//////////////////////////////////////////////////////////////////////////
// Recipe page                                                          //
//////////////////////////////////////////////////////////////////////////
// init                                                                 //
//////////////////////////////////////////////////////////////////////////

var score_def = 8;

document.observe("dom:loaded", function() {

  if ( !$('notfound') ) {
    if ( !$('recipe_member_score_already_scored') ) { fill_scorepanel(); }
    add_tool_listeners();
  }

  disableSel($("r_core"));

});


function disableSel(target){
if (typeof target.onselectstart!='undefined') //IE
target.onselectstart=function(){return false}
else if (typeof target.style.MozUserSelect!='undefined') //FF
target.style.MozUserSelect='none'
else //Other
target.onmousedown=function(){return false}
target.style.cursor = 'default'
}


//////////////////////////////////////////////////////////////////////////
// Scoring                                                              //
//////////////////////////////////////////////////////////////////////////

function fill_scorepanel() {

  var panel = $("r_score_panel").insert('<div id="r_score_btns">', 'bottom');
  var panel_1 = $("r_score_btns").insert('<div id="r_score_btns_1" class="r_score_btns_l">', 'bottom');
  var panel_2 = $("r_score_btns").insert('<div id="r_score_btns_2" class="r_score_btns_l">', 'bottom');

  var d, a;
  for(var i=10;i > 0;i--) {
    d = (i > 5) ? $("r_score_btns_1") : $("r_score_btns_2") ;
    a = ((i!=1)&&(i!=6)) ? '<div>&#149;</div>' : '' ;
    $(d).insert('<div id="sc_' + i + '" class="btn_score">' + i +'</div>' + a, 'top');
  }

  for(var i=10;i > 0;i--) {
    $('sc_' + i).observe('mouseover', score_mo.bindAsEventListener($('sc_' + i), 'on'));
    $('sc_' + i).observe('mouseout', score_mo.bindAsEventListener($('sc_' + i), 'off'));
    $('sc_' + i).observe('click', score_recipe.bindAsEventListener($('sc_' + i)));
  }

}

function score_mo(el,state) {
  (state == 'on' ) ? this.addClassName('btn_score_mo') : this.removeClassName('btn_score_mo');
}

function score_recipe() {

  var recipe_id = $('recipe_id').value;
  var score = this.id.replace('sc_', '');

  var f_passthrough = function() {
    //hideMessageBox();
    hideLightBox('lightbox');
    if ( $("r_score_btns") ) { ajax_score_recipe(recipe_id,score); }
  };

  var lb_head = 'Recept waarderen';
  var lb_txt = 'Om een recept te kunnen waarderen moet je eerst zijn ingelogd.';
  tryMemberAction(true,f_passthrough,lb_head,lb_txt);

}

function ajax_score_recipe( recipe_id, score ) {
  $("r_score_btns").update('<div class="score_wait"><img src="/i/elements/symbols/icon_wait.gif" /></div>');
  new Ajax.Request ( '/includes/ajax/ajax_recipe_score.asp', { method: 'get', parameters: 'recipeid=' + recipe_id + '&score=' + score, onComplete: processScoreRecipe } );
}

function processScoreRecipe(request) {

  var r = request.responseXML;
  var recipe_id = r.getElementsByTagName("recipeid")[0].firstChild.data;
  var score_updated = r.getElementsByTagName("score")[0].firstChild.data;

  if ( score_updated != -1 ) {

    if ( score_updated.indexOf(',') != -1 ) {
      array_score = score_updated.split(','); }
    else if (score_updated.indexOf('.') != -1 ) {
      array_score = score_updated.split('.'); }
    else {
      var array_score = new Array();
      array_score[0] = score_updated;
      array_score[1] = '0';
    }

    $("recipe_line_score").update(
      'waardering '
      + '<span class="score_major">' + array_score[0] + '</span>'
      + '<span class="score_minor">.' + array_score[1] + '</span>');

    recipes_scored = readCookie('scored');
    if ( recipes_scored != '' ) { recipes_scored += '.' + recipe_id; }
    else { recipes_scored = recipe_id; }
    createCookie('scored',recipes_scored,90);

    $("r_score_btns").update(
      '<div id="recipe_member_score_already_scored" class="noindent">Hartelijk dank voor het waarderen van dit recept.</div>');

  }

}

//////////////////////////////////////////////////////////////////////////
// Member Tools listeners                                               //
//////////////////////////////////////////////////////////////////////////

function add_tool_listeners() {

  if ( $('tool_fav') ) { add_tool_listeners_cookbook_present(); }
  if ( $('tool_cookbook') ) { add_tool_listeners_cookbook_nonpresent(); }
  if ( $('sobo') ) { add_social_links(); }

  var arr_t_id = new Array('tool_weekmenu', 'tool_shoppinglist', 'tool_print', 'tool_mail', 'btn_comment');
  var arr_t_f = new Array(add_to_weekmenu, add_to_shoppinglist, print_recipe, mail_to_friend, add_recipe_comment);
  var arr_t_mo = new Array(1, 1, 1, 1, 0);

 	for(var i=0; i<=arr_t_id.length; i++) {

    if ( $(arr_t_id[i]) ) {
      if ( arr_t_mo[i] == 1 ) {
        $(arr_t_id[i]).observe('mouseover', highlight_tool.bindAsEventListener($(arr_t_id[i]), 'on'));
        $(arr_t_id[i]).observe('mouseout', highlight_tool.bindAsEventListener($(arr_t_id[i]), 'off'));
      }
      $(arr_t_id[i]).observe('click', arr_t_f[i]);
    }
  }

}

function add_tool_listeners_cookbook_present() {

  var t = $('tool_fav');
  if ( t ) {
    t.observe('mouseover', highlight_tool.bindAsEventListener(t, 'on'));
    t.observe('mouseout', highlight_tool.bindAsEventListener(t, 'off'));
    t.observe('click', rec_cookbook_make_fav);
  }

  t = $('tool_delete');
  if ( t ) {
    t.observe('mouseover', highlight_tool.bindAsEventListener(t, 'on'));
    t.observe('mouseout', highlight_tool.bindAsEventListener(t, 'off'));
    t.observe('click', delete_from_cookbook);
  }

}

function add_tool_listeners_cookbook_nonpresent() {

  var t = $('tool_cookbook');
  if ( t ) {
    t.observe('mouseover', highlight_tool.bindAsEventListener(t, 'on'));
    t.observe('mouseout', highlight_tool.bindAsEventListener(t, 'off'));
    t.observe('click', add_to_cookbook);
  }

}

function highlight_tool(el,state) {
  if ( state == 'on' ) { this.style.color = '#3a4d08'; }
  else { this.style.color = '#739028'; }
}

//////////////////////////////////////////////////////////////////////////
// Notes                                                                //
//////////////////////////////////////////////////////////////////////////

function add_recipe_note( recipe_id ,recipe_title ,cookbook, action ) {

  var f_passthrough = function() {
    var memberid = $('member_id').value;
    ajax_add_recipe_note_edit(memberid, recipe_id, recipe_title, cookbook, action);
  };

  var lb_head = 'Notitie toevoegen';
  var lb_txt = 'Om een notitie aan een recept toe te kunnen voegen moet je eerst zijn ingelogd.';
  tryMemberAction(true,f_passthrough,lb_head,lb_txt);

}

function ajax_add_recipe_note_edit( member_id, recipe_id, recipe_title, cookbook, action ) {

  var str_header = 'Notitie toevoegen';
  var str_message = '';
  var str_message_add_to_cookbook = '';
  var str_note_text = '';
  var str_note_text_intro = 'Type hier je notitie';
  var str_action = '<img src="/i/elements/buttons/popup/btn_notitie_toevoegen.gif" />';
  var note_max_length = 400;

  if ( action == 'edit' ) {
    str_header = 'Notitie bewerken';
    str_action = '<img src="/i/elements/buttons/popup/btn_notitie_bewerken.gif" />';
    str_note_text_intro = 'Wijzig hier je notitie';
    str_note_text = $('rec_notes').innerHTML;
    str_note_text = str_note_text.replace(/<br \/>/g, '\n');
    str_note_text = str_note_text.replace(/<BR>/g, '\n');
    str_note_text = str_note_text.replace(/<br>/g, '\n');
  }

  var note_max_length_left = note_max_length - (str_note_text.length) ;

  if ( cookbook == '0' ) {
    str_message_add_to_cookbook = '<div class="popup_recipe_note_add_to_cookbook">Het recept \'' + recipe_title + '\' zit nog niet in je kookboek. Wanneer je de notitie toevoegt, dan wordt het recept ook meteen toegevoegd aan je kookboek.</div>';
  }

  str_message +=
    str_message_add_to_cookbook
    + '<div class="popup_recipe_note_intro">' + str_note_text_intro + '</div>'
    + '<form id="frm_popup_recipe_note" name="frm_popup_recipe_note">'
    + '<table id="tbl_popup_recipe_note">'
    + '<tr>'
    + '  <td><textarea id="popup_recipe_note_text" name="popup_recipe_note_text" cols="50" rows="5" onKeyDown="limitNrOfChars(document.frm_popup_recipe_note.popup_recipe_note_text,\'popup_recipe_note_text_chars\',' + note_max_length + ');" onKeyUp="limitNrOfChars(document.frm_popup_recipe_note.popup_recipe_note_text,\'popup_recipe_note_text_chars\',' + note_max_length + ');">' + str_note_text + '</textarea></td>'
    + '</tr>'

    + '<tr>'
    + '  <td><div id="popup_recipe_note_text_chars">' + note_max_length_left + ' karakters over</div></td>'
    + '</tr>'

    + '<input type="hidden" id="memberid" name="memberid" value="' + member_id + '">'
    + '<input type="hidden" id="recipeid" name="recipeid" value="' + recipe_id + '">'
    + '<input type="hidden" id="action" name="action" value="' + action + '">'
    + '</table>'
    + '</form">Je notitie is niet zichtbaar voor derden, maar is alleen door jezelf te bekijken.'
    + '<div class="popup_recipe_note_go"><a href="javascript:ajax_add_recipe_note();">' + str_action + '</a></div>'
    ;


  var f_passthrough = function() {
    document.forms["frm_popup_recipe_note"].popup_recipe_note_text.focus();
  };

  showMessageBox(str_header,str_message,360,380, f_passthrough);

}

function ajax_add_recipe_note() {

  var params = "?go=1";
  params += "&memberid=" + escape(document.frm_popup_recipe_note.memberid.value);
  params += "&recipeid=" + escape(document.frm_popup_recipe_note.recipeid.value);
  params += "&notetext=" + escape(document.frm_popup_recipe_note.popup_recipe_note_text.value);
  params += "&action=" + escape(document.frm_popup_recipe_note.action.value);

  new Ajax.Request ( '/includes/ajax/ajax_add_recipe_note.asp', { method: 'post', parameters: params, onComplete: processAddAddRecipeNote } );

}

function processAddAddRecipeNote(request) {

  var msg_w = 360; var msg_h = 180;

  var r = request.responseXML;
  var respons = r.getElementsByTagName("respons")[0].firstChild.data;
  var recipeid = r.getElementsByTagName("recipeid")[0].firstChild.data;
  var recipecount = r.getElementsByTagName("recipecount")[0].firstChild.data;
  var recipealreadyincookbook = r.getElementsByTagName("recipealreadyincookbook")[0].firstChild.data;
  var notetext = r.getElementsByTagName("notetext")[0].firstChild.data;
  var noteaction = r.getElementsByTagName("noteaction")[0].firstChild.data;

  if ( notetext == '$emptystring$' ) { notetext = '' }

  var str_header = 'Notitie toegevoegd';
  var str_message = '';
  var str_action = 'Je notitie is toegevoegd aan het recept.';
  msg_w = 360; msg_h = 120;

  if ( (noteaction == 'add') && (notetext == '') ) {
    str_header = 'Notitie niet toegevoegd';
    str_message += 'Je hebt geen tekst ingegeven, dus je notitie is niet toegevoegd aan het recept...<br/>';
    str_action = '';
    msg_w = 360; msg_h = 120;
  }
  else {

    var str_recipe = 'recepten';
    if ( recipecount == 1 ) { str_recipe = 'recept' }

    if ( noteaction == 'edit') {
      str_header = 'Notitie bewerkt';
      str_action = 'Je gewijzigde notitie is opgeslagen.';
      if ( notetext == '' ) {
        str_header = 'Notitie verwijderd';
        str_message += 'Je hebt geen tekst ingegeven, dus je notitie is verwijderd.<br/>';
        str_action = '';
      }
      msg_w = 360; msg_h = 120;
    }



    if ( respons != 0 ) {

      if ( recipealreadyincookbook == 0 ) {

        str_message +=
          'Je notitie is toegevoegd aan het recept.<br/><br/>'
          + 'Het recept is ook meteen toegevoegd aan je kookboek. '
          + 'Je kookboek bevat nu ' + recipecount + ' ' + str_recipe + '.<br/><br/>'
          + '<a href="/leden/kookboek.asp">Klik hier</a> om naar je kookboek te gaan.';

        $('cookbook_count').update('(' + recipecount + ')');
        msg_w = 360; msg_h = 150;

      }
      else {

        str_message +=
          str_action + '<br/>';

      }

      notetext = notetext.replace(/\n/g, "<br />");
      if ( notetext == '' ) { notetext = '&nbsp;<br />' }
      $('rec_notes').update(notetext);

      if ( (noteaction == 'add') && (notetext != '') ) {
        $('rec_note_btn').addClassName('btn_edit');
        var btn_html = $('recnotes_inner').innerHTML;
        btn_html = btn_html.replace(",1,'add'" , ",1,'edit'");
        btn_html = btn_html.replace(",0,'add'" , ",1,'edit'");
        $('recnotes_inner').update(btn_html);
      }

      else if ( (noteaction == 'edit') && (notetext == '&nbsp;<br />') ) {
        $('rec_note_btn').removeClassName('btn_edit');
        var btn_html = $('recnotes_inner').innerHTML;
        btn_html = btn_html.replace(",1,'edit'" , ",1,'add'");
        btn_html = btn_html.replace(",0,'edit'" , ",1,'add'");
        $('recnotes_inner').update(btn_html);
      }

      var str_recipe = 'recepten';
      if ( recipecount == 1 ) { str_recipe = 'recept' }

      $('cookbook_count').update('(' + recipecount + ')');

    }
    else {

      str_message +=
        'Je sessie is (toevallig) verlopen tijdens het toevoegen van je notitie.<br/><br/>'
        + 'Log even opnieuw in en je kunt het recept alsnog voorzien van een notitie.<br/>';

    }

  }

  showMessageBox(str_header,str_message,msg_w,msg_h,null);

}

//////////////////////////////////////////////////////////////////////////
// Comments                                                             //
//////////////////////////////////////////////////////////////////////////

function add_recipe_comment() {

  var f_passthrough = function() {
    var recipeid = $('recipe_id').value;
    var recipetitle = $('recipe_title').value;
    ajax_add_recipe_comment_edit(recipeid, recipetitle);
  };

  var lb_head = 'Reactie toevoegen';
  var lb_txt = 'Om een reactie op een recept te kunnen geven moet je eerst zijn ingelogd.';
  tryMemberAction(true,f_passthrough,lb_head,lb_txt);

}

function ajax_add_recipe_comment_edit( recipe_id, recipe_title ) {

  var str_header = 'Reactie toevoegen';
  var str_message = '';
  var comment_max_length = 400;
  var comment_max_length_left = 400;

  str_message +=
    '<div class="popup_recipe_comment_intro">Type hier je reactie</div>'
    + '<form id="frm_popup_recipe_comment" name="frm_popup_recipe_comment">'
    + '<table id="tbl_popup_recipe_comment">'
    + '<tr>'
    + '  <td><textarea id="popup_recipe_comment_text" name="popup_recipe_note_text" cols="50" rows="5" onKeyDown="limitNrOfChars(document.frm_popup_recipe_comment.popup_recipe_comment_text,\'popup_recipe_comment_text_chars\',' + comment_max_length + ');" onKeyUp="limitNrOfChars(document.frm_popup_recipe_comment.popup_recipe_comment_text,\'popup_recipe_comment_text_chars\',' + comment_max_length + ');"></textarea></td>'
    + '</tr>'

    + '<tr>'
    + '  <td><div id="popup_recipe_comment_text_chars">' + comment_max_length_left + ' karakters over</div></td>'
    + '</tr>'

    + '<input type="hidden" id="recipeid" name="recipeid" value="' + recipe_id + '">'
    + '</table>'
    + '</form">Bij publicatie van je reactie wordt ter bescherming van je privacy alleen je voornaam vermeld.'
    + '<div class="popup_recipe_comment_go"><a href="javascript:ajax_add_recipe_comment();"><img src="/i/elements/buttons/popup/btn_reactie_toevoegen.gif" /></a></div>'
    ;

  var f_passthrough = function() {
    document.forms["frm_popup_recipe_comment"].popup_recipe_comment_text.focus();
  };

  showMessageBox(str_header,str_message,360,380, f_passthrough);

}

function ajax_add_recipe_comment() {

  var params = "?go=1";
  params += "&recipeid=" + escape(document.frm_popup_recipe_comment.recipeid.value);
  params += "&commenttext=" + escape(document.frm_popup_recipe_comment.popup_recipe_comment_text.value);
  new Ajax.Request ( '/includes/ajax/ajax_add_recipe_comment.asp', { method: 'post', parameters: params, onComplete: processAddAddRecipeComment } );

}

function processAddAddRecipeComment(request) {

  var msg_w = 360; var msg_h = 120;

  var r = request.responseXML;
  var respons = r.getElementsByTagName("respons")[0].firstChild.data;
  var recipeid = r.getElementsByTagName("recipeid")[0].firstChild.data;
  var commenttext = r.getElementsByTagName("commenttext")[0].firstChild.data;
  var membername = r.getElementsByTagName("membername")[0].firstChild.data;

  if ( commenttext == '$emptystring$' ) { commenttext = '' }
  var el_parent = $("recipe_member_comments_content");

  var str_header = 'Reactie toegevoegd';
  var str_message = '';

  if ( respons != 0 ) {

    if ( commenttext != "" ) {

      if ( $("recipe_comment_notext") ) {
        el_parent.removeChild($("recipe_comment_notext"));
      }

      str_message += 'Je reactie is toegevoegd aan het recept.<br/>';

      commenttext = commenttext.replace(/\n/g, " ");

      el_parent.innerHTML +=
        '<div class="recipe_comment_line">'
        + '  <div class="recipe_comment_text">' + commenttext + '</div>'
        + '  <div class="recipe_comment_name">- ' + membername + '</div>'
        + '</div>';

    }
    else {

      str_header = 'Reactie niet toegevoegd';
      str_message += 'Je hebt geen tekst ingegeven, dus de reactie wordt niet geplaatst...<br/>';
      msg_w = 360; msg_h = 120;

    }

  }
  else {

    str_message +=
      'Je sessie is (toevallig) verlopen tijdens het toevoegen van je reactie.<br/><br/>'
      + 'Log even opnieuw in en je kunt het recept alsnog voorzien van een reactie.<br/>';

  }

  showMessageBox(str_header,str_message,msg_w,msg_h,null);

}

//////////////////////////////////////////////////////////////////////////
// Add to cookbook                                                      //
//////////////////////////////////////////////////////////////////////////

function add_to_cookbook() {

  var f_passthrough = function() {
    var recipeid = $('recipe_id').value;
    new Ajax.Request ( '/includes/ajax/ajax_add_to_cookbook.asp', { method: 'get', parameters: 'recipeid=' + recipeid, onComplete: processAddToCookbook } );
  };

  var lb_head = 'Toevoegen aan kookboek';
  var lb_txt = 'Om een recept toe te kunnen voegen aan je kookboek moet je eerst zijn ingelogd.';
  tryMemberAction(true,f_passthrough,lb_head,lb_txt);

}

function processAddToCookbook(request) {

  var r = request.responseXML;
  var recipe_id = r.getElementsByTagName("recipeid")[0].firstChild.data;
  var recipe_title = r.getElementsByTagName("recipetitle")[0].firstChild.data;
  var recipecount = r.getElementsByTagName("recipecount")[0].firstChild.data;
  var recipealreadyincookbook = r.getElementsByTagName("recipealreadyincookbook")[0].firstChild.data;

  var lb_head = 'Toegevoegd aan kookboek';
  var str_recipe = 'recepten';
  if ( recipecount == 1 ) { str_recipe = 'recept' }

  var lb_txt = '';

  if ( recipe_id != -1 ) {

    if ( recipealreadyincookbook == 0 ) {

      lb_txt +=
        'Het recept \'' + recipe_title + '\' is toegevoegd aan je kookboek.<br/>'
        + '<br/>Je kookboek bevat nu ' + recipecount + ' ' + str_recipe + '.<br/><br/>'
        + '<a href="/leden/kookboek.asp">Klik hier</a> om naar je kookboek te gaan.';

      $('cookbook_count').update('(' + recipecount + ')');

      $('recipe_member_tools').insert('<div id="tool_spacer">&nbsp;</div><div id="tool_delete">verwijder uit kookboek</div><div id="tool_fav" class="tool_fav_false">plaats dit recept bij<br />mijn favoriete recepten</div>');

      $('tool_cookbook').remove();

      add_tool_listeners_cookbook_present();

    }
    else {

      lb_txt +=
        'Het recept \'' + recipe_title + '\' zit reeds in je kookboek.<br/>'
        + '<br/>Je kookboek bevat ' + recipecount + ' ' + str_recipe + '.<br/><br/>'
        + '<a href="/leden/kookboek.asp">Klik hier</a> om naar je kookboek te gaan.';

    }

  }
  else {

    lb_txt +=
      'Je sessie is (toevallig) verlopen tijdens het toevoegen van het recept aan je kookboek.<br/><br/>'
      + 'Log even opnieuw in en je kunt het recept alsnog toevoegen.<br/>';

  }

  showMessageBox(lb_head,lb_txt,300,170,null);

}

//////////////////////////////////////////////////////////////////////////
// Add to weekmenu                                                      //
//////////////////////////////////////////////////////////////////////////

function add_to_weekmenu() {

  var f_passthrough = function() {
    var recipeid = $('recipe_id').value;
    new Ajax.Request ( '/includes/ajax/ajax_add_to_weekmenu_choose.asp', { method: 'get', parameters: 'recipeid=' + recipeid, onComplete: processAddToWeekmenuChooseDay } );
  };

  var lb_head = 'Toevoegen aan weekmenu';
  var lb_txt = 'Om een recept toe te kunnen voegen aan je weekmenu moet je eerst zijn ingelogd.';
  tryMemberAction(true,f_passthrough,lb_head,lb_txt,null);

}

function processAddToWeekmenuChooseDay(request) {

  var r = request.responseXML;
  var respons_code = r.getElementsByTagName("respons")[0].firstChild.data;
  var recipealreadyinweekmenu = r.getElementsByTagName("recipealreadyinweekmenu")[0].firstChild.data;

  var recipe_id = r.getElementsByTagName("recipe_id")[0].firstChild.data;
  var recipe_title = r.getElementsByTagName("recipe_title")[0].firstChild.data;

  var day_mo = r.getElementsByTagName("mo")[0].firstChild.data;
  var day_tu = r.getElementsByTagName("tu")[0].firstChild.data + '';
  var day_we = r.getElementsByTagName("we")[0].firstChild.data + '';
  var day_th = r.getElementsByTagName("th")[0].firstChild.data + '';
  var day_fr = r.getElementsByTagName("fr")[0].firstChild.data + '';
  var day_sa = r.getElementsByTagName("sa")[0].firstChild.data + '';
  var day_su = r.getElementsByTagName("su")[0].firstChild.data + '';

  if ( day_mo == '-' ) { day_mo = '' }
  if ( day_tu == '-' ) { day_tu = '' }
  if ( day_we == '-' ) { day_we = '' }
  if ( day_th == '-' ) { day_th = '' }
  if ( day_fr == '-' ) { day_fr = '' }
  if ( day_sa == '-' ) { day_sa = '' }
  if ( day_su == '-' ) { day_su = '' }


  var lb_head = 'Zet op weekmenu';
  var msg_w = 480;
  var msg_h = 350;

  var lb_txt = '';

  if ( respons_code != 0 ) {

    if ( recipealreadyinweekmenu == 0 ) {

      lb_txt +=
        '<div class="weekmenu_choose_intro">Plaats het recept \'' + recipe_title  + '\' op dag...</div>'
        + '<form id="popup_weekmenu_frm" name="popup_weekmenu_frm">'
        + '<table id="popup_weekmenu">'
        + '<thead>'
        + '  <td></td>'
        + '  <td class="day">dag</td>'
        + '  <td>recept</td>'
        + '</thead>'
        + '<tr>'
        + '  <td class="radio"><input type="radio" id="weekmenu_day" name="weekmenu_day" value="ma" checked=true></td>'
        + '  <td class="day">ma</td>'
        + '  <td class="recipe">' + day_mo + '</td>'
        + '</tr>'
        + '<tr>'
        + '  <td class="radio"><input type="radio" id="weekmenu_day" name="weekmenu_day" value="di"></td>'
        + '  <td class="day">di</td>'
        + '  <td class="recipe">' + day_tu + '</td>'
        + '</tr>'
        + '<tr>'
        + '  <td class="radio"><input type="radio" id="weekmenu_day" name="weekmenu_day" value="wo"></td>'
        + '  <td class="day">wo</td>'
        + '  <td class="recipe">' + day_we + '</td>'
        + '</tr>'
        + '<tr>'
        + '  <td class="radio"><input type="radio" id="weekmenu_day" name="weekmenu_day" value="do"></td>'
        + '  <td class="day">do</td>'
        + '  <td class="recipe">' + day_th + '</td>'
        + '</tr>'
        + '<tr>'
        + '  <td class="radio"><input type="radio" id="weekmenu_day" name="weekmenu_day" value="vr"></td>'
        + '  <td class="day">vr</td>'
        + '  <td class="recipe">' + day_fr + '</td>'
        + '</tr>'
        + '<tr>'
        + '  <td class="radio"><input type="radio" id="weekmenu_day" name="weekmenu_day" value="za"></td>'
        + '  <td class="day">za</td>'
        + '  <td class="recipe">' + day_sa + '</td>'
        + '</tr>'
        + '<tr>'
        + '  <td class="radio"><input type="radio" id="weekmenu_day" name="weekmenu_day" value="zo"></td>'
        + '  <td class="day">zo</td>'
        + '  <td class="recipe">' + day_su + '</td>'
        + '</tr>'
        + '</table>'
        + '</form">'
        + '<div class="weekmenu_choose_link_ok"><a href="javascript:ajax_add_to_weekmenu(' + recipe_id + ');"><img src="/i/elements/buttons/popup/btn_recept_plaatsen.gif" /></a></div>'
        ;

    }
    else {
      msg_w = 280; msg_h = 150;
      lb_txt +=
        'Het recept zit reeds in je weekmenu.<br/>'
        + '<br/><a href="/leden/weekmenu.asp">Klik hier</a> om naar je weekmenu te gaan.';
    }

  }
  else {
    msg_w = 280; msg_h = 150;
    lb_txt +=
      'Je sessie is (toevallig) verlopen tijdens het toevoegen van het recept aan je weekmenu.<br/><br/>'
      + 'Log even opnieuw in en je kunt het recept alsnog toevoegen.<br/>';
  }

  showMessageBox(lb_head,lb_txt,msg_w,msg_h,null);

}

function ajax_add_to_weekmenu( recipe_id ) {
	//toggleMessageBoxWaitMode('on');
  if ( (window.XMLHttpRequest) || (window.ActiveXObject) ) {
    var day = 'ma';
    el_weekmenu_day = document.popup_weekmenu_frm.weekmenu_day;
	  for(var i=0;i < el_weekmenu_day.length;i++) {
      //alert(el_weekmenu_day[i].value + ' -> ' + el_weekmenu_day[i].checked);
      if ( el_weekmenu_day[i].checked == true ) { day = el_weekmenu_day[i].value; }
	  }
    new Ajax.Request ( '/includes/ajax/ajax_add_to_weekmenu.asp', { method: 'get', parameters: 'recipeid=' + recipe_id + '&day=' + day, onComplete: processAddToWeekmenu } );
  }
}

function processAddToWeekmenu(request) {

  var recipecount = request.responseXML.getElementsByTagName("recipecount")[0].firstChild.data;
  var str_recipe = 'recepten';
  if ( recipecount == 1 ) { str_recipe = 'recept' }
  $('weekmenu_count').update('(' + recipecount + ')');
  //if ( $('messagebox') ) { hideMessageBox(); }
  var str_header = 'Zet op weekmenu';
  var str_message =
    'Het recept is toegevoegd aan je weekmenu.<br/>'
    + '<br/>Je weekmenu bevat nu ' + recipecount + ' ' + str_recipe + '.<br/><br/>'
    + '<a href="/leden/weekmenu.asp">Klik hier</a> om naar je weekmenu te gaan.';

  showMessageBox(str_header,str_message,280,150,null);

}

//////////////////////////////////////////////////////////////////////////
// Shoppinglist                                                         //
//////////////////////////////////////////////////////////////////////////

function add_to_shoppinglist() {

  var f_passthrough = function() {
    var recipeid = $('recipe_id').value;
    new Ajax.Request ( '/includes/ajax/ajax_add_to_shoppinglist.asp', { method: 'get', parameters: 'recipeid=' + recipeid, onComplete: processAddToShoppinglist } );
  };

  var lb_head = 'Toevoegen aan shopping list';
  var lb_txt = 'Om de ingredi&euml;nten van een recept toe te kunnen voegen aan je shopping list moet je eerst zijn ingelogd.';
  tryMemberAction(true,f_passthrough,lb_head,lb_txt);

}

function processAddToShoppinglist(request) {

  var r = request.responseXML;
  var recipe_id = r.getElementsByTagName("recipe_id")[0].firstChild.data;
  var recipe_title = r.getElementsByTagName("recipe_title")[0].firstChild.data;
  var ingredients_count = r.getElementsByTagName("ingredients_count")[0].firstChild.data;
  var ingredients_added_count = r.getElementsByTagName("ingredients_added_count")[0].firstChild.data;

  var str_header = 'Toegevoegd aan shopping list';
  var str_ingredient = 'boodschappen';
  if ( ingredients_count == 1 ) { str_ingredient = 'boodschap' }

  var str_message = '';

  str_message +=
    'De ' + ingredients_added_count + ' ingredi&euml;nten van het recept \'' + recipe_title + '\' zijn toegevoegd aan je shopping list.<br/>'
    + '<br/>Je shopping list bevat nu ' + ingredients_count + ' ' + str_ingredient + '.<br/>'
    + '<br/><a href="/leden/shoppinglist.asp">Klik hier</a> om naar je shopping list te gaan.';

  $('shoppinglist_count').update('(' + ingredients_count + ')');

  showMessageBox(str_header,str_message,300,200,null);

}

//////////////////////////////////////////////////////////////////////////
// Print                                                                //
//////////////////////////////////////////////////////////////////////////

function print_recipe() {
  window.open('/recept/print.asp?id=' + $('recipe_id').value,'recept','width=400,height=400,resizable=yes');
}

//////////////////////////////////////////////////////////////////////////
// Mail a friend                                                        //
//////////////////////////////////////////////////////////////////////////

function mail_to_friend() {

  var f_passthrough = function() {
    var recipeid = $('recipe_id').value;
    var recipetitle = $('recipe_title').value;
    ajax_mail_to_friend_window(recipeid,recipetitle);
  };

  var lb_head = 'E-mail recept';
  var lb_txt = 'Om dit recept naar je vriend(in) te mailen moet je eerst zijn ingelogd.';
  tryMemberAction(true,f_passthrough,lb_head,lb_txt,null);

}

function ajax_mail_to_friend_window( recipe_id , recipe_title ) {

  var lb_head = 'E-mail recept';
  var lb_txt = '';

 	for(var i=1; i<=5; i++) {
    lb_txt +=
        '<tr>'
      + '<td class="nr">' + i + '.</td>'
      + '<td class="name"><input type="text" id="friend_name_' + i + '" name="friend_name_' + i + '" class="friend_name" value="" size="8" maxlength="50"></td>'
      + '<td class="mail"><input type="text" id="friend_email_' + i + '" name="friend_email_' + i + '" class="friend_email" value="" size="8" maxlength="50"></td>'
      + '</tr>';
  }

  lb_txt =
    'Vul de namen en e-mailadressen in van maximaal 5 vriend(inn)en, klik op \'recept versturen\' en het recept \'' + recipe_title + '\' wordt direct per e-mail aan hen verstuurd.<br /><br />'
    + '<div id="frm_mailfriend_errors"></div>'
    + '<form id="frm_mailfriend" name="frm_mailtofriend">'
    + '<table class="tbl_mailfriend">'
    + '<thead>'
    + '<tr>'
    + '  <td class="nr"></td>'
    + '  <td class="name">Naam</td>'
    + '  <td class="mail">E-mailadres</td>'
    + '</tr>'
    + '</thead>'
    + '<tbody>'
    + lb_txt
    + '<tr>'
    + '  <td colspan="3" class="message_lbl">Persoonlijk bericht</td>'
    + '</tr>'
    + '<tr>'
    + '  <td colspan="3" class="message_txt"><textarea id="message_txt" name="message_txt" cols="30" rows="4"></textarea></td>'
    + '</tr>'
    + '</tbody>'
    + '</table>'
    + '<input type="hidden" id="recipeid" name="recipeid" value="' + recipe_id + '">'
    + '</form>'
    + '<div class="member_popup_box_login_btn"><input type="image" src="/i/elements/buttons/popup/btn_recept_versturen.gif" id="send" name="send" onclick="ajax_mail_to_friend_window_check();"></div>';

  var f_passthrough = function() { document.forms["frm_mailfriend"].friend_name_1.focus(); };
  showMessageBox(lb_head,lb_txt,400,420,f_passthrough);

}

function ajax_mail_to_friend_window_check() {

  var error_count = 0;

  var frm_mailfriend = document.forms["frm_mailfriend"];
  var el_frm_mailfriend_name;
  var el_frm_mailfriend_email;

  if ( frm_mailfriend.friend_name_1.value == '' ) {
    error_count++; frm_mailfriend.friend_name_1.className = 'friend_name frm_error'; }
  else {
    frm_mailfriend.friend_name_1.className = 'friend_name'; }

  if ( !checkValidMailAddress(frm_mailfriend.friend_email_1.value) ) {
    error_count++; frm_mailfriend.friend_email_1.className = 'friend_email frm_error'; }
  else {
    frm_mailfriend.friend_email_1.className = 'friend_email'; }

 	for(var i=2; i<=5; i++) {

    el_frm_mailfriend_name = frm_mailfriend['friend_name_' + i];
    el_frm_mailfriend_email = frm_mailfriend['friend_email_' + i];

    // missing name
    if ( (el_frm_mailfriend_name.value == '') && (el_frm_mailfriend_email.value != '') ) {
      error_count++; el_frm_mailfriend_name.className = 'friend_name frm_error'; }
    else {
      el_frm_mailfriend_name.className = 'friend_name'; }

    // missing e-mailadres
    if ( (el_frm_mailfriend_name.value != '') && (el_frm_mailfriend_email.value == '') ) {
      error_count++; el_frm_mailfriend_email.className = 'friend_email frm_error'; }
    else {
      el_frm_mailfriend_email.className = 'friend_email'; }

    // incorrect e-mailadres
    if ( (el_frm_mailfriend_email.value != '') && (!checkValidMailAddress(el_frm_mailfriend_email.value)) ) {
      error_count++; el_frm_mailfriend_email.className = 'friend_email frm_error'; }

  }

  ///alert('errors: ' + error_count);

  if ( error_count == 0 ) {
    ajax_mail_to_friend();
  }
  else {
    var el_errors = $('frm_mailfriend_errors');
    el_errors.innerHTML = 'Niet alle velden zijn correct ingevuld.<br />Zorg ervoor dat alle e-mailadressen correct zijn en dat je voor elke vriend(in) zowel een naam als een e-mailadres invult.';
    el_errors.style.display = 'block';
  }


}

function ajax_mail_to_friend( recipe_id ) {

  var frm_mailfriend = document.forms["frm_mailfriend"];

  var params =
    "?go=1"
    + "&recipeid=" + encodeURI(frm_mailfriend.recipeid.value)
    + "&name1=" + encodeURI(frm_mailfriend.friend_name_1.value)
    + "&mail1=" + encodeURI(frm_mailfriend.friend_email_1.value)
    + "&name2=" + encodeURI(frm_mailfriend.friend_name_2.value)
    + "&mail2=" + encodeURI(frm_mailfriend.friend_email_2.value)
    + "&name3=" + encodeURI(frm_mailfriend.friend_name_3.value)
    + "&mail3=" + encodeURI(frm_mailfriend.friend_email_3.value)
    + "&name4=" + encodeURI(frm_mailfriend.friend_name_4.value)
    + "&mail4=" + encodeURI(frm_mailfriend.friend_email_4.value)
    + "&name5=" + encodeURI(frm_mailfriend.friend_name_5.value)
    + "&mail5=" + encodeURI(frm_mailfriend.friend_email_5.value);
    + "&message=" + escape(frm_mailfriend.message_txt.value);

  new Ajax.Request ( '/includes/ajax/ajax_mail_to_friend.asp', { method: 'post', parameters: params, onComplete: processMailToFriend } );
}

function processMailToFriend(request) {
  var r = request.responseXML;
  var recipe_title = r.getElementsByTagName("recipe_title")[0].firstChild.data;
  var friends_count = r.getElementsByTagName("friendcount")[0].firstChild.data;
  var friends = r.getElementsByTagName("friend");
  var str_friends = '';
  if ( friends.length != 0 ) {
    for (var i = 0; i < friends.length; i++) {
      str_friends+= '<br />' + friends[i].firstChild.data;
    }
  }
  var str_header = 'E-mail recept';
  var str_message = '';
  str_message += 'Het recept \'' + recipe_title + '\' is verstuurd aan<br />' + str_friends;
  showMessageBox(str_header,str_message,300,200,null);
}

//////////////////////////////////////////////////////////////////////////
// Make fav                                                             //
//////////////////////////////////////////////////////////////////////////

function rec_cookbook_make_fav() {
  new Ajax.Request ( '/includes/ajax/ajax_cookbook_make_fav.asp', { method: 'get', parameters: 'recipeid=' + $('recipe_id').value, onComplete: processCookbookMakeFav } );
}

//////////////////////////////////////////////////////////////////////////
// Delete from cookbook                                                 //
//////////////////////////////////////////////////////////////////////////

function delete_from_cookbook() {
  new Ajax.Request ( '/includes/ajax/ajax_cookbook_delete.asp', { method: 'get', parameters: 'recipeid=' + $('recipe_id').value, onComplete: processDeleteFromCookbook } );
}

function processDeleteFromCookbook(request) {

  var r = request.responseXML;
  var recipe_id = r.getElementsByTagName("recipeid")[0].firstChild.data;
  var recipe_title = r.getElementsByTagName("recipetitle")[0].firstChild.data;
  var recipecount = r.getElementsByTagName("recipecount")[0].firstChild.data;

  var lb_txt = '';
  var lb_head = '';

  if ( recipe_id != -1 ) {

    $('recipe_member_tools').insert({top: "<div id=\"tool_cookbook\">plaats in kookboek</div>"});
    $('tool_spacer').remove();
    $('tool_delete').remove();
    $('tool_fav').remove();

    add_tool_listeners_cookbook_nonpresent();

    $('cookbook_count').update('(' + recipecount + ')');

    lb_head = 'Verwijderd uit kookboek';
    var str_recipe = 'recepten';
    if ( recipecount == 1 ) { str_recipe = 'recept' }

    lb_txt =
      'Het recept \'' + recipe_title + '\' is verwijderd uit je kookboek.<br/>'
      + '<br/>Je kookboek bevat nu ' + recipecount + ' ' + str_recipe + '.<br/><br/>'
      + '<a href="/leden/kookboek.asp">Klik hier</a> om naar je kookboek te gaan.';

  }

  else {

    lb_head = 'Sessie verlopen...';
    lb_txt =
      'Je sessie is (toevallig) verlopen tijdens het verwijderen van het recept uit je kookboek.<br/><br/>'
      + 'Log even opnieuw in en je kunt het recept alsnog toevoegen.<br/>';

  }

  showMessageBox(lb_head,lb_txt,300,220,null);

}

//////////////////////////////////////////////////////////////////////////
// Add social bookmark links                                            //
//////////////////////////////////////////////////////////////////////////

function add_social_links() {

  var str_bookmarks = '';
  var str_url_full = '';
  var str_sb_entry;

  var str_sb_template = '<a href="replace_url" title="Deel dit recept op replace_name" rel="nofollow" target="_blank" class="replace_class"></a>';

  var str_url_coded = document.URL;
  str_url_coded = str_url_coded.replace('okokorecepten.sb.local', 'www.okokorecepten.nl');
  var str_title_coded = $('recipe_title').getValue();
  var str_txt_coded = 'Een heerlijk recept: ' + str_title_coded;



  var arr_bm = new Array();

  arr_bm[0] = new Array("NUjij",1,1
                ,"http://nujij.nl/jij.lynkx"
                ,"?t=replace_title&u=replace_url&b=replace_txt");

  arr_bm[1] = new Array("Hyves",1,2
                ,"http://www.hyves.nl/profilemanage/add/tips/"
                ,"?name=replace_title&text=replace_txt replace_url&type=10&rating=5");

  arr_bm[2] = new Array("Facebook",1,3
                ,"http://www.facebook.com/sharer.php"
                ,"?u=replace_url");

  arr_bm[3] = new Array("Twitter",1,4
                ,"http://twitter.com/home"
                ,"?status=replace_title:+replace_url");

  arr_bm[4] = new Array("Digg",1,5
                ,"http://digg.com/submit"
                ,"?phase=2&url=replace_url&title=replace_title&bodytext=replace_txt");

  arr_bm[5] = new Array("Google Bookmarks",1,6
                ,"http://www.google.com/bookmarks/mark"
                ,"?op=add&bkmk=replace_url&title=replace_title&annotation=replace_txt");

  arr_bm[6] = new Array("Stumble it!",1,7
                ,"http://www.stumbleupon.com/submit"
                ,"?url=replace_url&title=replace_title&language=NL");

  arr_bm[7] = new Array("Del.icio.us",1,8
                ,"http://del.icio.us/post"
                ,"?v=4;url=replace_url;title=replace_title");

  arr_bm[8] = new Array("Symbaloo",1,9
                ,"http://www.symbaloo.com/nl/add/"
                ,"url=replace_url&title=replace_title&icon=http://www.okokorecepten.nl/i/socialbookmarks/symbaloo.gif");

  arr_bm[9] = new Array("LinkedIn",1,10
                ,"http://www.linkedin.com/shareArticle"
                ,"?mini=true&url=replace_url&title=replace_title&summary=replace_txt&source=okoko recepten");

  arr_bm[10] = new Array("eKudos",1,11
                ,"http://www.ekudos.nl/artikel/nieuw"
                ,"?url=replace_url&title=replace_title&desc=replace_txt");

  arr_bm[11] = new Array("MSN Reporter",1,12
                ,"http://reporter.msn.nl/"
                ,"?fn=contribute&Title=replace_title&URL=replace_url&cat_id=30&tag_id=95&Remark=replace_txt");



  for (var i = 0; i < arr_bm.length; i++) {

    if ( arr_bm[i][1] == 1 ) {

      str_url_full = arr_bm[i][3] + arr_bm[i][4];

      str_url_full = str_url_full.replace(/replace_title/g, escape(str_title_coded));
      str_url_full = str_url_full.replace(/replace_url/g, escape(str_url_coded));
      str_url_full = str_url_full.replace(/replace_txt/g, escape(str_txt_coded));

      str_sb_entry = str_sb_template;
      str_sb_entry = str_sb_entry.replace(/replace_name/g, arr_bm[i][0]);
      str_sb_entry = str_sb_entry.replace(/replace_url/g, str_url_full);

      str_sb_entry = str_sb_entry.replace(/replace_class/g, 'cl_' + arr_bm[i][2]);
      str_bookmarks += str_sb_entry;

    }

  }

  $('sobo').update('<h2>Deel dit recept op...</h2>' + str_bookmarks);

  if (window.pageTracker != undefined) {
    var sb_nr, sb_name;
    $$('#sobo a').each(function(bm) {
      sb_nr = bm.className.replace('cl_', '');
      for (var i = 0; i < arr_bm.length; i++) {
        if ( arr_bm[i][2] == sb_nr ) { sb_name = arr_bm[i][0] }
      }
      bm.observe('click', addGaTrack.bindAsEventListener(null,sb_name));
    });
  }

}

function addGaTrack(evt,site) {
  pageTracker._trackEvent('Social bookmark','click',site);
}
