Mys.Model.MyNews = function()
{
	Mys.Model.MyNews.superclass.constructor.call(this);
};

Ext.extend (Mys.Model.MyNews, Mys.Model,
{
	getMyNotice : function(user_id, start, limit, read_flag, callback, scope)
	{
		var query = "model=history" +
						"&view=json" +
						"&mode=get_reply" +
						"&user_id=" + user_id +
						"&start=" + start +
						"&limit=" + limit;
		if(read_flag == 0 || read_flag)
			query += "&read_flag=" + read_flag;

		this.ajax.request(query, callback, scope);
	},

	getFriendNotice : function(user_id, start, limit, callback, scope)
	{
		var query = "model=log" +
						"&view=json" +
						"&mode=get" +
						"&property=recent" +
						"&user_id=" + user_id +
						"&start=" + start +
						"&limit=" + limit +
						"&get_type=friend" +
						"&item_class_id=1";

		this.ajax.request(query, callback, scope);
	},

	friendRead : function(item_id, callback, scope)
	{
		var query = "model=log" +
						"&view=json" +
						"&mode=read" +
						"&get_type=friend" +
						"&item_class_id=1" +
						"&item_id=" + item_id;

		this.ajax.request(query, callback, scope);
	},

	read : function(history_id, callback, scope)
	{
		var query = "model=history" +
						"&view=json" +
						"&mode=read" +
						"&history_id=" + history_id;

		this.ajax.request(query, callback, scope);
	},

	getAncItem : function(item_id, callback, scope)
	{
		var query = "model=log" +
						"&view=json" +
						"&mode=get_anc_item_info" +
						"&item_id=" + item_id;

		this.ajax.request(query, callback, scope);
	}
});


historyRep = function()
{
	this.init();
};

historyRep.prototype =
{
	init : function() {
		this.itemId = null;
		this.refItemId = null;
		this.readFlag = false;
	}

	,setItemId : function(itemId, refItemId, historyId) {
		this.itemId = itemId;
		this.refItemId = refItemId;
		this.historyId = historyId;
	}
	,getAncItem : function() {
		if(this.readFlag) {
			alert("처리중입니다.");
			return;
		}
		if(this.refItemId && this.itemId) {
			this.readFlag = true;
			Global.modelMyNews.getAncItem(this.refItemId, this.cbGetAncItem, this);
		}
	}

	,cbGetAncItem : function(data) {
		if(!data || data.response.code != 100){alert("데이터 생성 중 오류가 발생했습니다. 다시 시도해주세요."); return;}

		domain = data.response.anc_domain;
		this.url = "http://" + domain + "." + DOMAIN + "/" + data.response.anc_link_date;
		Global.modelMyNews.read(this.historyId, this.cbHistory, this);
	}

	,cbHistory : function(data) {
		if(!data || data.response.code != 100){alert("데이터 생성 중 오류가 발생했습니다. 다시 시도해주세요."); return;}

		this.repSubmit(this.url, this.itemId, this.refItemId);
		this.readFlag = false;
	}

	,repSubmit : function(url, item_id, ref_item_id) {
		var form = Ext.get("rep_form");
		form.dom.action = url;
		form.dom.item_id.value= item_id;
		form.dom.ref_item_id.value = ref_item_id;

		form.dom.submit();
	}
}

function moveLink(item_id, ref_item_id, history_id) {
	historyRep.setItemId(item_id, ref_item_id, history_id);
	historyRep.getAncItem();
}

function readLink (item_id, url) {
	Global.modelMyNews.friendRead(item_id, function(){return false;}, this);
	window.open(url, item_id);
}