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 + '
' +
'';
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 =
'새 재생목록
' +
'';
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 =
'' +
'
내 폴더
' +
'
아티스트 별
' +
'
써치 & 매치
' +
'
' +
'';
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 =
'' +
'
폴더 편집
' +
'
폴더삭제' +
'
폴더이동' +
'
이름바꾸기' +
'
폴더만들기' +
'
' +
'';
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 =
'' +
'
재생목록 편집
' +
'
삭제' +
'
이름바꾸기' +
'
' +
'';
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);
}
}