// cheese sampler
jQuery(document).ready(function() {

  var pageLocation = document.location.href.split('/'); //close addthis
  if(pageLocation[3] == 'ostprovarguiden') {
    jQuery('.addthis_default_tpl').hide();
  }

  jQuery("#sampler_types input").click(function(){

    var samplerType = jQuery("input[name='sampler_type']:checked").val();
    if(samplerType) {
      updateSamplerTypeInfo(samplerType);
      updateCheesesInfo(samplerType);
    }
  });

  jQuery('#slide_smakrik').slider({
    range: true,
    values:[1,5],
    min: 1,
    max: 5,
    start:hideSmakrikPop,
    stop:showSmakrikPop
  });

  jQuery('#slide_cheeses').slider({
    range: false,
    value:3,
    min: 1,
    max: 8
  });

});

var texts_smakrik = [
  ["En återhållen start. Kommer inte att förstöra dina smaklökar.","Här är smakerna finstämda. Men de är många och noga utvalda."],
  ["Nu börjar smakämnena blomma ut och ta för sig. Ostens karaktär är mer uppenbar","Här känner man många, underliggande smaker. Dra ut på njutningen, så märker du det själv."],
  ["Här är karaktären tydlig. Och du kan garanterat pricka in massor av smakreferenser.","Ostmakaren har jobbat länge för att komma hit. Ju längre du smakar på osten, desto rikare blir upptäcktsfärden."],
  ["Här är det lagrat och ganska så smakrikt. Men inte så starkt att alla gäster går hem.","Kanske river det till lite lätt. Och att så många smaker får plats i en och samma ost?"],
  ["Nu är smaken riktigt kraftfull. Men bli inte rädd &mdash; det är bara en ovanligt god ost.","På tok för starkt för somliga. Andra ler med hela kroppen."]
];

function getSmakText(val) {
  var rnd = Math.floor(Math.random()*2);
  return texts_smakrik[val-1][rnd];
}

var poptimer = null;
function showSmakrikPop(e, ui) {
  var pos = jQuery(ui.handle).position();
  if (ui.value == ui.values[1])
    pos.left += 15;
  else
    pos.left -= 230;
  jQuery("#slide_smakrik_pop").html(getSmakText(ui.value)).css("margin-left",pos.left).show();
  if (poptimer) clearTimeout(poptimer);
  poptimer = setTimeout(hideSmakrikPop, 4000);
}

function hideSmakrikPop() {
  if (poptimer) clearTimeout(poptimer);
  poptimer = null;
  jQuery("#slide_smakrik_pop").hide();
}


function updateSamplerTypeInfo(samplerType) {

  var samplerTypes = new Array();

  samplerTypes[1] = "<span>Aptitretare</span> Räkna med ca 20g/person";
  samplerTypes[2] = "<span>Före maten</span> Räkna med ca 50g/person";
  samplerTypes[3] = "<span>Efter maten</span> Räkna med ca 75g/person";
  samplerTypes[4] = "<span>Ostbricka</span> Räkna med ca 150-200g/person, ren ost bricka med tillbehör";

  jQuery('#sampler_types_response').html(samplerTypes[samplerType]);
}

function updateCheesesInfo(samplerType) {

  var samplerTypes = new Array();

  samplerTypes[1] = "<span>Aptitretare</span> 1-2 sorter";
  samplerTypes[2] = "<span>Före maten</span> 2-3 sorter";
  samplerTypes[3] = "<span>Efter maten</span> 3-5 sorter";
  samplerTypes[4] = "<span>Ostbricka</span> 4-8 sorter";

  jQuery('#cheeses_response').html(samplerTypes[samplerType]);
  jQuery("#slide_cheeses").slider("option", "value", String(samplerType));
}


function suggestCheeses() {

  var attendees = jQuery('#attendees').val();
  var sampler_type = jQuery("input[name='sampler_type']:checked").val();
  var cheeses = jQuery("#slide_cheeses").slider("option", "value");
  var smakrikvalue_start = jQuery('#slide_smakrik').slider('values', 0);
  var smakrikvalue_end = jQuery('#slide_smakrik').slider('values', 1);

  var dataString = '&par_attendees=' + attendees + '&par_sampler_type=' + sampler_type + '&par_cheeses=' + cheeses + '&par_smakrikvalue_start=' + smakrikvalue_start + '&par_smakrikvalue_end=' + smakrikvalue_end
  doAjaxRequest('CoMeT_function=run_module&module=ModSampler&function=sampler&action=suggest_cheeses' + dataString, '#sampler_suggest', suggestCheesesResponse);
}

function suggestCheesesResponse(html) {

  var html_response = html.split('|');

  if (html_response[0] == 'success') {
    jQuery('#sampler_suggest').html(html_response[1]);
    jQuery('#sampler_suggest').slideDown('normal');

    jQuery('#sampler_info').removeClass('dim_layer');
    jQuery("#par_sampler_name").removeAttr("disabled");

    jQuery('#name_sampler_button').show();

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

    Cufon.refresh();
  } else {
    alert(html_response[1]);
  }
}


var targetDiv = '';
function suggestNewCheese(rof_pid, source) {
  if(rof_pid) {

    var target_div = jQuery(source).parent().parent().parent();
    targetDiv = target_div;

    var cheeses = 1;
    var smakrikvalue_start = jQuery('#slide_smakrik').slider('values', 0);
    var smakrikvalue_end = jQuery('#slide_smakrik').slider('values', 1);

    var dataString = '&par_rof_pid=' + rof_pid + '&par_cheeses=' + cheeses + '&par_smakrikvalue_start=' + smakrikvalue_start  + '&par_smakrikvalue_end=' + smakrikvalue_end
    doAjaxRequest('CoMeT_function=run_module&module=ModSampler&function=sampler&action=suggest_new_cheese' + dataString, targetDiv, suggestNewCheeseResponse);
  }
}

function suggestNewCheeseResponse(html) {

  var html_response = html.split('|');

  if (html_response[0] == 'success') {
    jQuery(targetDiv).html(html_response[1]);
    jQuery(targetDiv).fadeIn('normal');
    Cufon.refresh();
  } else {
    alert(html_response[1]);
  }
}


function closeSamplerCheese(rof_pid, source) {

  if(rof_pid) {

    var target_div = jQuery(source).parent().parent();
    targetDiv = target_div;

    doAjaxRequest('CoMeT_function=run_module&module=ModSampler&function=sampler&action=close_sampler_cheese&par_rof_pid=' + rof_pid, targetDiv);

    jQuery(targetDiv).slideUp('normal');
  }
}


function openAccessoryInfo(source) {
  jQuery(source).parent().prev().slideDown('normal');
  jQuery(source).next().css("display","inline");
  jQuery(source).css("display","none");
}

function closeAccessoryInfo(source) {
  jQuery(source).parent().prev().slideUp('normal');
  jQuery(source).prev().css("display","inline");
  jQuery(source).css("display","none");
}


function nameSampler() {

  var error = '';
  var sampler_uid = jQuery("input#par_sampler_uid").val();
  var sampler_name = jQuery('#par_sampler_name').val();
  var attendees = jQuery('#attendees').val();
  var sampler_type = jQuery("input[name='sampler_type']:checked").val();


  if(!sampler_name) {
    error = 1;
    jQuery('#par_sampler_name').addClass('missing');
  } else {
    jQuery('#par_sampler_name').removeClass('missing');
  }

  if(error == 1) {
    jQuery('#sampler_name_response').html('Du glömde ge din ostprovning ett namn.');
    jQuery('#sampler_name_response').css('color','#FF0000');
    jQuery('#sampler_name_response').fadeIn('normal');

  } else {

    var checked = new Array();
    var unchecked = new Array();

    jQuery("#sampler_accessories input").each(function(){
      if (jQuery(this).attr("checked")) {
        checked.push(jQuery(this).val());
        jQuery(this).parent().remove();
      }
      else
        //unchecked.push(jQuery(this).val());
        jQuery(this).parent().parent().remove();
    });

    jQuery("#sampler_accessories div.clear").remove();

    jQuery("#sampler_accessories div.sampler_accessory").each(function(i){
      if ((i+1) % 4 == 0)
        jQuery(this).after('<div class="clear"></div>');
    });

    jQuery('#sampler_name_response').hide('normal');
    var dataString = '&par_sampler_uid=' + sampler_uid + '&par_sampler_name=' + sampler_name + '&par_accessories=' + checked  + '&par_attendees=' + attendees   + '&par_sampler_type=' + sampler_type;
    doAjaxRequest('CoMeT_function=run_module&module=ModSampler&function=sampler&action=name_sampler' + dataString, '#sampler_name_response', nameSamplerResponse);

  }
}

function nameSamplerResponse(html) {

  var html_response = html.split('|');

  if (html_response[0] == 'success') {

    //we do a redirect in stead of shuffling stuff around...

    jQuery('#sampler_naming_form_container').html('<div class="ajaxLoader"></div>');
    window.location.href=html_response[1];

  } else {
    jQuery('#sampler_name_response').html(html_response[1]);
    jQuery('#sampler_name_response').css('color','#FF0000');
    jQuery('#sampler_name_response').fadeIn('normal');
  }
}


function nameSamplerOnEnter(e) {
  var key;
  if (window.event) {
    key = window.event.keyCode; //IE
  } else {
    key = e.which;
  }
  if (key == 13) {
    nameSampler();
    return false;
  }
  return true;
}

function renderRequestedSamplerFromPath(sampler_uid) {

  if(sampler_uid) {
    jQuery('#sampler_form, #sampler_info').remove();

    var dataString = '&par_sampler_uid=' + sampler_uid
    doAjaxRequest('CoMeT_function=run_module&module=ModSampler&function=sampler&action=render_sampler' + dataString, '#sampler_suggest', renderRequestedSamplerFromPathResponse);

  }
}


function renderRequestedSamplerFromPathResponse(html) {
  jQuery('#sampler_suggest').html(html);
  jQuery('#sampler_suggest').slideDown('normal');
  Cufon.refresh();
}


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

function selectionTooNarrow(items, requested_items) {

  var item_unit = (items == 1) ? 'ost':'ostar';
  var req_unit = (requested_items == 1) ? 'ost':'ostar';

  Cufon.refresh();

  alert('Det finns bara ' + items + ' ' + item_unit + ' som matchar ditt val. Om du ökar alternativen på reglaget smakrikedom kommer du få fler träffar. Prova, de är också kanongoda.');
}