﻿jQuery(
    function($) {
        jQuery(document).ready(
            function() {
                var hiddenVisitGuid = $("#hiddenVisitGuid");
                var filterByPracticeLink = $("#filterByPractice");
                var filterByIndustryLink = $("#filterByIndustry");
                var ajaxAnimation = $(".ajaxAnimationContainer").html();                
                
                //content type select
                var contentTypeSelect = $(".select1");
                contentTypeSelect.change(onContentTypeChange);

                //service dropdown select
                var serviceSelect = $(".select4");
                serviceSelect.change(onServiceSelectChange);

                $(".goButton").click(function() {
                    //disable click event on the go button
                    return false;
                });

                registerSort();

                //Filter by Practice click.
                filterByPracticeLink.click(
	                function() {
	                    //change classes for highlighting
	                    filterByIndustryLink.removeClass('active').addClass('inactive');
	                    $(this).removeClass('inactive').addClass('active');
	                    populateDropdown(true);

	                    return false;
	                });

                //Filter by Industry click
                filterByIndustryLink.click(
	                function() {
	                    //change classes for highlighting
	                    filterByPracticeLink.removeClass('active').addClass('inactive');
	                    $(this).removeClass('inactive').addClass('active');
	                    populateDropdown(false);

	                    return false;
	                });

                //sorting
                function registerSort() {
                    //sorting links
                    var sortColumn = $(".sortColumn");
                    sortColumn.click(
                    function() {
                        var searchLink = $(this).find(':hidden').val();
                        //alert(searchLink);                        
                        $(".topStoriesExtrasList").html(ajaxAnimation);
                        getListContents(searchLink, $(".topStoriesExtrasList"),
                        function() { registerSort() });

                        return false;
                    });
                }

                //populate Practice Dropdown
                function populateDropdown(isPractice) {
                    var practiceDropdownContainer = $(".practiceDropdown");
                    serviceSelect.attr("disabled", true);

                    var searchLink = "/fcwsite/features/practices/ServiceDropdownResponse.aspx?" + (isPractice ? "practices" : "industries") + "=true";

                    //populate dropdown
                    getListContents(searchLink, practiceDropdownContainer,
                    function() {
                        serviceSelect = $(".select4");
                        serviceSelect.change(onServiceSelectChange);
                    });
                }

                //change top stories/extras list
                function onServiceSelectChange() {

                    var selectedService = $(".select4 option:selected");
                    var selectedContentType = $(".select1 option:selected");
                    var output = "";

                    var searchLink = "/fcwsite/features/general/TopStoriesExtrasResponse.aspx?VisitGuid=" + hiddenVisitGuid.val() + "&" + selectedContentType.val() + "=true&Services=" + selectedService.val();
                    $(".topStoriesExtrasList").html(ajaxAnimation);
                    getListContents(searchLink, $(".topStoriesExtrasList"), function() { registerSort() });
                }

                //change type of content
                function onContentTypeChange() {
                    var selectedService = $(".select4 option:selected");
                    var selectedContentType = $(".select1 option:selected");

                    contentTypeSelect.attr("disabled", true);
                    var searchLink = "/fcwsite/features/general/TopStoriesExtrasResponse.aspx?VisitGuid=" + hiddenVisitGuid.val() + "&" + selectedContentType.val() + "=true&Services=" + selectedService.val();
                    $(".topStoriesExtrasList").html(ajaxAnimation);
                    getListContents(searchLink, $(".topStoriesExtrasList"),
                    function() {
                        contentTypeSelect.removeAttr("disabled");
                        registerSort();
                    }
                   );
                }

                //get list contents
                function getListContents(link, resultsContainer, callbackFunction) {
                    $.ajax({
                        url: link,
                        cache: true,
                        success:
                        function(data) {
                            resultsContainer.html(data);
                            if (callbackFunction != null)
                                callbackFunction();
                        }
                    });
                }
            }
         )
    }
);
