﻿document.observe("dom:loaded", function(ev) {
    var search = $('searchForm');
    var searchQuery = $('searchQuery');
    var searchSubmit = $('searchSubmit');

    if (searchQuery && searchSubmit) {
        if (typeof searchSubmit.observe != 'undefined') {
            searchSubmit.observe('click', function(ev) {
                ev.stop();
                url = '/search.aspx?q=' + escape($F(searchQuery));
                window.location = url;
            });
        }
    }

    var toggleLinks = $$('.toggle');

    toggleLinks.each(function(element) {
        element.observe('click', function(ev) {
            ev.stop();
            var resultGroup = $(element.id.substr(0, 5) + '_group');
            if (resultGroup) {
                if (resultGroup.getStyle('display') == 'none') {
                    resultGroup.show();
                } else {
                    resultGroup.hide();
                }
            }
        });
    });

    var collapseLinks = $$('a.collapse');

    collapseLinks.each(function(element) {
        element.observe('click', function(ev) {
            ev.stop();
            $(element.id.substr(0, 5) + '_group').hide();
        });
    });

    var expandLinks = $$('a.expand');

    expandLinks.each(function(element) {
        element.observe('click', function(ev) {
            ev.stop();
            $(element.id.substr(0, 5) + '_group').show();
        });
    });

    var resultGroups = $$('div.resultGroup');

    resultGroups.each(function(element) {
        var children = element.childElements();
        if (children.length > 0) {
            children[children.length - 1].addClassName('last');
        }
    });

    // event tracking
    var searchFeedback = $('searchFeedback');
    var negativeFeedback = $('no');
    var positiveFeedback = $('yes');
    var term = $$('#searchFeedback .searchTerm')[0];    

    if (searchFeedback && negativeFeedback && positiveFeedback && term) {
        searchFeedback.show();

        var redirect = $$('#searchFeedback span.redirect')[0].id;

        negativeFeedback.observe('click', function(ev) {
            ev.stop();
            pageTracker._trackEvent('SearchFeedback-Negative', term.id, window.location.pathname);
            SendFeedbackResponse(term, false, redirect);
        });

        positiveFeedback.observe('click', function(ev) {
            ev.stop();
            pageTracker._trackEvent('SearchFeedback-Positive', term.id, window.location.pathname);
            SendFeedbackResponse(term, true, redirect);
        });
    }

    function SendFeedbackResponse(messageContainer, isPositive, redirect) {
        
        $$('#searchFeedback p span#message')[0].hide();

        if (isPositive || redirect == '1') {
            messageContainer.update('Thank you for your feedback.');
        } else {
            messageContainer.update('Thank you for your feedback. <a href="/search.aspx?q=' + messageContainer.id + '">Click here to go back to the search results</a>.');
        }
    }
});
