if(typeof(bugs.utils.pageList) == "undefined") {
bugs.utils.pageList = bugs.create();
bugs.utils.pageList.prototype = {
	defaultData : {
		page : 2,
		decorator : "blank"
	},
	
	defaultOption : {
		morePanel : "div.moreList", 
		htmlResult : true,
		initItem : function(e) {}
	},
	
	initialize : function(listRoot, url, lastPage, data, option) {
		if(typeof(listRoot) == "string") {
			this.listRoot = $(listRoot);
		}
		else this.listRoot = listRoot;

		this.url = url;
		this.lastPage = lastPage;

		if(typeof(option) == "undefined") {
			this.data = bugs.clone(this.defaultData);
			this.option = bugs.overed(bugs.clone(this.defaultOption), data || {});
		}
		else {
			this.data = bugs.overed(bugs.clone(this.defaultData), data || {});
			this.option = bugs.overed(bugs.clone(this.defaultOption), option || {});
		}
		
		//----- 기존 리스트 아이템 초기화 ------------------------------------------------
		var _T = this;
		this.listRoot.children("li").each(function() {
			_T.option.initItem($(this));
		});
		//---------------------------------------------------------------------
		
		this.morePanel = $(this.option.morePanel);
		this.morePanel.children("a").click(this.getNext.bind(this));
	},
	
	getNext : function() {
		var root = this.listRoot;
		var option = this.option;
		
		$.get(this.url, this.data, function(html) {
			$("<ul></ul>").html(html).children("li").each(function() {
				option.initItem($(this).appendTo(root));
			});

			this.data.page++;
			if(this.data.page > this.lastPage) {
				this.morePanel.hide();
			}
		}.bind(this));
		
		return false;
	}
};
}

