﻿(function(){
	$.newsSearch = {};
	$.newsSearch.data = [];
	$.newsSearch.indexList =[];
	$.newsSearch.snipet = function (d){
		return '<div id="'+d.id+'" class="section"><h2><a href="'+d.url+'">'+d.title+'</a></h2><p class="date">'+d.date+'</p>'+d.body+'</div>';
	}
	
	$.newsSearch.search = function(str){
		setTimeout(function(){
			var items = "";
			//var reg = new RegExp(str,"i");
			var len = $.newsSearch.indexList.length;
			var cnt =0;
			for(var i = 0; i< len ; i++){
				var t = $.newsSearch.indexList[i];
				//if(!reg.test(t)){continue};
				if(t.indexOf(str) > -1){
					items += $.newsSearch.snipet($.newsSearch.data[i]);
					cnt++
				}
			}
			setTimeout(function(){
				$.newsSearch.build(items,cnt);
			},0);
		},0);
	}
	
	$.newsSearch.build = function(items,cnt){
		var m = $(".main");
		$(".section").remove();
		m.find("h1 span").text("「"+$("#search_input").val()+"」の検索結果 : "+cnt+"件の一致");
		if(items != ""){
			m.append(items);
		}else{
			m.append('<div class="section"><h2>一致する記事が見つかりませんでした。</h2></div>');
		}
	}
	
})();


$(document).ready(function(){
	$.getScript("/news/assets/js/newsdata.js",function(){
			$.newsSearch.data = newsdata;
			$.each(newsdata,function(){
				$.newsSearch.indexList.push(this.title+this.body);
			});
	});
	
	$("#search_btn").click(function(){
		if($("#search_input").val() == "") return;
		$.newsSearch.search($("#search_input").val());
		if($("#prev_btn").length){
			$("#pageup_btn").attr("id","pageup_btn_only");
			$("#prev_btn,#next_btn").remove();
		}
	});
	
	$("#search_input").keydown(function(e){
		if(e.keyCode ==13){
			$("#search_btn").trigger("click");
		}
	})
		
	var  pds= $("#archive_selector");
	pds.hide();
	
	$("#archive_select_pulldown, #archive_select").click(function(){
		pds.slideToggle("normal");
	}).css({'cursor':'pointer'});
	
	$("#archive_selector li a").click(function(){
		var href = this.href;
		$("#archive_select").val($(this).text());
		pds.slideUp("normal",function(){
			document.location.href = href;
		});
		return false;
	});

	var ids =[];
	$(".main .section").each(function(){
		ids.push("#"+this.id);
	})
	$.scrollBind(ids);
	
});