﻿if (!TD)
	var TD = {};

TD.projectLifeTimes.AdvancedSearch = {

    Search: function(lnameID, categoryID, publicationID, keywordID, path, refineSearch, defaultSort) {
        var lnameObj = document.getElementById(lnameID);
        var categoryObj = document.getElementById(categoryID);
        var keywordObj = document.getElementById(keywordID);
        var pubObj = document.getElementById(publicationID);
        var sort = defaultSort || "EnterDate+desc";

        var url = "/search?atype=Classified&sort=" + sort;
        var qs = "";

        url = "/" + path + url;

        // last name:
        if (lnameObj && lnameObj.value != "")
            qs += "&r=(LastName1:" + lnameObj.value + " OR LastName2:" + lnameObj.value + ")&kw=" + lnameObj.value;

        // keyword(s):
        if (keywordObj && keywordObj.value != "")
            qs += "&q=" + keywordObj.value;

        // category:
        if (categoryObj && categoryObj.value != "0")
            qs += "&r=FullCategory:%22/Classified/" + escape(categoryObj.value) + "%22";

        // publication:
        if (pubObj && pubObj.value != "0") {
            if (pubObj.value == "/Publication/Toronto/Inside Toronto") {
                qs += "&r=(FullCategory:%22" + pubObj.value + "%22" + " OR FullCategory:%22/Publication/York/York Region%22)";
            }
            else {
                qs += "&r=FullCategory:%22" + pubObj.value + "%22";
            }
        }

        if (refineSearch != "")
            qs += "&r=FullCategory:\"" + refineSearch + "\"";

        if (qs == "")
            qs = "&r=all:1";

        url += qs;

        window.location = url;
    },

    SearchBrowse: function(lnameID, categoryID, publicationID, keywordID, path, refineSearch, itemSearch, defaultSort) {
        var lnameObj = document.getElementById(lnameID);
        var categoryObj = document.getElementById(categoryID);
        var keywordObj = document.getElementById(keywordID);
        var pubObj = document.getElementById(publicationID);
        var sort = defaultSort || "EnterDate+desc";

        var url = "/search?atype=Classified&sort=" + sort;
        var qs = "";

        url = "/" + path + url;

        // last name:
        if (lnameObj && lnameObj.value != "")
            qs += "&r=(LastName1:" + lnameObj.value + " OR LastName2:" + lnameObj.value + ")&kw=" + lnameObj.value;

        // keyword(s):
        if (keywordObj && keywordObj.value != "")
            qs += "&q=" + keywordObj.value;

        // category:
        if (categoryObj && categoryObj.value != "0")
            qs += "&r=FullCategory:%22/Classified/" + escape(categoryObj.value) + "%22";

        // publication:
        if (pubObj && pubObj.value != "0") {
            if (pubObj.value == "/Publication/Toronto/Inside Toronto") {
                qs += "&r=(FullCategory:%22" + pubObj.value + "%22" + " OR FullCategory:%22/Publication/York/York Region%22)";
            }
            else {
                qs += "&r=FullCategory:%22" + pubObj.value + "%22";
            }
        }

        if (refineSearch != "")
            qs += "&r=FullCategory:\"" + refineSearch + "\"";

        if (itemSearch != "")
            qs += "&r=category:\"" + escape(itemSearch) + "\"";

        if (qs == "")
            qs = "&r=all:1";

        url += qs;

        window.location = url;
    },

    getParameterByName: function(name) {
        name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
        var regexS = "[\\?&]" + name + "=([^&#]*)";
        var regex = new RegExp(regexS);

        var url = window.location.href;
        if (url.indexOf('&r=all:1') > 0) url = url.replace('&r=all:1', '');

        var results = regex.exec(url);

        if (results == null)
            return "";
        else {
            return results[1];
        }
    },


    Archive: function(a) {

        var raw = document.location.href;

        var queries = location.search.replace(/^\?/, '').split("&");
        var r = $.grep(queries, function(n) { return n.indexOf("r=") === 0; });

        //var r = TD.projectLifeTimes.AdvancedSearch.getParameterByName('r');
        var kwq = TD.projectLifeTimes.AdvancedSearch.getParameterByName('kw');

        var enterdateq = '&r=EnterDate:';
        var enterdateindx = raw.indexOf(enterdateq);
        if (enterdateindx > 0) {
            raw = raw.substring(0, enterdateindx);
        }

        var aurl = '&archive=';

        if (raw.indexOf('obituariesandmemorials') > 0) aurl = '?archive=';
        if (raw.indexOf('births') > 0) aurl = '?archive=';
        if (raw.indexOf('marriages') > 0) aurl = '?archive=';
        if (raw.indexOf('announcements') > 0) aurl = '?archive=';

        var indx = raw.indexOf(aurl);
        var newurl = raw;
        var newparam = aurl + a;

        if (indx > 0) {
            var old = raw.substring(indx);
            newurl = raw.replace(old, newparam);
        }
        else {
            newurl += newparam;
        }

        if (r.length) newurl += '&' + r.join("&");

        document.location.href = newurl;
    }

}