/**
 * "More" view of tags JavaScript
 */
moreTagsModel	= function(config)
{
	this.init(config);
}

moreTagsModel.prototype	= {

	tArea	: null,
	tLink	: null,
	view		: null,
	
	api			: null,
	callback	: null,
	lGif		: null,
	
	init: function(config)
	{
		this.tLink	= YAHOO.util.Dom.get(config.id_tLink);
		this.tArea	= YAHOO.util.Dom.get(config.id_tArea);
		
		this.view		= YAHOO.util.Dom.get(config.id_view);
		this.view.style.display	= "none";
		this.api		= config.api;
		this.lGif		= config.loaderGif;
		
		this.callback	= {
			success: this.responseSuccess,
			failure: this.responseFailure,
			argument: [this]
		}
		
		YAHOO.util.Event.addListener(
					this.tLink,
					'click',
					this.get,
					this
				);
	},
	
	responseSuccess: function(o)
	{
		var me	= o.argument[0];
		var rs = eval('(' + o.responseText + ')');
		if (rs.result == false)
		{
			me.innerHTML += '取得に失敗しました。';
		}
		else
		{
			var tagsList	= rs.data;
			me.view.innerHTML = tagsList;
			
			YAHOO.util.Event.purgeElement(me.tLink);
			YAHOO.util.Event.addListener(
						me.tLink,
						'click',
						me.closeView,
						me
					);
			
			me.tArea.className	= "close";
			me.tLink.innerHTML	= "元に戻す";
		}
	},
	
	responseFailure: function(o)
	{
		o.argument[0].innerHTML += '取得に失敗しました。';
	},
	
	get: function(ev, me)
	{
		me.view.style.display	= "block";
		me.view.innerHTML	= '<div style="text-align: center"><img src="' + me.lGif + '" /></div>';
		YAHOO.util.Connect.asyncRequest(
					'post',
					me.api,
					me.callback);
	},
	
	closeView: function(ev, me)
	{
		me.view.style.display	= "none";
		YAHOO.util.Event.purgeElement(me.tLink);
		YAHOO.util.Event.addListener(
					me.tLink,
					'click',
					me.get,
					me
				);
		
		me.view.innerHTML = '';
		me.tArea.className	= "more";
		me.tLink.innerHTML	= "もっと見る";
	}
	
}
