/*-------------------------lib:jquery_dom---------------------------------*/
(function(){
$.create = function() {
	if (arguments.length == 0) {
		return [];
	}
	var first_arg = arguments[0];
	if (first_arg == null) {
		first_arg = "";
	}

	if (first_arg.constructor == String) {
		if (arguments.length > 1) {
			var second_arg = arguments[1];
			if (second_arg.constructor == String) {
				var elt = document.createTextNode(first_arg);
				var elts = [];
				elts.push(elt);
				var siblings = $.create.apply(null, Array.prototype.slice.call(arguments, 1));
				elts = elts.concat(siblings);
				return elts;
			} else {
				var elt = document.createElement(first_arg);
				var attributes = arguments[1];
				for (var attr in attributes) {
					$(elt).attr(attr, attributes[attr]);
				}
				var children = arguments[2];
				children = $.create.apply(null, children);
				$(elt).append(children);
				if (arguments.length > 3) {
					var siblings = $.create.apply(null, Array.prototype.slice.call(arguments, 3));
					return [elt].concat(siblings);
				}
				return elt;
			}
		} else {
			return document.createTextNode(first_arg);
		}
	}	else {
		var elts = [];
		elts.push(first_arg);
		var siblings = $.create.apply(null, (Array.prototype.slice.call(arguments, 1)));
		elts = elts.concat(siblings);
		return elts;
	}
}
})();

/*------------------------------toast_memo.js--------------------------------*/

function toast_get_memo() {

	var memo_count = TOAST_MAX_MEMO_COUNT - TOAST_MEMO_NO;
		if(MEMO_MORE) memo_count=5;
	var noti_count = TOAST_MAX_NOTI_COUNT - TOAST_NOTI_NO;
		if(NOTI_MORE) noti_count=5;
	var more = 'none';
	var tmp_memo_more=MEMO_MORE;
	var tmp_noti_more=NOTI_MORE;
	 
	var inputStr = "memo_count="+memo_count + "&noti_count="+noti_count;	

	if(!INIT_LAYER || NOTI_MORE || MEMO_MORE){	//order desc
		if(NOTI_MORE)	more = 'noti';
		else if(MEMO_MORE)	more = 'memo';
		
		inputStr += "&get_type=init&last_memo="+TOAST_LAST_MEMO_NO+"&last_noti="+TOAST_LAST_NOTI_NO+"&more="+more;
	}	 
	else {
		if(MAX_MEMO_NO==0) MAX_MEMO_NO=TOAST_LAST_MEMO_NO;
		if(MAX_NOTI_NO==0) MAX_NOTI_NO=TOAST_LAST_NOTI_NO;
		
		inputStr += "&get_type=show&last_memo="+MAX_MEMO_NO+"&last_noti="+MAX_NOTI_NO+"&more="+more;
	}
	
	$.ajax({
		type: "POST",
		url : "/toast_msg/show_memo", //url : "/ruby/show_memo.rb",
		dataType : "json",
		data: inputStr+"&teamurl="+TEAM_URL,
		success : function(data) {		
			if (data.status == JSON_SUCCESS) {

				if(!INIT_LAYER){
					MEMO_COUNT= data.memo_count;
					NOTI_COUNT= data.noti_count;	
					
					if ( data.fix_noti.length > 0 )	show_fix_noti(data.fix_noti); 
					if ( data.fix_memo.length > 0 )	show_fix_memo(data.fix_memo); 						
				}
		
				if( data.max_memo>MAX_MEMO_NO ) {		
					MAX_MEMO_NO = data.max_memo;
					if(INIT_LAYER) IS_NEW = true;	
				}
				
				if( data.max_noti>MAX_NOTI_NO ) {		
					MAX_NOTI_NO = data.max_noti;
					if(INIT_LAYER) IS_NEW = true; 
				}

				if ( !tmp_memo_more && !tmp_noti_more ){				
					if ( (TOAST_MEMO_NO < TOAST_MAX_MEMO_COUNT) || (TOAST_NOTI_NO < TOAST_MAX_NOTI_COUNT) ){
						setTimeout("toast_get_memo()", TOAST_ELAPSE_TIME);
					}  
				}
				tmp_memo_more=false;
				tmp_noti_more=false;

				//레이어 생성
				if ( data.noti.length > 0 )	toast_push_noti_layer(data.noti); 
				if ( data.memo.length > 0 )	toast_push_memo_layer(data.memo); 
			 	IS_NEW = false;
			 
				if( $.cookie('noti_status')!=null && $.cookie('noti_status')=='mini' && !INIT_LAYER)	toggle_layers('noti');
				if( $.cookie('memo_status')!=null && $.cookie('memo_status')=='mini' && !INIT_LAYER)	toggle_layers('memo');

				INIT_LAYER = true;
			}
			else 
				toast_error_handle(data);
		},
		error : function(res, e) {
			// lost communication to the server(ff:0, ie:12029)
			if (res.status == 0|| res.status == 12029)
				setTimeout("toast_get_memo()", TOAST_ELAPSE_TIME); 
			else 
				setTimeout("toast_get_memo()", TOAST_ELAPSE_TIME); 
		}
	});
}

function show_layer(noti_c, memo_c) {
	
	var dom_node = "<div id=\"layer_msg_view\" class=\"msg_pageview\" style=\"z-index:100; overflow:auto; bottom:0; right:0; \">";
	
	if ( noti_c != '0' ) {
		if ( isMemoShow )	dom_node = "";
			
		dom_node = dom_node 
				 + "<div class=\"page_noti noti_on\">"
				 + 	"<div class=\"msg_top\">"
				 + 		"<p class=\"msg_title\">"+I18n.t("messenger.new_layer.alarm title")+"</p>"
				 + 		"<a class=\"btn_mini\" id=\"noti_btn\" title=\""+I18n.t("messenger.new_layer.tooltip.min")+"\" onclick=\"toggle_layers('noti')\"></a>"
				 + 		"<a class=\"btn_x\" title=\""+I18n.t("tooltip.close")+"\" onclick=\"close_layers('noti')\"></a>"					 
				 + 	"</div>"
				 + 	"<div class=\"noti_list\" style=\"max-height:120px; display:none;\"><table></table></div>"
				 + "</div>";
				 
		if ( !isMemoShow ) {
		 	dom_node += "</div>";
			$("body").prepend(dom_node);
		} else
		 	$("div.msg_pageview").prepend(dom_node);			 
	}
	
	if ( memo_c != '0' ) {
		if( isNotiShow )	dom_node = "";

		dom_node = dom_node 
				+ "<div class=\"page_memo memo_on\">"
				+ 	"<div class=\"msg_top\">"
				+ 		"<p class=\"msg_title\">"+I18n.t("messenger.new_layer.memo title")+"</p>"
				+ 		"<a class=\"btn_mini\" id=\"memo_btn\" title=\""+I18n.t("messenger.new_layer.tooltip.min")+"\" onclick=\"toggle_layers('memo')\"></a>"
				+ 		"<a class=\"btn_x\" title=\""+I18n.t("tooltip.close")+"\" id=\"memo\" onclick=\"close_layers('memo')\"></a>"
				+ 	"</div>"
				+ 	"<div class=\"memo_list_noti\" style=\"max-height:120px; display:none;\"><table></table></div>"
				+ "</div>";

		if( !isNotiShow ){
			dom_node += "</div>";
			$("body").prepend(dom_node);				
		} else
			$("div.page_noti").after(dom_node);
	}
}


function toast_push_memo_layer(data) {
	
	if( !isMemoShow ) {
		show_layer(0,1);
		isShow = true;	
	}
	isMemoShow = true;		

	if ( INIT_LAYER && IS_NEW) 	
		MEMO_COUNT = MEMO_COUNT + data.length;
		
	MEMO_MORE = false;
	$('div.page_memo').find('span.num').html(MEMO_COUNT);		
				
	var html = "";
	var memo = "";
	var data_size=data.length;

	TOAST_LAST_MEMO_NO = data[0].no;

	for(var i=0; i<data_size; i++) {

			html += "<tr id=\"tr_memo_"+data[i].no+"\" name=\"tr_memo\">"
				 + 		"<th class=\"subject first\"><a href=\"javascript:toast_memo_('memo','show',"+data[i].no+")\">"+data[i].uname+"</a></th>"
				 + 		"<td class=\"date\">"+data[i].sdate+"</td>"
				 + "</tr>";
				 
			//memo
			memo += "<div id=\"layer_view_memo\" name=\"camp_memo_"+data[i].no+"\" class=\"msg_view\" style=\"display:none\">"
				 + 		"<div class=\"regist_info\">"
				 + 			"<span class=\"name\">"+cutString(data[i].uname, 7, '..')+"</span>"
				 + 			"<span class=\"date\"> "+data[i].sdate+"</span>"
				 +		"</div>"
				 + 		"<a class=\"btn_x\" href=\"javascript:toast_memo_('memo','close',"+data[i].no+")\" title=\""+I18n.t("tooltip.close")+"\"></a>"
				 +		"<a class=\"btn_postit\" href=\"javascript:toast_memo_('memo','fix',"+data[i].no+")\" title=\""+I18n.t("messenger.new_layer.tooltip.fix")+"\"></a>"
				 + 		"<div class=\"user_text\">" + data[i].result + "</div>"
				 + 		"<div class=\"layer_action\">"
				 + 			"<a class=\"btn_m_action_msg\" href=\"javascript:toast_memo_('reply','reply',"+data[i].no+")\"><span>"+I18n.t("messenger.new_layer.action.reply")+"</span></a>"	
				 + 		"</div>"
				 + "</div>";
				 
			//reply
			memo += "<form id=\"camp_memo_"+data[i].no+"_form\">"
				 + 	"<div id=\"layer_send_memo\" class=\"msg_view\" name=\"camp_reply_"+data[i].no+"\" style=\"display:none\">"
				 + 		"<div class=\"regist_info\">"
				 + 			"<span class=\"name\"><span class=\"to\">"+I18n.t("messenger.new_layer.word.receiver")+" :</span> "+cutString(data[i].uname, 7, '..')+"</span>"
				 + 			"<span class=\"byte\"><strong>0</strong>/ 300byte</span>"
				 + 		"</div>"
				 + 		"<div class=\"user_writing\">"
				 + 			"<input type=\"hidden\" name=\"receiver[]\" value=\""+data[i].uid+"\">"
				 + 			"<textarea name=\"content\" id=\"memo_text_"+data[i].no+"\" cols=\"20\" rows=\"10\" wrap=\"virtual\" toast_guide=\""+I18n.t("messenger.new_layer.guide.required memo guide")+"\" toast=\"required:true,maxLength:300\" onkeyup=\"toast_memo_('reply','keyup',"+data[i].no+")\"></textarea>"
				 + 		"</div>"
				 + 		"<div class=\"layer_action\">"
				 + 			"<a class=\"btn_m_action_msg\" href=\"javascript:toast_memo_('reply','send',"+data[i].no+")\"><span>"+I18n.t("messenger.new_layer.action.send")+"</span></a>"
				 + 			"<a class=\"btn_m_action_n\"href=\"javascript:toast_memo_('reply','cancel',"+data[i].no+")\"><span>"+I18n.t("layer.cancel")+"</span></a>"
				 + 		"</div>"
				 + 	"</div>"
				 + "</form>";		 
	}

	$('body').prepend(memo);

	if(IS_NEW)
		$('div.memo_list_noti table').prepend(html);
	else
		$('div.memo_list_noti table').append(html);

	if($('div.page_memo').find('#memo_btn').hasClass('btn_mini'))
		$('div.memo_list_noti').show();		
}

function toast_push_noti_layer( data ) {
					
	if ( !isNotiShow ) {
		show_layer(1, 0);
		isShow = true;
	}
	isNotiShow = true;

	if ( INIT_LAYER && IS_NEW ) 
		NOTI_COUNT = NOTI_COUNT + data.length;

	$('div.page_noti').find('span.num').html(NOTI_COUNT);
	
	var html = "";
	var noti = "";
	var data_size = data.length;
		
	TOAST_LAST_NOTI_NO = data[0].no;	
		
	for(var i=0; i<data_size; i++){

			title_length = data[i].result.length;
			if(title_length>8)	title_length=8;
			sub_length = 38-title_length;

			html += "<tr id=\"tr_noti_"+data[i].no+"\" name=\"tr_noti\">"
				 + 		"<th class=\"subject first\"><a href=\"javascript:toast_noti_('show',"+data[i].no+")\">"+cutString(I18n.t("messenger.message." + data[i].ntype, {"content":"<strong>"+cutString(data[i].result, 8, '..')+"</strong>"}), sub_length, '..')+"</a></th>"
				 + 		"<td class=\"date\">"+data[i].sdate+"</td>"
				 + "</tr>";
		
			noti += "<div id=\"layer_view_noti\" class=\"msg_view\" name=\"camp_noti_"+data[i].no+"\" style=\"display:none\">"
				 +		"<div class=\"regist_info\">"
				 + 			"<span class=\"name\">"+cutString(data[i].uname, 8, '..')+"</span> "
				 +			"<span class=\"date\">  "+data[i].sdate+"</span>"
				 +		"</div>"
				 +		"<a class=\"btn_x\" title=\""+I18n.t("tooltip.close")+"\" href=\"javascript:toast_noti_('close',"+data[i].no+")\"></a>"
				 +		"<a class=\"btn_postit\" title=\""+I18n.t("messenger.new_layer.tooltip.fix")+"\" href=\"javascript:toast_noti_('fix',"+data[i].no+")\"></a>"
				 +		"<div class=\"script\">"
				 +			I18n.t("messenger.message." + data[i].ntype,{"content":"<strong>"+cutString(data[i].result,30,'..')+"</strong><br/>"})
				 +		"</div>"
				 +		"<div class=\"layer_action\">"
				 +			"<a class=\"btn_m_action_read\" href=\"javascript:toast_noti_('url',"+data[i].no+")\" id=\""+data[i].url+"\"><span>"+I18n.t("messenger.new_layer.action.show content")+"</span></a>"
				 +		"</div>"
				 +	"</div>";

	}
	$('body').prepend(noti);
		
	if( IS_NEW )
		$('div.noti_list table').prepend(html);
	else
		$('div.noti_list table').append(html);

	if($('div.page_noti').find('#noti_btn').hasClass('btn_mini'))
		$('div.noti_list').show();
		
	NOTI_MORE = false;
}

function show_fix_noti(data){
	
	var noti='';

	for(var i=0; i<data.length; i++){

			if($("div[name='camp_noti_"+data[i].no+"']").length>0)
				return false;

			// get cookie
			var left_v = "";
			var top_v = "";
			var zindex_v = 0;
		
			var id_name = "div[name='camp_noti_"+data[i].no+"']";
			var c_name = "camp_noti_"+data[i].no;
			
			var coord_value = $.cookie(c_name);
			if (coord_value != null) 
			{
				str = coord_value.split(',');
				
				left_v = str[0]; top_v = str[1]; zindex_v = str[2];
				if (zindex_v == undefined) zindex_v = data[i].no;
				TOAST_MAX_ZINDEX = Math.max(TOAST_MAX_ZINDEX, zindex_v);
				
				var view_height = Math.max(window.screen.height-400, document.body.clientHeight-200);			
				top_v = Math.min(parseInt(top_v.split('px')[0],10), view_height)+'px';
			}else{
				
				TOAST_MAX_ZINDEX = TOAST_MAX_ZINDEX +1;
				LAYER_LEFT = LAYER_LEFT+15;
				LAYER_TOP = LAYER_TOP+15;
				
				left_v = LAYER_LEFT+"px";
				top_v = LAYER_TOP+"px";
			}

			zindex_v = TOAST_MAX_ZINDEX;

			noti = "<div id=\"layer_view_noti\" class=\"msg_view\" name=\"camp_noti_"+data[i].no+"\" style=\"left:"+left_v+"; top:"+top_v+"; z-index:"+zindex_v+"\">"
				 +		"<div class=\"regist_info\">"
				 + 			"<span class=\"name\">"+cutString(data[i].uname, 8, '..')+"</span> "
				 +			"<span class=\"date\">  "+data[i].sdate+"</span>"
				 +		"</div>"
				 +		"<a class=\"btn_x\" title=\""+I18n.t("tooltip.close")+"\" href=\"javascript:toast_noti_('close',"+data[i].no+")\"></a>"
				 +		"<span class=\"icon_postit\" title=\""+I18n.t("messenger.new_layer.tooltip.fix")+"\"></span>"
				 +		"<div class=\"script\">"
				 +			I18n.t("messenger.message." + data[i].ntype, {"content": "<strong>" + cutString(data[i].result, 30, '..') + "</strong><br/>"})
				 +		"</div>"
				 +		"<div class=\"layer_action\">"
				 +			"<a class=\"btn_m_action_read\" href=\"javascript:toast_noti_('url',"+data[i].no+")\" id=\""+data[i].url+"\"><span>"+I18n.t("messenger.new_layer.action.show content")+"</span></a>"
				 +		"</div>"
				 +	"</div>";
		
			$('body').append(noti);
			toast_memo_drag_stop(id_name, c_name);			
	}
}

function show_fix_memo(data){

	var memo='';

	for(var i=0; i<data.length; i++){

			if($("div[name='camp_memo_"+data[i].no+"']").length>0)
				return false;

			// get cookie
			var left_v = "";
			var top_v = "";
			var zindex_v = 0;
		
			var id_name = "div[name='camp_memo_"+data[i].no+"']";
			var c_name = "camp_memo_"+data[i].no;		//cookie name
			
			var coord_value = $.cookie(c_name);
			if (coord_value != null) 
			{
				str = coord_value.split(',');
				
				left_v = str[0]; top_v = str[1]; zindex_v = str[2];
				if (zindex_v == undefined) zindex_v = data[i].no;
				TOAST_MAX_ZINDEX = Math.max(TOAST_MAX_ZINDEX, zindex_v);

				var view_height = Math.max(window.screen.height-400, document.body.clientHeight-200);			
				top_v = Math.min(parseInt(top_v.split('px')[0],10), view_height)+'px';
			}else{
				TOAST_MAX_ZINDEX = TOAST_MAX_ZINDEX +1;
				LAYER_LEFT = LAYER_LEFT+15;
				LAYER_TOP = LAYER_TOP+15;
		
				left_v = LAYER_LEFT+"px";
				top_v = LAYER_TOP+"px";
			}

			zindex_v = TOAST_MAX_ZINDEX;

			memo = "<div id=\"layer_view_memo\" name=\"camp_memo_"+data[i].no+"\" class=\"msg_view\" style=\"left:"+left_v+"; top:"+top_v+"; z-index:"+zindex_v+"\">"
				 + 		"<div class=\"regist_info\">"
				 + 			"<span class=\"name\">"+cutString(data[i].uname, 7, '..')+"</span>"
				 + 			"<span class=\"date\"> "+data[i].sdate+"</span>"
				 +		"</div>"
				 + 		"<a class=\"btn_x\" href=\"javascript:toast_memo_('memo','close',"+data[i].no+")\" title=\""+I18n.t("tooltip.close")+"\"></a>"
				 +      "<span class=\"icon_postit\" title=\""+I18n.t("messenger.new_layer.tooltip.fix")+"\"></span>"
				 + 		"<div class=\"user_text\">" + data[i].result + "</div>"
				 + 		"<div class=\"layer_action\">"
				 + 			"<a class=\"btn_m_action_msg\" href=\"javascript:toast_memo_('reply','reply',"+data[i].no+")\"><span>"+I18n.t("messenger.new_layer.action.reply")+"</span></a>"	
				 + 		"</div>"
				 + "</div>"
		
			//reply
				 + "<form id=\"camp_memo_"+data[i].no+"_form\">"
				 + 	"<div id=\"layer_send_memo\" class=\"msg_view\" name=\"camp_reply_"+data[i].no+"\" style=\"display:none; left:"+left_v+"; top:"+top_v+"; z-index:"+zindex_v+"\">"
				 + 		"<div class=\"regist_info\">"
				 + 			"<span class=\"name\"><span class=\"to\">"+I18n.t("messenger.new_layer.word.receiver")+" :</span> "+cutString(data[i].uname, 7, '..')+"</span>"
				 + 			"<span class=\"byte\"><strong>0</strong>/ 300byte</span>"
				 + 		"</div>"
				 + 		"<div class=\"user_writing\">"
				 + 			"<input type=\"hidden\" name=\"receiver[]\" value=\""+data[i].uid+"\">"
				 + 			"<textarea name=\"content\" id=\"memo_text_"+data[i].no+"\" cols=\"20\" rows=\"10\" wrap=\"virtual\" toast_guide=\""+I18n.t("messenger.new_layer.guide.required memo guide")+"\" toast=\"required:true,maxLength:300\" onkeyup=\"toast_memo_('reply','keyup',"+data[i].no+")\"></textarea>"
				 + 		"</div>"
				 + 		"<div class=\"layer_action\">"
				 + 			"<a class=\"btn_m_action_msg\" href=\"javascript:toast_memo_('reply','send',"+data[i].no+")\"><span>"+I18n.t("messenger.new_layer.action.send")+"</span></a>"
				 + 			"<a class=\"btn_m_action_n\"href=\"javascript:toast_memo_('reply','cancel',"+data[i].no+")\"><span>"+I18n.t("layer.cancel")+"</span></a>"
				 + 		"</div>"
				 + 	"</div>"
				 + "</form>";
		
			$('body').append(memo);
			toast_memo_drag_stop(id_name, c_name);			
	}
}

function toast_noti_(action, id) {
	//var id_name = "#camp_noti_"+ id;
	var id_name = "div[name='camp_noti_"+id+"']";
	
	if(action=='show'){

		$(id_name).addClass('cur_show');
		TOAST_MAX_ZINDEX = TOAST_MAX_ZINDEX +1;
		
		if($(id_name).css('display')=='block')
		{
			$(id_name).css({'zIndex': TOAST_MAX_ZINDEX});
			return;
		}
		
		$(id_name).show();
		
		LAYER_LEFT = LAYER_LEFT+15;
		LAYER_TOP = LAYER_TOP+15;
		
		$(id_name).css({
			'zIndex': TOAST_MAX_ZINDEX,
			'left': LAYER_LEFT,
			'top': LAYER_TOP
		});

		toast_memo_drag(id_name);
		read_check('noti',id);
		
		//remove at layer
		$('tr#tr_noti_'+id).attr('name','tr_noti_hide');
		$('tr#tr_noti_'+id).hide();
		NOTI_COUNT = NOTI_COUNT-1;
		if(NOTI_COUNT==0)
			bye_layer('noti');
			
		$('div.page_noti').find('span.num').html(NOTI_COUNT);
			
	}
	else if(action=="url"){
		window.open($(id_name + " a.btn_m_action_read").attr('id'));
		toast_noti_('close',id);
		$(id_name).removeClass('cur_show');
	}
	else if(action=="close"){
		
		if($(id_name+" span.icon_postit").length>0)
			do_fix('noti', 'unfix', id);
		
		$(id_name).remove();		
		if ($.cookie(id_name) != null) $.cookie(id_name, '', {expires:-1});
	}else if(action=='fix'){
		html = "<span class=\"icon_postit\" title=\""+I18n.t("messenger.new_layer.tooltip.fix")+"\"></span>";

		$(id_name).find('a.btn_postit').after(html);
		$(id_name).find('a.btn_postit').remove();
		
		do_fix('noti', 'fix', id);
	}
}

function toast_memo_(type, action, id){
	var id_name = "div[name='camp_"+type+"_"+id+"']";
	
	if (action=="keyup")
		 $(id_name+' div.regist_info span.byte strong').text(getLength($('textarea#memo_text_'+id).val()));
	else
	if (action=='fix'){
		html = "<span class=\"icon_postit\" title=\""+I18n.t("messenger.new_layer.tooltip.fix")+"\"></span>";

		$(id_name).find('a.btn_postit').after(html);
		$(id_name).find('a.btn_postit').remove();
		
		do_fix('memo', 'fix', id);
	}
	else
	if (action=="reply") {

		$(id_name).show();

		TOAST_MAX_ZINDEX = TOAST_MAX_ZINDEX +1;
		$(id_name).css({
			'zIndex': TOAST_MAX_ZINDEX,
			'left': $("div[name='camp_memo_"+id+"']").css('left'),
			'top': $("div[name='camp_memo_"+id+"']").css('top')
		});
		
		if($("div[name='camp_memo_"+id+"'] span.icon_postit").length>0)
			do_fix('memo', 'unfix', id);
			
		$("div[name='camp_memo_"+id+"']").remove();
				
		toast_memo_drag(id_name);
		$("form#camp_memo_"+id+"_form textarea").toastValidate();
		$(id_name).addClass('cur_show');
	}
	else
	if (action=="close") {
		if($(id_name+" span.icon_postit").length>0)
			do_fix('memo', 'unfix', id);
			
		$(id_name).hide();
		$(id_name).removeClass('cur_show');
	}
	else
	if (action=="show") {

		$('tr#tr_memo_'+id).attr('name','tr_memo_hide');
		$('tr#tr_memo_'+id).hide();

		MEMO_COUNT = MEMO_COUNT-1;
		if(MEMO_COUNT==0)
			bye_layer('memo');
			
		$('div.page_memo').find('span.num').html(MEMO_COUNT);
			
		$(id_name).addClass('cur_show');
		TOAST_MAX_ZINDEX = TOAST_MAX_ZINDEX +1;
		
		if($(id_name).css('display')=='block')
		{
			$(id_name).css({'zIndex': TOAST_MAX_ZINDEX});
			return;
		}
		
		read_check(type, id);		

		LAYER_LEFT = LAYER_LEFT+15;
		LAYER_TOP = LAYER_TOP+15;

		$(id_name).show();
		
		$(id_name).css({
			'zIndex': TOAST_MAX_ZINDEX,
			'left': LAYER_LEFT,
			'top': LAYER_TOP
		});
		
		toast_memo_drag(id_name);
	}
	else
	if (action=="send"){
		
		$(id_name).removeClass('cur_show');
		var toast_form = "camp_memo_"+id+ "_form";

		if (!toast_validate_form(toast_form)) return;
		var queryString = $("#"+ toast_form).serialize();

		$.ajax({
			type: "POST",
			url : "/toast_msg/memo_create",
			data : queryString, 
			dataType : "json",
			success : function(data) {
				if (data.status == JSON_SUCCESS) {
					if(data.cnt > 0) {
						alert(I18n.t("messenger.alert.success memo send"));
						toast_memo_("reply","close", id);
						toast_memo_("reply","init", id);
						
						toast_memo_('memo','close', id);
					}
					else 
						alert(I18n.t("messenger.alert.fail memo send"));
				}
			},
			error : function(res, e) {
				toast_ajax_error(res, "[memo_create]:"+e);
			},
			complete : function(res, e){
				toast_validate_form_return(toast_form);
			}
		});
	}
	else 
	if (action=="init"){
		$(id_name).find('textarea').val('');
		$(id_name+' div.regist_info span.byte strong').text('0');
	}
	else
	if (action=="cancel" && type=="reply"){
		
		if($('textarea#memo_text_'+id).val()==$('textarea#memo_text_'+id).attr('toast_guide') || $('textarea#memo_text_'+id).val()==''){
			$(id_name).removeClass('cur_show');
			$(id_name).hide();
			toast_memo_('reply','init',id);
		}else{
			if(confirm(I18n.t("messenger.alert.cancel send memo"))){
				$(id_name).removeClass('cur_show');
				$(id_name).hide();
				toast_memo_('reply','init',id);
			}
		}
	}
};

function do_fix(type, action, id){
	
	var c_name = "camp_"+type+"_"+id;
	var id_name = "div[name='camp_"+type+"_"+id+"']";	
	toast_memo_drag_stop(id_name, c_name);
	
	if(action=='fix')
		$(id_name).removeClass('cur_show');

	$.ajax({
		type: "POST",
		url : "/toast_msg/"+type+"_fix",
		data : "msg_id="+id+"&do_flag="+action, 
		dataType : "json",
		success : function(data) {
			if (data.status == JSON_SUCCESS && action=='fix') {
				var id_value = $(id_name).css('left')+','+$(id_name).css('top')+','+TOAST_MAX_ZINDEX; 
				var id = $.cookie(c_name);
				if (id != null) $.cookie(c_name, '', {expires:-1});
				$.cookie(c_name, id_value, {expires:1});

			}
		},
		error : function(res, e) {
			toast_ajax_error(res, "[do_fix]:"+e);
		}
	});
}

function read_check(type, id)
{
	if(type=='memo'){
		TOAST_MEMO_NO--;
		if(MEMO_COUNT>$("tr[name='tr_memo']").length)
			show_more(type);			
	}
	else{
		TOAST_NOTI_NO--;
		if(NOTI_COUNT>$("tr[name='tr_noti']").length)
			show_more(type);
	}	
		
	$.ajax({
		type: "POST",
		url : "/toast_msg/"+type+"_confirm",
		data : "msg_id="+id,
		dataType: "json",
		success : function(data) {
			if (data.status != JSON_SUCCESS)
				toast_error_handle(data);
		},
		error : function(res, e) {
			toast_ajax_error(res, "["+type+"_confirm]:"+e);
		}
	});	
}

function toast_memo_drag(pop_id) {
	$(pop_id).draggable({
		handle : "div.memo_box_top, div.pop_memo_arrival, div.regist_info",
		start: function(){
			TOAST_MAX_ZINDEX = TOAST_MAX_ZINDEX +1;
			$(this).css('zIndex', TOAST_MAX_ZINDEX);
		}
	});
};

function toast_memo_drag_stop(pop_id, c_id) {
	
	$(pop_id).draggable({
		handle : "div.memo_box_top, div.pop_memo_arrival, div.regist_info",
		start: function(){
			TOAST_MAX_ZINDEX = TOAST_MAX_ZINDEX +1;
			$(this).css('zIndex', TOAST_MAX_ZINDEX);
		},
		stop: function(){	
			var id_value = $(this).css('left')+','+$(this).css('top')+','+TOAST_MAX_ZINDEX; 
			var id = $.cookie(c_id);
			if (id != null) $.cookie(c_id, '', {expires:-1});
			$.cookie(c_id, id_value, {expires:1});
		}
	});
};

function show_more(type) {	
	if(type=='memo'){
		MEMO_MORE = true;
		var tr_size = $("tr[name^='tr_memo']").length;
		var id = $("tr[name^='tr_memo']").eq(tr_size-1).attr('id').split('_')[2];

		TOAST_LAST_MEMO_NO = id;
		
	} else {
		NOTI_MORE = true;

		var tr_size = $("tr[name^='tr_noti']").length;
		var id = $("tr[name^='tr_noti']").eq(tr_size-1).attr('id').split('_')[2];

		TOAST_LAST_NOTI_NO = id;
		
	}

	toast_get_memo();
}

function toggle_layers(type) {
	
	var obj = $('div.page_'+type).find('#'+type+'_btn');
	var add = "";	
	if(type=='memo') add = "_noti";
		
	if (obj.hasClass('btn_mini')) {
		obj.removeClass('btn_mini').addClass('btn_max').attr('title', I18n.t("messenger.new_layer.tooltip.max"));
		
		$('div.'+type+'_list'+add).hide();
		$.cookie(type+"_status", "mini", {expires:1});
			
	} else {
		obj.removeClass('btn_max').addClass('btn_mini').attr('title', I18n.t("messenger.new_layer.tooltip.min"));
		$('div.'+type+'_list'+add).show();
			
		$.cookie(type+"_status", "max", {expires:1});
	}
}

function close_layers(obj) {
	
	var type = '';
	
	if(obj=='memo')
		type = I18n.t("messenger.alert.memo")
	else
		type = I18n.t("messenger.alert.alarm")
	
	if(confirm(I18n.t("messenger.alert.close layer confirm"))){

		$.ajax({
			type: "POST",
			url : "/toast_msg/all_"+obj+"_confirm",
			dataType: "json",
			data: "",
			success : function(data) {
				if (data.status != JSON_SUCCESS)
					toast_error_handle(data);
			},
			error : function(res, e) {
				toast_ajax_error(res, "[all_"+obj+"_confirm]:"+e);
			}
		});	

		bye_layer(obj);
	}
}

function bye_layer(obj)
{
	if(obj=='memo'){
		if(!isNotiShow){	//메모 레이어만 있는경우
			$('div.msg_pageview').hide();
			INIT_LAYER = false;
		}	
		else
			$('div.page_memo').hide();
		
		isMemoShow = false;
		TOAST_MEMO_NO=0;
		MEMO_COUNT=0;
			
	} else {
		if(!isMemoShow){	//알림 레이어만 있는 경우
			$('div.msg_pageview').hide();
			INIT_LAYER = false;
		}	 
		else
			$('div.page_noti').hide();
		
		isNotiShow = false;
		TOAST_MEMO_NO=0;
		NOTI_COUNT=0;
	}
}

function cutString(str, size, pattern) {

	if (str.length>size) {
		str = str.substring(0,size) + pattern;
	}         
	
	return str; 
}

var TOAST_MEMO_NO = 0;
var TOAST_NOTI_NO = 0;
var TOAST_MAX_ZINDEX = 101;
var TOAST_LAST_MEMO_NO = 0;
var TOAST_LAST_NOTI_NO = 0;
var TOAST_MAX_MEMO_COUNT = 20; //7->20	
var TOAST_MAX_NOTI_COUNT = 20;	//20->20
var TOAST_ELAPSE_TIME = 20000;  	// 10sec 10000
//var TOAST_JUST_ELAPSE_TIME = 1000;	// 1sec
var TOAST_MEMO_ERROR = 0;

var INIT_LAYER = false;		//init (called just first roop)
var LAYER_LEFT = 400;		//layer piece left size
var LAYER_TOP = 300;

var isMemoShow = false;
var isNotiShow = false;
var MEMO_MORE  = false;
var NOTI_MORE  = false;

var MEMO_COUNT 	= 0;
var NOTI_COUNT 	= 0;
var MAX_MEMO_NO = 0;
var MAX_NOTI_NO = 0;

var IS_NEW = false;		//new data

$(function(){

	if ($.inArray(TEAM_URL, ['demo', 'cndemo', 'jpdemo', 'endemo']) < 0 && 
		MY_ID[2] != 'bill' && MY_ID[2] != 'team'){
		setTimeout("toast_get_memo()", 3500);
	}
			
	$(window).scroll(function(){
		LAYER_TOP = $( document ).scrollTop()+300;
		for(var i=0; i<$('div.cur_show').length; i++){
			$('div.cur_show').eq(i).css('top',LAYER_TOP+i*15);
		}
	});
	
});
