// 各ショップアイテム数上限
var Limit;

// 入力値保持用
var Keywords;
var Sort;

var Amazon;
var Rakuten;
//var Bidders;
//var Storemix;

var SearchIndex;
var Genre;
var Categ;

// ショップ名保持用
var ShopName;

// インタラクティヴ表示用divエレメント保持用
var InfoDiv;
var ResultsDiv;
//var BookmarksDiv;
var ErrorDiv;

// 初期処理
function init() {
    Limit        = 5;

    Keywords     = "";
    Sort         = "";

    Amazon       = false;
    Rakuten      = false;
    //Bidders      = false;
    //Storemix     = false;

    SearchIndex  = "";
    Genre        = "";
    Categ        = "";

    ShopName               = new Array();
    ShopName["amazon"]     = "アマゾン";
    ShopName["rakuten"]    = "楽天";
    //ShopName["bidders"]    = "ビッダーズ";
    //ShopName["storemix"]   = "ストアミックス";

    InfoDiv                = new Array();
    ResultsDiv             = new Array();
    //BookmarksDiv           = new Array();
    ErrorDiv               = new Array();

    for(shop in ShopName) {
        InfoDiv[shop]      = document.getElementById(shop + 'info');
        ResultsDiv[shop]   = document.getElementById(shop + 'results');
        //BookmarksDiv[shop] = document.getElementById(shop + 'bookmarks');
        ErrorDiv[shop]     = document.getElementById(shop + 'error');
    }
}

// 終了時処理
function conclude(e) {
    for(objname in httpObj) {
        abortXMLHttpRequest(objname);
    }
}

// 検索結果表示・共通処理
function displayresults(shop,xml) {
    ResultsDiv[shop].innerHTML = "";
    items = xml.getElementsByTagName('Item');
    buf = "";
    if(items.length>=0) {
        buf = '<ul class="AdsResults">\n';
        KeywordNode    = xml.getElementsByTagName('Keyword');
        Keyword        = KeywordNode[0].childNodes[0].nodeValue;
        WebURLNode     = xml.getElementsByTagName('WebURL');
        WebURL         = WebURLNode[0].childNodes[0].nodeValue;
        TotalCountNode = xml.getElementsByTagName('TotalCount');
        TotalCount     = TotalCountNode[0].childNodes[0].nodeValue;
        CountNode      = xml.getElementsByTagName('Count');
        Count          = CountNode[0].childNodes[0].nodeValue;
        if(Count>Limit) {
            Count      = Limit;
        }

        InfoDiv[shop].innerHTML = '<p><strong><span style="color : #0000FF;">' + ShopName[shop] + '「' + Keyword + '」関連商品</span><strong></p>\n';

        for(i=0;i<items.length && i<Limit;i++) {
            RowNumNode            = items[i].getElementsByTagName('RowNum');
            URLNode               = items[i].getElementsByTagName('URL');
            TitleNode             = items[i].getElementsByTagName('Title');
            ImageURLNode          = items[i].getElementsByTagName('ImageURL');
            FormattedPriceNode    = items[i].getElementsByTagName('FormattedPrice');
            RowNum                = RowNumNode[0].childNodes[0].nodeValue;
            URL                   = URLNode[0].childNodes[0].nodeValue;
            Title                 = TitleNode[0].childNodes[0].nodeValue;
            ImageURL              = ImageURLNode[0].childNodes[0].nodeValue;
            TypeImageURL          = "";
            Type                  = "";
            FormattedPrice        = "";
            NewFormattedPrice     = "";

            if(FormattedPriceNode[0].childNodes.length>0) {
                FormattedPrice    = FormattedPriceNode[0].childNodes[0].nodeValue;
            }

            if(shop=="amazon") {
                ASINNode              = items[i].getElementsByTagName('ASIN');
                ASIN                  = ASINNode[0].childNodes[0].nodeValue;
                NewFormattedPriceNode = items[i].getElementsByTagName('NewFormattedPrice');
                if(NewFormattedPriceNode[0].childNodes.length>0) {
                    NewFormattedPrice = NewFormattedPriceNode[0].childNodes[0].nodeValue;
                }
            }
            //else
            //if(shop=="bidders") {
            //    TypeImageURLNode      = items[i].getElementsByTagName('TypeImageURL');
            //    TypeNode              = items[i].getElementsByTagName('Type');
            //    TypeImageURL          = TypeImageURLNode[0].childNodes[0].nodeValue;
            //    Type                  = TypeNode[0].childNodes[0].nodeValue;
            //}

            if(shop             =="amazon") {
                buf += '<li><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=sirmilescentr-22&amp;o=9&amp;p=8&amp;l=as1&amp;asins=' + ASIN + '&amp;fc1=000000&amp;IS1=1&amp;lt1=_blank&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></li>\n';
            }
            else
            if(NewFormattedPrice==""
            && Type             ==""
            && shop             !="storemix") {
                buf += '<li><a href="' + URL + '"><img src="' + ImageURL + '" alt="' + Title + '" /></a><br /><a href="' + URL + '">' + Title + '</a><br />' + FormattedPrice + '</li>\n';
            }
            else
            //if(shop             =="storemix") {
            //    buf += '<li><a href="' + URL + '"><img src="' + ImageURL + '" width="64" alt="' + Title + '" /></a><br /><a href="' + URL + '">' + Title + '</a><br />' + FormattedPrice + '</li>\n';
            //}
            //else
            if(NewFormattedPrice=="") {
                buf += '<li><a href="' + URL + '"><img src="' + ImageURL + '" width="64" alt="' + Title + '" /></a><br /><a href="' + URL + '">' + Title + '</a><br /><img src="' + TypeImageURL + '" alt="' + Type + '" /><br />' + FormattedPrice + '</li>\n';
            }
            else
            if(Type             =="") {
                buf += '<li><a href="' + URL + '"><img src="' + ImageURL + '" alt="' + Title + '" /></a><br /><a href="' + URL + '">' + Title + '</a><br />' + FormattedPrice + '<br /> =&gt; <strong>' + NewFormattedPrice + '</strong></li>\n';
            }
        }
        buf += '</ul>\n<div class="ClearFix"></div>\n<p>&nbsp;</p>\n<p style="text-align : right;"><a href="' + WebURL + '">全部見る...</a></p>\n';
    }
    else {
        buf = '<p>　見つかりませんでした。</p>';
    }
    ResultsDiv[shop].innerHTML   = buf;

    //BookmarksDiv[shop].innerHTML = '<p><a href="#' + shop + 'info"><strong>' + ShopName[shop] + ' 関連商品へ</strong></a></p>';

    ErrMsgNode = xml.getElementsByTagName('ErrMsg');
    if(ErrMsgNode[0].childNodes.length>0) {
        ErrorDiv[shop].innerHTML = '<p><strong style="color : #FF0000;">' + ErrMsgNode[0].childNodes[0].nodeValue + '</strong></p>';
    }
    else {
        ErrorDiv[shop].innerHTML = '';
    }
}

// 検索処理
function Search() {
    // HTTP通信を開始し、完了したら結果表示関数を実行させる
    // Amazon
    if(Amazon) {
        amzKeywords = Keywords;
        httpRequest("http://www.sirmiles.com/plaza/xml_tool_amazon.php","Keywords=" + encodeURIComponent(amzKeywords) + "&SearchIndex=" + encodeURIComponent(SearchIndex) + "&Sort=" + encodeURIComponent(Sort),function(xml){displayresults("amazon",xml);});
    }
    else {
        InfoDiv['amazon'].innerHTML      = "";
        ResultsDiv['amazon'].innerHTML   = "";
        //BookmarksDiv['amazon'].innerHTML = "";
        ErrorDiv['amazon'].innerHTML     = "";
    }

    // Rakuten
    if(Rakuten) {
        httpRequest("http://www.sirmiles.com/plaza/xml_tool_rakuten.php","Keywords=" + encodeURIComponent(Keywords) + "&Genre=" + encodeURIComponent(Genre) + "&Sort=" + encodeURIComponent(Sort),function(xml){displayresults("rakuten",xml);});
    }
    else {
        InfoDiv['rakuten'].innerHTML      = "";
        ResultsDiv['rakuten'].innerHTML   = "";
        //BookmarksDiv['rakuten'].innerHTML = "";
        ErrorDiv['rakuten'].innerHTML     = "";
    }

    // Bidders
    //if(Bidders) {
    //    httpRequest("http://www.sirmiles.com/plaza/xml_tool_bidders.php","Keywords=" + encodeURIComponent(Keywords) + "&Categ=" + encodeURIComponent(Categ) + "&Sort=" + encodeURIComponent(Sort),function(xml){displayresults("bidders",xml);});
    //}
    //else {
    //    InfoDiv['bidders'].innerHTML      = "";
    //    ResultsDiv['bidders'].innerHTML   = "";
    //    //BookmarksDiv['bidders'].innerHTML = "";
    //    ErrorDiv['bidders'].innerHTML     = "";
    //}

    // Storemix
    //if(Storemix) {
    //    httpRequest("http://www.sirmiles.com/plaza/xml_tool_storemix.php","Keywords=" + encodeURIComponent(Keywords),function(xml){displayresults("storemix",xml);});
    //}
    //else {
    //    InfoDiv['storemix'].innerHTML      = "";
    //    ResultsDiv['storemix'].innerHTML   = "";
    //    //BookmarksDiv['storemix'].innerHTML = "";
    //    ErrorDiv['storemix'].innerHTML     = "";
    //}
}

// アンロードされた際に、conclude()関数を実行させる
addListener(window, 'unload', conclude, false);

