var jquery_loader         = '/images/loader.gif';
var site_search_data      = '/search.txt';
var site_search_keyword   = '';
var site_search_is_loaded = false;
var site_search_entries;
 
function site_search_archive()
{
    var result_data = new Array();
 
    site_search_keyword = site_search_keyword.replace(/([\/\\\.\*\+\?\|\(\)\[\]\{\}\$\^])/g, "\\$1");
    site_search_keyword = site_search_keyword.replace(/( +|　+)/, ' ');
    site_search_keyword = site_search_keyword.replace(/( |　)$/, '');
 
    var keywords = site_search_keyword.split(/ |　/);
    var key      = new Array();
 
    for (var i = 0;i < keywords.length;i++)
    {
        key[key.length] = new RegExp(keywords[i], "i");
    }
 
    for (var i = 0;i < site_search_entries.length - 1;i++)
    {
        var is_match = true;
 
        for (var j = 0;j < key.length;j++)
        {
            var res_body  = key[j].exec( site_search_entries[i].body );
            var res_title = key[j].exec( site_search_entries[i].title );
            var res_itemph = key[j].exec( site_search_entries[i].itemph );
            var res_searchkey = key[j].exec( site_search_entries[i].searchkey );
            var res_itemtag = key[j].exec( site_search_entries[i].itemtag );
            var res_fieldsseisan = key[j].exec( site_search_entries[i].fieldsseisan );
            var res_fieldsarea = key[j].exec( site_search_entries[i].fieldsarea );
            var res_itemcom = key[j].exec( site_search_entries[i].itemcom );
 
            if (!res_body && !res_title && !res_itemph && !res_searchkey && !res_itemtag && !res_fieldsseisan && !res_fieldsarea && !res_itemcom)
            {
                is_match = false;
            }
        }
 
        if (is_match)
        {
            result_data[result_data.length] = site_search_entries[i];
        }
    }
 
    var result_html = '';
 
    if (result_data.length == 0)
    {
        result_html = '<span id="no_key">キーワードに該当する商品が見つかりませんでした。</span><a class="imgbutton" href="javascript:void(0)" style="font-weight:bold;" onclick="location.reload()"><span>&raquo; CLOSE &laquo;</span></a>';
    }
    else
    {
        result_html = site_search_result_html(result_data, keywords);
    }
 
    $('#column_r').css('height', 'auto')
                        .css('background-image', 'none')
                        .html(result_html);
}
 
function site_search_result_html(result_data, keywords)
{
    var html = '<p class="search_hide"><a class="imgbutton" href="javascript:void(0)" style="font-weight:bold;" onclick="location.reload()"><span>&raquo; CLOSE &laquo;</span></a></p><h1 id="pagetitle">検索結果</h1><div class="item_blocklist cf">';
 
    for (var i= 0;i < result_data.length;i++)
    {		
        html += '<div class="itemlist_box"><a class="itemlist_img" href="' + result_data[i].link + '"><img src="' + result_data[i].itemph + '" alt="" width="80" height="80" /></a><div class="itemlist_r"><h2><a href="' + result_data[i].link + '">' + result_data[i].title + '</a></h2><p class="price">&yen;' + result_data[i].itemprice + '（税込）</p></div></div>';


    }
 
    html += '</div><p class="search_hide"><a class="imgbutton" href="javascript:void(0)" style="font-weight:bold;" onclick="location.reload()"><span>&raquo; CLOSE &laquo;</span></a></p>';
 
    return html;
}
 
function item_search(key)
{
	if(key){
		site_search_keyword = key;
	}else{
		site_search_keyword = $('input#search_box').val();
	}
	
    $('#column_r').html('')
                        .css('height', '100px')
                        .css('background', 'transparent url(' + jquery_loader + ') no-repeat center center');
 
    if (site_search_is_loaded)
    {
        site_search_archive();
    }
    else
    {
        $.ajax({url: site_search_data, type: 'GET', dataType: 'xml', timeout: 1500,
            error: function() {
                $('#column_r').css('height', 'auto')
                                    .css('background-image', 'none')
                                    .html('Error loading XML document');
            },
            complete: function(xml) {
                var data_string = xml.responseText;
 
                data_string         = data_string.replace(new RegExp('<.*?>', "i"), '');
                site_search_entries = eval(data_string);
 
                site_search_archive();
 
                site_search_is_loaded = true;
            }
        });
    }
} 
function clear_block(blockid)
{
    $(blockid).html('');
}
