// 《参考URL》
// http://developer.yahoo.co.jp/search/web/V1/webSearch.html
// http://code.google.com/intl/ja/apis/ajaxsearch/documentation/reference.html

// 半透明 解除
$().ajaxStop($.unblockUI);

// ライバルサイト検証
function CheckRival() {

    // 検証結果エリア初期化
    $("#ResultData").remove();
    $("#Result").append($("<div>").attr("id", "ResultData"));

    // 入力値チェック
    if (!CheckInputValue()){
        return false;
    }

    // 半透明 設定
    $.extend($.blockUI.defaults.overlayCSS, {backgroundColor: "#ffffff"});
    $.blockUI({ message: '<div class="NowChecking"><img src="image/NowLoading.gif" />チェック中です...</div>' });

    // キーワード
    var q = escape(jQuery.trim($("#txtKeywords").val()));
    // 自サイトURL
    var url = jQuery.trim($("#txtYourSiteUrl").val());
    // 検索エンジン
    var se = $("input:radio[name='rdoSearchEngine']:checked").val()
    // 表示件数
    var dn = $("input:radio[name='rdoDisplayNum']:checked").val()

    // ログ書込（ライバルサイトチェッカー）
    OutputRivalSiteCheckerLog(q, url, se, dn)

    // 自サイトチェック
    CheckOwnSite(url);
    // ライバルサイトチェック
    CheckRivalSite(q, url, se, dn);

    // 半透明 解除
    $().ajaxStop($.unblockUI);

    return true;
}

// 入力値チェック
function CheckInputValue() {
    var ret = true;
    // キーワード
    var q = escape(jQuery.trim($("#txtKeywords").val()));
    if (q == "") {
        // キーワードが未入力の場合、エラーメッセージ 表示
        $("#ResultData").append("キーワードを入力してください。<br>");
        ret = false;
    }
    // 自サイトURL
    var u = escape(jQuery.trim($("#txtYourSiteUrl").val()));
    if (u == "") {
        // 自サイトURLが未入力の場合、エラーメッセージ 表示
        $("#ResultData").append("あなたのサイトのURLを入力してください。<br>");
        ret = false;
    }
    return ret;
}

// ログ書込（ライバルサイトチェッカー）
function OutputRivalSiteCheckerLog(q, url, se, dn) {
    $.ajax({
         url        : "./Log.aspx?m=1&q="+q+"&u="+escape(url)+"&se="+se+"&dn="+dn
        ,dataType   : "text"
    });
}

// 自サイトチェック
function CheckOwnSite(url) {

    // 検証結果エリア作成
    $("#ResultData").append(
        $("<div>").attr("class", "OwnSite").append(
            $("<div>").attr("class", "SiteTitle").append("あなたのサイト")
           ,$("<div>").attr("class", "SiteUnit").append(
                $("<div>").attr("class", "Left").append(
                     $("<div>").attr("class", "Capture").append(
                        $("<img>").attr("src", "http://capture.heartrails.com/190x140/shadow/border?"+url)
                     )
                    ,$("<table cellpadding=2 cellspacing=0>").attr("class", "SiteInfo").append(
                        $("<tr>").append(
                             $("<td>").attr("class", "YTitle").append("Yahoo")
                            ,$("<td>").attr("class", "GTitle").append("Google")
                        )

                       ,$("<tr>").append(
                            $("<td colspan=2>").attr("class", "LINK").append("検索順位")
                        )
                       ,$("<tr>").append(
                             $("<td>").attr("class", "YRank").attr("id", "OwnYRank").attr("title", "Yahoo 検索順位")
                            ,$("<td>").attr("class", "GRank").attr("id", "OwnGRank").attr("title", "Google 検索順位")
                        )

                       ,$("<tr>").append(
                            $("<td colspan=2>").attr("class", "LINK").append("被リンク数")
                        )
                       ,$("<tr>").append(
                             $("<td>").attr("class", "YLN").attr("id", "OwnYLN").attr("title", "Yahoo リンク数")
                            ,$("<td>").attr("class", "GLN").attr("id", "OwnGLN").attr("title", "Google リンク数")
                        )

                       ,$("<tr>").append(
                            $("<td colspan=2>").attr("class", "LINK").append("インデックス数")
                        )
                       ,$("<tr>").append(
                             $("<td>").attr("class", "YIN").attr("id", "OwnYIN").attr("title", "Yahoo インデックス数")
                            ,$("<td>").attr("class", "GIN").attr("id", "OwnGIN").attr("title", "Google インデックス数")
                        )
                        
                       ,$("<tr>").append(
                            $("<td colspan=2>").attr("class", "LINK").append("Yahooカテゴリ")
                        )
                       ,$("<tr>").append(
                        	$("<td colspan=2>").attr("class", "YCAT").attr("id", "OwnYCAT")
                        )
                        
                       ,$("<tr>").append(
                            $("<td colspan=2>").attr("class", "LINK").append("Google PageRank")
                        )
                       ,$("<tr>").append(
                        	$("<td colspan=2>").attr("class", "GPR").attr("id", "OwnGPR")
                        )

                       ,$("<tr>").append(
                            $("<td colspan=2>").attr("class", "LINK").append("ドメイン取得年月日")
                        )
                       ,$("<tr>").append(
                        	$("<td colspan=2>").attr("class", "Whois").attr("id", "OwnWhois")
                        )

                       ,$("<tr>").append(
                            $("<td colspan=2>").attr("class", "LINK").append("SBM")
                        )
                       ,$("<tr>").append(
                        	$("<td colspan=2>").attr("class", "SBM").attr("id", "OwnSBM")
                        )

                     )
                )
               ,$("<div>").attr("class", "Right").append(
                     $("<div>").attr("class", "SN").attr("id", "OwnSN")
                    ,$("<div>").attr("class", "Url").attr("id", "OwnUrl").append(
                        $("<a></a>").attr("target", "_blank").attr("href", url).append(url)
                     )
                    ,$("<div>").attr("class", "ItemTitle").append("Title")
                    ,$("<div>").attr("class", "Title").attr("id", "OwnTitle")
                    ,$("<div>").attr("class", "ItemTitle").append("Description")
                    ,$("<div>").attr("class", "Description").attr("id", "OwnDescription")
                    ,$("<div>").attr("class", "ItemTitle").append("Keywords")
                    ,$("<div>").attr("class", "Keywords").attr("id", "OwnKeywords")
                    /*
                    ,$("<div>").attr("class", "ItemTitle").append("出現頻度（Keywords）")
                    ,$("<div>").attr("class", "Keywords").attr("id", "OwnKeywordsRate")
                    */
                    ,$("<div>").attr("class", "ItemTitle").append("キーワード出現頻度（トップ10）")
                    ,$("<div>").attr("class", "Keywords").attr("id", "OwnKeywordsRateTop")
                )
            )
            ,$("<div>").attr("class", "Clear")
        )
    );

    // Yahoo リンク数
    GetYahooLinkNum(url, "OwnYLN");
    // Yahoo インデックス数
    GetYahooIndexNum(url, "OwnYIN");
    // Yahoo カテゴリ
    GetYahooCategory(url, "OwnYCAT");

    // Google PageRank
    GetGooglePageRank(url, "OwnGPR");
    // Google リンク数
    GetGoogleLinkNum(url, "OwnGLN");
    // Google インデックス数
    GetGoogleIndexNum(url, "OwnGIN");

    // SBM数（ソーシャルブックマーク数）
    GetSBMNum(url, "OwnSBM");

    // Whois情報
    GetWhois(url, "OwnWhois");

    // ページ情報（title、description、keyword）
    GetPageInfo(url, "OwnSN", "OwnContentType", "OwnTitle", "OwnDescription", "OwnKeywords", "OwnKeywordsRate", "OwnKeywordsRateTop");

}

// ライバルサイトチェック
function CheckRivalSite(q, url, se, dn) {

    for(var i=0; i<dn; i++) {

        // 検証結果エリア作成
        $("#ResultData").append(
            $("<div>").attr("class", "RvlSite").append(
                $("<div>").attr("class", "SiteTitle").append("ライバルサイト "+(i+1))
               ,$("<div>").attr("class", "SiteUnit").append(
                    $("<div>").attr("class", "Left").append(
                         $("<div>").attr("class", "Capture").attr("id", "RvlCapture"+i)
                        ,$("<table cellpadding=2 cellspacing=0 width=200px>").attr("class", "SiteInfo").append(
                            $("<tr>").append(
                                 $("<td>").attr("class", "YTitle").append("Yahoo")
                                ,$("<td>").attr("class", "GTitle").append("Google")
                            )
	                       ,$("<tr>").append(
	                            $("<td colspan=2>").attr("class", "LINK").append("検索順位")
	                        )
                           ,$("<tr>").append(
                                 $("<td>").attr("class", "YRank").attr("id", "RvlYRank"+i).attr("title", "Yahoo 検索順位")
                                ,$("<td>").attr("class", "GRank").attr("id", "RvlGRank"+i).attr("title", "Google 検索順位")
                            )
	                       ,$("<tr>").append(
	                            $("<td colspan=2>").attr("class", "LINK").append("被リンク数")
	                        )
                           ,$("<tr>").append(
                                 $("<td>").attr("class", "YLN").attr("id", "RvlYLN"+i).attr("title", "Yahoo リンク数")
                                ,$("<td>").attr("class", "GLN").attr("id", "RvlGLN"+i).attr("title", "Google リンク数")
                            )
	                       ,$("<tr>").append(
	                            $("<td colspan=2>").attr("class", "LINK").append("インデックス数")
	                        )
                           ,$("<tr>").append(
                                 $("<td>").attr("class", "YIN").attr("id", "RvlYIN"+i).attr("title", "Yahoo インデックス数")
                                ,$("<td>").attr("class", "GIN").attr("id", "RvlGIN"+i).attr("title", "Google インデックス数")
                            )

	                       ,$("<tr>").append(
	                            $("<td colspan=2>").attr("class", "LINK").append("Yahooカテゴリ")
	                        )
	                       ,$("<tr>").append(
                            	$("<td colspan=2>").attr("class", "YCAT").attr("id", "RvlYCAT"+i)
                            )
                            
	                       ,$("<tr>").append(
	                            $("<td colspan=2>").attr("class", "LINK").append("Google PageRank")
	                        )
	                       ,$("<tr>").append(
                            	$("<td colspan=2>").attr("class", "GPR").attr("id", "RvlGPR"+i)
                            )
                            
                           ,$("<tr>").append(
                                $("<td colspan=2>").attr("class", "LINK").append("ドメイン取得年月日")
                            )
                           ,$("<tr>").append(
                        	    $("<td colspan=2>").attr("class", "Whois").attr("id", "RvlWhois"+i)
                            )

                           ,$("<tr>").append(
                                $("<td colspan=2>").attr("class", "LINK").append("SBM")
                            )
                           ,$("<tr>").append(
                    	        $("<td colspan=2>").attr("class", "SBM").attr("id", "RvlSBM"+i)
                            )

                        )
                    )
                   ,$("<div>").attr("class", "Right").append(
                         $("<div>").attr("class", "SN").attr("id", "RvlSN"+i)
                        ,$("<div>").attr("class", "Url").attr("id", "RvlUrl"+i)
                        ,$("<div>").attr("class", "ItemTitle").append("Title")
                        ,$("<div>").attr("class", "Title").attr("id", "RvlTitle"+i)
                        ,$("<div>").attr("class", "ItemTitle").append("Description")
                        ,$("<div>").attr("class", "Description").attr("id", "RvlDescription"+i)
                        ,$("<div>").attr("class", "ItemTitle").append("Keywords")
                        ,$("<div>").attr("class", "Keywords").attr("id", "RvlKeywords"+i)
                        /*
                        ,$("<div>").attr("class", "ItemTitle").append("出現頻度（Keywords）")
                        ,$("<div>").attr("class", "Keywords").attr("id", "RvlKeywordsRate"+i)
                        */
                        ,$("<div>").attr("class", "ItemTitle").append("出現頻度（トップ10）")
                        ,$("<div>").attr("class", "Keywords").attr("id", "RvlKeywordsRateTop"+i)
                    )
                )
               ,$("<div>").attr("class", "Clear")
           )
        );
    }

    // 検索結果ページサイズ
    var GOOGLE_WEBSEARCH_RESUTL_SIZE_LARGE = 8;      //「大（large）」＝8件
    var GOOGLE_WEBSEARCH_RESUTL_SIZE_SMALL = 4;      //「小（small）」＝4件
    var pgSize = GOOGLE_WEBSEARCH_RESUTL_SIZE_LARGE

    if( se == 1 ) {

        //////////  Yahoo! //////////

        // Yahoo検索
        $.getJSON("./WebSearchUrlByYahoo.aspx?q="+q+"&n="+dn, function(resultSet) {
            // 検索結果 表示
            $.each(resultSet.ResultSet.Result, function(idx, ret) {
                var yurl = ret.Url;

                //
                $("#RvlCapture"+idx).empty();
                $("#RvlCapture"+idx).append($("<img>").attr("src", "http://capture.heartrails.com/190x140/shadow/border?"+yurl))

                // Yahoo 順位
                $("#RvlYRank"+idx).empty();
                $("#RvlYRank"+idx).append("第 "+(idx+1)+" 位");

                // サイト名
                $("#RvlSN"+idx).empty();
                $("#RvlSN"+idx).append(ret.Title);

                // URL
                $("#RvlUrl"+idx).empty();
                $("#RvlUrl"+idx).append(
                    $("<a></a>").attr("target", "_blank").attr("href", yurl).append(yurl)
                );

                // Yahoo リンク数
                GetYahooLinkNum(yurl, "RvlYLN"+idx);
                // Yahoo インデックス数
                GetYahooIndexNum(yurl, "RvlYIN"+idx);
                // Yahoo カテゴリ
                GetYahooCategory(yurl, "RvlYCAT"+idx);

                // Google PageRank
                GetGooglePageRank(yurl, "RvlGPR"+idx);
                // Google リンク数
                GetGoogleLinkNum(yurl, "RvlGLN"+idx);
                // Google インデックス数
                GetGoogleIndexNum(yurl, "RvlGIN"+idx);

                // SBM数（ソーシャルブックマーク数）
                GetSBMNum(yurl, "RvlSBM"+idx);

                // Whois情報
                GetWhois(yurl, "RvlWhois"+idx);

                // ページ情報（title、description、keyword）
                GetPageInfo(yurl, "", "RvlContentType"+idx, "RvlTitle"+idx, "RvlDescription"+idx, "RvlKeywords"+idx, "RvlKeywordsRate"+idx, "RvlKeywordsRateTop"+idx);

                // Yahoo 順位（自サイト）
                if( $("#OwnUrl").find("a").text() == yurl) {
                    $("#OwnYRank").empty();
                    $("#OwnYRank").append("第 "+(idx+1)+" 位");
                }

            });

            // Web検索する回数（1～4回）
            var nnn = 30
            var wsNum = (nnn - (nnn % pgSize)) / pgSize;
            if (nnn % pgSize > 0) {
                wsNum++;
            }

            for (var j=0; j<wsNum; j++) {
                // Google検索
                var start = j * pgSize;  // 開始ページ
                $.getJSON("./WebSearchUrlByGoogle.aspx?q="+q+"&s="+start, function(result) {
                    // 現在の検索結果ページインデックス
                    var curPgIdx = result.responseData.cursor.currentPageIndex;
                    // 検索結果 表示
                    $.each(result.responseData.results, function(i, ret) {
                        if ( (curPgIdx*pgSize)+i+1 > nnn ) {
                            // 表示件数を超えたら終了
                            return false;
                        } else {
                            var idx = (curPgIdx * pgSize) + i;
                            var gurl = ret.url;
                            for (var k=0; k<dn; k++) {
                                if( $("#RvlUrl"+k).find("a").text() == gurl) {
                                    $("#RvlGRank"+k).empty();
                                    $("#RvlGRank"+k).append("第 "+(idx+1)+" 位");
                                    break;
                                }
                            }
                            // Google 順位（自サイト）
                            if( $("#OwnUrl").find("a").text() == gurl) {
                                $("#OwnGRank").empty();
                                $("#OwnGRank").append("第 "+(idx+1)+" 位");
                            }
                            return true;
                        }
                    });

                    // Google 順位 初期化（空欄のみ）
                    for (var i=0; i<dn; i++) {
                        if ($("#RvlGRank"+i).text() == "") {
                            $("#RvlGRank"+i).empty();
                            $("#RvlGRank"+i).append("(31位以下)");
                        }
                    }

                });
            }

            // Yahoo 順位 初期化（自サイト）
            if( $("#OwnYRank").text() == "") {
                var orank = new Number(dn) + 1;
                $("#OwnYRank").empty();
                $("#OwnYRank").append("("+orank+"位以下)");
            }
            // Google 順位 初期化（自サイト）
            if( $("#OwnGRank").text() == "") {
                $("#OwnGRank").empty();
                $("#OwnGRank").append("(31位以下)");
            }

        });


    } else if ( se == 2) {

        //////////  Google //////////

        // Web検索する回数（1～4回）
        var wsNum = (dn - (dn % pgSize)) / pgSize;
        if (dn % pgSize > 0) {
            wsNum++;
        }

        for (var j=0; j<wsNum; j++) {
            // Google検索
            var start = j * pgSize;  // 開始ページ
            $.getJSON("./WebSearchUrlByGoogle.aspx?q="+q+"&s="+start, function(result) {
                // 現在の検索結果ページインデックス
                var curPgIdx = result.responseData.cursor.currentPageIndex;
                // 検索結果 表示
                $.each(result.responseData.results, function(i, ret) {
                    if ( (curPgIdx*pgSize)+i+1 > dn ) {
                        // 表示件数を超えたら終了
                        return false;
                    } else {

                        var gurl = ret.url;
                        var idx = (curPgIdx * pgSize) + i;

                        //
                        $("#RvlCapture"+idx).empty();
                        $("#RvlCapture"+idx).append($("<img>").attr("src", "http://capture.heartrails.com/190x140/shadow/border?"+gurl))

                        // Google 順位
                        $("#RvlGRank"+idx).empty();
                        $("#RvlGRank"+idx).append("第 "+(idx+1)+" 位");

                        // サイト名
                        $("#RvlSN"+idx).empty();
                        $("#RvlSN"+idx).append(ret.titleNoFormatting);

                        // URL
                        $("#RvlUrl"+idx).empty();
                        $("#RvlUrl"+idx).append(
                            $("<a></a>").attr("target", "_blank").attr("href", gurl).append(gurl)
                        );

                        // Yahoo リンク数
                        GetYahooLinkNum(gurl, "RvlYLN"+idx);
                        // Yahoo インデックス数
                        GetYahooIndexNum(gurl, "RvlYIN"+idx);
                        // Yahoo カテゴリ
                        GetYahooCategory(gurl, "RvlYCAT"+idx);

                        // Google PageRank
                        GetGooglePageRank(gurl, "RvlGPR"+idx);
                        // Google リンク数
                        GetGoogleLinkNum(gurl, "RvlGLN"+idx);
                        // Google インデックス数
                        GetGoogleIndexNum(gurl, "RvlGIN"+idx);

                        // SBM数（ソーシャルブックマーク数）
                        GetSBMNum(gurl, "RvlSBM"+idx);

                        // Whois情報
                        GetWhois(gurl, "RvlWhois"+idx);

                        // ページ情報（title、description、keyword）
                        GetPageInfo(gurl, "", "RvlContentType"+idx, "RvlTitle"+idx, "RvlDescription"+idx, "RvlKeywords"+idx, "RvlKeywordsRate"+idx, "RvlKeywordsRateTop"+idx);

                        // Google 順位（自サイト）
                        if( $("#OwnUrl").find("a").text() == gurl) {
                            $("#OwnGRank").empty();
                            $("#OwnGRank").append("第 "+(idx+1)+" 位");
                        }

                        return true;
                    }
                });
            });
        }

        // Yahoo検索
        $.getJSON("./WebSearchUrlByYahoo.aspx?q="+q+"&n=30", function(resultSet) {
            // 検索結果 表示
            $.each(resultSet.ResultSet.Result, function(idx, ret) {
                var yurl = ret.Url;
                for (var i=0; i<dn; i++) {
                    if( $("#RvlUrl"+i).find("a").text() == yurl) {
                        $("#RvlYRank"+i).empty();
                        $("#RvlYRank"+i).append("第 "+(idx+1)+" 位");
                        break;
                    }
                }
                // Yahoo 順位（自サイト）
                if( $("#OwnUrl").find("a").text() == yurl) {
                    $("#OwnYRank").empty();
                    $("#OwnYRank").append("第 "+(idx+1)+" 位");
                }
            });
        });
        // Yahoo 順位 初期化
        for (var i=0; i<dn; i++) {
            if( $("#RvlYRank"+i).text() == "") {
                $("#RvlYRank"+i).empty();
                $("#RvlYRank"+i).append("(31位以下)");
            }
        }

        // Yahoo 順位 初期化（自サイト）
        if( $("#OwnYRank").text() == "") {
            $("#OwnYRank").empty();
            $("#OwnYRank").append("(31位以下)");
        }
        // Google 順位 初期化（自サイト）
        if( $("#OwnGRank").text() == "") {
            var orank = new Number(dn) + 1;
            $("#OwnGRank").empty();
            $("#OwnGRank").append("("+orank+"位以下)");
        }

    }

}

// Google リンク数 取得
function GetGoogleLinkNum(url, idResult) {
    // 現在読込中 表示
    NowLoadingStart(idResult);
    // クエリ（リンク数取得）
    var q = "link:" + URLencode(url);
    // Google検索
    $.getJSON("./WebSearchUrlByGoogle.aspx?q="+q+"&s=0", function(result) {
        // 現在読込中 削除
        NowLoadingEnd(idResult);
        // 検索結果の件数
        var cnt = 0;
        if (result != null) {
            if (result.responseData != null) {
                if (result.responseData.cursor != null) {
                    if (result.responseData.cursor.estimatedResultCount != undefined) {
                        cnt = result.responseData.cursor.estimatedResultCount;
                    }
                }
            }
        }
        $("#"+idResult).append(""+cnt);
    });
}

// Google インデックス数 取得
function GetGoogleIndexNum(url, idResult) {
    // 現在読込中 表示
    NowLoadingStart(idResult);
    // クエリ（リンク数取得）
    var q = "site:" + URLencode(url);
    // Google検索
    $.getJSON("./WebSearchUrlByGoogle.aspx?q="+q+"&s=0", function(result) {
        // 現在読込中 削除
        NowLoadingEnd(idResult);
        // 検索結果の件数
        var cnt = 0;
        if (result != null) {
            if (result.responseData != null) {
                if (result.responseData.cursor != null) {
                    if (result.responseData.cursor.estimatedResultCount != undefined) {
                        cnt = result.responseData.cursor.estimatedResultCount;
                    }
                }
            }
        }
        $("#"+idResult).append(""+cnt);
    });
}

// Yahoo リンク数 取得
function GetYahooLinkNum(url, idResult) {
    // 現在読込中 表示
    NowLoadingStart(idResult);
    // クエリ（リンク数取得）
    var q = "link:" + URLencode(url);
    // Yahoo検索
    $.getJSON("./WebSearchUrlByYahoo.aspx?q="+q+"&n=1", function(resultSet) {
        // 現在読込中 削除
        NowLoadingEnd(idResult);
        // 検索結果の件数
        var cnt = 0;
        if (resultSet.ResultSet != null) {
            cnt = resultSet.ResultSet.totalResultsAvailable;
        }
        $("#"+idResult).append(""+cnt);
    });
}

// Yahoo インデックス数 取得
function GetYahooIndexNum(url, idResult) {
    // 現在読込中 表示
    NowLoadingStart(idResult);
    // クエリ（リンク数取得）
    var q = "site:" + URLencode(url);
    // Yahoo検索
    $.getJSON("./WebSearchUrlByYahoo.aspx?q="+q+"&n=1", function(resultSet) {
        // 現在読込中 削除
        NowLoadingEnd(idResult);
        // 検索結果の件数
        var cnt = 0;
        if (resultSet.ResultSet != null) {
            cnt = resultSet.ResultSet.totalResultsAvailable;
        }
        $("#"+idResult).append(""+cnt);
    });
}

// Yahoo カテゴリ 取得（Yahoo!カテゴリ ディレクトリサーチ）
function GetYahooCategory(url, idResult) {
    // 現在読込中 表示
    NowLoadingStart(idResult);
    // クエリ（リンク数取得）
    var q = URLencode(url);
    // Yahoo検索
    $.get("./WebSearchUrlByYahoo.aspx?m=2&q="+q, function(xml) {
        // 現在読込中 削除
        NowLoadingEnd(idResult);
        var siteSearchResults = $("SiteSearchResults", xml);
        if( siteSearchResults != null) {
            var items = siteSearchResults.children("Item");
            if (items.length > 0) {
                for (var i=0; i<items.length; i++) {
                    var item = $(items[i]);
                    var parentName = $("ParentName", item).text();
                    $("#"+idResult).append("◎"+parentName).append("<br>");
                }
            } else {
                $("#"+idResult).append("登録されていません");
            }
        } else {
            $("#"+idResult).append("登録されていません");
        }
    });
}

// ページ情報（title、description、keyword）
function GetPageInfo(url, idSN, idContentType, idTitle, idDescription, idKeywords, idKeywordsRate, idKeywordsRateTop) {
    // 現在読込中 表示
    if (idSN != "") {
        NowLoadingStart(idSN);
    }
    //NowLoadingStart(idContentType);
    NowLoadingStart(idTitle);
    NowLoadingStart(idDescription);
    NowLoadingStart(idKeywords);
    //NowLoadingStart(idKeywordsRate);
    NowLoadingStart(idKeywordsRateTop);
    // クエリ
    var q = URLencode(url);
    // ページ情報 取得
    $.get("./GetHtmlData.aspx?url="+q, function(xml) {
        // 現在読込中 削除
        if (idSN != "") {
            NowLoadingEnd(idSN);
        }
        //NowLoadingEnd(idContentType);
        NowLoadingEnd(idTitle);
        NowLoadingEnd(idDescription);
        NowLoadingEnd(idKeywords);
        //NowLoadingEnd(idKeywordsRate);
        NowLoadingEnd(idKeywordsRateTop);

        // ページ情報
        var contenttype = $("ContentType", xml).text().trim();
        var title = $("Title", xml).text().trim();
        var description = $("Description", xml).text().trim();
        var keywords = $("Keywords", xml).text().trim();
        //var content = $("Content", xml).text().trim();

        if (idSN != "") {
            $("#"+idSN).append(title);
        }
        //$("#"+idContentType).append(contenttype);
        if (title.length > 0) {
            $("#"+idTitle).append(title).append($("<span></span>").attr("class", "memo").append("("+title.length+"文字)"));
        } else {
            $("#"+idTitle).append("取得できませんでした");
        }
        if (description.length > 0) {
            $("#"+idDescription).append(description).append($("<span></span>").attr("class", "memo").append("("+description.length+"文字)"));
        } else {
            $("#"+idDescription).append("取得できませんでした");
        }
        if (keywords.length > 0) {
            $("#"+idKeywords).append(keywords);
        } else {
            $("#"+idKeywords).append("取得できませんでした");
        }

        var keywordList = $("KeywordList", xml);
        if (keywordList != null) {
            var keyword = keywordList.children("Keyword");
            if (keyword.length > 0) {
                for (var i=0; i<keyword.length; i++) {
                    var ele = $(keyword[i]);
                    // 単語表記
                    var word = $("Word", ele).text();
                    // その単語の出現回数
                    var count = $("Count", ele).text();
                    // その単語の出現頻度
                    var rate = $("Rate", ele).text();
                    // メタタグ？
                    var isMeta = $("IsMeta", ele).text();
                    // 出現頻度トップランク入り？
                    var isTopRate = $("IsTopRate", ele).text();
                    // 表示
                    if (isMeta == "1") {
                        /*
                        $("#"+idKeywordsRate).append(word).append(
                            $("<span></span>").attr("class", "memo").append("("+count+" - "+rate+")")
                        ).append("<br>");
                        */
                    }
                    if (isTopRate == "1") {
                        $("#"+idKeywordsRateTop).append(word).append(
                            $("<span></span>").attr("class", "memo").append("("+count+" - "+rate+")")
                        ).append("<br>");
                    }
                }
            } else {
                //$("#"+idKeywordsRate).append("取得できませんでした");
            }
        } else {
            //$("#"+idKeywordsRate).append("取得できませんでした");
        }
    });
}

// SBM数（ソーシャルブックマーク数）
function GetSBMNum(url, idResult) {
   
    // はてなブックマーク
    $("#"+idResult).append(
	    $("<img>").attr("src", "image/bookmark/hatena_ico.gif")
	    ).append("はてな　").append(
	    $("<img>").attr("src", "http://b.hatena.ne.jp/entry/image/"+url)
    ).append("<br />");
    // livedoor clip
    $("#"+idResult).append(
	    $("<img>").attr("src", "image/bookmark/livedoor_ico.gif")
	    ).append("livedoor　").append(
	    $("<img>").attr("src", "http://image.clip.livedoor.com/counter/"+url)
    ).append("<br />");
    // Yahoo!ブックマーク
    $("#"+idResult).append(
	    $("<img>").attr("src", "image/bookmark/yahoo_ico.gif")
	    ).append("Yahoo!　").append(
	    $("<img>").attr("src", "http://num.bookmarks.yahoo.co.jp/image/small/"+url)
    ).append("<br />");
    // buzzurl
    $("#"+idResult).append(
	    $("<img>").attr("src", "image/bookmark/buzzurl_ico.gif")
	    ).append("buzzurl　").append(
	    $("<img>").attr("src", "http://api.buzzurl.jp/api/counter/v1/image?url="+url)
    ).append("<br />");
    // fc2ブックマーク
    $("#"+idResult).append(
	    $("<img>").attr("src", "image/bookmark/fc2_ico.gif")
	    ).append("fc2　").append(
	    $("<img>").attr("src", "http://bookmark.fc2.com/image/users/"+url)
    ).append("<br />");
    // Delicious
    $("#"+idResult).append(
	    $("<img>").attr("src", "image/bookmark/delicious_ico.gif")
	    ).append("Delicious　").append(
	    $("<img>").attr("src", "http://labs.creazy.net/sbm/delicious/textimg/"+url)
    ).append("<br />");

}

// Whois情報
function GetWhois(url, idResult) {
    // 現在読込中 表示
    NowLoadingStart(idResult);
    // ドメイン部分（ホスト部分）を抽出
    var domainName = "";
    var result = url.match(/https?:\/\/([-_.!~*'()a-zA-Z0-9;?:@&=+$,%#]+)(|\/[-_.!~*'()a-zA-Z0-9;?:@&=+$,%#/]*)/);
    if (result != null) {
        domainName = result[1];
    }
    // クエリ
    var q = URLencode(domainName);
    // Whois情報 取得
    $.get("./GetWhois.aspx?d="+q, function(xml) {
        // 現在読込中 削除
        NowLoadingEnd(idResult);
        // Whois情報
        var registDate = $("DomainRegistDate", xml).text().trim();    // ドメイン取得年月日
        if (registDate.length > 0) {
            var dteRegistDate = new Date(registDate);
            var yy = dteRegistDate.getFullYear();
            var mm = dteRegistDate.getMonth()+1;
            var dd = dteRegistDate.getDate();
            var strRegistDate = yy+"年"+mm+"月"+dd+"日";
            var dteNow = new Date();
            var diff = dteNow.getTime() - dteRegistDate.getTime();
            if( diff < 0 ) { diff = 0; }
            var intRegistYears = Math.floor(diff/1000/60/60/24/365);
            var strRegistYears = "";
            if (intRegistYears > 0) {
                strRegistYears = "("+intRegistYears+"年経過)";
            } else {
                strRegistYears = "(1年未満)";
            }
            $("#"+idResult).append(strRegistDate).append(strRegistYears);
        } else {
            $("#"+idResult).append("取得できませんでした");
        }
    });
}

