var uiMenuArr = {1:"블로그보기", 2:"쪽지보내기", 3:"메일보내기", 4:"SMS보내기", 5:"친구추가", 6:"게시물보기", 7:"회원정보"};

var defaultArr = [6, "|",1]; //로그인 안했을 경우
var meArr = [6, "|", 1]; //글쓴 사람이 본인일 경우
var stuArr = [6, "|", 2, 3, 4, "|", 1, 5]; //학생일 경우
var teaArr = [6, "|", 2, 3, 4, "|", 1, 5]; //교사일 경우
var pubArr = [6, "|", 2, 3, 4, "|", 1, 5]; // 부모/일반인일 경우
var adminArr = [6, "|", 2, 3, 4, "|", 1]; //관리자일 경우


var ui_writerid = "";
var ui_user_type = "";
var ui_writernm = "";
var ui_writer_userseq = "";
var ui_reader_userseq = "";
var ui_cluburl = "";
var uiFactory = null;
var ui_sBeforeID;
var ui_qMenuDp = false;
var ui_formObj;
 
function ui(writer_loginid, writer_nm, writer_userseq, reader_usertype, reader_userseq, obj)
{
			 
    // 이전 아이디 값이 없으면 기본값으로 menu_parent 설정
    if(!ui_sBeforeID) ui_sBeforeID = "menu_parent";

	// 새로 사용할 객체의 아이디를 설정
	sNewID = "elFloatLayer_"+Math.floor(Math.random()*100000);

	//uiFactory 생성
	if (uiFactory==null) uiFactory = new uiFactoryObject();

	// 변수 셋팅.
	uiFactory.setParameter(writer_loginid, writer_nm, writer_userseq, reader_usertype, reader_userseq, obj);
	// 이전 아이디 값과 새로운 아이디 값을 넘겨줌
	uiFactory.createUi(ui_sBeforeID, sNewID);
		
	qMShow(sNewID);

	// 이전 아이디 값에 창 열 때 사용한 새로운 아이디 값을 저장
	ui_sBeforeID = sNewID;
}

function uiFactoryObject()
{
	var uiArr;
	this.setParameter = function(writer_loginid, writer_nm, writer_userseq, reader_usertype, reader_userseq, obj)
	{
		ui_writerid = writer_loginid;
		ui_user_type = reader_usertype.toString();
		
		if (writer_nm == "")
			ui_writernm = "";
		else
			ui_writernm = writer_nm;
		ui_writer_userseq = writer_userseq;
		ui_reader_userseq = reader_userseq;
		ui_formObj = obj;
		
	}

	this.createUi = function(sParentID, sNewID)
	{
		if (!document.getElementById(sParentID))
		{
			var oDiv = document.createElement("DIV");
			oDiv.id = "menu_parent";
			oDiv.style.display = "none";
			oDiv.style.width = "98px";
			oDiv.style.position = "absolute";
			oDiv.style.zIndex = "1000";
			oDiv.className = "perid-layer";			
			var oUl = document.createElement("UL");
			oDiv.appendChild(oUl);
			document.body.appendChild(oDiv);
		}
		// 이전 아이디 값을 이용하여 객체를 찾음
		var objMenu =  document.getElementById(sParentID);
		
		// 메뉴 객체의 아이디 값을 새로 설정
		objMenu.id = sNewID;
		
		var oUl = objMenu.getElementsByTagName("ul")[0];
		//메뉴 초기화
		oUl.innerHTML = "";

		//uiFactory로부터 ui html 안쪽부분을 가져온다.
		oUl.appendChild(this.createFragment());
	}

	this.createFragment = function()
	{
		this.setUiArr();
		var oFragment;
					
		oFragment = document.createDocumentFragment();
		
		for (var i=0 ;i<uiArr.length ;i++ )
		{
			if (uiArr[i]!="|")
			{
				if (i<uiArr.length&&uiArr[i+1]=="|")
					oFragment.appendChild(this.setMenuItem(uiArr[i], true));
				else
					oFragment.appendChild(this.setMenuItem(uiArr[i], false));
			}
		}

		return oFragment;
	}

	this.setUiArr = function()
	{
		if (ui_reader_userseq==ui_writer_userseq) uiArr = meArr;
		else if (ui_user_type =="S")uiArr = stuArr;
		else if (ui_user_type =="T")uiArr = teaArr;
		else if (ui_user_type =="P")uiArr = pubArr;
		else if (ui_user_type =="M")uiArr = adminArr;
		else uiArr = defaultArr;
	}

	this.setMenuItem = function(idx, line)
	{
		var oNewLi;
		
		oNewLi = document.createElement("Li");
		if (line)
			oNewLi.className = "line";
				
		var oNewA = document.createElement("A");			
		oNewA.href="javascript:execMenuItem("+ idx +")";
		
		var oNewSpan = document.createElement("SPAN");
		oNewSpan.innerHTML = uiMenuArr[idx];
		
		oNewA.appendChild(oNewSpan);
		oNewLi.appendChild(oNewA);

		return oNewLi;
	}

	this.hideUi = function() 
	{
		hidemenuie5(ui_sBeforeID);
	}
}


function qMShow(sNewID) {
	
	var onDiv = document.getElementById(sNewID);
    var x, y;
	
	x = event.clientX + document.body.scrollLeft -20;
	y = event.clientY + document.body.scrollTop+11;
	onDiv.style.posLeft = x;
	onDiv.style.posTop = y;
	onDiv.style.display = "block";
	return false;
}
function qMHide() {
	var onDiv = document.getElementById(ui_sBeforeID);
	onDiv.style.display = "none";
}


function execMenuItem(opType) 
{
    switch(opType) 
    {
        case 1 :
            viewBlog(ui_writer_userseq);
            break;
        case 2 :
			sendMessage(ui_writer_userseq);
            break;
        case 3 :
            sendMail(ui_writer_userseq);
			break;
        case 4 :
			sendSMS(ui_writer_userseq);
            break;
        case 5 :
            friendAdd(ui_writer_userseq);
            break;
        case 6 :
            viewMyArticle(ui_writerid);
            break;
        case 7 :            
            break;
    }
    qMHide();
}

function viewBlog(ui_writer_userseq) 
{
   openMyspace(ui_writer_userseq);
}
function sendMessage(ui_writer_userseq)
{   
	window.open('/ngedu/messageWritePop.action?user_seq_list='+ui_writer_userseq+'&decorator=popup&confirm=true','messageWrite_pop','top=10,left=10,status=no, scrollbars=no,resizable=no,width=550, height=500');
}
function sendMail(ui_writer_userseq)
{
	window.open('/ngedu/mailPopup.action?user_seq_list='+ui_writer_userseq+'&decorator=popup&confirm=true','mailPop','top=10,left=10,status=yes, scrollbars=yes,resizable=yes,width=630, height=360');
}

function sendSMS(ui_writer_userseq)
{
	window.open('/ngedu/smsPopup.action?user_seq_list='+ui_writer_userseq+'&decorator=popup&confirm=true','sms_pop','top=10,left=10,status=yes, scrollbars=yes,resizable=yes,width=170, height=493');
}

function friendAdd(ui_writer_userseq)
{
	window.open('/ngedu/friend/findMember.action?decorator=popup&confirm=true&friendParam.searchType=user_seq&friendParam.searchText='+ui_writer_userseq,'friendPop','top=10,left=10,status=no, scrollbars=yes,resizable=no,width=710, height=600');
}


function viewMyArticle(ui_writerid)
{
	var f = $(ui_formObj);
	f.elements["a_search_key"].value="reg_login_id";
	f.elements["a_search_value"].value=ui_writerid;
	f.elements["page.pageno"].value="1";
	list();
}


function qMenuDpCheck(dpFlag){
	this.ui_qMenuDp = dpFlag;
}

function layerCheck(){
  if(ui_qMenuDp){}
  else if(document.getElementById(ui_sBeforeID)){
	  if(document.getElementById(ui_sBeforeID).style.display =="block"){
		  qMHide();
	  }
  }	
}
document.onclick = layerCheck;
