var _pageSize = ""; var _clickedValue = new Array(); var _treeOrder = ""; var _openedFolderType = "myfolder"; var _defaultOpenFolder = 0; var _folTreeFlag = true; var _self = ""; var _mode = "normal"; // normal / edit var _newFolder = 0; //신규 폴더 여부 function init_music(listStyle) { if (!_openedFolderType) _openedFolderType = "myfolder"; //페이지 사이즈 콤보박스 생성 try { var objCombo = new MyCboBox(document.getElementById("pageSize")); var selected = new Array(); selected[_pageSize] = true; objCombo.setBoxFont("gulim"); objCombo.setBoxFontSize(11); objCombo.setBoxFontColor("676767"); objCombo.setList("100곡 / 페이지", 100, selected[100]); objCombo.setList("50곡 / 페이지", 50, selected[50]); objCombo.setList("30곡 / 페이지", 30, selected[30]); objCombo.setList("15곡 / 페이지", 15, selected[15]); objCombo.createBox(function(text, value) { var url = "http://www.somsee.com/music/inc/pageSize_update.inc"; var myAjax = new Ajax.Request ( url, { method:'post', parameters : { "i_page_size": value }, evalScript : true, onComplete : function() { window.location.reload(); //window.location.href = document.getElementById("pageSize").getAttribute("link"); } } ); }); } catch (e) {} try { switch (listStyle) { case 1: init_listStyle(); break; case 2: init_listStyle(); break; } } catch (e) {} } //아티스트 페이지 초기화 function init_artist(artistno) { _openedFolderType = "artist"; _defaultOpenFolder = artistno; //전체 체크 var allChk = document.getElementById("allChk"); allChk.onclick = function() { var seed = this.parentNode.parentNode.nextSibling; while (seed) { try { if (!seed.firstChild.firstChild.disabled) { seed.firstChild.firstChild.checked = this.checked; } } catch(e) {} seed = seed.nextSibling; } } } //서치 앤 매치 페이지 초기화 function init_sm(artistno) { _openedFolderType = "sm"; _defaultOpenFolder = artistno; //전체 체크 var allChk = document.getElementById("allChk"); allChk.onclick = function() { var seed = this.parentNode.parentNode.nextSibling; while (seed) { try { if (!seed.firstChild.firstChild.disabled) { seed.firstChild.firstChild.checked = this.checked; } } catch(e) {} seed = seed.nextSibling; } } } //폴더 편집 초기화 function init_editFolder() { var allChk = document.getElementById("songList").childNodes[1].firstChild.firstChild.firstChild; allChk.onclick = function() { var folders = document.getElementById("songList").childNodes[1].childNodes[1]; while (folders) { try { if (!folders.firstChild.firstChild.disabled) { folders.firstChild.firstChild.checked = allChk.checked; } } catch(e) {} folders = folders.nextSibling; } } var defaultOpenFolder = getCookie("newFolderState"); if (defaultOpenFolder > 0) { var folders = document.getElementById("songList").childNodes[1].childNodes[1]; while (folders) { try { if (folders.getAttribute("seq") == defaultOpenFolder) { setTimeout(function() { folders.childNodes[1].onclick(); }, 1000); break; } } catch(e) {} folders = folders.nextSibling; } } } //앨범 전체 듣기 function listenAlbum(element) { var songs = element.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.nextSibling; var list = ""; while (songs.getAttribute("type") != "albumInfo") { try { if (songs.getAttribute("mysongseq")) { if (list != "") list += ","; list += songs.getAttribute("mysongseq"); } } catch (e) {} songs = songs.nextSibling; } if (list == "") { } else { openPlayer(list, 'all', -1); } } function init_listStyle() { //전체 체크 var allChk = document.getElementById("allChk"); allChk.onclick = function() { var seed = this.parentNode.parentNode; while (seed) { try { if (!seed.firstChild.firstChild.disabled) { seed.firstChild.firstChild.checked = this.checked; } } catch(e) {} seed = seed.nextSibling; } } } function init_latticeStyle() { } function spreadFunc(element) { var iconRoot = element.parentNode; var display = "none"; var btnStr = "더 보기"; if (iconRoot.childNodes[3].style.display == "none") { display = "block"; btnStr = "감추기"; } for(var i=3; i<5; i++) { try { iconRoot.childNodes[i].style.display = display; } catch(e) {} } iconRoot.childNodes[5].firstChild.innerHTML = btnStr; } function songNameEvent(element) { var tmpFunc = element.parentNode.onclick; element.parentNode.onclick = function() {} setTimeout(function() { element.parentNode.onclick = tmpFunc; }, 500); } function songListSave(element) { row = element.parentNode; var mysongseq = 0; var songname = ""; var albumname = ""; var artistname = ""; try { mysongseq = row.getAttribute("mysongseq"); } catch (e) {} try { songname = row.childNodes[1].firstChild.firstChild.nodeValue; } catch (e) {} try { albumname = row.childNodes[2].firstChild.firstChild.nodeValue; } catch (e) {} try { artistname = row.childNodes[3].firstChild.firstChild.nodeValue; } catch (e) {} var url = "http://www.somsee.com/music/inc/edit_songInfo.inc"; var myAjax = new Ajax.Request ( url, { method:'post', parameters : { "songname": songname, "albumname": albumname, "artistname": artistname, "mysongseq":mysongseq }, evalScript : true, onComplete : function() { } } ); } function folderListSave(element) { row = element.parentNode; var folderseq = row.getAttribute("seq"); var foldername = ""; try { foldername = row.childNodes[1].firstChild.firstChild.nodeValue; } catch (e) {} var url = "http://www.somsee.com/music/inc/edit_folderInfo.inc"; var myAjax = new Ajax.Request ( url, { method:'post', parameters : { "flag": "rename", "folderseq": folderseq, "foldername": foldername }, evalScript : true, onComplete : function() { if (getCookie("newFolderState") != 'null') { setCookie("newFolderState", null); //멤버 history log var param = new Array(); param['flag'] = 9; //폴더 생성 9 param['folName'] = foldername; mh_setHistory(param); } } } ); } function setListStyle(value) { var url = "http://www.somsee.com/music/inc/setListStyle.inc"; var myAjax = new Ajax.Request ( url, { method:'post', parameters : { "listStyle": value, "userseq": _userSeq }, evalScript : true, onComplete : function() { window.location.reload(); } } ); } function setFolderView(value) { var url = "http://www.somsee.com/music/inc/setFolderView.inc"; var myAjax = new Ajax.Request ( url, { method:'post', parameters : { "folderView": value, "userseq": _userSeq }, evalScript : true, onComplete : function() { window.location.reload(); } } ); } //선택파일을 펼침 메뉴 function songSpreadMenu1(element) { //var menu = new SpreadMenu(element.parentNode, 5); var numOfMenu = 7; if (_mybox != "yes") { numOfMenu = 2; } var entities = new Array(); if (numOfMenu == 7) { entities.push( new Array("다운로드", function() { select_download(); }) ); } entities.push( new Array("듣기", function() { select_listen(); }) ); if (numOfMenu == 7) { entities.push( new Array("복사", function() { select_copy(); }) ); } entities.push( new Array("랜덤듣기", function() { select_randomListen(); }) ); if (numOfMenu == 7) { entities.push( new Array("이동", function() { select_move(); }) ); entities.push( new Array("재생목록으로 저장", function() { showPlayListTree("저장"); }) ); entities.push( new Array("삭제", function() { select_delete(); }) ); } if (numOfMenu == 2) { var tmpEntities = entities[0]; entities[0] = entities[1]; entities[1] = tmpEntities; var menu = new SpreadMenu(element, numOfMenu); menu.setPosition(-6, -8); menu.setEntities(entities); } else { var menu = new SpreadMenu(element, numOfMenu); menu.setPosition(-6, -12); menu.setEntities(entities); } } //다운로드 function select_download() { var songs = document.getElementById("songList").childNodes[1].childNodes[1]; if (!songs) { var objMsgBox = new MsgBox(); objMsgBox.setMessage("해당 폴더에 곡이 없습니다."); objMsgBox.create(); return; } var list = ""; while (songs) { try { if (songs.getAttribute("mysongseq")) { if (songs.firstChild.firstChild.checked) { if (list != "") list += ","; list += songs.getAttribute("mysongseq"); } } } catch (e) {} songs = songs.nextSibling; } if (list == "") { var objMsgBox = new MsgBox(); objMsgBox.setMessage("선택된 항목이 없습니다."); objMsgBox.create(); return; } else { window.open('http://www.somsee.com/updown/?type=down&folder='+_defaultOpenFolder+'&id='+list, 'pop', 'width=600,height=553,status=yes,scrollbar=no'); } } //듣기 function select_listen() { var songs = document.getElementById("songList").childNodes[1].childNodes[1]; if (!songs) { var objMsgBox = new MsgBox(); objMsgBox.setMessage("해당 폴더에 곡이 없습니다."); objMsgBox.create(); return; } var list = ""; while (songs) { try { if (songs.getAttribute("mysongseq")) { if (songs.firstChild.firstChild.checked) { if (list != "") list += ","; list += songs.getAttribute("mysongseq"); } } } catch (e) {} songs = songs.nextSibling; } if (list == "") { var objMsgBox = new MsgBox(); objMsgBox.setMessage("선택된 항목이 없습니다."); objMsgBox.create(); return; } else { openPlayer(list, 'all', -1); } } //복사 function select_copy() { if (_openedFolderType == "myfolder" || _openedFolderType == "playlist") { var songs = document.getElementById("songList").childNodes[1].childNodes[1]; if (!songs) { var objMsgBox = new MsgBox(); objMsgBox.setMessage("해당 폴더에 곡이 없습니다."); objMsgBox.create(); return; } var list = ""; while (songs) { try { if (songs.getAttribute("mysongseq")) { if (songs.firstChild.firstChild.checked) { if (list != "") list += ","; list += songs.getAttribute("mysongseq"); } } } catch (e) {} songs = songs.nextSibling; } if (list == "") { var objMsgBox = new MsgBox(); objMsgBox.setMessage("선택된 항목이 없습니다."); objMsgBox.create(); return; } else { switch (_self) { case "/music/index.mog": window.open('http://www.somsee.com/popup/tree.mog?from=box&method=copy&fol='+_defaultOpenFolder+'&list='+list, 'poptree', 'width=400, height=436'); break; case "/music/myplaylist.mog": showPlayListTree("복사"); break; } } } else { var songs = document.getElementById("songList").childNodes[1].firstChild; var list = ""; while (songs) { if (songs.getAttribute("mysongseq") && songs.firstChild.firstChild.checked) { if (list != "") list += ","; list += songs.getAttribute("mysongseq"); } songs = songs.nextSibling; } if (list == "") { var objMsgBox = new MsgBox(); objMsgBox.setMessage("선택된 항목이 없습니다."); objMsgBox.create(); return; } else { window.open('http://www.somsee.com/popup/tree.mog?from=box&method=copy&fol='+_defaultOpenFolder+'&list='+list, 'poptree', 'width=400, height=436'); } } } //랜덤 듣기 function select_randomListen() { var songs = document.getElementById("songList").childNodes[1].childNodes[1]; if (!songs) { var objMsgBox = new MsgBox(); objMsgBox.setMessage("해당 폴더에 곡이 없습니다."); objMsgBox.create(); return; } var list = ""; while (songs) { try { if (songs.getAttribute("mysongseq")) { if (songs.firstChild.firstChild.checked) { if (list != "") list += ","; list += songs.getAttribute("mysongseq"); } } } catch (e) {} songs = songs.nextSibling; } if (list == "") { var objMsgBox = new MsgBox(); objMsgBox.setMessage("선택된 항목이 없습니다."); objMsgBox.create(); return; } else { openPlayer(list, 'rnd', _userSeq); } } //이동 function select_move() { if (_openedFolderType == "myfolder" || _openedFolderType == "playlist") { var songs = document.getElementById("songList").childNodes[1].childNodes[1]; if (!songs) { var objMsgBox = new MsgBox(); objMsgBox.setMessage("해당 폴더에 곡이 없습니다."); objMsgBox.create(); return; } var list = ""; while (songs) { try { if (songs.getAttribute("mysongseq")) { if (songs.firstChild.firstChild.checked) { if (list != "") list += ","; list += songs.getAttribute("mysongseq"); } } } catch (e) {} songs = songs.nextSibling; } if (list == "") { var objMsgBox = new MsgBox(); objMsgBox.setMessage("선택된 항목이 없습니다."); objMsgBox.create(); return; } else { switch (_self) { case "/music/index.mog": window.open('http://www.somsee.com/popup/tree.mog?from=box&method=move&fol='+_defaultOpenFolder+'&list='+list, 'poptree', 'width=400, height=436'); break; case "/music/myplaylist.mog": showPlayListTree("이동"); break; } } } else { var objMsgBox = new MsgBox(); objMsgBox.setMessage("곡 이동은 내 폴더 에서만 가능 합니다."); objMsgBox.create(); return; } } //삭제 function select_delete() { if (_openedFolderType == "myfolder" || _openedFolderType == "playlist") { var songs = document.getElementById("songList").childNodes[1].childNodes[1]; if (!songs) { var objMsgBox = new MsgBox(); objMsgBox.setMessage("해당 폴더에 곡이 없습니다."); objMsgBox.create(); return; } var list = ""; while (songs) { try { if (songs.getAttribute("mysongseq")) { if (songs.firstChild.firstChild.checked) { if (list != "") list += ","; if (_self == "/music/index.mog") { list += songs.getAttribute("mysongseq"); } else if (_self == "/music/myplaylist.mog") { list += songs.getAttribute("seq"); } } } } catch (e) {} songs = songs.nextSibling; } if (list == "") { var objMsgBox = new MsgBox(); objMsgBox.setMessage("먼저 삭제할 곡을 선택 하세요."); objMsgBox.create(); return; } else { var objMsgBox = new MsgBox(); objMsgBox.setOption("confirm"); switch (_self) { case "/music/index.mog": objMsgBox.setMessage("선택한 곡을 삭제 하시겠습니까?"); break; case "/music/myplaylist.mog": objMsgBox.setMessage("선택한 곡을 재생 목록에서 삭제 하시겠습니까?"); break; } objMsgBox.setEvent(function() { //todo 삭제 코드 var url = 'http://www.somsee.com/music/inc/copySong.inc'; switch (_self) { case "/music/index.mog": var myAjax = new Ajax.Request( url, { method:'post', parameters : {"flag":"del", "seq":list}, evalScript : true, onComplete : function() { window.location.reload(); } } ); break; case "/music/myplaylist.mog": var myAjax = new Ajax.Request( url, { method:'post', parameters : {"flag":"playlist_del", "seq":list}, evalScript : true, onComplete : function() { window.location.reload(); } } ); break; } }); objMsgBox.create(); } } else { var objMsgBox = new MsgBox(); objMsgBox.setMessage("곡 삭제는 내 폴더 에서만 가능 합니다."); objMsgBox.create(); return; } } //파일 복사 function copyFile(fol, list) { var url = 'http://www.somsee.com/music/inc/copySong.inc'; var myAjax = new Ajax.Request( url, { method:'post', parameters : {"flag":"copy", "fseq":fol, "seq":list}, evalScript : true, onComplete : function() {} } ); } //파일 이동 function moveFile(fol, list) { var url = 'http://www.somsee.com/music/inc/copySong.inc'; var myAjax = new Ajax.Request( url, { method:'post', parameters : {"flag":"move", "fseq":fol, "seq":list}, evalScript : true, onComplete : function() {} } ); } //전체 듣기 function folder_listenAll() { try { var songs = document.getElementById("songList").childNodes[1].childNodes[1]; if (document.getElementById("songList").childNodes[1].firstChild.firstChild.firstChild.nodeName == "DIV") { songs = document.getElementById("songList").childNodes[1].firstChild.firstChild.firstChild; } } catch(e) {} if (!songs) { var objMsgBox = new MsgBox(); objMsgBox.setMessage("해당 폴더에 곡이 없습니다."); objMsgBox.create(); return; } var list = ""; while (songs) { try { if (songs.getAttribute("mysongseq")) { if (list != "") list += ","; list += songs.getAttribute("mysongseq"); } } catch (e) {} songs = songs.nextSibling; } if (list == "") { } else { openPlayer(list, 'all', -1); } } //정렬 function folder_sort() { if (_openedFolderType == "myfolder") { changeFolderList(); } else if (_openedFolderType == "playlist") { changePlayList(); } else { var objMsgBox = new MsgBox(); objMsgBox.setMessage("정렬은 내 폴더 에서만 지원하는 기능입니다."); objMsgBox.create(); return; } } //폴더편집 function folder_manage() { if (_openedFolderType == "myfolder") { window.location.href = "http://www.somsee.com/music/editFolder.mog?seq=" + _defaultOpenFolder; } else { var objMsgBox = new MsgBox(); objMsgBox.setMessage("편집모드는 내 폴더 에서만 지원하는 기능입니다."); objMsgBox.create(); return; } } //폴더를 펼침 메뉴 function songSpreadMenu2(element) { //var menu = new SpreadMenu(element.parentNode, 5); var numOfMenu = 4; if (_mybox != "yes") { numOfMenu = 1; } var entities = new Array(); entities.push( new Array("전체듣기", function() { folder_listenAll(); }) ); if (numOfMenu == 4) { entities.push( new Array("정렬", function() { folder_sort(); }) ); entities.push( new Array("플레이어 퍼가기", function() { var objMsgBox = new MsgBox(); objMsgBox.setMessage("준비중 입니다."); objMsgBox.create(); }) ); entities.push( new Array("편집모드", function() { folder_manage(); }) ); var menu = new SpreadMenu(element, numOfMenu); menu.setPosition(-6, -10); menu.setEntities(entities); } else { var menu = new SpreadMenu(element, numOfMenu); menu.setPosition(-6, -6); menu.setEntities(entities); } } //재생 목록으로 저장 function showPlayListTree(txt) { var songs = document.getElementById("songList").childNodes[1].childNodes[1]; var list = ""; if (txt == "이동") { while (songs) { try { if (songs.getAttribute("seq")) { if (songs.firstChild.firstChild.checked) { if (list != "") list += ","; list += songs.getAttribute("seq"); } } } catch (e) {} songs = songs.nextSibling; } } else { while (songs) { try { if (songs.getAttribute("mysongseq")) { if (songs.firstChild.firstChild.checked) { if (list != "") list += ","; list += songs.getAttribute("mysongseq"); } } } catch (e) {} songs = songs.nextSibling; } } if (list == "") { var objMsgBox = new MsgBox(); objMsgBox.setMessage("선택된 항목이 없습니다."); objMsgBox.create(); return; } else { var code = "1"; switch(txt) { case "저장": case "복사": code = "1"; break; case "이동": code = "2"; break; } try { document.body.removeChild(document.getElementById("selectedList")); } catch (e) {} var tmpLayer = new Layer(); tmpLayer.getElement().style.display = "none"; tmpLayer.getElement().setAttribute("list", list); tmpLayer.getElement().setAttribute("id", "selectedList"); tmpLayer.getElement().setAttribute("code", code); clearLayer(); var treeLayer = new Layer(); //element = document.getElementById("folder_menu").childNodes[1]; //var pos = Element.cumulativeOffset(element); var pos = Element.cumulativeOffset(document.getElementById("songList")); if (navigator.appVersion.indexOf("MSIE 6") > -1) { pos[1] -= document.body.scrollTop; } // IE 6.0 treeLayer.getElement().style.width = "350px"; treeLayer.getElement().style.height = "394px"; treeLayer.getElement().style.border = "1px solid #C44977"; treeLayer.getElement().style.fontFamily = "verdana, gulim"; treeLayer.getElement().style.fontSize = "12px"; treeLayer.getElement().style.color = "#676767"; treeLayer.setPosition(); //new Draggable(treeLayer.getElement(), {endeffect: function() {}}); treeLayer.setShadow(); var treeTitle = document.createElement("DIV"); treeTitle.style.width = "350px"; treeTitle.style.height = "25px"; treeTitle.innerHTML = '
재생목록으로 ' + txt + '
' + '
r
'; treeTitle.style.filter = "progid:DXImageTransform.Microsoft.gradient(StartColorStr=#FFC44979,EndColorStr=#FFA33D65,GradientType=0)"; treeLayer.getElement().appendChild(treeTitle); var content = document.createElement("DIV"); content.style.padding = "10px 10px 10px 10px"; content.innerHTML = '
새 재생 목록으로 ' + txt + '
' + '' + '' + '
 
' + '
기존 목록에 ' + txt + '
' + '' + '' + ''; treeLayer.getElement().appendChild(content); var url = "http://www.somsee.com/music/inc/playlist_process.inc"; var myAjax = new Ajax.Updater( {success : 'alreadyList'}, url, { method:'post', parameters : { "flag": "getList", "userSeq": _userSeq }, evalScript : true, onComplete : function() { } } ); } } //재생 목록 만들기 function newPlayList() { clearLayer(); var treeLayer = new Layer(); //element = document.getElementById("folder_menu").childNodes[1]; //var pos = Element.cumulativeOffset(element); treeLayer.getElement().style.width = "350px"; treeLayer.getElement().style.height = "94px"; treeLayer.getElement().style.border = "1px solid #C44977"; treeLayer.getElement().style.fontFamily = "verdana, gulim"; treeLayer.getElement().style.fontSize = "12px"; treeLayer.getElement().style.color = "#676767"; treeLayer.setPosition(); treeLayer.setShadow(); var treeTitle = document.createElement("DIV"); treeTitle.style.width = "350px"; treeTitle.style.height = "25px"; treeTitle.innerHTML = '
새 재생목록
' + '
r
'; treeTitle.style.filter = "progid:DXImageTransform.Microsoft.gradient(StartColorStr=#FFC44979,EndColorStr=#FFA33D65,GradientType=0)"; treeLayer.getElement().appendChild(treeTitle); var content = document.createElement("DIV"); content.style.padding = "10px 10px 10px 10px"; content.innerHTML = '
새 재생 목록 만들기
' + '' + ''; treeLayer.getElement().appendChild(content); content.childNodes[1].focus(); } function savePlayList(element, flag, noList) { //flag: 새 목록 여부, noList: list유무 if (flag == "0") { var objMsgBox = new MsgBox(); objMsgBox.setMessage("재생목록을 먼저 선택 하세요."); objMsgBox.create(); return; } else if (flag == "new") { if (trim(element.previousSibling.value) == "") { var objMsgBox = new MsgBox(); objMsgBox.setMessage("새 재생 목록 이름을 입력 하세요."); objMsgBox.create(); return; } } var event = "insertSong"; try { if (document.getElementById("selectedList").getAttribute("code") == "2") { event = "moveSong"; } } catch(e) {} clearLayer(); var url = "http://www.somsee.com/music/inc/playlist_process.inc"; var targetPlayListSeq = 0; var tmpLayer = new Layer(); tmpLayer.getElement().style.display = "none"; if (flag == "new") { //새 재생 목록 저장 var myAjax = new Ajax.Updater( {success : tmpLayer.getElement()}, url, { method:'post', parameters : { "flag": "setList", "userSeq": _userSeq, "folName": element.previousSibling.value }, evalScript : true, onComplete : function() { targetPlayListSeq = document.getElementById("createdPlayListSeq").value; tmpLayer.closeElement(); var list = ""; if (!noList) { var list = document.getElementById("selectedList").getAttribute("list"); } try {document.body.removeChild(document.getElementById("selectedList"));} catch(e) {} var myAjax = new Ajax.Request( url, { method:'post', parameters : { "flag": event, "songList": list, "playListSeq": targetPlayListSeq }, evalScript : true, onComplete : function() { window.location.href = "http://www.somsee.com/music/myplaylist.mog?list=" + targetPlayListSeq; } } ); } } ); } else { //곡 저장 if (!targetPlayListSeq) { targetPlayListSeq = flag; } var list = document.getElementById("selectedList").getAttribute("list"); try {document.body.removeChild(document.getElementById("selectedList"));} catch(e) {} var myAjax = new Ajax.Request( url, { method:'post', parameters : { "flag": event, "songList": list, "playListSeq": targetPlayListSeq }, evalScript : true, onComplete : function() { window.location.href = "http://www.somsee.com/music/myplaylist.mog?list=" + targetPlayListSeq; } } ); } } function clickPlayList(element) { var list = element.parentNode.parentNode.firstChild; while (list) { list.lastChild.style.fontWeight = "400"; list.lastChild.style.color = "#676767"; list = list.nextSibling; } element.style.fontWeight = "700"; element.style.color = "#000000"; document.getElementById("savePlayList").setAttribute("seq", element.getAttribute("seq")); } //보관함 function showFolderTree(element) { document.body.onmousewheel = function() { if (window.event.wheelDelta >= 0) { //위 if (parseInt(tree.scrollTop) < 8) { tree.scrollTop = 0; } else { if ((tree.scrollTop % 18) != 8) { tree.scrollTop = tree.scrollTop + tree.scrollTop % 18; } tree.scrollTop = tree.scrollTop - 18; } } else { //아래 if (parseInt(tree.scrollTop) < 8) { tree.scrollTop = 8; } else { if ((tree.scrollTop % 18) != 8) { tree.scrollTop = tree.scrollTop + tree.scrollTop % 18; } else { tree.scrollTop = tree.scrollTop + 18; } } } return false; } _folTreeFlag = true; clearLayer(); var treeLayer = new Layer(); //if (!element) { //element = document.getElementById("folder_menu").childNodes[1]; //} //var pos = Element.cumulativeOffset(element); var pos = Element.cumulativeOffset(document.getElementById("songList")); if (navigator.appVersion.indexOf("MSIE 6") > -1) { pos[1] -= document.body.scrollTop; } // IE 6.0 treeLayer.getElement().style.width = Element.getWidth(document.getElementById("songList")) + "px"; treeLayer.getElement().style.height = "325px"; treeLayer.getElement().style.border = "1px solid #C44977"; treeLayer.getElement().style.fontFamily = "verdana, gulim"; treeLayer.getElement().style.fontSize = "12px"; treeLayer.getElement().style.color = "#676767"; //treeLayer.setTargetPosition(document.getElementById("songList")); treeLayer.setPosition(); //new Draggable(treeLayer.getElement(), {endeffect: function() {}}); treeLayer.setShadow(); var defaultTab = new Array(); var defaultBorder = new Array(); switch (_openedFolderType) { case "myfolder": defaultTab[0] = "default_tab1"; defaultTab[1] = ""; defaultTab[2] = ""; defaultBorder[0] = "style='border-right:1px solid #C44977; border-bottom:1px solid #FFFFFF;'"; defaultBorder[1] = ""; defaultBorder[2] = ""; break; case "artist": defaultTab[0] = ""; defaultTab[1] = "default_tab1"; defaultTab[2] = ""; defaultBorder[0] = "style='border-right:1px solid #C44977;'"; defaultBorder[1] = "style='border-right:1px solid #C44977; border-bottom:1px solid #FFFFFF;'"; defaultBorder[2] = ""; break; case "sm": defaultTab[0] = ""; defaultTab[1] = ""; defaultTab[2] = "default_tab1"; defaultBorder[0] = ""; defaultBorder[1] = "style='border-right:1px solid #C44977;'"; defaultBorder[2] = "style='border-bottom:1px solid #FFFFFF;'"; break; } var treeTitle = document.createElement("DIV"); treeTitle.style.width = Element.getWidth(document.getElementById("songList")) + "px"; treeTitle.style.height = "25px"; treeTitle.innerHTML = '
' + '
내 폴더
' + '
아티스트 별
' + '
써치 & 매치
' + '
' + '
r
'; if (_userSeq == _pageSeq) { treeTitle.innerHTML += '보관함 편집'; } treeTitle.style.filter = "progid:DXImageTransform.Microsoft.gradient(StartColorStr=#FFC44979,EndColorStr=#FFA33D65,GradientType=0)"; treeLayer.getElement().appendChild(treeTitle); tabEvent(document.getElementById("tab_folder")); var tree = document.createElement("DIV"); tree.className = "mainMenuScroll"; tree.setAttribute("id", "treeBox"); tree.style.width = (Element.getWidth(document.getElementById("songList")) - 22) + "px"; tree.style.height = "280px"; tree.style.padding = "10px 10px 10px 10px"; tree.style.overflowY = "auto"; tree.style.overflowX = "hidden"; treeLayer.getElement().appendChild(tree); _mode = "normal"; switch (_openedFolderType) { case "myfolder": getMyFolder(); break; case "artist": getMyArtist(); break; case "sm": getMySm(); break; } } function allowWheel() { document.body.onmousewheel = function(){ return true; } } function getMyFolder() { try { document.getElementById("tmpOrderBuf").parentNode.removeChild(document.getElementById("tmpOrderBuf")); } catch(e) {} var tmpHddnLayer = document.createElement("DIV"); tmpHddnLayer.setAttribute("id", "tmpOrderBuf"); tmpHddnLayer.style.display = "none"; document.body.appendChild(tmpHddnLayer); try { //해당 사용자의 폴더 Order 가져오기 var url = "http://www.somsee.com/music/inc/tree_processOrder.inc"; var myAjax = new Ajax.Updater( {success : 'tmpOrderBuf'}, url, { method:'post', parameters : { "memberSeq":_pageSeq, "flag":"get" }, evalScript : true, onComplete : function() { _treeOrder = document.getElementById("tree_order").value; tmpHddnLayer.parentNode.removeChild(tmpHddnLayer); switch(_treeOrder) { case "1": _treeOrder = "c_foldername"; break; case "2": _treeOrder = "d_regdate"; break; } //비 User 폴더 목록 가져오기 var url = "http://www.somsee.com/music/inc/tree_preprocess.inc"; var myAjax = new Ajax.Updater( {success : 'treeBox'}, url, { method:'post', parameters : { "memberSeq":_pageSeq }, evalScript : true, onComplete : function() { //루트 폴더 가져오기 getFolderListByAFolder(null); } } ); } } ); } catch(e) {} } function getMyArtist() { var url = "http://www.somsee.com/music/inc/tree_artist.inc"; var myAjax = new Ajax.Updater( {success : 'treeBox'}, url, { method:'post', parameters : { "memberSeq":_pageSeq, "memberId":_pageId, "userParam":_userParam }, evalScript : true, onComplete : function() { if (document.getElementById("root").nextSibling) { document.getElementById("tree").lastChild.firstChild.src = "http://www.somsee.com/img/line/joinbottom.gif" } var artists = document.getElementById("root").nextSibling; while (artists) { try { if (_defaultOpenFolder == artists.lastChild.getAttribute("value")) { artists.lastChild.firstChild.style.color = "#C44977"; artists.lastChild.firstChild.focus(); artists.lastChild.firstChild.blur(); break; } } catch (e) {} artists = artists.nextSibling; } setWidthOfTree(); } } ); } function getMySm() { var url = "http://www.somsee.com/music/inc/tree_sm.inc"; var myAjax = new Ajax.Updater( {success : 'treeBox'}, url, { method:'post', parameters : { "memberSeq":_pageSeq, "memberId":_pageId, "userParam":_userParam }, evalScript : true, onComplete : function() { if (document.getElementById("root").nextSibling) { document.getElementById("tree").lastChild.firstChild.src = "http://www.somsee.com/img/line/joinbottom.gif" } var artists = document.getElementById("root").nextSibling; while (artists) { try { if (_defaultOpenFolder == artists.getAttribute("seq")) { artists.lastChild.firstChild.style.color = "#C44977"; artists.lastChild.firstChild.focus(); artists.lastChild.firstChild.blur(); break; } } catch (e) {} artists = artists.nextSibling; } setWidthOfTree(); } } ); } //폴더 만들기 function newFolder() { var tmp = new Layer(); tmp.getElement().style.display = "none"; var url = "http://www.somsee.com/music/inc/edit_folderInfo.inc"; var myAjax = new Ajax.Updater( {success : tmp.getElement()}, url, { method:'post', parameters : { "flag": "new", "seq": _defaultOpenFolder }, evalScript : true, onComplete : function() { setCookie("newFolderState", parseInt(tmp.getElement().innerHTML)); tmp.closeElement(); window.location.reload(); } } ); } //폴더 이동 function moveFolder() { var songs = document.getElementById("songList").childNodes[1].childNodes[1]; var list = ""; while (songs) { try { if (songs.firstChild.firstChild.checked) { if (list != "") list += "$$"; list += songs.getAttribute("seq") + "||" + songs.getAttribute("lock") + "||" + songs.getAttribute("lockChild"); } } catch(e) {} songs = songs.nextSibling; } window.open('http://www.somsee.com/popup/tree.mog?from=box&method=moveFolder&fol=' + list, 'poptree', 'width=400, height=436'); } //폴더 삭제 function delFolder() { var songs = document.getElementById("songList").childNodes[1].childNodes[1]; var list = ""; while (songs) { try { if (songs.firstChild.firstChild.checked) { if (list != "") list += ","; list += songs.getAttribute("seq"); } } catch(e) {} songs = songs.nextSibling; } var objMsgBox = new MsgBox(); objMsgBox.setMessage("정말로 삭제 하시겠습니까?"); objMsgBox.setOption("confirm"); objMsgBox.setEvent(function() { var area = document.getElementById("songList"); area.previousSibling.style.height = "auto"; area.previousSibling.innerHTML += '




'; area.parentNode.removeChild(area); var url = "http://www.somsee.com/music/inc/edit_folderInfo.inc"; var myAjax = new Ajax.Request( url, { method:'post', parameters : { "flag": "del", "list": list }, evalScript : true, onComplete : function() { window.location.reload(); } } ); }); objMsgBox.create(); } //해당 폴더의 하위 폴더 목록 가져오기 function getFolderListByAFolder(parentElement) { var parentSeq = -1; //기본 root 폴더의 pseq if (parentElement) { parentSeq = parentElement.getAttribute("seq"); } try { document.getElementById("tmpTreeBuf").parentNode.removeChild(document.getElementById("tmpTreeBuf")); } catch(e) {} var tmpHddnLayer = document.createElement("DIV"); tmpHddnLayer.setAttribute("id", "tmpTreeBuf"); tmpHddnLayer.style.display = "none"; document.body.appendChild(tmpHddnLayer); var url = "http://www.somsee.com/music/inc/tree_folderListByAFolder.inc"; var myAjax = new Ajax.Updater( {success : 'tmpTreeBuf'}, url, { method:'post', parameters : { "memberSeq":_pageSeq, "memberId":_pageId, "parentSeq":parentSeq, "order":_treeOrder }, evalScript : true, onComplete : function() { //임시 폴더에서 tree로 이동 if (parentElement) { //비 root폴더 var cntOfLineElements = 0; if (parentElement.getAttribute("id") != "root") { for (var i=0; i0; i--) { if (document.getElementById("fol" + list[i])) { beginSpreadPoint = i; break; } } //탐색 var i = beginSpreadPoint; var objTimer_spread = setInterval (function () { try { var targetFolder = document.getElementById("fol" + list[list.length - 1]) if (targetFolder) { clearTimeout(objTimer_spread); setTimeout (function() { targetFolder.lastChild.style.color = "#C44977"; if (_folTreeFlag) { targetFolder.focus(); _folTreeFlag = false; } //targetFolder.lastChild.onclick(); if (flag) renameFolder(true); }, 500); return; } var forSpreadIcon = document.getElementById("fol" +list [i]).lastChild.previousSibling.previousSibling; forSpreadIcon.onclick(); } catch (e) { return; } i++; }, 1); } //트리의 폭(가로 스크롤 관련) function setWidthOfTree() { var treeEle = document.getElementById("tmpOrderBuf"); if (getBrowser()=="NS") { return; } var child = treeEle.firstChild; var width = 0; while (child && child.nodeName == "DIV") { if (child.style.display != "none") { var grandChild = child.firstChild; var thisWidth = 0; while (grandChild) { try { thisWidth += grandChild.clientWidth; } catch(e) {} grandChild = grandChild.nextSibling; } if (thisWidth > width) width = thisWidth; } child = child.nextSibling; } treeEle.style.width = width + 20; } //보관함 편집 function editFolder() { document.body.onmousewheel = function() { if (window.event.wheelDelta >= 0) { //위 if (parseInt(tree.scrollTop) < 8) { tree.scrollTop = 0; } else { if ((tree.scrollTop % 18) != 8) { tree.scrollTop = tree.scrollTop + tree.scrollTop % 18; } tree.scrollTop = tree.scrollTop - 18; } } else { //아래 if (parseInt(tree.scrollTop) < 8) { tree.scrollTop = 8; } else { if ((tree.scrollTop % 18) != 8) { tree.scrollTop = tree.scrollTop + tree.scrollTop % 18; } else { tree.scrollTop = tree.scrollTop + 18; } } } return false; } _folTreeFlag = true; clearLayer(); var treeLayer = new Layer(); //if (!element) { //element = document.getElementById("folder_menu").childNodes[1]; //} //var pos = Element.cumulativeOffset(element); var pos = Element.cumulativeOffset(document.getElementById("songList")); if (navigator.appVersion.indexOf("MSIE 6") > -1) { pos[1] -= document.body.scrollTop; } // IE 6.0 treeLayer.getElement().style.width = Element.getWidth(document.getElementById("songList")) + "px"; treeLayer.getElement().style.height = "325px"; treeLayer.getElement().style.border = "1px solid #C44977"; treeLayer.getElement().style.fontFamily = "verdana, gulim"; treeLayer.getElement().style.fontSize = "12px"; treeLayer.getElement().style.color = "#676767"; //treeLayer.setTargetPosition(document.getElementById("songList")); treeLayer.setPosition(); //new Draggable(treeLayer.getElement(), {endeffect: function() {}}); treeLayer.setShadow(); var treeTitle = document.createElement("DIV"); treeTitle.style.width = Element.getWidth(document.getElementById("songList")) + "px"; treeTitle.style.height = "25px"; treeTitle.innerHTML = '
' + '
폴더 편집
' + '폴더삭제' + '폴더이동' + '이름바꾸기' + '폴더만들기' + '
' + '
r
'; treeTitle.style.filter = "progid:DXImageTransform.Microsoft.gradient(StartColorStr=#FFC44979,EndColorStr=#FFA33D65,GradientType=0)"; treeLayer.getElement().appendChild(treeTitle); tabEvent(document.getElementById("tab_folder")); var tree = document.createElement("DIV"); tree.className = "mainMenuScroll"; tree.setAttribute("id", "treeBox"); tree.style.width = (Element.getWidth(document.getElementById("songList")) - 22) + "px"; tree.style.height = "280px"; tree.style.padding = "10px 10px 10px 10px"; tree.style.overflowY = "auto"; tree.style.overflowX = "hidden"; treeLayer.getElement().appendChild(tree); _mode = "edit"; getMyFolder(); } //폴더 만들기 (POP DIV) function edit_newFolder() { var tmp = new Layer(); tmp.getElement().style.display = "none"; var url = "http://www.somsee.com/music/inc/edit_folderInfo.inc"; var myAjax = new Ajax.Updater( {success : tmp.getElement()}, url, { method:'post', parameters : { "flag": "new", "seq": _clickedValue['seq'] }, evalScript : true, onComplete : function() { _newFolder = parseInt(tmp.getElement().innerHTML); tmp.closeElement(); document.getElementById("editStorage").onclick(); setTimeout(function() {edit_selectFolder(_newFolder, true);}, 2000); } } ); } //해당 seq의 폴더를 클릭 function edit_selectFolder(seq, flag) { //flag : 폴더 생성으로 호출 했을경우 true (해당 폴더 선택 후, rename) try { var root = document.getElementById("root"); if (root.getAttribute("seq") == seq) { root.lastChild.style.color = "#C44977"; //root.lastChild.onclick(); return; } } catch(e) {} try { document.getElementById("tmpParentList").parentNode.removeChild(document.getElementById("tmpParentList")); } catch(e) {} var tmpHddnLayer = document.createElement("DIV"); tmpHddnLayer.setAttribute("id", "tmpParentList"); tmpHddnLayer.style.display = "none"; document.body.appendChild(tmpHddnLayer); var url = "http://www.somsee.com/music/inc/tree_parentList.inc"; var myAjax = new Ajax.Updater( {success : 'tmpParentList'}, url, { method:'post', parameters : { "folderSeq":seq }, evalScript : true, onComplete : function() { var list = tmpHddnLayer.firstChild.nodeValue; document.getElementById("tmpParentList").parentNode.removeChild(document.getElementById("tmpParentList")); var list = list.split("|"); var targetFolder = document.getElementById("fol" + seq) if (targetFolder) { //선택할 폴더가 열려 있으면 해당 폴더 클릭 //targetFolder.lastChild.onclick(); targetFolder.lastChild.style.color = "#C44977"; if (_folTreeFlag) { targetFolder.focus(); _folTreeFlag = false; } if (flag) edit_renameFolder(true); } else { //열려 있지 않다면 부모 폴더들 확장 edit_spreadParentListBySelectedFolder(list, flag); } } } ); } //선택할 폴더가 열려 있지 않은 경우 탐색 후 선택 function edit_spreadParentListBySelectedFolder(list, flag) { //list[0]:루트 폴더, list[lastIndex]:선택된 폴더 //현재 열려있는 부모 리스트를 찾는다. var beginSpreadPoint = 1; //탐색을 시작할 list의 index for (var i=list.length-2; i>0; i--) { if (document.getElementById("fol" + list[i])) { beginSpreadPoint = i; break; } } //탐색 var i = beginSpreadPoint; var objTimer_spread = setInterval (function () { try { var targetFolder = document.getElementById("fol" + list[list.length - 1]) if (targetFolder) { clearTimeout(objTimer_spread); setTimeout (function() { targetFolder.lastChild.style.color = "#C44977"; if (_folTreeFlag) { targetFolder.focus(); _folTreeFlag = false; } targetFolder.lastChild.onclick(); if (flag) edit_renameFolder(true); }, 500); return; } var forSpreadIcon = document.getElementById("fol" +list [i]).lastChild.previousSibling.previousSibling; forSpreadIcon.onclick(); } catch (e) { return; } i++; }, 1); } //폴더 이름 바꾸기 function edit_renameFolder(flag) { try { removeNode(document.getElementById("popR")); } catch(e) {} try { if (_clickedValue['element'].getAttribute("write") == "none") { var objMsgBox = new MsgBox(); objMsgBox.setMessage("해당 폴더의 이름을 바꿀 수 없습니다."); objMsgBox.create(); return; } } catch (e) { var objMsgBox = new MsgBox(); objMsgBox.setMessage("폴더를 먼저 선택하세요."); objMsgBox.create(); return; } var e = _clickedValue['element']; var eWidth = e.style.width; e.style.width = "800px"; e.lastChild.style.display = "none"; var input = document.createElement("INPUT"); input.setAttribute("type", "text"); input.setAttribute("id", "rName"); input.value = trim(e.lastChild.firstChild.nodeValue); var tmpNode = e.lastChild.lastChild.cloneNode(true); input.className = "input_text"; input.style.styleFloat = "left"; input.setAttribute("style", "float:left;"); input.style.fontSize = "12px"; input.style.fontFamily = "verdana, gulim"; input.style.height = "16px"; input.style.padding = "0px"; input.setAttribute("size", "50"); insertAfter(input, e.lastChild); tree_setWidthOfTree(); input.select(); input.focus(); input.select(); var eFlag = false; input.onkeypress = function(ev) { var e = (ev) ? ev : window.event; if (e.keyCode==13) this.onblur(); } input.onblur = function() { if (eFlag) { eFlag = false; return; } eFlag = true; var text = this.value; text = trim(text); if (!testFolderName(text)) { this.focus(); this.select(); return; } e.lastChild.previousSibling.value = text; e.lastChild.previousSibling.innerHTML = text + " "; insertAfter(tmpNode, e.lastChild.previousSibling.firstChild); e.lastChild.previousSibling.style.display = "block"; removeNode(this); var url = "http://www.somsee.com/music/inc/rename.inc"; var myAjax = new Ajax.Request( url, { method:'post', parameters : { "folderName":text, "seq":_clickedValue['seq'] }, evalScript : true, onComplete : function() { var fEle = _clickedValue['element']; var widthEle = fEle.firstChild; var width = 0; while (widthEle) { try { width += Element.getWidth(widthEle); } catch(e) {} widthEle = widthEle.nextSibling; } fEle.style.width = width; //폴더 생성 시, 로그 저장 if (flag) { var folSeq = parseInt(_clickedValue['seq']); //멤버 history log var param = new Array(); param['flag'] = 9; //폴더 생성 9 param['folName'] = text; mh_setHistory(param); } } } ); tree_setWidthOfTree(); } } //폴더 이동 function edit_moveFolder() { try { if (_clickedValue['element'].getAttribute("write") == "none") { var objMsgBox = new MsgBox(); objMsgBox.setMessage("해당 폴더를 이동 할 수 없습니다."); objMsgBox.create(); return; } } catch (e) { var objMsgBox = new MsgBox(); objMsgBox.setMessage("폴더를 먼저 선택하세요."); objMsgBox.create(); return; } try { list = _clickedValue['seq'] + "||" + _clickedValue['element'].getAttribute("lock") + "||" + _clickedValue['element'].getAttribute("lockChild"); } catch(e) {} window.open('http://www.somsee.com/popup/tree.mog?from=box&method=moveFolder&fol=' + list, 'poptree', 'width=400, height=436'); } //폴더 삭제 function edit_delFolder() { try { if (_clickedValue['element'].getAttribute("write") == "none") { var objMsgBox = new MsgBox(); objMsgBox.setMessage("해당 폴더를 삭제 할 수 없습니다."); objMsgBox.create(); return; } } catch (e) { var objMsgBox = new MsgBox(); objMsgBox.setMessage("폴더를 먼저 선택하세요."); objMsgBox.create(); return; } var songs = document.getElementById("songList").childNodes[1].childNodes[1]; var list = ""; while (songs) { try { if (songs.firstChild.firstChild.checked) { if (list != "") list += ","; list += songs.getAttribute("seq"); } } catch(e) {} songs = songs.nextSibling; } var objMsgBox = new MsgBox(); objMsgBox.setMessage("정말로 삭제 하시겠습니까?"); objMsgBox.setOption("confirm"); objMsgBox.setEvent(function() { var url = "http://www.somsee.com/music/inc/edit_folderInfo.inc"; var myAjax = new Ajax.Request( url, { method:'post', parameters : { "flag": "del", "list": _clickedValue['seq'] }, evalScript : true, onComplete : function() { window.location.href = "http://www.somsee.com/music/?folder=" + _clickedValue['element'].getAttribute("pseq"); } } ); }); objMsgBox.create(); } //재생 목록 편집 function editPlayList() { document.body.onmousewheel = function() { if (window.event.wheelDelta >= 0) { //위 if (parseInt(tree.scrollTop) < 8) { tree.scrollTop = 0; } else { if ((tree.scrollTop % 18) != 8) { tree.scrollTop = tree.scrollTop + tree.scrollTop % 18; } tree.scrollTop = tree.scrollTop - 18; } } else { //아래 if (parseInt(tree.scrollTop) < 8) { tree.scrollTop = 8; } else { if ((tree.scrollTop % 18) != 8) { tree.scrollTop = tree.scrollTop + tree.scrollTop % 18; } else { tree.scrollTop = tree.scrollTop + 18; } } } return false; } _folTreeFlag = true; clearLayer(); var treeLayer = new Layer(); //if (!element) { //element = document.getElementById("folder_menu").childNodes[1]; //} //var pos = Element.cumulativeOffset(element); var pos = Element.cumulativeOffset(document.getElementById("songList")); if (navigator.appVersion.indexOf("MSIE 6") > -1) { pos[1] -= document.body.scrollTop; } // IE 6.0 treeLayer.getElement().style.width = Element.getWidth(document.getElementById("songList")) + "px"; treeLayer.getElement().style.height = "325px"; treeLayer.getElement().style.border = "1px solid #C44977"; treeLayer.getElement().style.fontFamily = "verdana, gulim"; treeLayer.getElement().style.fontSize = "12px"; treeLayer.getElement().style.color = "#676767"; treeLayer.setTargetPosition(document.getElementById("songList")); //new Draggable(treeLayer.getElement(), {endeffect: function() {}}); treeLayer.setShadow(); var treeTitle = document.createElement("DIV"); treeTitle.style.width = Element.getWidth(document.getElementById("songList")) + "px"; treeTitle.style.height = "25px"; treeTitle.innerHTML = '
' + '
재생목록 편집
' + '삭제' + '이름바꾸기' + '
' + '
r
'; treeTitle.style.filter = "progid:DXImageTransform.Microsoft.gradient(StartColorStr=#FFC44979,EndColorStr=#FFA33D65,GradientType=0)"; treeLayer.getElement().appendChild(treeTitle); tabEvent(document.getElementById("tab_folder")); var tree = document.createElement("DIV"); tree.className = "mainMenuScroll"; tree.setAttribute("id", "treeBox"); tree.style.width = (Element.getWidth(document.getElementById("songList")) - 22) + "px"; tree.style.height = "280px"; tree.style.padding = "10px 10px 10px 10px"; tree.style.overflowY = "auto"; tree.style.overflowX = "hidden"; treeLayer.getElement().appendChild(tree); getMyPlayList(); } //재생목록 가져오기 function getMyPlayList() { var url = "http://www.somsee.com/music/inc/tree_playList.inc"; var myAjax = new Ajax.Updater( {success : 'treeBox'}, url, { method:'post', parameters : { "memberId": _userId, "userSeq": _userSeq }, evalScript : true, onComplete : function() { document.getElementById("treeBox").firstChild.lastChild.firstChild.src = "http://www.somsee.com/img/line/joinbottom.gif"; getMyPlayListCallBack(); } } ); } function getMyPlayListCallBack() { _clickedValue = new Array(); var folderElements = document.getElementById("treeBox").firstChild.childNodes[1]; while (folderElements) { folderElements.lastChild.onclick = function() { var elements = document.getElementById("root"); while (elements) { if (elements.lastChild.style.fontWeight == 700) { elements.lastChild.firstChild.style.color = "#676767"; elements.lastChild.style.fontWeight = 400; break; } elements = elements.nextSibling; } this.firstChild.style.color = "#000000"; this.style.fontWeight = 700; var fEle = this.parentNode; var widthEle = fEle.firstChild; var width = 0; while (widthEle) { try { width += Element.getWidth(widthEle); } catch(e) {} widthEle = widthEle.nextSibling; } fEle.style.width = width; _clickedValue['seq'] = this.parentNode.getAttribute('seq'); _clickedValue['folderName'] = this.parentNode.lastChild.innerHTML; _clickedValue['element'] = this.parentNode; //window.location.href ="http://www.somsee.com/music/?folder=" + this.parentNode.getAttribute("seq") + (_userParam ? "&" + _userParam : ""); } folderElements = folderElements.nextSibling; } } //재생 목록 이름 바꾸기 function edit_renamePlayList() { try { removeNode(document.getElementById("popR")); } catch(e) {} if (!_clickedValue['element']) { var objMsgBox = new MsgBox(); objMsgBox.setMessage("목록을 먼저 선택하세요."); objMsgBox.create(); return; } var e = _clickedValue['element']; var eWidth = e.style.width; e.style.width = "800px"; e.lastChild.style.display = "none"; var input = document.createElement("INPUT"); input.setAttribute("type", "text"); input.setAttribute("id", "rName"); input.value = trim(e.lastChild.firstChild.firstChild.nodeValue); input.className = "input_text"; input.style.styleFloat = "left"; input.setAttribute("style", "float:left;"); input.style.fontSize = "12px"; input.style.fontFamily = "verdana, gulim"; input.style.height = "16px"; input.style.padding = "0px"; input.setAttribute("size", "50"); insertAfter(input, e.lastChild); input.select(); input.focus(); input.select(); var eFlag = false; input.onkeypress = function(ev) { var e = (ev) ? ev : window.event; if (e.keyCode==13) { this.onblur(); } } input.onblur = function() { var row = this.parentNode; var name = trim(row.lastChild.value); if (name == "" || !name) { this.select(); this.focus(); } else { row.lastChild.previousSibling.firstChild.firstChild.nodeValue = name; row.removeChild(row.lastChild); row.lastChild.style.display = "block"; var url = "http://www.somsee.com/music/inc/playlist_process.inc"; var myAjax = new Ajax.Request( url, { method:'post', parameters : { "flag": "rename", "name": name, "seq": row.getAttribute("seq") }, evalScript : true, onComplete : function() {} } ); } } } //재생 목록 삭제 function edit_delPlayList() { var objMsgBox = new MsgBox(); objMsgBox.setMessage("정말 삭제하시겠습니까?"); objMsgBox.setOption("confirm"); objMsgBox.setEvent(function() { var url = "http://www.somsee.com/music/inc/playlist_process.inc"; var myAjax = new Ajax.Request( url, { method:'post', parameters : { "flag": "delete", "seq": _clickedValue["seq"] }, evalScript : true, onComplete : function() { getMyPlayList(); } } ); }); objMsgBox.create(); } //관리 펼침 메뉴 function fileManage(target) { clearLayer(); var subMenu = new Layer(); //서브 메뉴 DIV var menu = document.createElement("DIV"); menu.style.fontFamily = "verdana, gulim"; menu.style.fontSize = "12px"; menu.style.color = "#676767"; menu.style.width = "82px"; menu.style.borderLeft = "1px solid #ABABAB"; menu.style.borderRight = "1px solid #ABABAB"; menu.style.padding = "3px"; menu.style.paddingTop = "0px"; menu.style.backgroundColor = "#FFFFFF"; //separator var sep = document.createElement("HR"); sep.style.marginTop = "-5px"; menu.appendChild(sep); //서브 메뉴 설정 var sMenu = new Array(); //폴더편집 메뉴 sMenu.push(document.createElement("DIV")); sMenu.push(document.createElement("DIV")); sMenu.push(document.createElement("DIV")); sMenu.push(document.createElement("DIV")); sMenu.push(document.createElement("DIV")); sMenu[0].style.marginTop = "-8px"; for (var i in sMenu) { if (!isNaN(i)) { var eventClick = null; switch (parseInt(i)) { case 0: sMenu[i].innerHTML = "폴더편집"; eventClick = folder_manage; break; case 1: sMenu[i].innerHTML = "정렬"; eventClick = folder_sort; break; case 2: sMenu[i].innerHTML = "복사"; eventClick = select_copy; break; case 3: sMenu[i].innerHTML = "이동"; eventClick = select_move; break; case 4: sMenu[i].innerHTML = "삭제"; eventClick = select_delete; break; } sMenu[i].style.padding = "1px"; sMenu[i].style.paddingTop = "4px"; sMenu[i].style.cursor = "pointer"; sMenu[i].style.width = "80px"; sMenu[i].style.height = "15px"; sMenu[i].onmouseover = function() { this.style.color = "#232323"; this.style.backgroundColor = "#E4E4E4"; } sMenu[i].onmouseout = function() { this.style.color = "#676767"; this.style.backgroundColor = "#FFFFFF"; } sMenu[i].onclick = eventClick; menu.appendChild(sMenu[i]); } } subMenu.getElement().appendChild(menu); subMenu.setTargetPosition(target); subMenu.getElement().style.top = Element.cumulativeOffset(subMenu.getElement())[1] + 17; //서브 메뉴 bottom var bot1 = document.createElement("DIV"); bot1.style.clear = "both"; bot1.style.width = "86px"; bot1.style.height = "1px"; bot1.style.fontSize = "1px"; bot1.style.borderLeft = "1px solid #ABABAB"; bot1.style.borderRight = "1px solid #ABABAB"; bot1.style.marginLeft = "1px"; bot1.style.backgroundColor = "#FFFFFF"; subMenu.getElement().appendChild(bot1); var bot2 = document.createElement("DIV"); bot2.style.clear = "both"; bot2.style.width = "86px"; bot2.style.height = "0px"; bot2.style.fontSize = "1px"; bot2.style.borderTop = "1px solid #ABABAB"; bot2.style.marginLeft = "2px"; subMenu.getElement().appendChild(bot2); subMenu.getElement().style.backgroundColor = "transparent"; subMenu.setShadow(); subMenu.getElement().nextSibling.style.top = Element.cumulativeOffset(subMenu.getElement())[1] + 2; subMenu.getElement().nextSibling.style.height = Element.getHeight(subMenu.getElement()) + 1; //팝업 레이어 겹침 배제 subMenu.getElement().setAttribute("flag", "menu"); //서브 메뉴 닫힘 subMenu.getElement().focus(); subMenu.getElement().onblur = function() { setTimeout (function() { if (document.getElementById("createdTempLayer").getAttribute("flag") == "menu") { clearLayer(); } }, 100); } }