cws.loadCSS(dojo.moduleUrl("cws", "themes/collarity.css"));
cws.loadCSS(dojo.moduleUrl("cws", "themes/collarity_right_tabs.css"));
cws.loadCSS(dojo.moduleUrl("cust", "widgets.css"));

var qa = cws.urlParams()["collarity_qa"];
dojo.cookie("collarity_qa", qa, {path: "/", expires: (qa == "off" ? -1 : 0)});

if (!dojo.byId("q")) {
  var q = dojo.query("input[name=q]");
  if(q.length)q[0].setAttribute("id", "q");
}
var input = dojo.byId("q");
var query = (input ? input.value : "");
var st = cws._C.GetCookieSTValue();

// Delete the compass cookie, to ensure that the future search results are in Site mode: 
dojo.cookie("compass", "", {path: "/", expires: -1, domain:"chicagobusiness.com"});

var pubTitle = dojo.query("meta[name=pubTitle]");
var docTitle = pubTitle && pubTitle.length != 0 ? pubTitle[0].getAttribute("content") : document.title;

function tagCloudTermClickd(e) {
  e = cws._C.GetEventDOMRef(e);
  var q = document.getElementById("q");
  if(q) {
    var f = document.forms['form']; // || document.forms['searchForm'];
    if(f) q.value += " " + e.innerHTML;
    else {
      f = document.forms['searchForm'];
      if(f) q.value = e.innerHTML;
    }

    if(f) f.submit();
  }
}

var _htmlSearchContainer = "";
var _serp = document.getElementById("collarity_serp");
function _removeSerpSpinner() {
  _serp = document.getElementById("collarity_serp");
  if(_serp && _serp.innerHTML == _htmlSearchContainer) {
    if(document.getElementById("collarity_page_refresh")) return;
    var f = document.forms['form'];
    if(!f) f = document.forms['searchForm'];
    if(f) {
      var refresh = document.createElement("input");
      refresh.setAttribute("type", "hidden");
      refresh.setAttribute("id", "collarity_page_refresh");
      f.appendChild(refresh);
      f.submit();
    }
  }
}

if(_serp) {
  _htmlSearchContainer = _serp.innerHTML;
  setTimeout(_removeSerpSpinner, 30000);
}

cws.createWidgets({
  textAdSerp: {
    widgetClass: "cws.TextAds",
    containerId: "collarity_text_ad_serp",
    props: {
      number: 2,
      query: query,
      adHeader: "Advertisement",
      headerTemplate:  "<div class ='${w.baseClass}Header' align='center'>${w.adHeader}</div>"
    }
  },
  testAdArticle: {
    widgetClass: "cws.TextAds",
    containerId: "collarity_article_advertisement",
    props: {
      number: 3,
      query: query,
      adHeader: "Advertisement",
      headerTemplate: "<div class='${w.baseClass}Header' align='center'>${w.adHeader}</div>"
    }
  },
  relatedStories: {
    widgetClass: "cws.SuggestedStories",
    containerId: "collarity_related_stories",
    props: {
      maxTitleLength: 60,
      header: "You May Also Like",
      hintText: docTitle
    }
  },
  suggestedSearches: {
    widgetClass: "cws.RelatedSearches",
    containerId: "collarity_suggested_searches",
    props: {
      header: "Suggested Searches",
      separatorText: " - ",
      onTermClickCB: tagCloudTermClickd,
      hintText: docTitle
    }
  },
  tagcloud: {
    widgetClass: "cws.Tag",
    containerId: "collarity_tagcloud",
    props: {
      query: query,
      level: 0.5,
      method: "DocumentTagCloud",
      number: 10,
      header: "Refine Your Search",
      searchType: st,
      onTermClickCB: tagCloudTermClickd,
      tooltipLinkText: "What's this?"
    }
  },
  search: {
    widgetClass: "cws.ContentSearcher",
    containerId: "collarity_serp",
    props: {
      query: query,
      level: 0.5,
      withDate: true,
      searchType: st,
      itemTemplate: "<p>" +
                      "${title}" +
                      "<br />" +
                      "${date}" +
                      "${snippet}" +
                      "<br />" +
                      "${url}" +
                    "</p>",
      titleTemplate: "<b>" +
                       "<a href='${url}' id='${id}' target='${target}' class='${w.baseClass}Title'>" +
                         "${title}" +
                       "</a>" +
                     "</b>",
      dateTemplate: "<span class='${w.baseClass}Date'>" +
                      "Posted on ${m}/${d}/${y}" +
                    "</span>" + "<br />",
      snippetTemplate: "${snippet}",
      urlTemplate: (st == "web" ?
                      "<span class='small'>" +
                        "<b><a href='${url}'>${displayUrl}</a></b>" +
                      "</span>" : ""),
      countContainerId: "collarity_serp_count",
      countTemplate: "<br />" +
                     "Showing " +
                     "<b>${start} - ${end}</b>" +
                     " out of ${about} " +
                     "<b>${total}</b>" +
                     " matches",
      displayOnlyPrevNext: true,
      navSeparator: " ",
      navLinkTemplate: "<b class='${w.baseClass}NavLink${navLinkClass}'>" +
                        "<a href='#' class='${w.baseClass}NavLink'>" +
                          "${pageNumber}" +
                        "</a>" +
                       "</b>",
      insertWidgetInResults: true,
      insertWidgetAfterResultNumber: 3,
      insertWidgetClassName: "cws._W",
      insertWidgetProps: {
        mainTemplate: "",
        postCreate: function() {
          var hiddenAd = document.getElementById("collarity_ad_replace_hidden");
          if(hiddenAd)
            this.containerNode.innerHTML = hiddenAd.innerHTML;
        }
      }
    }
  },
  compass: {
    widgetClass: "cws.DropdownCompass",
    containerId: "compass",
    createContainer: true,
	  props: {
      containerId: "compass",
      inputId: "q",
      compassProps: {
        level: "0.5",
        numAssociationLines: "3",
        numSearchResults: "5",
        numAdvertisements: "1",
        st: "web",
        inputId: "q",
        // _onBlur: function() {},
        _readCookie: function() {
          // override the existing _readCookie, so that we ignore the user's tab selection.
          // do nothing
        },
        adHeader: 'Advertisement',
        noAssociationsMessage: 'No associations found',
        noResultsMessage: 'No results found',
		    searcherProperties: {
			    mainTemplate:
				    "<div class='${w.baseClass}Container'>" + /*
					    "<div class='${w.baseClass}Header'>" +
					      "Here are top search results. Hit GO button for full results." +
					    "</div>" + */
              "${resultList}" +
            "</div>"
		    },
		    tabs: [
          {display: "", st: "site", target: "", titles: "title", appid: window.collarity_appid},
          {display: "", st: "web", target: "_blank", titles: "url", appid: window.collarity_appid}
        ],
        selectedTab: 0,
        tabsSeparatorText: "",
        minimumHeight: 140,
        customPostCreate: function() {
          if(dojo.isIE) {
            var cwsCompassContainer = dojo.query(".cwsCompassContainer", this.containerNode);
            for(var i = 0; i < cwsCompassContainer.length; ++i) cwsCompassContainer[i].style.left = "0px";
          }
        }
      }
    }
  },
  buzz: {
    widgetClass: "cws.BuzzIndicator",
    containerId: "buzzContainer",
    props: {
      number: 8,
      days: 2,
      title: "Today's Buzz",
      withNumbering: false,
      onTermClickCB: tagCloudTermClickd
    }
  }
});
