﻿//////////////////////////////////////////
///////// Global variables ///////////////
//////////////////////////////////////////
var _strBeforeKeyword = "";				 //직전검색어
var _strUserInputKeyword = "";			 //사용자입력단어
var _arrMemToList = new Array();		 //선택된 1촌리스트
var _arrMemTo = new Array();			 //초회된 1촌리스트
var _intCurSuggest = -1;                 //[suggest]현재위치
var _intSuggestCnt = 0;					 //[suggest]Item 수량
var _strliSuggestItem = "liSuggestItem"; //[suggest]Item 이름 header
var _strSuggestSelectBg = "#A8D7F2";     //[suggest]선택시 배경 색상
var _intSuggestTotalCount = 0;			 //검색조건에해당하는총수량
var _intSuggestPageSize = 5;			 //페이지사이즈
var _intSuggestPage = 1;				 //현재페이지
var _intMaxByte = 170;                   //메세지최고길이
var divSuggest							 //DomToReady 초기화
var divSuggestList						 //DomToReady 초기화
//////////////////////////////////////////
///////// Global variables ///////////////
//////////////////////////////////////////

function fnViewSuggest(strValue) {
	divSuggest.style.display = strValue;
	divSuggestList.style.display = strValue;
}

function fnGetSuggest() {

	var strKeyword = _strUserInputKeyword;
	var strKeyword2 = "";
	var ajaxHelper;
	var resultMethod = new MemToListResultAJAX();
	var arrParams = new Array(3);

	//제외대상 리스트 추출
	for (var i = 0; i < _arrMemToList.length; i++) {
		tempArr = _arrMemToList[i];
		
		if (i == 0)
			strKeyword2 = tempArr[1];
		else
			strKeyword2 += "," + tempArr[1];
	}
	//제외대상 리스트 추출

	if (strKeyword != "") {
		if (_strBeforeKeyword != strKeyword) {
			_strBeforeKeyword = strKeyword;
			_intSuggestPage = 1;
		}

		_intCurSuggest = -1;

		ajaxHelper = new AJAXHelper();
		arrParams[0] = new Array("keyword", strKeyword);
		arrParams[1] = new Array("keyword2", strKeyword2);
		arrParams[2] = new Array("pagesize", _intSuggestPageSize);
		arrParams[3] = new Array("page", _intSuggestPage);
		ajaxHelper.CallAnotherReturnCustom("/G_Common/BizCommon/Nugu_Memo_Request_Recommend_ajax.asp", arrParams, resultMethod);
	}
	else {
		fnViewSuggest("none");
	}

}

function MemToListResultAJAX() {
}

MemToListResultAJAX.prototype.ExecuteAJAXComplete = function(returnedXML) {
	fnDisplaySuggest(returnedXML);
}

//1촌리스트를 화면에 표시한다
function fnDisplaySuggest(returnedXML) {
	var strViewSuggest = "none";
	var arrMemTo = new Array();
	var arrReturnedXML = returnedXML.split("|");

	_intSuggestCnt = 0;

	//조회된 수량이 1 이상의 경우 
	if (parseInt(arrReturnedXML[0]) > 0) {
		_intSuggestTotalCount = parseInt(arrReturnedXML[1]);
		_arrMemTo = arrReturnedXML[2].split(",");
		_intSuggestCnt = _arrMemTo.length;

		var strTempHtml = "";
		strTempHtml = fnConvertSuggestList();

		if (strTempHtml != "") {
			divSuggestList.innerHTML = strTempHtml;
			strViewSuggest = "";
		}
	}

	fnViewSuggest(strViewSuggest);
}

//Array를 입력받아 화면에 표시할 HTML 형식으로 변환한다
function fnConvertSuggestList() {
	var arrMemToInfo = new Array();
	var strMemNoTo = "";		//회원번호
	var strPhotoPath = "";		//사진
	var strMemNm = "";			//이름
	var strResultHtml = "";

	for (var i = 0; i < _arrMemTo.length; i++) {

			arrMemToInfo = _arrMemTo[i].split("■");
			strMemNoTo = arrMemToInfo[0];
			strPhotoPath = arrMemToInfo[1];
			strMemNm = arrMemToInfo[2];

				strResultHtml += "<div>";
				strResultHtml += "<ul>";
				strResultHtml += "<li>";

				if (strPhotoPath == "")
					strResultHtml += "<img src=\"http://img.incruit.com/Nugu/img/no_photo.gif\" width=\"20px\" height=\"20px\" alt=\"프로필 사진\" />";
				else
					strResultHtml += "<img src=\"" + strPhotoPath + "\" width=\"20\" height=\"20\" alt=\"사진\" />";

				strResultHtml += "</li>";
				strResultHtml += "<li id=\"" + _strliSuggestItem + (i) + "\" style=\" padding:7px 0 3px 3px;\">";
				strResultHtml += "<a href=\"javascript:fnSelectSuggest('" + _arrMemTo[i] + "');\" class=\"f11 color_name letter\">";
				strResultHtml += strMemNm;
				strResultHtml += "</a>";
				strResultHtml += "</li>";
				strResultHtml += "</ul>";
				strResultHtml += "</div>";
	}

	//페이징 처리
	if (_intSuggestTotalCount > _intSuggestPageSize * _intSuggestPage || _intSuggestPage != 1) {
		strResultHtml += "<div>";
		strResultHtml += "<ul>";

		if (_intSuggestPage != 1 && _intSuggestTotalCount > _intSuggestPageSize * _intSuggestPage)
			strResultHtml += "<li style=\" padding-left:40px; margin-top:-5px;\">";
		else
			strResultHtml += "<li style=\" padding-left:40px; margin-top:-5px;\">";

		if (_intSuggestPage != 1)
			strResultHtml += "<a href=\"javascript:fnChangeSuggestPage(-1);\"><img src=\"http://img.incruit.com/common/button/paging_prev.gif\" alt=\"이전\"></a>";

		if (_intSuggestTotalCount > _intSuggestPageSize * _intSuggestPage)
			strResultHtml += "<a href=\"javascript:fnChangeSuggestPage(1);\"><img src=\"http://img.incruit.com/common/button/paging_next.gif\" alt=\"다음\"></a>";

		strResultHtml += "</li>";
		strResultHtml += "</ul>";
		strResultHtml += "</div>";
	}

	return strResultHtml;
}

//페이지 이동
function fnChangeSuggestPage(intPlusMinus) {

	var intMaxPage = Math.ceil(_intSuggestTotalCount / _intSuggestPageSize);
	_intSuggestPage = _intSuggestPage + intPlusMinus;
	
	if (_intSuggestPage < 1)
		_intSuggestPage = 1;
	
	if (_intSuggestPage > intMaxPage)
		_intSuggestPage = intMaxPage;
	
	fnGetSuggest();
}

//suggest Item의 백그라운드 색상 변경을 통해 마치 선택된 것 같은 표현을 한다.
function fnSuggestSetBg(iKey) {

	if (_intSuggestCnt > 0) {

		_intCurSuggest += iKey;

		if (_intCurSuggest < -1)
			_intCurSuggest = -1;

		if (_intCurSuggest > _intSuggestCnt - 1)
			_intCurSuggest = (_intSuggestCnt - 1);

		//모든 색상 제거
		for (var i = 0; i < _intSuggestCnt; i++) {
			liSuggestItem = $(_strliSuggestItem + i);
			liSuggestItem.style.backgroundColor = "";
		}

		var liSuggestItem = "";
		liSuggestItem = $(_strliSuggestItem + (_intCurSuggest));

		if (liSuggestItem != null)
			liSuggestItem.style.backgroundColor = _strSuggestSelectBg;
	}

}

//조회된 리스트 중 특정 항목 선택시
function fnSelectSuggest(arrMemToListInfo) {
	$("txtMemTo").value = "";
	_intSuggestPage = 1;
	_intCurSuggest = -1;
	fnAddMemTo(arrMemToListInfo);
	fnViewSuggest("none");
}

//전송대상리스트 추가
function fnAddMemTo(arrMemToListInfo, strFrom) {
	var arrMemToInfo = new Array();
	var strMemTo = "";
	var strMemNm = "";

	arrMemToInfo = arrMemToListInfo.split("■");
	strMemTo = arrMemToInfo[0];	//hong
								//http://betanuguphoto.incruit.com/ProfileImages/2009/09/01/ronaldo.jpg
	strMemNm = arrMemToInfo[2];	//홍길동

	if (fnChkExists(strMemNm, strMemTo)) {
		alert("이미 추가 하셨습니다.");
	}
	else {
		fnAddArrMemToList(strMemNm, strMemTo);
		if (typeof (strFrom) == "undefined")
		{
			//버튼추가
			fnAddMemToButton(strMemNm);
		}
	}
}

//전송대상리스트 추가
function fnAddArrMemToList(strKey, strValue) {

	tempArr = new Array(strKey, strValue);
	_arrMemToList.push(tempArr);

}

//전송대상리스트 삭제
function fnRemoveArrMemToList(strKey, strValue) {

	for (var i = _arrMemToList.length; i > 0; i--) {
		tempArr = _arrMemToList[i - 1];

		if (tempArr[0] == strKey && tempArr[1] == strValue) {
			_arrMemToList.splice(i - 1, 1);
		}
	}

}

//전송대상리스트 중 특정데이터 추출
function fnGetArrMemToListValue(strKey) {
	for (var i = _arrMemToList.length; i > 0; i--) {
		tempArr = _arrMemToList[i - 1];
		if (tempArr[0] == strKey) {
			return tempArr[1];
		}
	}
	return "";
}

function fnGetArrMemToListKey(strValue) {
	for (var i = _arrMemToList.length; i > 0; i--) {
		tempArr = _arrMemToList[i - 1];
		if (tempArr[1] == strValue) {
			return tempArr[0];
		}
	}
	return "";
}

function fnIsMail(strMail) {

	if (strMail.search(/^\s*[\w\~\-\.]+\@[\w\~\-]+(\.[\w\~\-]+)+\s*$/g) == -1)
		return false;
	else
		return true;
}

function fnChkExists(strKey, strValue) {
	for (var i = 0; i < _arrMemToList.length; i++) {
		tempArr = _arrMemToList[i];
		if (tempArr[0] == strKey && tempArr[1] == strValue) {
			return true;
		}
	}
	return false;
}

//전송대상리스트 확인
function fnVarify() {
	for (var i = _arrMemToList.length; i > 0; i--) {
		tempArr = _arrMemToList[i - 1];
		alert(tempArr[0] + ":" + tempArr[1]);
	}
}

/*
  Moogets - TextboxList 0.2
  - MooTools version required: 1.2
  - MooTools components required: Element.Event, Element.Style and dependencies.
  
  Credits:
  - Idea: Facebook + Apple Mail
  - Caret position method: Diego Perini <http://javascript.nwbox.com/cursor_position/cursor.js>
  
  Changelog:
  - 0.1: initial release
  - 0.2: code cleanup, small blur/focus fixes
*/

/* Copyright: Guillermo Rauch <http://devthought.com/> - Distributed under MIT - Keep this message! */

//전송대상리스트에 버튼을 추가한다.
function fnAddMemToButton(strParam) {
	[tlist2].each(function(el) {
		el.add(strParam);
	});
}

var TextboxList = new Class({
  
  Implements: [Events, Options],

  options: {/*
    onFocus: $empty,
    onBlur: $empty,
    onInputFocus: $empty,
    onInputBlur: $empty,
    onBoxFocus: $empty,
    onBoxBlur: $empty,
    onBoxDispose: $empty,*/
    resizable: {},
    className: 'bit',
    separator: '###',
    extrainputs: true,
    startinput: true,
    hideempty: true
  },
  
  initialize: function(element, options) {
    this.setOptions(options);
    this.element = $(element).setStyle('display', 'none');    
    this.bits = new Hash;
    this.events = new Hash;
    this.count = 0;
    this.current = false;
    this.maininput = this.createInput({'class': 'maininput'});
    this.holder = new Element('ul', {
      'class': 'holder', 
      'events': {
        'click': function(e) { 
          e = new Event(e).stop();
          if(this.maininput != this.current) this.focus(this.maininput); 
        }.bind(this)
      }
    }).inject(this.element, 'before').adopt(this.maininput);
    this.makeResizable(this.maininput);
    this.setEvents();
  },
  
  setEvents: function() {
    document.addEvent(Browser.Engine.trident ? 'keydown' : 'keypress', function(e) {    
      if(! this.current) return;
      if(this.current.retrieve('type') == 'box' && e.code == Event.Keys.backspace) new Event(e).stop();
    }.bind(this));      
         
    document.addEvents({
      'keyup': function(e) { 
        e = new Event(e).stop();
        if(! this.current) return;
        switch(e.code){
          case Event.Keys.left: return this.move('left');
          case Event.Keys.right: return this.move('right');
          case Event.Keys.backspace: return this.moveDispose();
        }
      }.bind(this),
      'click': function() { this.fireEvent('onBlur').blur(); }.bind(this)
    });
  },
  
  update: function() {
    this.element.set('value', this.bits.getValues().join(this.options.separator));
    return this;
  },
  
  add: function(text, html) {
    var id = this.options.className + '-' + this.count++;
    var el = this.createBox($pick(html, text), {'id': id}).inject(this.current || this.maininput, 'before');
    el.addEvent('click', function(e) {
      e = new Event(e).stop();
      this.focus(el);
    }.bind(this));
    this.bits.set(id, text);    
    if(this.options.extrainputs && (this.options.startinput || el.getPrevious())) this.addSmallInput(el, 'before');
    return el;
  },
  
  addSmallInput: function(el, where) {
    var input = this.createInput({'class': 'smallinput'}).inject(el, where);
    input.store('small', true);
    this.makeResizable(input);
    if(this.options.hideempty) input.setStyle('display', 'none');
    return input;
  },
  
  dispose: function(el) {
    this.bits.remove(el.id);
    if(el.getPrevious().retrieve('small')) el.getPrevious().destroy();
    if(this.current == el) this.focus(el.getNext());
    if(el.retrieve('type') == 'box'){
		this.fireEvent('onBoxDispose', el);

		//============ 삭제로직 시작 ============
    	var strTmp = fnGetArrMemToListValue(el.get("text"));
    	fnRemoveArrMemToList(el.get("text"), strTmp);
    	//============ 삭제로직 종료 ============
	}
    el.destroy();    
    return this;
  },
  
  focus: function(el, nofocus) {
    if(! this.current) this.fireEvent('onFocus', el);
    else if(this.current == el) return this;
    this.blur();
    el.addClass(this.options.className + '-' + el.retrieve('type') + '-focus');
    if(el.retrieve('small')) el.setStyle('display', 'block');
    if(el.retrieve('type') == 'input') {
      this.fireEvent('onInputFocus', el);      
      if(! nofocus) this.callEvent(el.retrieve('input'), 'focus');
    }
    else this.fireEvent('onBoxFocus', el);
    this.current = el;    
    return this;
  },
  
  blur: function(noblur) {
    if(! this.current) return this;
    if(this.current.retrieve('type') == 'input') {
      var input = this.current.retrieve('input');

		//이메일 체크
    	if (fnIsMail(input.get("value"))) {
    		//리스트에 존재여부 확인
    		if (!fnChkExists(input.get("value"), input.get("value"))) {
    			fnAddMemToButton(input.get("value"));
    			fnAddArrMemToList(input.get("value"), input.get("value"));
    		}
    		else {
    			alert("이미 추가된 이메일 입니다.");
    		}
    	}
    	//입력문자열 삭제
    	input.set("value", "");

      if(! noblur) this.callEvent(input, 'blur');   
      this.fireEvent('onInputBlur', input);
    }
    else this.fireEvent('onBoxBlur', this.current);
    if(this.current.retrieve('small') && ! input.get('value') && this.options.hideempty) 
      this.current.setStyle('display', 'none');
    this.current.removeClass(this.options.className + '-' + this.current.retrieve('type') + '-focus');
    this.current = false;
    return this;
  },
  
  createBox: function(text, options) {
    return new Element('li', $extend(options, {'class': this.options.className + '-box'})).set('html', text).store('type', 'box');
  },
  
  createInput: function(options) {
    var li = new Element('li', {'class': this.options.className + '-input'});
    var el = new Element('input', $extend(options, {
      'type': 'text', 
      'events': {
        'click': function(e) { e = new Event(e).stop(); },
        'focus': function(e) { if(! this.isSelfEvent('focus')) this.focus(li, true); }.bind(this),
        'blur': function() { if(! this.isSelfEvent('blur')) this.blur(true); }.bind(this),
        'keydown': function(e)
			{
				//에러발생
				//this.store('lastvalue', this.value).store('lastcaret', this.getCaretPosition()); 
			}
      }
    }));
    return li.store('type', 'input').store('input', el).adopt(el);
  },
  
  callEvent: function(el, type) {
    this.events.set(type, el);
    el[type]();
  },
  
  isSelfEvent: function(type) {
    return (this.events.get(type)) ? !! this.events.remove(type) : false;
  },
  
  makeResizable: function(li) {
    var el = li.retrieve('input');
    el.store('resizable', new ResizableTextbox(el, $extend(this.options.resizable, {min: el.offsetWidth, max: this.element.getStyle('width').toInt()})));
    return this;
  },
  
  checkInput: function() {
    var input = this.current.retrieve('input');
    return (! input.retrieve('lastvalue') || (input.getCaretPosition() === 0 && input.retrieve('lastcaret') === 0));
  },
  
  move: function(direction) {
    var el = this.current['get' + (direction == 'left' ? 'Previous' : 'Next')]();
    if(el && (! this.current.retrieve('input') || ((this.checkInput() || direction == 'right')))) this.focus(el);
    return this;
  },
  
  moveDispose: function() {
    if(this.current.retrieve('type') == 'box') return this.dispose(this.current);
    if(this.checkInput() && this.bits.getKeys().length && this.current.getPrevious()) return this.focus(this.current.getPrevious());
  }
  
});

		var MemToList = new Class({

			Extends: TextboxList,

			createBox: function(text, options) {
				var li = arguments.callee.parent(text, options);

				li.addEvents({
					'mouseenter': function() { this.addClass('bit-hover') },
					'mouseleave': function() { this.removeClass('bit-hover') }
				});
				li.adopt(new Element('a', {
					'href': '#',
					'class': 'closebutton',
					'events': {
						'click': function(e) {
							var strTmp = fnGetArrMemToListValue(text);
							fnRemoveArrMemToList(text, strTmp);
							new Event(e).stop();
							if (!this.current) this.focus(this.maininput);
							this.dispose(li);
						} .bind(this)
					}
				}));
				return li;
			}

		});

var ResizableTextbox = new Class({
  
  Implements: Options,
  
  options: {
    min: 5,
    max: 500,
    step: 7
  },
  
  initialize: function(element, options) {
    var that = this;
    this.setOptions(options);
    this.el = $(element);
    this.width = this.el.offsetWidth;
    this.el.addEvents({
      'keydown': function() {
        this.store('rt-value', this.get('value').length);
		
		//EnterKey 입력
		if (event.keyCode == 13 && _intCurSuggest > -1) {
			fnSelectSuggest(_arrMemTo[_intCurSuggest]);
			this.value = "";
			this.focus();
			return false;
		}
      },
      'keyup': function() {
				//화살표 ◀ : 페이지 이동
				if (event.keyCode == 37) {
					fnChangeSuggestPage(-1);
					return false;
				}
				//화살표 ▲
				if (event.keyCode == 38) {
					fnSuggestSetBg(-1);
					return;
				}
				//화살표 ▶
				if (event.keyCode == 39) {
					fnChangeSuggestPage(1);
					return false;
				}
				//화살표 ▼ : 페이지 이동
				else if (event.keyCode == 40) {
					fnSuggestSetBg(1);
					return;
				}
		
		var newsize = that.options.step * this.get('value').length;

				//글로벌 변수에 사용자 입력값 저장
				_strUserInputKeyword = this.get("value");

				//Suggest 호출
				fnGetSuggest();

        if(newsize <= that.options.min) newsize = that.width;
        if(! (this.get('value').length == this.retrieve('rt-value') || newsize <= that.options.min || newsize >= that.options.max))
          this.setStyle('width', newsize);

      }
    });
  }
  
});

var tlist2;



/*
//전송대상리스트 삭제
function fnRemoveMemTo(arrMemToListInfo) {

	var arrMemToInfo = new Array();
	var strMemTo = "";
	var strMemNm = "";

	arrMemToInfo = arrMemToListInfo.split("■");
	strMemTo = arrMemToInfo[0];
	strMemNm = arrMemToInfo[2];

	fnRemoveArrMemToList(strMemNm, strMemTo);
	fnRemoveArrMemToList(strMemTo, strMemTo);

}
*/

/*
var strSuggestImgURL = "http://nugu.incruit.com/common/renderimage.aspx?sz=35x35&pn=profile&in=";    //사용자 대표사진 URL
var strTarget = "Home";
var strMode = "Text";
var tempHtml = "";
var tempArr = new Array();
var tempStr = "";

var strContent = "";

var intMaxByteForRecommend = 4000;
var strLinkUrl = "";
var strAttachTitle = "";
var bLinkPreview = true;
var arrLinkImages = new Array();
var intLinkImagesIndex = 0;
var strLinkTitle = "";
var strLinkContents = "";
var strLinkSource = "";
//var arrSuggestItem = new Array();       //[suggest]SuggestItem 데이터 저장

//var txtRemain ;							 //DomToReady 초기화
//var txtContent							 //DomToReady 초기화
//var txtAttachPath						 //DomToReady 초기화
//var divSelectTargetList					 //DomToReady 초기화
//var liTxtMemToArea						 //DomToReady 초기화

//var divAttach							 //DomToReady 초기화
//var divAttachDetail						 //DomToReady 초기화
//var divImageControlArea					 //DomToReady 초기화
//var imgInsertMicroBlogPost				 //DomToReady 초기화
//var divRelationshipStatus0				 //DomToReady 초기화

//////////////////////////////////////////
///////// Global variables ///////////////
//////////////////////////////////////////
/*
function fnSetContent() {

	strContent = txtContent.value;

}

function fnSetTxtBGImage(bValue, strTarget) {

	if (bValue == true) {
		if (strTarget == "txtContent") {
			if (txtContent.value == "")
				txtContent.style.backgroundImage = "url('http://img.incruit.com/nugu/img/text_01.gif')";
		}
		else if (strTarget == "txtAttachPath") {
			if (txtAttachPath.value == "")
				txtAttachPath.style.backgroundImage = "url('http://img.incruit.com/nugu/img/text_02.gif')";
		}
		else {
		}
	}
	else {
		if (strTarget == "txtContent") {
			txtContent.style.backgroundImage = "";
		}
		else if (strTarget == "txtAttachPath") {
			txtAttachPath.style.backgroundImage = "";
		}
		else {
		}
	}

}

function fnDisplaySelTarget() {

	var divSelTargetOption = $("divSelTargetOption");

	if (divSelTargetOption.style.display == "none")
		divSelTargetOption.style.display = "";
	else
		divSelTargetOption.style.display = "none";

}

function fnSetSelTarget(strCompanyNm) {

	var divSelTargetOption = $("divSelTargetOption");
	var spanSelectedTarget = $("spanSelectedTarget");

	hidTarget.value = strCompanyNm;
	spanSelectedTarget.innerHTML = strCompanyNm;
	divSelTargetOption.style.display = "none";

	if (strCompanyNm == "홈에" || strCompanyNm == "쪽지")
		fnSelectTarget(strCompanyNm);

}

function fnSelectTarget(strValue, strHompyInfo) {

	var ddAddAttach = $("ddAddAttach");
	var divLinkImagesSelect = $("divLinkImagesSelect");
	var divPreviewArea = $("divPreviewArea");
	var txtContent = $("txtContent");
	var txtRealMemTo = $("txtRealMemTo");
	var chkPostOpenCd = $("chkPostOpenCd");

	switch (strValue) {
		case "홈에":
			strTarget = "Home";
			intMaxByte = 800;
			fnGetRemain();
			liTxtMemToArea.style.display = "none";
			imgInsertMicroBlogPost.src = "http://img.incruit.com/nugu/Button/btn_write.gif";

			if (ddAddAttach != null)
				ddAddAttach.style.display = "block";

			if (typeof (strHompyInfo) != "undefined")
				fnRemoveMemTo(strHompyInfo);

			if (txtContent != null)
				txtContent.focus();

			if (chkPostOpenCd != null)
				chkPostOpenCd.visible = true;

			break;
		case "쪽지":
			strTarget = "Memo";
			intMaxByte = 1000000000000;

			if (typeof (strHompyInfo) == "undefined") {
				liTxtMemToArea.style.display = "";
			}
			else {
				fnAddMemTo(strHompyInfo, "SelectTarget")
			}

			divAttach.style.display = "none";
			divAttachDetail.style.display = "none";
			imgInsertMicroBlogPost.src = "http://img.incruit.com/nugu/Button/btn_sen.gif";

			if (ddAddAttach != null)
				ddAddAttach.style.display = "none";

			if (divLinkImagesSelect != null) {
				divLinkImagesSelect.style.display = "none";
				divPreviewArea.style.display = "none";
			}

			if (txtRealMemTo != null)
				txtRealMemTo.focus();

			if (chkPostOpenCd != null)
				chkPostOpenCd.visible = true;

			break;
	}

}

function fnGetRemain(strType) {

	var intContentByte = 0;
	var intRemain = 0;

	if (txtContent) {
		intContentByte = LenByte(txtContent.value);
		
		if(strType == "Recommend")
			intRemain = intMaxByteForRecommend - intContentByte;
		else
			intRemain = intMaxByte - intContentByte;

		if (intRemain < 0) {
			fnShowAlertLayerMulti("더이상 글을 입력 하실 수 없습니다.", "", "N", "Y");
			txtContent.value = LeftByte(txtContent.value, intMaxByte - 1);
			intContentByte = LenByte(txtContent.value);
			intRemain = intMaxByte - intContentByte;

			if (intRemain < 0) {
				txtContent.value = LeftByte(txtContent.value, intMaxByte - 2);
				intContentByte = LenByte(txtContent.value);
				intRemain = intMaxByte - intContentByte;
			}

			txtRemain.value = intRemain;
		}
		else {
			txtRemain.value = intRemain;
		}
	}

	if (imgInsertMicroBlogPost) {
		if (strTarget == "Home") {
			if (intRemain == intMaxByte)
				imgInsertMicroBlogPost.src = "http://img.incruit.com/nugu/Button/btn_write.gif";
			else
				imgInsertMicroBlogPost.src = "http://img.incruit.com/nugu/Button/btn_write_or.gif";
		}
		else {
			if (intRemain == intMaxByte)
				imgInsertMicroBlogPost.src = "http://img.incruit.com/nugu/Button/btn_sen.gif";
			else
				imgInsertMicroBlogPost.src = "http://img.incruit.com/nugu/Button/btn_sen_or.gif";
		}
	}

}
fnGetRemain();

function fnDisplayCommentButton(txtComment) {

	var strIndex = txtComment.id.replace("txtComment", "");
	var imgCommentWriteButton = $("imgCommentWriteButton" + strIndex);

	if (txtComment.value.length == 0) {
		imgCommentWriteButton.src = "http://img.incruit.com/nugu/Button/btn_write.gif";
	}
	else {
		imgCommentWriteButton.src = "http://img.incruit.com/nugu/Button/btn_write_or.gif";
	}

}
*/


/*
function changeVSync(elementID, vFromValue, vToValue, intVariable) {

	e = document.getElementById(elementID);
	var curV = vFromValue;
	e.style.height = curV + "px";
	curV = parseInt(curV);
	while (curV % intVariable != 0) {
		curV += 1;
	}
	if (curV == parseInt(vToValue)) {
		return;
	}
	else {
		if (curV < parseInt(vToValue)) {
			intVariable = intVariable * 1;
		}
		else if (curV > parseInt(vToValue)) {
			intVariable = intVariable * -1;
		}

		while (curV != vToValue) {
			curV = curV + intVariable;
			e.style.height = curV + 'px';

		}
	}
}

function changeV(elementID, vValue) {
	e = document.getElementById(elementID);
	var curV = e.style.height;
	curV = curV.replace("px", "");
	curV = parseInt(curV);

	while (curV % 5 != 0) {
		curV += 1;
	}

	if (curV < parseInt(vValue)) {
		e.style.height = (curV + 5) + 'px';
		setTimeout("changeV('" + elementID + "','" + vValue + "')", 10);
	}
	else if (curV > parseInt(vValue)) {
		e.style.height = (curV - 5) + 'px';
		setTimeout("changeV('" + elementID + "','" + vValue + "')", 10);
	}
	else {
		return;
	}
}

function fnAddAttach(strAttachName) {

	divAttach.style.display = "";

	var txtAttachPath = $("txtAttachPath");
	var imgAddAttachDetail = $("imgAddAttachDetail");

	if (strAttachName == "Link") {
		if (txtAttachPath != null) {
			txtAttachPath.onkeypress = function() { return fnLinkCheckEnter(strAttachName); };
			imgAddAttachDetail.onclick = function() { fnAddAttachDetail(strAttachName); };
//			txtAttachPath.focus();
//			txtAttachPath.value = "http://";
		}
	}
	else if (strAttachName == "Image") {
		tempHtml = "준비중...";
	}
	else {
		tempHtml = "준비중...";
	}

}

//----------  자동 첨부 ----------//
function fnAddAutoAttach(strAttachName) {

	var txtAttachPath = $("txtAttachPath");

	if (txtAttachPath.value != "")
	{
		divAttach.style.display = "";

		var txtAttachPath = $("txtAttachPath");
		var imgAddAttachDetail = $("imgAddAttachDetail");

		if (strAttachName == "Link") {
			if (txtAttachPath != null) {
				txtAttachPath.onkeypress = function() { return fnLinkCheckEnter(strAttachName); };
				fnAddAttachDetail(strAttachName);
	//			txtAttachPath.focus();
	//			txtAttachPath.value = "http://";
			}
		}
		else if (strAttachName == "Image") {
			tempHtml = "준비중...";
		}
		else {
			tempHtml = "준비중...";
		}
	}
}
//---------- 자동 첨부 ----------//


//----------  자동 내용 추가 ----------//
function fnAddAutoSetContent() {

	var txtContent = $("txtContent");

	if (txtContent.value != "")
	{
		fnSetTxtBGImage(false, "txtContent");
	}

}
//----------  자동 내용 추가 ----------//

function fnLinkCheckEnter(strAttachName) {
	var k = event.keyCode;

	if (k == 13) {
		fnAddAttachDetail(strAttachName);
		event.keyCode = 0;
		return false;
	}
}


function fnTabKeyDown(objName, e) {

	if (e.keyCode == 9)
		$(objName).focus();

}

function fnCancelAttach() {

	fnGetRemain();
	fnInitAttachVariables();
	divAttach.style.display = "none";
	divAttachDetail.style.display = "none";
	divImageControlArea.style.display = "none";

}

function fnInitAttachVariables() {

	strMode = "Text";
	strLinkUrl = "";
	strAttachTitle = "";
	arrLinkImages = new Array();
	intLinkImagesIndex = 0;
	strLinkTitle = "";
	strLinkContents = "";
	strLinkSource = "";

}

function fnValidationURL(strUrl) {

	var RegExp = /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w\.\?=&#%-]*)*\/?$/;
	
	if (RegExp.test(strUrl)) {
		return true;
	} else {
		return false;
	}

}

//function fnAddAttachDetail(strAttachName) {
//
//	var bValidation = false;
//
//	if (strTarget == "Home")
//		imgInsertMicroBlogPost.src = "http://img.incruit.com/nugu/Button/btn_write_or.gif";
//	else
//		imgInsertMicroBlogPost.src = "http://img.incruit.com/nugu/Button/btn_sen_or.gif";
//
//	if (strAttachName == "Link")
//		strMode = "Link";
//	else if (strAttachName == "Image")
//		strMode = "Image";
//	else if (strAttachName == "Video")
//		strMode = "Video";
//	else
//		strMode = "";
//
//	var txtAttachPath = $("txtAttachPath");
//	if (txtAttachPath.value.indexOf("http://") < 0)
//	{
//		strLinkUrl = "http://" + txtAttachPath.value;
//		$("txtAttachPath").value = strLinkUrl;
//	}
//	else
//		strLinkUrl = txtAttachPath.value;
//
//	if (txtAttachPath.value.indexOf("#") > -1)
//	{
//		strLinkUrl = strLinkUrl.substring(0, strLinkUrl.length - (strLinkUrl.length - strLinkUrl.indexOf("#")));
//		$("txtAttachPath").value = strLinkUrl;
//	}
//	if (txtAttachPath.value == "" || txtAttachPath.value == "http://") {
//		fnShowAlertLayerMulti("URL을 입력하세요.", "", "N", "Y");
//		txtAttachPath.focus();
//		return;
//	}
//	else {
//		bValidation = fnValidationURL(strLinkUrl);
//
//		if (bValidation == true) {
//			fnSetLoadingImage();
//		}
//		else {
//			fnShowAlertLayerMulti("입력하신 링크주소가 맞는지 확인해 주세요.", "", "N", "Y");
//			txtAttachPath.focus();
//			return;
//		}
//	}
//	strLinkSource = fnGetClearURL();
//
//	var bIncruitURL = fnIsIncruitURL();
//	
//	if (bIncruitURL)
//		fnGetLinkContentDirectAjax();
//	else
//		fnGetAttachDetail();
//
//}

//URL을 입력받아 incruit.com 포함여부를 반환한다.
function fnIsIncruitURL() {
	if (strLinkUrl.indexOf("incruit.com") != -1) {
		return true;
	}
	else {
		return false;
	}
}

//incruit.com 사이트는 서버사이드 로직에서 HTTP 통신을 할 수 없으므로(L4 장비 때문)
//JAVASCRIPT 로직으로 HTML을 가져온 후 서버사이드로 전송해서 파싱 결과를 반환 받는다.
function fnGetLinkContentDirectAjax() {
	var arrParams = new Array(1);
	var ajaxHelper;
	var customMethod = new CmpltfnGetLinkContentDirectAjax();
	arrParams[0] = new Array("", "");
	ajaxHelper = new AJAXHelper();
	ajaxHelper.CallAnotherReturnCustom(strLinkUrl, arrParams, customMethod);
}

function CmpltfnGetLinkContentDirectAjax() {
}

CmpltfnGetLinkContentDirectAjax.prototype.ExecuteAJAXComplete = function(rtnVal) {
	var strResult = rtnVal;
	fnGetLinkContentBodyAjax(strResult);
}

//function fnGetLinkContentBodyAjax(strResult) {
//	var arrParams = new Array(2);
//	var ajaxHelper;
//	var customMethod = new CmpltfnGetLinkContentBodyAjax();
//	
//	arrParams[0] = new Array("getbody", strResult);
//	arrParams[1] = new Array("headline", strLinkUrl);
//
//	ajaxHelper = new AJAXHelper();
//	ajaxHelper.CallAnotherReturnCustom(G_HOSTNAME_NUGU + "/Common/MicroBlogEditor_AJAX.aspx", arrParams, customMethod);
//}
//
//function CmpltfnGetLinkContentBodyAjax() {
//}
//
//CmpltfnGetLinkContentBodyAjax.prototype.ExecuteAJAXComplete = function(rtnVal) {
//	var strResult = rtnVal;
//	fnSetAttachDetail(strResult);
//	fnDisplayAttachDetail();
//}

//function fnSetLoadingImage() {
//
//	if (typeof (divLinkImagesSelect) != "undefined") {
//		var divPreviewArea = $("divPreviewArea");
//		
//		divLinkImagesSelect.style.display = "none";
//		divPreviewArea.style.display = "none";
//	}
//	
//	divAttachDetail.innerHTML = "<div class=\"loadding\"><img src=\"http://img.incruit.com/Nugu/img/loading.gif\" width=\"400\" height=\"100\" alt=\"로딩중\" /></div>";
//	divAttachDetail.style.display = "";
//
//}

function fnGetClearURL() {

	tempStr = strLinkUrl;
	tempArr = tempStr.split("/");
	return tempArr[0] + "/" + tempArr[1] + "/" + tempArr[2];

}

function fnGetAttachDetail() {

	var arrParams = new Array(1);
	var ajaxHelper;
	var customMethod = new fnCompleteAJAX();

	arrParams[0] = new Array("headline", strLinkUrl);

	ajaxHelper = new AJAXHelper();
	ajaxHelper.CallAnotherReturnCustom(G_HOSTNAME_NUGU + "/Common/MicroBlogEditor_AJAX.aspx", arrParams, customMethod);

}

function fnCompleteAJAX() {
}

fnCompleteAJAX.prototype.ExecuteAJAXComplete = function(returnedXML) {

	var strResult = returnedXML;
	fnSetAttachDetail(strResult);
	fnDisplayAttachDetail();

}

function fnSetAttachDetail(strResult) {

	tempArr = new Array();

	tempArr = strResult.split("○");

	arrLinkImages = tempArr[0].split("★");
	strLinkContents = tempArr[1];
	strLinkTitle = tempArr[2];

}

function fnDisplayAttachDetail() {

	strLinkTitle = strLinkTitle.split('"').join('');
	strLinkTitle = strLinkTitle.split("'").join("");
	strLinkContents = strLinkContents.split('"').join('');
	strLinkContents = strLinkContents.split("'").join("");
	
	tempHtml = "<div class=\"linkbox\">";
	
	if (arrLinkImages[intLinkImagesIndex] != "")
		tempHtml += "	<div id=\"divLinkImage\" class=\"thumb_link\"><img src=\"" + arrLinkImages[intLinkImagesIndex] + "\" style=\"width:100px; height:110px;\" alt=\"링크 이미지\" /></div>";
	
	tempHtml += "	<dl class=\"link\">";
	tempHtml += "		<dt><div id=\"divLinkTitle\"><a href=\"javascript:fnConvertStringToTextboxControl('" + strLinkTitle + "', 'divLinkTitle', 'txtLinkTitle');\" class=\"f12 bold color_bl\">" + strLinkTitle + "</a></div></dt>";
	tempHtml += "		<dd class=\"link f11 color_ac\">출처 : " + strLinkSource + "</dd>";
	tempHtml += "		<dd class=\"link\"><div id=\"divLinkContents\"><a href=\"javascript:fnConvertStringToTextAreaControl('" + strLinkContents + "', 'divLinkContents', 'txtLinkContents');\" class=\"f11 color_66\">" + strLinkContents + "</a></div></dd>";
	tempHtml += "	</dl>";
	tempHtml += "</div>";
	
	divAttachDetail.innerHTML = tempHtml;

	tempHtml = "";

	if (arrLinkImages[intLinkImagesIndex] != "") {
		tempHtml = "	<div id=\"divLinkImagesSelect\">";
		tempHtml += "		<div id=\"divLinkImagesSelectControl\" class=\"f_left\"></div>"
		tempHtml += "	</div>";
	}
	
	tempHtml += "		<div id=\"divPreviewArea\" class=\"t_right\" ><input type=\"checkbox\" id=\"chkImagePreview\" onclick=\"fnSetImagePreview(this);\" checked=\"checked\" />	<span class=\"f11 color_88 letter\"> 미리보기</span></div>";
	
	divImageControlArea.innerHTML = tempHtml;

	if (arrLinkImages[intLinkImagesIndex] != "")
		fnSetImagesSelectControl();

	divAttachDetail.style.display = "";
	divImageControlArea.style.display = "";

}

function fnConvertStringToTextboxControl(strTitle, strDivId, strTxtId) {

	strTitle = strTitle.split('"').join('');
	strTitle = strTitle.split("'").join("");
	$(strDivId).innerHTML = "<input type=\"text\" id = \"" + strTxtId + "\" name=\"" + strTxtId + "\" style=\"width:100%;\" value=\"" + strTitle + "\" class=\"pwd_input_re05\" onBlur=\"fnConvertTextBoxControlToString(this.value, '" + strDivId + "', '" + strTxtId + "');\" />";
	$(strTxtId).focus();

}

function fnConvertTextBoxControlToString(strTitle, strDivId, strTxtId) {

	strTitle = strTitle.split('"').join('');
	strTitle = strTitle.split("'").join("");
	strLinkTitle = strTitle;
	$(strDivId).innerHTML = "<a href=\"javascript:fnConvertStringToTextboxControl('" + strTitle + "', '" + strDivId + "', '" + strTxtId + "');\" class=\"f12 bold color_bl\">" + strTitle + "</a>";

}

function fnConvertStringToTextAreaControl(strContents, strDivId, strTxtId) {

	strContents = strContents.split('"').join('');
	strContents = strContents.split("'").join("");
	$(strDivId).innerHTML = "<textarea id=\"" + strTxtId + "\" name=\"" + strTxtId + "\" rows=\"5\" cols=\"40\" class=\"pwd_input\" onBlur=\"fnConvertTextAreaControlToString(this.value, '" + strDivId + "', '" + strTxtId + "');\">" + strContents + "</textarea>";
	$(strTxtId).focus();

}

function fnConvertTextAreaControlToString(strContents, strDivId, strTxtId) {

	strContents = strContents.split('"').join('');
	strContents = strContents.split("'").join("");
	strLinkContents = strContents;
	$(strDivId).innerHTML = "<a href=\"javascript:fnConvertStringToTextAreaControl('" + strLinkContents + "', 'divLinkContents', 'txtLinkContents');\">" + strLinkContents + "</a>";

}

function fnSetImagesSelectControl() {

	var divLinkImagesSelectControl = $("divLinkImagesSelectControl");
	var strBackward = "";
	var strForward = "";

	strBackward = (intLinkImagesIndex == 0) ? "◁" : "<a href=\"javascript:fnSetImagesIndex('-');\">◀</a>";
	strForward = (intLinkImagesIndex == arrLinkImages.length - 1) ? "▷" : "<a href=\"javascript:fnSetImagesIndex('+');\">▶</a>";

	divLinkImagesSelectControl.innerHTML = strBackward + " " + strForward + "<span class=\"f11 color_88\">" + (intLinkImagesIndex + 1) + "/" + arrLinkImages.length + "</span>";

}

function fnSetImagesIndex(strOperator) {

	var divLinkImage = $("divLinkImage");

	if (strOperator == "+")
		++intLinkImagesIndex;
	else
		--intLinkImagesIndex;

	fnSetImagesSelectControl();

	divLinkImage.innerHTML = "<img src=\"" + arrLinkImages[intLinkImagesIndex] + "\" style=\"width:100px; height:110px;\" alt=\"링크 이미지\" />";

}

function fnSetImagePreview(obj) {

	var divLinkImage = $("divLinkImage");
	var divLinkImagesSelect = $("divLinkImagesSelect");
	var divLinkContents = $("divLinkContents");

	if (obj.checked == false) {
		bLinkPreview = false;
		if (divLinkImage != null) {
			divLinkImage.style.display = "none";
			divLinkImagesSelect.style.display = "none";
		}
		divLinkContents.style.display = "none";
	}
	else {
		bLinkPreview = true;
		if (divLinkImage != null) {
			divLinkImage.style.display = "";
			divLinkImagesSelect.style.display = "";
		}
		divLinkContents.style.display = "";
	}

}

function fnInitMicroBlogEditor(strTarget) {

	var selTarget = $("ctl00_ContentPlaceHolder1_ctl00_selTarget");
	var selItemCd = $("selItemCd");
	var chkPostOpenCd = $("chkPostOpenCd");

	if (selTarget == null)
		selTarget = $("ctl00_ContentPlaceHolder1_ctl01_selTarget");

	txtContent.value = "";

	if (chkPostOpenCd != null) {
		chkPostOpenCd.visible = true;
		chkPostOpenCd.checked = false;
	}

	if (txtAttachPath != null) {
		txtAttachPath.value = "";
		fnSetTxtBGImage(true, "txtAttachPath");
		fnSetTxtBGImage(true, "txtContent");
	}
	
	fnGetRemain();
	fnCancelAttach();
	fnInitMemToButton();

	if (selTarget != null) {
		selTarget.selectedIndex = 0;
	}
	else {
		fnSetSelTarget(strTarget);
	}

	if (selItemCd != null) {
		var hidRecmdItemNm = $("hidRecmdItemNm");
		var hidItemCd = $("hidItemCd");

		selItemCd.selectedIndex = 0;
		selItemCd.disabled = "disabled";
		hidRecmdItemNm.value = "";
		hidItemCd.value = "";
	}

	fnSelectTarget("홈에");
	txtContent.focus();
	arrMemToList = new Array();

}

//----------  공유  ----------//
function fnShareInitMicroBlogEditor(strTarget) {

	var selTarget = $("ctl00_ContentPlaceHolder1_selTarget");
	var selItemCd = $("selItemCd");
	var chkPostOpenCd = $("chkPostOpenCd");

	if (selTarget == null)
		selTarget = $("ctl00_ContentPlaceHolder1_selTarget");

	txtContent.value = "";

	if (chkPostOpenCd != null) {
		chkPostOpenCd.visible = true;
		chkPostOpenCd.checked = false;
	}

	if (txtAttachPath != null) {
		txtAttachPath.value = "";
		fnSetTxtBGImage(true, "txtAttachPath");
		fnSetTxtBGImage(true, "txtContent");
	}
	
	fnGetRemain();
	fnCancelAttach();
	fnInitMemToButton();

	if (selTarget != null) {
		selTarget.selectedIndex = 0;
	}
	else {
		fnSetSelTarget(strTarget);
	}

	if (selItemCd != null) {
		var hidRecmdItemNm = $("hidRecmdItemNm");
		var hidItemCd = $("hidItemCd");

		selItemCd.selectedIndex = 0;
		selItemCd.disabled = "disabled";
		hidRecmdItemNm.value = "";
		hidItemCd.value = "";
	}

	fnSelectTarget("홈에");
	txtContent.focus();
	arrMemToList = new Array();

}
//----------  공유 ----------//

function fnInitMemToButton() {

	if (arrMemToList.length > 0) {
		var intMemToListCount = arrMemToList.length;

		for (var i = 0; i < 1000; i++) {
			var objButton = $("bit-" + i);
			if (objButton != null) {
				objButton.destroy();
				intMemToListCount = intMemToListCount - 1;
			}

			if (intMemToListCount == 0) {
				return;
			}
		}
	}

}

function fnRemoveDefaultMemToText() {

	var txtMemTo = $("txtMemTo");

	if (txtMemTo.value == "인맥이름 검색 또는 이메일주소 입력")
		txtMemTo.value = "";

}

if (divRelationshipStatus0 != null) {
	if (typeof (HompyUserID) != "undefined" && divRelationshipStatus0.style.display != "none") {
		Element.implement(
    {
    	getCaretPosition: function() {
    		if (this.createTextRange) {
    			var r = document.selection.createRange().duplicate();
    			r.moveEnd("character", this.value.length);
    			if (r.text === "") {
    				return this.value.length;
    			}
    			return this.value.lastIndexOf(r.text);
    		} else {
    			return this.selectionStart;
    		}
    	}
    });    
}
*/




//쪽지전송
function fnSendMemo() {

	//전송대상자 존재여부 확인
	if(_arrMemToList.length < 1)
	{
		alert('전송대상자를 입력하세요');
		return;
	}

	//메시지 입력여부 확인
	if($F("txtMsg") == "")
	{
		alert('전할 메세지를 입력하세요.');
		$("txtMsg").focus();
		return;
	}

	if(LenByte($F("txtMsg")) > _intMaxByte - 10)
	{
		$F("txtMsg") = LeftByte($F("txtMsg"), _intMaxByte - 10);
	}

	//전송 대상 추출
	var strTmp = ""
	for (var i = 0; i < _arrMemToList.length; i++) {
		tempArr = _arrMemToList[i];
		if (i == 0)
			strTmp = tempArr[1];
		else
			strTmp += "," + tempArr[1];
	}

	var arrParams = new Array(2);
	var ajaxHelper;
	var resultMethod = new CmpltfnSendMemo();

	ajaxHelper = new AJAXHelper();
	arrParams[0] = new Array("Act", "msg");
	arrParams[1] = new Array("User_Id_To", strTmp);
	arrParams[2] = new Array("Msg", "[추천요청]" + $F("txtMsg"));
	//alert(arrParams);;
	ajaxHelper.CallAnotherReturnCustom("/G_Common/BizCommon/Nugu_Memo_Request_Recommend_ajax.asp", arrParams, resultMethod);

}

function CmpltfnSendMemo() {
}

CmpltfnSendMemo.prototype.ExecuteAJAXComplete = function(rtnVal) {
	if(rtnVal == "0")
	{
		var strMsg = "추천요청이 발송되었습니다.\r\n";
		strMsg += "\r\n추천요청 내역은 [인맥 > 쪽지 > 보낸쪽지함] 에서 확인하실 수 있습니다.";
		alert(strMsg);

		Nugu_ClearLayer2(_Rr_DivId);
	}
	else
	{
		alert("추천요청 중 오류가 발생했습니다.");
		//alert(rtnVal);
	}
}
