﻿
var inter = undefined;
var ScopeItems = function () { }

ScopeItems.ThisSite = "Search this site";
ScopeItems.Microsoft = "Search Microsoft.com";
ScopeItems.Internet = "Search the Web";

var currentScopeItem = ScopeItems.ThisSite;


/****scope area function*****/
function OnClick_ScopeButton() {
    ChangeScopeAreaStatus();
}

function OnMouseOver_ScopeArea() {
    //document.getElementById("divScope").cancelBubble();//stopPropagation()
    document.getElementById("divScope").style.display = "block";
    if (inter) {
        clearTimeout(inter);
        inter = undefined;
        //document.getElementById("divScope").style.display="block";
    }
}
function OnMouseOut_ScopeArea() {
    //if(event.srcElement==document.getElementById("divScope"));
    if (window.event)
        event.cancelBubble = true;


    var a = function () { inter = undefined; HideScopeArea(); };
    if (document.getElementById("divScope").style.display != "none" && !inter)
        inter = setTimeout(a, 500);
    //document.getElementById("divScope").cancelBubble();

}
function HideScopeArea() {
    var scopeArea = document.getElementById("divScope");
    scopeArea.style.display = "none";
}
function ChangeScopeAreaStatus() {
    var scopeArea = document.getElementById("divScope");
    if (scopeArea.style.display == "none")
        scopeArea.style.display = "block";
    else
        scopeArea.style.display = "none";
}
function OnMouseOver_ScopeItem(sender) {
    sender.style.backgroundColor = "#BDDBEF";
}
function OnMouseOut_ScopeItem(sender) {
    sender.style.backgroundColor = "white";
}
function OnClick_ScopeItem(sender, anchor) {
    this.ResetScopeItemsStyle();
    sender.className = "selectedItem";
    var title = document.getElementById(anchor).title;
    document.getElementById("iptSubmit").title = title;
    currentScopeItem = title;
    var value = document.getElementById("iptSearchTextBox").value;
    if (value.replace(/(^\s*)|(\s*$)/g, "") != ""
    && value != ScopeItems.ThisSite
    && value != ScopeItems.Microsoft
    && value != ScopeItems.Internet) {
        document.getElementById("iptSearchTextBox").value = value;
    }
    else {
        document.getElementById("iptSearchTextBox").value = title;
        chagnedSearchBoxStyleToEmpty();
    }
    HideScopeArea();

}
function ResetScopeItemsStyle() {
    document.getElementById("divItemSite").className = "unselectedItem";
    document.getElementById("divItemMro").className = "unselectedItem";
    document.getElementById("divItemInter").className = "unselectedItem";
}
/***end*********/

/****Search box function***********/
function OnFocus_SearchBox() {
    var objSearch = document.getElementById("iptSearchTextBox");
    if (objSearch.value == ScopeItems.ThisSite || objSearch.value == ScopeItems.Microsoft || objSearch.value == ScopeItems.Internet) {
        objSearch.value = "";
        changeSearchBoxStyle();
    }
    else chagnedSearchBoxStyleToNormal();
}

function OnBlur_SearchBox() {
    var sb = document.getElementById("iptSearchTextBox");
    if (sb.value.replace(/(^\s*)|(\s*$)/g, "") == "") {
        if (currentScopeItem == ScopeItems.ThisSite) sb.value = ScopeItems.ThisSite;
        else if (currentScopeItem == ScopeItems.Microsoft) sb.value = ScopeItems.Microsoft;
        else if (currentScopeItem == ScopeItems.Internet) sb.value = ScopeItems.Internet;
        changeSearchBoxStyle();
    }
    else if (sb.value == ScopeItems.ThisSite || sb.value == ScopeItems.Microsoft || sb.value == ScopeItems.Internet)
        changeSearchBoxStyle();
}
function chagnedSearchBoxStyleToEmpty() {
    var sb = document.getElementById("iptSearchTextBox");
    sb.className = "searchBox_Empty";
}
function chagnedSearchBoxStyleToNormal() {
    var sb = document.getElementById("iptSearchTextBox");
    sb.className = "searchBox_Normal";
}
function changeSearchBoxStyle() {
    var sb = document.getElementById("iptSearchTextBox");
    if (sb.className == "searchBox_Empty")
        sb.className = "searchBox_Normal";
    else
        sb.className = "searchBox_Empty";
}
function encodeKeyword(str) {
    return escape(str).replace(/\+/g, '%2B').replace(/\"/g, '%22').replace(/\'/g, '%27').replace(/\//g, '%2F');
}
/*********end*****************/

/***************Button event********************/
var SearchURL = function () { }
SearchURL.thisSiteUrl = "http://search.microsoft.com/Results.aspx";
SearchURL.microsoftSiteUrl = "http://search.microsoft.com/Results.aspx";
SearchURL.internetUrl = "http://www.bing.com/search";
var thisSiteUrlFormat = "?q={$q}&mkt=en-US&FORM=QBME1&l=1&refradio=0&qsc0=0";
var microsoftsSiteUrlFormat = "?mkt=en-US&q={$q}&FORM=QBME1&l=1&refradio=0&qsc0=0";
var internetUrlFormat = "?FORM=MSSBMN&q={$q}";
function OnClick_SearchButton() {
    var keyword = document.getElementById("iptSearchTextBox").value;

    // Search Scope - This Site
    if (currentScopeItem == ScopeItems.ThisSite) {
        if (keyword.replace(/(^\s*)|(\s*$)/g, "") != ScopeItems.ThisSite
          && keyword.replace(/(^\s*)|(\s*$)/g, "") != ScopeItems.Microsoft
          && keyword.replace(/(^\s*)|(\s*$)/g, "") != ScopeItems.Internet)
            window.location.href = SearchURL.thisSiteUrl + thisSiteUrlFormat.replace("{$q}", encodeKeyword(keyword) + " (site:http://www.microsoft.com/maps/)");
        else window.location.href = SearchURL.thisSiteUrl + thisSiteUrlFormat.replace("{$q}", " (site:http://www.microsoft.com/maps/)");
    }
    // Search Scope - Microsoft.com
    else if (currentScopeItem == ScopeItems.Microsoft) {
    if (keyword.replace(/(^\s*)|(\s*$)/g, "") != ScopeItems.ThisSite
          && keyword.replace(/(^\s*)|(\s*$)/g, "") != ScopeItems.Microsoft
          && keyword.replace(/(^\s*)|(\s*$)/g, "") != ScopeItems.Internet)
            window.location.href = SearchURL.microsoftSiteUrl + microsoftsSiteUrlFormat.replace("{$q}", encodeKeyword(keyword));
        else window.location.href = SearchURL.microsoftSiteUrl + microsoftsSiteUrlFormat.replace("{$q}", "");
    }
    // Search Scope - Internet (Bing)
    else {
        if (keyword.replace(/(^\s*)|(\s*$)/g, "") != ScopeItems.ThisSite
          && keyword.replace(/(^\s*)|(\s*$)/g, "") != ScopeItems.Microsoft
          && keyword.replace(/(^\s*)|(\s*$)/g, "") != ScopeItems.Internet)
            window.location.href = SearchURL.internetUrl + internetUrlFormat.replace("{$q}", encodeKeyword(keyword));
        else window.location.href = SearchURL.internetUrl + internetUrlFormat.replace("{$q}", "");
    }
}

function OnClick_WebSearchButton() {
    var keyword = document.getElementById("iptSearchTextBox").value;
    if (currentScopeItem == ScopeItems.ThisSite) {
        if (keyword.replace(/(^\s*)|(\s*$)/g, "") != ScopeItems.ThisSite
          && keyword.replace(/(^\s*)|(\s*$)/g, "") != ScopeItems.Microsoft
          && keyword.replace(/(^\s*)|(\s*$)/g, "") != ScopeItems.Internet)
            window.location.href = SearchURL.internetUrl + internetUrlFormat.replace("{$q}", encodeKeyword(keyword));
        else window.location.href = SearchURL.internetUrl + internetUrlFormat.replace("{$q}", "");
    }
    else if (currentScopeItem == ScopeItems.Microsoft) {
        if (keyword.replace(/(^\s*)|(\s*$)/g, "") != ScopeItems.ThisSite
          && keyword.replace(/(^\s*)|(\s*$)/g, "") != ScopeItems.Microsoft
          && keyword.replace(/(^\s*)|(\s*$)/g, "") != ScopeItems.Internet)
            window.location.href = SearchURL.internetUrl + internetUrlFormat.replace("{$q}", encodeKeyword(keyword));
        else window.location.href = SearchURL.internetUrl + internetUrlFormat.replace("{$q}", "");
    }
    else {
        if (keyword.replace(/(^\s*)|(\s*$)/g, "") != ScopeItems.ThisSite
          && keyword.replace(/(^\s*)|(\s*$)/g, "") != ScopeItems.Microsoft
          && keyword.replace(/(^\s*)|(\s*$)/g, "") != ScopeItems.Internet)
            window.location.href = SearchURL.internetUrl + internetUrlFormat.replace("{$q}", encodeKeyword(keyword));
        else window.location.href = SearchURL.internetUrl + internetUrlFormat.replace("{$q}", "");
    }

}
/***********************end*********************/


