﻿var activeIngredientClassName = "ActiveIngredient";
var activeCategoryClassName = "ActiveCategory"
var tsearch;


$(document).ready(function () {
    ReloadSelectedFilter();

    //    $("a.Ingredient").click(function () {
    //        if (event.preventDefault)
    //            event.preventDefault();
    //        event.returnValue = false;

    //        //var id = $(this).attr("id").replace("ingr", "");
    //        var id = $(this).parent().children("input").val();
    //        //alert(id);

    //        ToggleIngredient(id);

    //        return false;
    //    });

    //    $("a.Category").click(function () {
    //        if (event.preventDefault)
    //            event.preventDefault();
    //        event.returnValue = false;

    //        var id = $(this).attr("id").replace("cat", "");
    //        //alert(id);

    //        ShowCategory(id);


    //        return false;
    //    });

    if ($("#hfTxtNameID").length > 0) {
        var txtid = $("#hfTxtNameID").val();
        $("#" + txtid).keyup(function () {
            var search = $("#" + txtid).val();
            if (search.indexOf("Naam van") >= 0 || search.length > 1 || search.length == 0) {
                //ReloadFilterResult();
                clearTimeout(tsearch);
                tsearch = setTimeout("ReloadFilterResult()", 1000);
            }
        });
    }
});

function ShowCategory(id) {
    var ctrlid = "#cat" + id;
    if ($(ctrlid).hasClass(activeCategoryClassName)) {
        $(ctrlid).removeClass(activeCategoryClassName);
        $("a#cat0").addClass(activeCategoryClassName);
        $("#lblCategory").html("");
        RecipeWebService.SetCategoryForFilterInSession(0, SuccessHandler, ErrorHandler);
        ReloadFilterResult();
    } else {
        $("a.Category").removeClass(activeCategoryClassName);
        $(ctrlid).addClass(activeCategoryClassName);
        $("#lblCategory").html("");
        if (id > 0)
            $("#lblCategory").html("in de categorie '" + $(ctrlid).html() + "'");
        RecipeWebService.SetCategoryForFilterInSession(id, SuccessHandler, ErrorHandler);
        ReloadFilterResult();
    }
}

function ToggleIngredient(id){
    if ($(".Ingredient" + id).hasClass(activeIngredientClassName)) {
        DeleteIngredient(id);
    } else {
        AddIngredient(id)
    }
}

function DeleteIngredient(id) {
    $(".Ingredient" + id).removeClass(activeIngredientClassName);
    RecipeWebService.RemoveIngredientForFilterInSession(id, SuccessHandler, ErrorHandler);
    ReloadFilterResult();
}

function AddIngredient(id) {
    $(".Ingredient" + id).addClass(activeIngredientClassName);
    RecipeWebService.AddIngredientForFilterInSession(id, SuccessHandler, ErrorHandler);
    ReloadFilterResult();
}

function SuccessHandler(result) {
    FixHeight();
    ReloadSelectedFilter();
}

function ErrorHandler(error) {
    FixHeight();
    ReloadSelectedFilter();
}

function ie8SafePreventEvent(e) {
     if (e.preventDefault) { e.preventDefault() }
     else { e.stop() };

     e.returnValue = false;
     e.stopPropagation();
 }

 function ReloadSelectedFilter() {
     if ($("#selectedFilter").length > 0) {
         var r = Math.floor(Math.random() * 1000000);
         //$("#selectedFilter").html("<div class='Loading'>Bezig met laden...</div>");
         $("#selectedFilter").load("/services/RenderSelectedFilterHandler.ashx?cache=" + r, function () { FixHeight(); });
     }
 }

 function ReloadFilterResult() {
     if ($("#recipeList").length > 0) {
         var nr = "5";
         if ($("#hfNumberOfRecipes").length > 0)
             nr = $("#hfNumberOfRecipes").val();

         var rlen = "47";
         if ($("#hfRecipeLength").length > 0)
             rlen = $("#hfRecipeLength").val();

         var search = "";
         if ($("#hfTxtNameID").length > 0) {
             var txtid = $("#hfTxtNameID").val();
             if ($("#" + txtid).length > 0) {
                 search = $("#" + txtid).val();
                 if (search.indexOf("Naam van") >= 0) {
                     search = "";
                 } else {
                    search = urlencode(search);
                 }
             }
        }

        var target = "_self";
        if ($("#hfTarget").length > 0) {
            target = $("#hfTarget").val();
        }

        var r = Math.floor(Math.random() * 1000000);
         $("#recipeList").html("<div class='Loading'>Bezig met zoeken...</div>");
         $("#recipeList").load("/services/FilterRecipeHandler.ashx?cache=" + r + "&nr=" + nr + "&rlen=" + rlen + "&target=" + target + "&search=" + search, 
             function () {
                 FB.XFBML.parse(document.getElementById('#resultList'));
             });
     }
 }
