﻿
function checkLoginL() {
	if (!getCookie("studioID") || !getCookie("userNickName") || !getCookie("memberIndex") || !getCookie("userEmail")) {
		alert(viewMsg(4060));
		if (window.opener) self.close();
		else document.location.replace("http://" + webRoot + "www.seebox." + hostDomain);
		return false;
	} else {
		return true;
	}
}

function LockF5(event) {
	var e = event || window.event;         // Key event object
	var code = e.charCode || e.keyCode;
	if (code == 116) {	//116:F5
		(e.charCode) ? e.charCode = 0 : e.keyCode = 0;
		return false;
	} else if (e.ctrlKey && "|67|86|".indexOf("|" + code + "|") == -1) {	//67:c, 86:v
		if (e.preventDefault) e.preventDefault();
		if (e.returnValue) e.returnValue = false;
		return false;
	}
}

function getLiveCode(capmode) {
	var retcode = 24;
	switch (capmode) {
		case "webcam": retcode = 24; break;
		case "cap": retcode = 25; break;
		case "gamecap": retcode = 90; break;
		case "filelive": retcode = 91; break;
	}
	return retcode;
}

/**
function checkTitleString(obj, e){
var e = e || window.event;
var key = e.charCode || e.keyCode;

if(key==39 || key==34 || key==60 || key==62 || key==92) {
obj.value = obj.value.replace(/("|'|<|>|\\)/g, "");
}
}
function checkKeyDown(e) {
//var key = (window.event) ? window.event.keyCode : e.keyCode;
var e = e || window.event;
var key = e.charCode || e.keyCode;

eclog("key="+key+", shiftKey="+e.shiftKey+", fromCharCode="+String.fromCharCode(key));
//' " < > \
//if(key==39 || key==34 || key==60 || key==62 || key==92) {
if( key==222 || (e.shiftKey && (key==188 || key==190)) || (!e.shiftKey && key==220) ) {
if(e.preventDefault) e.preventDefault();
if(e.returnValue) e.returnValue = false;
return false;
}
return false;
}
**/


//---------- (s) 불량 방송/대화자 신고 관련 ----------------//
function reportLive(liveIdx, badUserSID) {
	if (loginCheck()) {
		var mySID = getCookie("studioID");
		
		var url_a = escape(document.location.href);				
		var url = 'http://'+webRoot2+'.seebox.com/popup/badreport.sb?idxAry='+liveIdx+'&secAry=2&prevUrl='+url_a;	//-- 신고 처리 리뉴얼 테스트용 (2009.08.10, sodacan@dideonet.com)	
		window.open(url, "badReport", "width=534, height=334");
	}
}
function reportChat(liveIdx, badUserIdx, badUserSID) {
	if (loginCheck()) {
		var url = "http://" + webRoot + "live.seebox." + hostDomain + "/badreport_chat.sb?liveIndex=" + liveIdx + "&buIdx=" + badUserIdx + "&buSID=" + badUserSID;
		window.open(url, "report", "width=537, height=334");
	}
}
//---------- (e) 불량 방송/대화자 신고 관련 ----------------//


//---------- (s) Resizing 관련 ----------------//
var w_rpad = 10;   //오른쪽 여백
var w_div_right = 320;  //$('div_right') 넓이
var w_rarea_close = 10;
var h_pad = 8;    //$('movie') 의 안쪽 여백
var h_div_profile = 80;   //$('profile') 높이
var h_div_recbox = 149;  //방송관리의 녹화설정박스 높이 + 여백

var h_rest_l_movie = 132;  //logo 높이(33) + 제목 높이(29) + bottom_bar(27) + 여백상하기타
if (location.href.indexOf("viewer_ov.sb") > 0) h_rest_l_movie = 103;    //viewer_ov.sb 용
var h_rest_r_chat = 317;  //tab(27) + r_title(31) + r_userlist(127) + inputBox(72) + bottom_bar(27) + 여백상하기타
if (location.href.indexOf("viewer.sb") > 0) h_rest_r_chat = 295;
var h_rest_r_list = 120;
var h_rest_r_manage = 139;
var h_rest_r_track = 139;

var ingResizing = false;

function resizeWin() {
	if (ingResizing) { ingResizing = false; return false; }
	//alert("h_logo="+getElementHeight($('logo')) + ", h_title=" + getElementHeight($('subject')) + ", h_profile="+getElementHeight($('profile')) + ", h_bottom="+getElementHeight($('div_bottom_bar'))+ ", h_movie="+getElementHeight($('movie')));
	//alert("h_r_tab="+getElementHeight($('wrap_tab')) + ", h_r_userlist=" + getElementHeight($('wrap_chatList'))+ ", h_r_wrap_chatBox=" + getElementHeight($('wrap_chatBox')) + ", h_r_title=" + getElementHeight($('wrap_tit01')) + ", h_r_wrap_chatInput="+getElementHeight($('wrap_chatInput')));

	//활성화된 레이어(절대좌표) 감추기
	if ($('FontColorPNL')) $('FontColorPNL').style.display = "none";


	var wWin = window.innerWidth || document.documentElement.clientWidth;
	var hWin = window.innerHeight || document.documentElement.clientHeight;

	var restW_left = w_rpad * 2;
	var restH_movie = h_rest_l_movie;    //movie 이외의 높이

	if (isShowObj('rarea_close')) {
		restW_left += w_rarea_close;
		if (isShowObj('div_right')) {
			restW_left += w_div_right;
		} else {
			restW_left -= w_rpad;
		}
	}
	if (isShowObj('profile')) {
		restH_movie += h_div_profile;
	}

	var finW_left = wWin - restW_left;
	var finH_movie = hWin - restH_movie;

	//minimum-limit check
	var minW = 341;     // 320 + 여백(16) + padding(5)
	var minH = 257;     // 240 + 여백(16) + margin(1)
	if (finW_left < minW || finH_movie < minH) {
		var resX = 0; var resY = 0;
		if (finW_left < minW) {
			resX = minW - finW_left;
		}
		if (finH_movie < minH) {
			resY = minH - finH_movie;
		}
		try {
			window.resizeBy(resX, resY);
		} catch (ex) {
			//eclog("resizeWin::"+ex.message+", finW_left="+finW_left+", finH_movie="+finH_movie);
		}

	} else {
		//left
		$('div_left').style.width = finW_left + "px";
		$('movie').style.height = finH_movie + "px";

		//right
		if ($('wrap_chatBox')) $('wrap_chatBox').style.height = (hWin - h_rest_r_chat) + "px";
		if ($('wrap_airList')) $('wrap_airList').style.height = (hWin - h_rest_r_list) + "px";
		if ($('wrap_manageList')) {
			var h = hWin - h_rest_r_manage - (($('div_recbox') ? h_div_recbox : 0));
			$('wrap_manageList').style.height = h + "px";
			$('wrap_manageList_sub').style.height = (h - 16) + "px";
		}
		if ($('wrap_trackList')) {
			var h = hWin - h_rest_r_track;
			$('wrap_trackList').style.height = h + "px";
			//$('FLIVE_TRACK').style.height = (h - 101) + "px";
			$('FLIVE_TRACK').style.height = (h - 127) + "px";
		}

		//btn_center
		if (isShowObj('rarea_close')) {
			$('rarea_close').style.paddingTop = (Math.floor((hWin - 49) / 2) - 25) + "px";
		}

		//ie6에서 채팅메시지 출력박스 height=100% 안먹히는 문제
		if (ie6) {
			try {
				var obj = $('wrap_chatBox').childNodes; //document.getElementsByClassName("wrap_chatBox_sub");
				for (i = 0; i < obj.length; i++) {
					obj[i].style.height = (hWin - h_rest_r_chat) + "px";
				}
			} catch (ex) { /*alert(ex.message);*/ }
		}
	}

	//방송자(Caster)이고 화면캡쳐중일때...
	if ($('SeeCapture') && seecap && seecap.objMODE == "cap") {
		seecap.SetCurrentViewerSize();
	}
}

function isShowObj(target) {
	var ret = false;
	try {
		if ($(target) && ($(target).style.display == "" || $(target).style.display == "block")) ret = true;
	} catch (ex) { }
	return ret;
}

function showObj(target) {
	var rW = w_div_right + w_rpad;
	if (target == "div_right") {
		//창의 스크린여백이 리사이징사이즈보다 작을때 위치 이동
		var scrW = screen.width;
		var winL = window.screenX || window.screenLeft;
		var winW = (window.innerWidth || document.body.clientWidth) + 10;

		if (scrW > winW + rW) {
			ingResizing = true;
			if (winL + winW + rW > scrW) { window.moveBy(-rW, 0); }
		}

		$(target).style.display = "block";
		$('btn_rarea_show').style.display = "none";
		$('btn_rarea_hide').style.display = "block";
		window.resizeBy(rW, 0);
	} else if (target == "profile_n_right") {
		$('profile').style.display = "block";
		$('rarea_close').style.display = "block";
		$('div_right').style.display = "block";
		$('btn_disp_return').style.display = "none";

		resizeWin();
	}
}

function hideObj(target) {
	var rW = w_div_right + w_rpad;
	if (target == "div_right") {
		$(target).style.display = "none";
		$('btn_rarea_show').style.display = "block";
		$('btn_rarea_hide').style.display = "none";
		ingResizing = true;
		window.resizeBy(rW * -1, 0);
	} else if (target == "profile_n_right") {
		$('profile').style.display = "none";
		$('rarea_close').style.display = "none";
		$('div_right').style.display = "none";
		$('btn_disp_return').style.display = "block";

		resizeWin();
	}
}
//---------- (e) Resizing 관련 ----------------//


//---------- (s) Caster 쪽지 관련 ----------------//
function checkSlip() {
	var myMIDX = getCookie("memberIndex");
	if (!myMIDX) return;
	var params = { MemberIndex: myMIDX, isRead: "N", sendCountOption: 0 };
	var myAjax = new Ajax.Request(ProxyURL, { method: 'post', protocol: 'soap', WSDLPath: slipWSDLPATH, procedureName: "slipCountByMemberIndex", onComplete: checkSlipComplete, argument: params });
}
function checkSlipComplete(objHttp) {
	try {
		var objXML = $XO(objHttp.responseText, "slipCountByMemberIndex");
		var CNT = getNodeValue(objXML.getElementsByTagName("CNT")[0]).toNumberFormat();
		if ($('slipCntPNL')) $('slipCntPNL').innerHTML = "[" + CNT + "]";
	} catch (ex) { }
}
function goMySlip() {
	var mySID = getCookie("studioID");
	if (!mySID) return;
	var url = "http://" + webRoot + "my.seebox." + hostDomain + "/" + mySID + "/sliplistresv.sb";
	try {
		if (opener) { opener.location.href = url; opener.focus(); }
		else { var win = window.open(url, 'SEEBOX'); win.focus(); }
	} catch (ex) { var win = window.open(url, 'SEEBOX'); win.focus(); }
}
//---------- (e) Caster 쪽지 관련 ----------------//

//---------- (s) Caster 블랙리스트 관련 ----------------//
function goMyBlacklist() {
	var mySID = getCookie("studioID");
	if (!mySID) return;
	var url = "http://" + webRoot + "my.seebox." + hostDomain + "/" + mySID + "/blacklistset.sb";
	try {
		if (opener) { opener.location.href = url; opener.focus(); }
		else { var win = window.open(url, 'SEEBOX'); win.focus(); }
	} catch (ex) { var win = window.open(url, 'SEEBOX'); win.focus(); }
}
//---------- (e) Caster 블랙리스트 관련 ----------------//

//---------- (s) 동영상/ 게시판/ 방명록 -----------//
function goBJProgram(sid) {
	sid = (!sid) ? getCookie("studioID") : sid;
	if (!sid) return;
	var url = "http://" + webRoot + "my.seebox." + hostDomain + "/" + sid + "/"; //"/program.sb?folderIndex="
	try {
		if (opener) { opener.location.href = url; opener.focus(); }
		else { var win = window.open(url, 'SEEBOX'); win.focus(); }
	} catch (ex) { var win = window.open(url, 'SEEBOX'); win.focus(); }
}
function goBJBoard(sid) {
	sid = (!sid) ? getCookie("studioID") : sid;
	if (!sid) return;
	var url = "http://" + webRoot + "my.seebox." + hostDomain + "/" + sid + "/"; //"/board.sb?castBoardIndex="
	try {
		if (opener) { opener.location.href = url; opener.focus(); }
		else { var win = window.open(url, 'SEEBOX'); win.focus(); }
	} catch (ex) { var win = window.open(url, 'SEEBOX'); win.focus(); }
}
function goBJGuestBook(sid) {
	sid = (!sid) ? getCookie("studioID") : sid;
	if (!sid) return;
	var url = "http://" + webRoot + "my.seebox." + hostDomain + "/" + sid + "/guestbook.sb"
	try {
		if (opener) { opener.location.href = url; opener.focus(); }
		else { var win = window.open(url, 'SEEBOX'); win.focus(); }
	} catch (ex) { var win = window.open(url, 'SEEBOX'); win.focus(); }
}
function goBJMyBox(sid) {
	sid = (!sid) ? getCookie("studioID") : sid;
	if (!sid) return;
	var url = "http://" + webRoot + "my.seebox." + hostDomain + "/" + sid + "/";
	try {
		if (opener) { opener.location.href = url; opener.focus(); }
		else { var win = window.open(url, 'SEEBOX'); win.focus(); }
	} catch (ex) { var win = window.open(url, 'SEEBOX'); win.focus(); }
}
//---------- (e) 동영상/ 게시판/ 방명록 -----------//


//---------- (s) 프로필 이미지 onerror -----------//
function onErrorLoadImage(obj, oSrc) {
	try {
		if (obj.cntCall == '0') {
			obj.setAttribute("cntCall", "1");
			obj.src = oSrc.substring(0, oSrc.length - 4) + '.gif';
		} else {
			obj.src = "http://img.seebox.com/kor/v2/_www/noimg_mb_profile2.gif";
		}
	} catch (e) { }
}
//---------- (e) 프로필 이미지 onerror -----------//


//---------- (s) 방송 상세 정보 -----------//
function GetDetail(liveIndex, chnl, joinProc, completeFun, fChangeMain) {	//joinProc : 최초 방입장인지 여부(정보갱신이 아님)
	var params = { liveIndex: liveIndex };
	if (!completeFun) completeFun = "getDetailComplete";
	var myAjax = new Ajax.Request(ProxyURL, { method: 'post', protocol: 'soap', WSDLPath: liveWSDLPATH, procedureName: "liveDetail", onComplete: eval(completeFun), argument: params });
	function getDetailComplete(objHttp) {
		try {
			var objXML = $XO(objHttp.responseText, "liveDetail");
			var nodeTable = objXML.getElementsByTagName("DATAROWS");
			//var Levelimg    = objXML.getElementsByTagName("LEVELIMAGEURL");
			var MEMBERINDEX = getNodeValue(nodeTable[0].getElementsByTagName("MEMBERINDEX")[0]);
			var USERNICK = getNodeValue(nodeTable[0].getElementsByTagName("USERNICKNAME")[0]);
			var STUDIOID = getNodeValue(nodeTable[0].getElementsByTagName("STUDIOID")[0]);
			var STUDIOPHOTO = getNodeValue(nodeTable[0].getElementsByTagName("STUDIOIMAGEURL")[0]);
			var CATECD = getNodeValue(nodeTable[0].getElementsByTagName("LIVECATECD")[0]);
			var LIVEDESC = getNodeValue(nodeTable[0].getElementsByTagName("LIVEDESCRIPTION")[0]);
			var VIEWLEVEL = getNodeValue(nodeTable[0].getElementsByTagName("VIEWLEVEL")[0]);
			var COUNTRY = getNodeValue(nodeTable[0].getElementsByTagName("COUNTRY")[0]);
			var chnl = getNodeValue(nodeTable[0].getElementsByTagName("LIVECHANNEL")[0]);
			var PURGEE = getNodeValue(nodeTable[0].getElementsByTagName("PURGEE")[0]);

			if (!chat.chatPNL[chnl]) chat.chatPNL[chnl] = new Object();
			chat.chatPNL[chnl].cTitle = getNodeValue(nodeTable[0].getElementsByTagName("LIVETITLE")[0]);
			chat.chatPNL[chnl].cDESC = LIVEDESC;
			chat.chatPNL[chnl].cCateCD = CATECD;
			chat.chatPNL[chnl].makeMIDX = MEMBERINDEX;
			chat.chatPNL[chnl].makeUseNick = USERNICK;
			chat.chatPNL[chnl].makeSID = STUDIOID;
			chat.chatPNL[chnl].makeStudioImg = STUDIOPHOTO;
			chat.chatPNL[chnl].viewLevel = VIEWLEVEL;
			chat.chatPNL[chnl].country = COUNTRY;

			if (!chat.masterChannel) chat.masterChannel = chnl;
			chat.liveIndex[chnl] = liveIndex;

			if (chat.isCaster) {
				chat.PrintInfo(chnl);
				if (joinProc) chat.PrintMsg("<p>*** [" + chat.chatPNL[chnl].cTitle + "]" + viewMsg(4012) + " ***</p>", chnl);
			} else {
				var errMsg = null;
				if (VIEWLEVEL == 'M' && !getCookie("studioID")) {
					errMsg = "해당 방송은 로그인 후 시청 가능합니다.";
				} else if (getCookie("studioID") == STUDIOID) {
					//자신의 방에 시청자로 입장 불가
					errMsg = "본인이 개설한 방에 시청자로 입장할 수 없습니다.";
				}
				if (getCookie("memberIndex")) {
					//강퇴자 재입장 불가
					var arrPurgee = PURGEE.split(",");
					if (arrPurgee.indexOf(getCookie("memberIndex")) >= 0) {
						errMsg = "BJ에 의해 강퇴된 채널에는 재입장을 할 수 없습니다.";
					}
					//check BlackList
					var params = { studioID: STUDIOID, badUserStudioID: getCookie("studioID") };
					var myAjax = new Ajax.Request(ProxyURL, { asynchronous: false, method: 'post', protocol: 'soap', WSDLPath: blacklistWSDLPATH, procedureName: "checkExists", onComplete: checkBlacklistComplete, argument: params });
					function checkBlacklistComplete(objHttp) {
						var objXML = $XV(objHttp.responseText, "checkExists");
						if (parseInt(objXML) > 0) {
							errMsg = "BJ에 의해 해당 채널에는 입장이 불가능합니다.";
						}
					}
				}

				if (errMsg) {
					alert(errMsg);
					if (joinProc) { chat.DelChatPNL(chnl); }
					if ($('SBViewer') && $('SBViewer').GetSLViewerCount() == 0) closeWin();
					return;
				} else {
					if (joinProc) checkChannel(COUNTRY, chnl, fChangeMain);
					else chat.PrintInfo(chnl); //방제 변경등으로 인해 정보 재요청시
				}
			}

		} catch (ex) {
			if (joinProc) {
				chat.DelChatPNL(chnl);
				alert(viewMsg(4013)); //+"::::"+ex.message);
				if ($('SBViewer') && $('SBViewer').GetSLViewerCount() == 0) closeWin();
			}
		}
	}
}
//---------- (e) 방송 상세 정보 -----------//

