var date = new Date();
var jquery_loader         = 'http://www.yamaha-mf.or.jp/el-player/ajax-loader.gif';
var json_search_data      = 'http://www.yamaha-mf.or.jp/el-player/search_data.txt?' + date;
var json_search_keyword   = '';
var json_search_is_loaded = false;
var json_search_entries;

function json_search_archive()
{
	var result_data = new Array();
	json_search_keyword = json_search_keyword.replace(/([\/\\\.\*\+\?\|\(\)\[\]\{\}\$\^])/g, "\\$1");
	json_search_keyword = json_search_keyword.replace(/( +|　+)/, ' ');
	json_search_keyword = json_search_keyword.replace(/( |　)$/, '');
	var keywords = json_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 < json_search_entries.length - 1;i++){
		var is_match = true;
		for (var j = 0;j < key.length;j++)
		{
			var res_category  = key[j].exec( json_search_entries[i].category );
			var res_body  = key[j].exec( json_search_entries[i].body );
			var res_title = key[j].exec( json_search_entries[i].title );
			var res_tag = key[j].exec( json_search_entries[i].tag );

			if (!res_category && !res_body && !res_title && !res_tag )
			{
				is_match = false;
			}
		}
			if (is_match){
				result_data[result_data.length] = json_search_entries[i];
			}
	}
	var result_html = '';
	if (result_data.length == 0)
	{
		result_html = '一致しませんでした';
	}
	else
	{
		result_html = json_search_result_html(result_data, keywords);
	}
	$('#search-content').css('height', 'auto')
	.css('background-image', 'none')
	.html(result_html);
	var a="#TB_inline?height=450&width=600&inlineId=search-content";
	tb_show("検索結果（" + result_data.length + "件ヒット ）",a,false);

}
function json_search_result_html(result_data, keywords)
{
var html = '<p id="search_notice">※スペースでAND検索が出来ます。</p><div class="module-content"><ul>';
for (var i= 0;i < result_data.length;i++)
{
html += '<li><a href="' + result_data[i].link + '#search_word=' + json_search_keyword + '">' + result_data[i].title + '</a></li>';
}
html += '</ul></div>';
return html;
}

function json_search(str)
{
json_search_keyword = str;
$('#search-content').html('')
.css('height', '100px')
.css('background', 'transparent url(' + jquery_loader + ') no-repeat center center');
if (json_search_is_loaded)
{
json_search_archive();
}
else
{
$.ajax({url: json_search_data, type: 'GET', dataType: 'xml', timeout: 1500,
error: function() {
$('#search-content').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"), '');
json_search_entries = eval(data_string);
json_search_archive();
json_search_is_loaded = true;
}
});
}
}
function clear_block(blockid)
{
$(blockid).html('');
}
