var recs;

document.observe("dom:loaded", function() {
initThumbs();
initWkBnr();
initNavAjax();
});


function initThumbs() {
  recs = $$('#thumbs_holder div');
  recs.each(function(i) { Event.observe(i,'mouseover',function() { switch_rec(this, i); }.bind(i)); });
}


function initNavAjax() {

  if ( (window.XMLHttpRequest) || (window.ActiveXObject) ) {

    var str_nav_ajax = '', arr_href, c = -1, str_nav_class;
    var wk_menu_id = $("nav_holder").className.replace('wk_', '');
    var arr_nav =  $('nav_holder').childElements();

    arr_nav.each(function(i) {
      c++; str_nav_class = (c==0 ? 'prev' : 'next' );
      if ( i.inspect() == '<a>' ) {
        arr_href = i.readAttribute('href').split('/');
        str_nav_ajax += '<div class="' + str_nav_class + '_act" onclick="ajax_nav_wk(' + wk_menu_id + ', ' + arr_href[3] + ', ' + arr_href[4] + ');"></div>';
      }
      else {
        str_nav_ajax += '<div class="' + str_nav_class + '"></div>';
      }
    });

    $("nav_holder").update(str_nav_ajax);


    if ( $('wk_subs') ) {
      c = -1;
      var str_nav_subs = '';
      var arr_wk_ids =  $('wk_subs').className.replace('wk_subs_', '').split('_');
      var arr_wk =  $$('#wk_subs ul li div');
      var arr_wk_li =  $$('#wk_subs ul li');

      arr_wk.each(function(i) {
        c++;
        str_nav_class = ( arr_wk_li[c].className!='' ? ' class="wk_sub_act"' : '' );
        str_nav_subs += '<li id="wksub_' + arr_wk_ids[c] + '"' + str_nav_class + '><div onclick="ajax_nav_wk(' + arr_wk_ids[c] + ',-1,-1);" onmouseover="wksub_toggle(' + arr_wk_ids[c] + ', 1);"  onmouseout="wksub_toggle(' + arr_wk_ids[c] + ', 0);">' + getObjTxt(i) + '</div></li>';
      });

      $("wk_subs").update('<ul>' + str_nav_subs + '</ul>');
    }

  }

}


function wksub_toggle( nr, state ) {
  if ( state==1 ) { $('wksub_' + nr).addClassName('wk_sub_mo') }
  else { $('wksub_' + nr).removeClassName('wk_sub_mo') }
}


function switch_rec( evt, rec, state ) {
  recs.each(function(i) {
    i.removeClassName('th_on');
    $(i.id.replace('th_', 'full_')).removeClassName('full_on');
  });
  rec.addClassName('th_on');
  $(rec.id.replace('th_', 'full_')).addClassName('full_on');
}


function ajax_nav_wk( partner, year, week ) {
  if ( $('wk_subs') ) {
    $$('#wk_subs ul li').each(function(i) { i.removeClassName('wk_sub_act')});
    $('wksub_' + partner).addClassName('wk_sub_act');
  }
  new Ajax.Request ( '/includes/ajax/ajax_week_recipes_weekmenu_xml.asp', { method: 'get', parameters: 'p=' + partner + '&y=' + year + '&w=' + week, onComplete: processResults_week } );
}


function processResults_week(request) {

  var p_holder = $("panel_holder");
  var th_holder = $("thumbs_holder");
  var nav_holder = $("nav_holder");
  var str_nav = '';

  p_holder.update('');
  th_holder.update('');
  nav_holder.update('');

	var r_title_maxlen = 80;
	var r, r_id, r_title, r_course, r_type, r_kitchen, r_time, r_date, r_img_small, r_img_big, r_type_id, r_title_full, r_virtualurl;
  var str_th_class, str_full_class;

	items = request.responseXML.getElementsByTagName("recipe");
  if ( items.length != 0 ) {

    for (var i = 0; i < items.length; i++) {

      r = items[i].childNodes;
  		r_id          = r[0].childNodes[0].data;
  		r_title       = r[1].childNodes[0].data;
  		r_course      = r[2].childNodes[0].data;
  		r_type        = r[3].childNodes[0].data;
  		r_kitchen     = r[4].childNodes[0].data;
  		r_time        = r[5].childNodes[0].data;
  		r_date        = r[6].childNodes[0].data;
  		r_img_small   = r[7].childNodes[0].data;
  		r_img_big     = r[8].childNodes[0].data;
  		r_type_id     = r[9].childNodes[0].data;
      r_title_full  = r_title;
  		r_virtualurl  = r[10].childNodes[0].data;

      if ( r_title.length > r_title_maxlen ) {
        r_title = "<span title=\"" + r_title + "\">" + r_title.substr(0, r_title_maxlen) + "...</span>";
      }

      str_th_class = ''; str_full_class = '';
      if ( i == 0 ) { str_th_class = ' class="th_on"'; str_full_class = ' class="full_on"'; }

      th_holder.innerHTML +=
        "<div id=\"th_" + r_id + '_' + i + "\"" + str_th_class + ">"
        + "<a href=\"" + r_virtualurl + "\">"
        + "<img src=\"" + r_img_small + "\" />"
        + "<span class=\"th_date\">" + r_date + "</span>"
        + "<span class=\"th_title\">" + r_title + "</span>"
        + "</a>"
        + "</div>"
        ;

      p_holder.innerHTML +=
        "<div id=\"full_" + r_id + '_' + i + "\"" + str_full_class + ">"
        + "<h3>" + r_course.toLowerCase() + "</h3>"
        + "<a href=\"" + r_virtualurl + "\">"
        + "<img src=\"" + r_img_big + "\" />"
        + "<h2>" + r_title_full + "</h2>"
        + "</a>"
        + "<ul>"
        + "<li class=\"li_bull\">" + r_course + "</li>"
        + "<li>" + r_type + "</li>"
        + "</ul>"
        + "<ul class=\"pr_2\">"
        + "<li class=\"li_bull\">" + r_kitchen + "</li>"
        + "<li>" + r_time + "</li>"
        + "</ul>"
        + "<div class=\"full_date\">" + r_date + "</div>"
        + "</div>";

    }

  }

  initThumbs();

  var nav_items = request.responseXML.getElementsByTagName("navigation");
  var nav_prev = nav_items[0].childNodes[0];
  var nav_prev_partner = nav_prev.getAttributeNode("partnerid").value;
  var nav_prev_year = nav_prev.getAttributeNode("year").value;
  var nav_prev_week = nav_prev.getAttributeNode("week").value;
  var nav_next = nav_items[0].childNodes[1];
  var nav_next_partner = nav_next.getAttributeNode("partnerid").value;
  var nav_next_year = nav_next.getAttributeNode("year").value;
  var nav_next_week = nav_next.getAttributeNode("week").value;

  if ( nav_prev_year != '-1' ) {
    str_nav += '<div class="prev_act" onclick="ajax_nav_wk(' + nav_prev_partner + ', ' + nav_prev_year + ', ' + nav_prev_week + ');"></div>';
  }
  else { str_nav += '<div class="prev"></div>'; }

  if ( nav_next_year != '-1' ) {
    str_nav += '<div class="next_act" onclick="ajax_nav_wk(' + nav_next_partner + ', ' + nav_next_year + ', ' + nav_next_week + ');"></div>';
  }
  else { str_nav += '<div class="next"></div>'; }

  nav_holder.update(str_nav);

  // insert stat image into navbar
  var stat = request.responseXML.getElementsByTagName("statinfo");
  var stat_items = stat[0].childNodes;
  var pt = stat_items[0].childNodes[0].data;
  var pi = stat_items[1].childNodes[0].data;
  var cn = stat_items[2].childNodes[0].data;
  var ss = stat_items[3].childNodes[0].data;
  var ww = stat_items[4].childNodes[0].data;
  var yy = stat_items[5].childNodes[0].data;

  var urlhardcoded = '' + document.URL + '&w=' + ww + '&y=' + yy;
  urlhardcoded = urlhardcoded.replace('http://', '').replace(window.location.hostname, '');

  if (window.sb_stat) { $('outer').insert(sbMakeStatsImg( pt, pi, cn, ss, urlhardcoded, true )) }
  try {pageTracker._trackPageview(urlhardcoded);} catch(err){}

}


function initWkBnr() {

  if ( $('banner_ajax') ) {
    var banner_ajax = $('banner_ajax');
    var banner_props = banner_ajax.className.split('_');
    var banner_farmid = 0;
    if ( banner_props.length == 4 ) { banner_farmid = banner_props[3] }
    if ( (window.XMLHttpRequest) || (window.ActiveXObject) ) {
      var banner_page = location.href;
      var array_banner_page = banner_page.split('://');
      banner_page = array_banner_page[1];
      var pos_slash = banner_page.indexOf('/');
      banner_page = escape(banner_page.substring(pos_slash, banner_page.length));
      new Ajax.Request ( '/includes/ajax/ajax_banner_xml.asp', { method: 'get', parameters: 'f=' + banner_farmid + '&r=' + banner_page, onComplete: processDynamicBanner } );
    }
  }

}


function processDynamicBanner(request) {

  var banners = request.responseXML.getElementsByTagName("banner");

  if ( banners.length != 0 ) {

    var bnr_type, bnr_placeholder, bnr_html;
    var bnr_fl_file, bnr_fl_width;
    var bnr_fl_height, bnr_fl_scale, bnr_fl_quality, bnr_fl_clicktag, bnr_fl_blank, bnr_fl_minver;
    var bnr_fl_alt_img, bnr_fl_alt_img_x, bnr_fl_alt_img_y, bnr_fl_alt_img_txt;
    var str_blank, flashvars, params, attributes, str_ir_flash_alt_img;

    ir_b = banners[0].childNodes;
		bnr_type = ir_b[0].childNodes[0].data;
		bnr_placeholder = 'banner_ajax';

    if ( bnr_type == 'img' ) {
      // image banner: start
      if ( $(bnr_placeholder) ) {
        bnr_html = ir_b[1].childNodes[0].data;
        $(bnr_placeholder).innerHTML = bnr_html;
      }
      // image banner: end
    }

    else if ( bnr_type == 'flash' ) {
      // flash banner: start
      bnr_fl_file = ir_b[2].childNodes[0].data;
      bnr_fl_width = ir_b[3].childNodes[0].data;
      bnr_fl_height = ir_b[4].childNodes[0].data;
      bnr_fl_scale = ir_b[5].childNodes[0].data;
      bnr_fl_quality = ir_b[6].childNodes[0].data;
      bnr_fl_clicktag = ir_b[7].childNodes[0].data;
      bnr_fl_blank = ir_b[8].childNodes[0].data;
      bnr_fl_minver = ir_b[14].childNodes[0].data;

      if ( $(bnr_placeholder) ) {

        if ( swfobject.hasFlashPlayerVersion(bnr_fl_minver + '.0.0') == true ) {
          flashvars = {clickTag:bnr_fl_clicktag};
          params = {scale:bnr_fl_scale,quality:bnr_fl_quality,wmode:'opaque'};
          attributes = {};
          swfobject.embedSWF(bnr_fl_file, bnr_placeholder, bnr_fl_width, bnr_fl_height, bnr_fl_minver + ".0.0", false, flashvars, params, attributes);

        }
        else {
          bnr_fl_alt_img = ir_b[10].childNodes[0].data;
          bnr_fl_alt_img_x = ir_b[11].childNodes[0].data;
          bnr_fl_alt_img_y = ir_b[12].childNodes[0].data;
          bnr_fl_alt_img_txt = ir_b[13].childNodes[0].data;
          bnr_fl_alt_img_txt = bnr_fl_alt_img_txt.replace(/'/g,"\'");

          str_blank = '';
          if ( bnr_fl_blank == 1 ) { str_blank = ' target="_blank"' }

          str_ir_flash_alt_img =
            '<a href="' + bnr_fl_clicktag + '"' + str_blank + '>'
            + '<img src="' + bnr_fl_alt_img + '" width="' + bnr_fl_alt_img_x + '" height="' + bnr_fl_alt_img_y + '" alt="' + bnr_fl_alt_img_txt + '" />'
            + '</a>';

          $(bnr_placeholder).innerHTML = str_ir_flash_alt_img;

        }

      }
      // flash banner: end
    }

    else if ( bnr_type == 'html' ) {
    }

  }

}


function getObjTxt(obj){
return (obj.innerText) ? obj.innerText : (obj.textContent) ? obj.textContent : '';
}





