/// <reference path="~/Assets/Javascripts/jquery-1.4.1-vsdoc.js" />

$(function () {
    /* Site wide start */

    /* Cufon */
    Cufon.set('fontFamily', 'gotham');
    Cufon.replace('#header .menusearchwrap ul li a', {
        hover: true
    });

    /* Quick search enter key */
    $("input.searchtextbox").keydown(function (e) {
        if (e.keyCode == 13) { // enter
            location.href = SEARCH_URL + urlencode($(this).val());
            return false;
        }
    });

    /* Contact search enter key */
    $("input.contactSearch").keydown(function (e) {
        if (e.keyCode == 13) { // enter
            var url = location.href;
            url = url.split("?", 1);
            location.href = url + "?q=" + $("input.contactSearch").val();
            return false;
        }
    });

    /* Removes the value for the input & textarea on focus */
    $("input.searchtextbox, textarea.searchtextbox").focus(function () {
        if (this.value == TRANSLATE_SEARCH_DEFAULT_TEXT) {
            this.value = '';
        }
    }).blur(function () {
        if (this.value.trim() == '') {
            this.value = TRANSLATE_SEARCH_DEFAULT_TEXT;
        }
    });

    $("a.extern").click(function () {
        window.open($(this).attr('href'));
        return false;
    });

    /* Site wide end */

    /* Products menu start */

    var hideOpenProducts = function (obj) {
        obj.parent().parent().find('.open').removeClass('open').hide();
        obj.parent().parent().find('.active').removeClass('active');
    }

    $(document).click(function () {
        hideOpenProducts($('#productsMenu a'));
    });

    $('#productsMenu a').click(function () {
        var obj = $(this);
        if (!obj.hasClass('active')) {
            hideOpenProducts(obj);
            obj.addClass('active').next().addClass('open').show();
        }
        else if (!obj.next().hasClass('open')) {
            hideOpenProducts(obj);
            obj.addClass('active').next().addClass('open').show();
        }
        else {
            hideOpenProducts(obj);
            obj.removeClass('active').next().removeClass('open').hide();
        }
        if (!obj.hasClass('leaf')) {
            return false;
        }
    });

    /* Products menu start */

    /* Find contacts start */

    var checkHeightContacts = function () {
        var height = $('#findContactsNav').height();
        $('#findContactsNav').find('.open').each(function () {
            var objHeight = $(this).height();
            if (objHeight > height) {
                height = objHeight;
            }
        });
        $('#findContactsNav').parent().css('height', height);
    }

    var hideOpenContacts = function (obj) {
        obj.parent().parent().find('.open').removeClass('open').hide();
        obj.parent().parent().find('.active').removeClass('active');
    }

    $(".marketList li").click(function () {
        var $this = $(this);

        $this.parent().children().removeClass("active");
        $this.addClass("active");
    })

    $(".alphabeticalList li").click(function () {
        var $this = $(this);

        $this.parent().children().removeClass("active");
        $this.addClass("active");

        var letters = $(this).children().html();


    })

    $(".productList li").click(function () {
        var $this = $(this);

        $this.parent().children().removeClass("active");
        $this.addClass("active");
    });

    $(".list li").click(function () {
        $(".loader").show();
        var letters = $(".alphabeticalList .active a").html();
        var market = $(".marketList .active a").html();
        var products = $(".productList .active a").attr("rel");

        $.getJSON(MANUFACTURER_SERVICE_URL, { activeLetters: letters, activeMarket: market, activeProducts: products }, function (response) {
            if (response != null) {
                $(".loader").hide();
                var blocks = $(".blocks .suplierlist ul");
                blocks.empty();

                $.each(response.data, function (i, obj) {
                    var revisedString = obj.link;
                    var vCard;
                    if (obj.vCard != "")
                        vCard = "<br/><a class='vcard' href='/assets/Services/vCardHandler.ashx?personId=" + obj.vCard + "'>vCard</a>";
                    else
                        vCard = "";
                    $("<li><h5>" + obj.name + "</h5>" + "<div class='clear'></div><a href='" + obj.url + "' class='extern'>" + revisedString + " </a>" + vCard + "</li>").appendTo($(".block-0 .suplierlist ul"));
                    //$("<li><h5>" + obj.name + "</h5><div class='clear'></div><a href='" + obj.link + "' class='extern'>" + revisedString + " </a>" + vCard + "</li>").appendTo($(".block-0 .suplierlist ul"));
                });


            }
        });
    })

    $('#findContactsNav a').click(function () {
        var obj = $(this);
        if (!obj.hasClass('active')) {
            hideOpenContacts(obj);
            obj.addClass('active').next().addClass('open').show();
            checkHeightContacts();
            if ($.browser.msie && parseInt($.browser.version) < 8) {
                hideOpenContacts(obj);
                obj.addClass('active').next().addClass('open').show();
                checkHeightContacts();
            }
        }
        else {
            hideOpenContacts(obj);
            obj.removeClass('active').next().removeClass('open').hide();
            checkHeightContacts();
            if ($.browser.msie && parseInt($.browser.version) < 8) {

                obj.removeClass('active').next().removeClass('open').hide();
                checkHeightContacts();
            }
        }
        if (!obj.hasClass('leaf')) {
            return false;
        }
    });

    $('#findContactsNav').addClass('js-enabled').find('div').hide();
    checkHeightContacts();

    /* Find contacts end */

    /* Product pagination start */

    $('#productPagination .links a').bind('click', function () {
        $("#productPagination .links a").removeClass("selected");
        var link = $(this);
        $.get("/Assets/Services/SearchResultProductGroup.aspx", { page: $(this).attr("rel"), q: $(".text").val() },
        function (data) {
            $("#ProductsSearchResult").html(data);
            link.addClass("selected");
            InitProductPagination();
        })
        return false;
    });

    $('#productPagination .next a').bind('click', function () {

        var currentPage = parseInt($("#productPagination .links a.selected").attr("rel"));

        if ($("#productPagination .links a[rel='" + (currentPage + 1).toString() + "']").length < 1) {
            InitProductPagination();
            return false;
        }

        $("#productPagination .links a").removeClass("selected");

        var link = $(this);
        $.get("/Assets/Services/SearchResultProductGroup.aspx", { page: currentPage + 1, q: $(".text").val() },
        function (data) {
            $("#ProductsSearchResult").html(data);
            $("#productPagination .links a[rel='" + (currentPage + 1).toString() + "']").addClass("selected");
            InitProductPagination();
        })
        return false;
    });

    $('#productPagination .prev a').bind('click', function () {

        var currentPage = parseInt($("#productPagination .links a.selected").attr("rel"));

        if (currentPage == 1) {
            InitProductPagination();
            return false;
        }

        $("#productPagination .links a").removeClass("selected");

        var link = $(this);
        $.get("/Assets/Services/SearchResultProductGroup.aspx", { page: currentPage - 1, q: $(".text").val() },
        function (data) {
            $("#ProductsSearchResult").html(data);
            $("#productPagination .links a[rel='" + (currentPage - 1).toString() + "']").addClass("selected");
            InitProductPagination();
        })
        return false;
    });

    /* Product pagination end */

    /* Pages pagination start */

    $('#pagesPagination .links a').bind('click', function () {
        $("#pagesPagination .links a").removeClass("selected");
        var link = $(this);
        $.get("/Assets/Services/SearchResultPages.aspx", { page: $(this).attr("rel"), q: $(".text").val() },
        function (data) {
            $("#pagesSearchResult").html(data);
            link.addClass("selected");
            InitPagesPagination();
        })
        return false;
    });

    $('#pagesPagination .next a').bind('click', function () {

        var currentPage = parseInt($("#pagesPagination .links a.selected").attr("rel"));

        if ($("#pagesPagination .links a[rel='" + (currentPage + 1).toString() + "']").length < 1) {
            InitPagesPagination();
            return false;
        }

        $("#pagesPagination .links a").removeClass("selected");

        var link = $(this);
        $.get("/Assets/Services/SearchResultPages.aspx", { page: currentPage + 1, q: $(".text").val() },
        function (data) {
            $("#pagesSearchResult").html(data);
            $("#pagesPagination .links a[rel='" + (currentPage + 1).toString() + "']").addClass("selected");
            InitPagesPagination();
        })
        return false;
    });

    $('#pagesPagination .prev a').bind('click', function () {

        var currentPage = parseInt($("#pagesPagination .links a.selected").attr("rel"));

        if (currentPage == 1) {
            InitPagesPagination();
            return false;
        }

        $("#pagesPagination .links a").removeClass("selected");

        var link = $(this);
        $.get("/Assets/Services/SearchResultPages.aspx", { page: currentPage - 1, q: $(".text").val() },
        function (data) {
            $("#pagesSearchResult").html(data);
            $("#pagesPagination .links a[rel='" + (currentPage - 1).toString() + "']").addClass("selected");
            InitPagesPagination();
        })
        return false;
    });

    /* Pages pagination end */

});

/* Functions start */

var urlencode = function (str) {
    // return escape(str);
    str = str.replace("?", "%3F");
    str = str.replace("&", "%26");
    str = str.replace("#", "%23");
    str = str.replace(" ", "%20");
    return str;
}

function InitPagesPagination() {
    var currentPage = parseInt($("#pagesPagination .links a.selected").attr("rel"));

    if (currentPage == 1) {
        $("#pagesPagination .prev a").addClass("disabled");
    }
    else {
        $("#pagesPagination .prev a").removeClass("disabled");
    }

    if ($("#pagesPagination .links a[rel='" + (currentPage + 1).toString() + "']").length < 1) {
        $("#pagesPagination .next a").addClass("disabled");
    }
    else {
        $("#pagesPagination .next a").removeClass("disabled");
    }

    return false;
}

function InitProductPagination() {
    var currentPage = parseInt($("#productPagination .links a.selected").attr("rel"));

    if (currentPage == 1) {
        $("#productPagination .prev a").addClass("disabled");
    }
    else {
        $("#productPagination .prev a").removeClass("disabled");
    }

    if ($("#productPagination .links a[rel='" + (currentPage + 1).toString() + "']").length < 1) {
        $("#productPagination .next a").addClass("disabled");
    }
    else {
        $("#productPagination .next a").removeClass("disabled");
    }

    return false;
}

/* Functions start */

