﻿var jobSearchFilter = new function($) {
    var container = null;
    var buttonImg = null;
    var buttonLink = null;
    var options = {};

    this.init = function(o) {
        options = $.extend(options, o);
        container = $("#jobFilter .advanced");
        buttonImg = $("#jobFilterToggleImg img");
        buttonLink = $("#jobFilterToggleLink");
        $(window).bind("unload.jobSearchFilter", function() {
            options = null; container = null; buttonImg = null; buttonLink = null;
            if (container) container.unbind(".jobSearchFilter");
            $(window).unbind(".jobSearchFilter");
        });
        var lText = (!options.Expand) ? options.MoreOptionsText : options.LessOptionsText;        
        buttonLink.text(lText);
    };

    this.toggle = function(o) {
        if (!container) return;

        if (options.Expand) {

            container.each(function() {
                var lo = $(this);
                lo.hide();
                // $("div", lo).slideUp("fast", function() {lo.hide();});
            });

            options.Expand = false;
        } else {
            container.each(function() {
                var lo = $(this);
                lo.show();
                //$("div", lo).slideDown("fast");
            });

            options.Expand = true;
        };
        this.set(options.Expand);

        var lUrl = options.Application + "library/image/background/seeker/" + ((!options.Expand) ? "search_box_expand_button.gif" : "search_box_collapse_button.gif");
        var lText = (!options.Expand) ? options.MoreOptionsText : options.LessOptionsText;
        buttonImg.attr("src", lUrl);
        buttonImg.attr("alt", lText);
        buttonLink.text(lText);
    };

    this.set = function(isExpanded) {
       
        zajaxm.call({
            async: true,
            postType: "GET",
            assembly: "TmeJobs.Web",
            methodClass: "TmeJobs.Web.Seeker.JobSearchFilterDisplaySelector",
            methodName: "SetFilterDisplay",
            args: [isExpanded]
        });
    };
} (jQuery);