$(function() {
    // request formulier uitzondering bij link vanuit afiliate
    initRequestForm();

    // Scroller on footer
    $("#scroller").photoScroller({
        mode: "link",
        stretchEleTag: "#scrollElem",
        scrollOnClick: true,
        nextBtn: "#scrollRight",
        prevBtn: "#scrollLeft",
        endlessLoop: true,
        useInterval: true,
        intervalTime: 5000
    });
    // Input field
    $("#zoek input, #email").inputReset();

    $("#__zoekStr").keyup(function(event) {
        if (event.keyCode == '13') {
            GoSearch($('#__zoekStr').val());
            return false;
        }
        ShowSuggestions();
    });

    $("#zoekNu").click(function() {
        GoSearch($('#__zoekStr').val());
        return false;
    });

    $("#email").keyup(function(event) {
        if (event.keyCode == '13') {
            submitNieuwsBrief($(this));
        }
    });

    $(".submitNieuwsBrief").click(function() {
        submitNieuwsBrief($(this));
    });

    // Formulier valideren
    $(".buttonYellowForm").live('click', function() {
        var form = $(this).parent().parent().parent().attr("class");
        $(".required").removeClass("required").addClass("hasRequired");
        $(".email").removeClass("email").addClass("hasEmail");
        $(".phone").removeClass("phone").addClass("hasPhone");
        $("." + form + " .hasRequired").removeClass("hasRequired").addClass("required");
        $("." + form + " .hasEmail").removeClass("hasEmail").addClass("email");
        $("." + form + " .hasPhone").removeClass("hasEmail").addClass("phone");

        //required items een titel geven met spatie zodat deze geen error text weergeven
        //$(".required").attr('title', ' ');

        if ($("form").eq(0).valid()) {
            $("form").eq(0).submit();
        }
        else {
            $.fancybox.resize();
            $(".hasRequired").removeClass("hasRequired").addClass("required");
            $(".hasEmail").removeClass("hasEmail").addClass("email");
            $(".hasPhone").removeClass("hasEmail").addClass("phone");
        }
    });

    $(".buttonGray").live('click', function() {
        $("input:radio").transformRadio("reset");
        $("input:checkbox").transformCheckbox("reset");
        $("select").transformSelect("reset");

        $("form").get(0).reset();
    });

    $("#submitBel").click(function() {
        if ($("form").eq(0).valid()) {
            $("form").eq(0).submit();
        }
        else {
            $.fancybox.resize();
        }
    });

    // Fancybox
    $("a.fancybox").fancybox({
        'height': 650,
        'onStart': function() {
            $("form").eq(0).append($("#fancybox-wrap"));
        }
    });

    $.extend($.validator.messages, {
        required: " ",
        email: " ",
        phone: " "
    });

    // from validatie
    $("form").eq(0).validate(
    {
        invalidHandler: function(e, validator) {
            var errors = validator.numberOfInvalids();
            if (errors) {
                $(".errors").html("Het formulier is niet volledig/correct ingevuld");
            }
            else {
                $(".errors").hide();
            }
        }
    });

    // setTimeout(enableMe, 200);
    // Enable desaturate on paymethods
    $("#payOptions").find("img")
        .mouseenter(showColor).mouseleave(hideColor);

    setTimeout(function() {
        $("#payOptions").find("img").each(function() {
            if ($.browser.msie) {
                $(this).desaturate("grayScaleIE");
            }
            else {
                $(this).desaturate();
            }
        });
    }, 500);

    // pixel fix FF
    if ($.browser.mozilla) {
        $(".roundBlock img").css({ left: -1 });
    }
    // Quote-sluit image top-aligned maken.
    $("img[src$='quote_close.gif']").addClass('aligntop');
});

function initRequestForm() {
    if ($("#found").val() != '') {
        $('#hoe-heeft-u-ons-gevonden').parent().append($("#found").val());
        $('#hoe-heeft-u-ons-gevonden').parent().append('<input type="hidden" name="hoe-heeft-u-ons-gevonden" value="' + $("#found").val() + '" />');
        $('#hoe-heeft-u-ons-gevonden').remove();
        //hoe-heeft-u-ons-gevonden
        
    }
}

function submitNieuwsBrief(element)
{
    var form = element.parent().attr("id");
    $(".required").removeClass("required").addClass("hasRequired");
    $(".email").removeClass("email").addClass("hasEmail");
    $(".phone").removeClass("phone").addClass("hasPhone");
    $("#" + form + " .hasRequired").removeClass("hasRequired").addClass("required");
    $("#" + form + " .hasEmail").removeClass("hasEmail").addClass("email");
    $("#" + form + " .hasPhone").removeClass("hasPhone").addClass("phone");
    
    if ($("form").eq(0).valid()) {
        $("form").eq(0).submit();
    }
    else {
        $(".hasRequired").removeClass("hasRequired").addClass("required");
        $(".hasEmail").removeClass("hasEmail").addClass("email");
        $(".hasPhone").removeClass("hasEmail").addClass("phone");
    }
}

function showColor()
{
 	$(this).desaturate("undo");
}
function hideColor()
{
	$(this).desaturate();
	
}
var suggestionTimer;
var mainObject;

//Checks the right charactercount and then calls the searchaction
function ShowSuggestions() {
    mainObject = $("#__zoekStr");
    clearTimeout(suggestionTimer);
    if (mainObject.val().length >= 4) {
        suggestionTimer = setTimeout("handleAjaxPostSearch();", 500);
    }
    else {
        $("#smartsearchresults").hide();
    }
}

function GoSearch(searchString) {
    if (searchString != 'Zoeken naar...') {
        document.location = '/z/' + searchString + '.aspx?zoekstr=' + searchString;
    }
}

function handleAjaxPostSearch() {

    //Ajax post afhandelen
    $.ajax({
        type: "POST",
        url: "/smartsearch.aspx/GetResults",
        data: "{'searchterm':'" + $('#__zoekStr').val() + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(response) {
            $("#smartsearchresults").html(response.d);
            $("#smartsearchresults").show();
        }
    });
}

