//現在のページ
now_page = 1;

function addEventListener(target, type, func) {
	if(target.attachEvent) {
		target.attachEvent("on" + type, func);
	} else if(target.addEventListener) {
		target.addEventListener(type, func, false);
	} else {
		target["on" + type] = func;
	}
}

function change_page(e)
{
	var target = null;
	if (e.target != null) {
		target = e.target;
	} else {
		target = e.srcElement;
	}

	if (target.className == "next") {
		now_page++;
	} else if (target.className == "previous") {
		if (now_page - 1 >= 1) {
			now_page--;
		}
	} else {
		now_page = parseInt(target.innerHTML);
	}
	get_active_datas();
	pagination_init();
	return false;
}
/**
	@param	parent	親ノードのid
	@param	data	実データの配列
	@param	items	１ページに表示する項目数
	@param	pages	前後に表示させるページネーション数
	@param	now_page	現在のページ番号
*/
function make_pagination(parent, data, items, pages, now_page)
{
	//最後のページ
	var last_page = parseInt(data.length / items);
	if ((data.length % items) != 0) {
		last_page++;
	}

	if (last_page == 1) {
		return true;
	}

	var divObj = document.getElementById(parent);
	
	while(divObj.hasChildNodes()) {
		divObj.removeChild(divObj.firstChild);
	}

	//前へ
	if (now_page != 1) {
		var aObj = document.createElement("a");
		aObj.innerHTML = '＜';
		var prev_page = now_page - 1;
		aObj.href = "javascript:void(0);";
		aObj.className = 'previous';
		addEventListener(aObj, 'click', change_page);
		divObj.appendChild(aObj);
	}

	var spanParentObj = document.createElement("span");
	spanParentObj.className = 'index3_paginate_01_number';
	
	
	for (var i=1; i < last_page + 1; i++) {
		if (now_page - pages > i && last_page - ((pages * 2)) > i ) {
			continue;
		}
		if (now_page + pages < i && (pages * 2) +1 < i) {
			continue;
		}
		
		if (now_page == i) {
			var spanObj = document.createElement("span");
			spanObj.innerHTML = i;
			spanParentObj.appendChild(spanObj);
		} else {
			var aObj = document.createElement("a");
			aObj.href = "javascript:void(0);";
			aObj.innerHTML = i;
			addEventListener(aObj, 'click', change_page);
			spanParentObj.appendChild(aObj);
		}
	}
	divObj.appendChild(spanParentObj);

	//次へ
	spanParentObj = document.createElement("span");
	spanParentObj.className = 'index3_paginate_01_nav';
	if (now_page < last_page) {
		aObj = document.createElement("a");
		aObj.innerHTML = '＞';
		aObj.className = 'next';
		var next_page = now_page + 1;
		aObj.href = "javascript:void(0);";
		addEventListener(aObj, 'click', change_page);
		spanParentObj.appendChild(aObj);
	}
	divObj.appendChild(spanParentObj);

}

function set_data(datas, display_item_numbers, now_page)
{
	var main = document.getElementById('main');
	main.innerHTML = '';
	for (var i=(now_page - 1) * display_item_numbers; i < now_page * display_item_numbers; i++) {
		var data = datas[i];
		main.innerHTML = main.innerHTML + data.blog_title + "(" + data.posttime + ")<br />" + data.title + '<br />';
	}
	
}

function pagination_init()
{
	//現在のページ番号
	//now_page = 96;
	if (now_page == '') {
		return false;
	}
	
	if (now_page != parseInt(now_page)) {
		return false;
	}
	now_page = parseInt(now_page);
	//前後に表示させるページネーション数
	display_page_numbers = 2;

	make_pagination('paginate_top', datas, display_item_numbers, display_page_numbers, now_page);
	make_pagination('paginate_bottom', datas, display_item_numbers, display_page_numbers, now_page);
	//set_data(datas, display_item_numbers, now_page);
	setHtml('index3_06','blogitem');

}
function setHtml(idName, templeteName){
	result = smarty.fetch(templeteName +".tpl");
	$("#" + idName).html(result);
}

function get_active_datas()
{
	active_data = Array();
	var start = display_item_numbers * (now_page - 1);
	var j = 0;
	for (var i = start; i < start + display_item_numbers; i++) {
		if (datas.length > i) {
			active_data[j] = datas[i];
		}
		j++;
	}
	smarty.assign('datas', active_data)
	pagination_init();
	setHtml('index3_06', jsmarty_template);
}

$(document).ready(function (){
	smarty = new JSmarty();
	smarty.plugins_dir = '/blogfeed/plugins';
	smarty.template_dir = '/blogfeed/templates';
	get_active_datas();
});