function showCatDescr(source) {
  //var img = jQuery(source).children("img");
  //var div = jQuery(source).parent().parent().children(".cheese_cat_descr_text");
  //img.attr("src", (img.attr("src").indexOf("ext_down") >= 0 ? "/site/falbygdens/images/static/cheese_form/ext_right.png" : "/site/falbygdens/images/static/cheese_form/ext_down.png"));

  var source_class = jQuery(source).attr("class");
  jQuery(source).removeClass(source_class);
  jQuery(source).addClass(source_class == 'readmore_white' ? "readmore_white_on":"readmore_white");

  var div = jQuery(source).parent().parent().children(".cheese_cat_descr_text");
  div.toggle("normal");
}

var rofPidAddThis = '';

function renderProduct(rof_pid, source, fromsearch) {

  closeProductFromPath(); //make sure to close any product that might be renderd from the query string

  rofPidAddThis = rof_pid;

  doAjaxRequest('CoMeT_function=run_module&module=ModProducts&function=default_product_list&action=render_product&rof_pid=' + rof_pid, '#render_product', function(r){renderProductResponse(r, source, fromsearch);});
}

function renderProductResponse(html, source, fromsearch) {
  var renderprod = jQuery('#render_product');
  renderprod.remove();
  renderprod.html(html);
  if (fromsearch) {
    renderprod.css({"position":"relative", "left":"0", "top":"0"});
    var div = jQuery(source).parent().parent().parent().parent().parent();
    jQuery(source).parent().parent().parent().parent().parent().append(renderprod);
  }
  else if (source) {
    var item = jQuery(source).parent().parent();
    while (item.position().top == item.next().position().top)
      item = item.next();
    /*var pos = jQuery(source).parent().parent().position();
    renderprod.css({"position":"absolute", "left":"0", "top":pos.top, "z-index":"10"});
    jQuery("#inner_container").prepend(renderprod);*/
    renderprod.css({"top":"0", "left":"-45px"});
    item.after(renderprod);
  }
  else {
    renderprod.css({"position":"relative", "left":"0", "top":"10px"});
    jQuery("#cheese_cats").prepend(renderprod);
  }

  renderprod.ready(function(){
    jQuery("#render_product .wikilink").each(function(){
      var html = this.innerHTML;
      jQuery(this).replaceWith(
        "<a class='wiki-summary-link' href='http://sv.wikipedia.org/wiki/" + html + "'>" + html + "</a>"
      );
    });
    var divs = jQuery('#render_product').get();
    if (divs.length > 0) {
      var el = divs[0].getElementsByTagName("a");
      __wikiInit(el);
    }
  });

  var url = 'http://www.falbygdensost.se/ostar_och_tillbehor/?rof_pid=' + rofPidAddThis;
  var title = 'Falbygdens Ost';
  var description = '';

  triggerAddThis(url, title, description);

  renderprod.slideDown('slow');
  Cufon.refresh();

  var top = renderprod.offset().top;
  jQuery('html, body').animate({scrollTop:top}, 500);
}


function renderRequestedProduct(rof_pid) {
  renderProduct(rof_pid);
}

function closeProduct() {
  jQuery("#render_product").css("display", "none").remove().appendTo("#content_container");
  //jQuery('#render_product').slideUp('slow');
}

function closeProductFromPath() {
  jQuery("#render_product_from_path").css("display", "none");
}



function renderSelectedGroup(group_id, source) {
  closeProduct();

  jQuery('#selected_products').children('ul').children('li').removeClass('current');
  if (jQuery(source)) {
    jQuery(source).parent().parent('li').addClass('current');

    /* remove class 'prev' from all li items */
    jQuery('#selected_products').children('ul').children('li').removeClass('prev');
    /* add class 'prev' to previous item */
    jQuery(source).parent().parent('li').prev().addClass('prev');

  }

  if(group_id) {
    doAjaxRequest('CoMeT_function=run_module&module=ModProducts&function=list_featured_products_and_groups&action=render_selected_group&group_id=' + group_id, '#selected_group_products', renderSelectedGroupResponse);
  }
}


function renderSelectedGroupResponse(html) {
  jQuery('#selected_group_products').html(html);
  jQuery('#selected_group_products').fadeIn('slow');
  //Cufon.refresh();
}


function printProduct() {
  var html = jQuery("#render_product").html();
  jQuery("#printdiv").html(html);
  setTimeout("window.print()", 2000);
}