// Misc
function hasWindowExternal() {
    return (typeof(window.external) != 'undefined');
}

function hasWindowSidebar() {
    return (typeof(window.sidebar) != 'undefined');
}
// /Misc

// Focus
function setFocus(id) {
    if (typeof(document.getElementById) != 'undefined') {
        var obj = document.getElementById(id);
        if (obj && obj.type == 'text') {
            obj.focus();
        }
    }
}
// /Focus

// Move
function moveTo(url, qp, id, ie, op) {
    var q = document.forms[0].q.value;
    if (typeof(encodeURIComponent) == 'function') {
        var eq = encodeURIComponent(q);
        location.href = url + '?' + (op ? op + '&' : '') + 'ie=utf8&' + qp + '=' + eq;
        return false;
    }
    if (ie) {
        window.location.href = url + '?' + (op ? op + '&' : '') + 'ie=' + ie + '&' + qp + '=' + q;
        return false;
    }
    window.location.href = url + '?' + qp + '=' + q;
    return false;
}
// /Move

// Favorite
function writeFavoriteLink(favoriteName, favoriteUrl, searchProviderXml, searchEngineSrcBase) {
    if (hasAddSearchProvider()) {
        var src;
        src = '&nbsp;｜&nbsp;';
        src += '<a href="#" onclick="addSearchProvider(';
        src += '&quot;' + searchProviderXml + '&quot;';
        src += ')">ブラウザに追加</a>';
        document.write(src);
    } else if (hasAddSearchEngine()) {
        var src;
        src = '&nbsp;｜&nbsp;';
        src += '<a href="#" onclick="addSearchEngine(';
        src += '&quot;' + favoriteName + '&quot;, &quot;' + searchEngineSrcBase + '&quot;';
        src += ')">ブラウザに追加</a>';
        document.write(src);
    } else if (hasAddFavorite()) {
        var src;
        src = '&nbsp;｜&nbsp;';
        src += '<a href="#" onclick="addFavorite(';
        src += '&quot;' + favoriteName + '&quot;, &quot;' + favoriteUrl + '&quot;';
        src += ')">お気に入りに登録</a>';
        document.write(src);
    } else {
        var src;
        src = '&nbsp;｜&nbsp;';
        src += '<a href="http://docs.livedoor.com/dokodemo/bookmark.html">お気に入りに登録</a>';
        document.write(src);
    }
}

function hasAddFavorite() {
    if (hasWindowExternal()) {
        try {
            return  (typeof(window.external.AddFavorite) != 'undefined');
        } catch (e)
        {
        }
    }
    return false;
}

function addFavorite(favoriteName, favoriteUrl) {
    if (hasAddFavorite()) {
        window.external.AddFavorite(favoriteUrl, favoriteName);
    } else {
        document.location.href = "http://docs.livedoor.com/dokodemo/bookmark.html";
    }
}

function hasAddSearchProvider() {
    if (hasWindowExternal()) {
        try {
            return (typeof(window.external.AddSearchProvider) != 'undefined');
        } catch (e)
        {
        }
    }
    return false;
}

function addSearchProvider(searchProviderXml) {
    if (hasAddSearchProvider()) {
        window.external.AddSearchProvider(searchProviderXml);
    }
}

function hasAddSearchEngine() {
    if (hasWindowSidebar()) {
        return (typeof(window.sidebar.addSearchEngine) != 'undefined');
    }
    return false;
}

function addSearchEngine(favoriteName, searchEngineSrcBase) {
    if (hasAddSearchEngine()) {
        window.sidebar.addSearchEngine(
            searchEngineSrcBase + '.src',
            searchEngineSrcBase + '.gif',
            favoriteName,
            ''
        );
    }
}
// /Favorite

// Browser
function writeIfBrowser(browser, text1, text2) {
    if (browser == getBrowserType()) {
        if (text1) {
            document.write(text1);
        }
    } else {
        if (text2) {
            document.write(text2);
        }
    }
}

function getBrowserType() {
    var sAgent = navigator.userAgent.toLowerCase();
    var nMajor = parseInt(navigator.appVersion);
    var nMinor = parseFloat(navigator.appVersion);
    var bIsIE = (nMajor >= 4 && sAgent.indexOf("msie") != -1);
    var browser = 'unknown';
    if (bIsIE) {
      var nIEVer = parseFloat(sAgent.substr(sAgent.indexOf("msie ") + 5, 3));
      if (nIEVer < 6.0) {
        browser = 'ie5';
      } else if (nIEVer < 7.0) {
        browser = 'ie6';
      } else if (nIEVer < 8.0) {
        browser = 'ie7';
      } else {
        browser = 'ie8';
      }
    }
    return browser;
}
// /Browser

