/**
 * p2p 솔류션 체크 위한 scipt 삽입 (테스트용) start
 *
 */
	var pCLSID_Loader = 'F8E8DA43-44B5-4cee-8DD9-65535D2A5C30';
	var pProvider     = 'Peering Portal, Inc.';
	var pLanguage     = 'Kor';

	var browserSort = "MSIE"; //MSIE, MOZILLA, ...
	var isInstall = false;

	var APP_ID = "999";

	function browserCheck()
	{
		// Important : if Order..
		if(-1 != navigator.userAgent.indexOf("MSIE")) { // MSIE
			browserSort = "MSIE";
		} else if (-1 != navigator.userAgent.indexOf("Navigator")) { // Navigator
			APP_ID = "1";
			browserSort = "Navigator";
		} else if (-1 != navigator.userAgent.indexOf("Netscape")) { // Netscape
			browserSort = "Netscape";
		} else if (-1 != navigator.userAgent.indexOf("Firefox")) { // Firefox
			APP_ID = "1";
			browserSort = "Firefox";
		} else if (-1 != navigator.userAgent.indexOf("Chrome")) { // Chrome
			browserSort = "Chrome";
		} else if (-1 != navigator.userAgent.indexOf("Safari")) { // Safari
			browserSort = "Safari";
		} else if (-1 != navigator.userAgent.indexOf("Opera")) { // Opera
			browserSort = "Opera";
		} else {
			browserSort = "NotSupported";
		}
	}

	function objchk(objID) {
		if (browserSort == "MSIE") {
			isInstall = false;

			var sss = typeof(document.all[objID]);
			var ttt = document.all[objID].object;

			if (sss != "undefined" && ttt != null) {
				isInstall = true;
			} else {
				isInstall = false;
			}
		} else {
			var plugin = navigator.plugins["Pcube Loader"];

			if (plugin != null) {
				isInstall = true;

				var proxy = document.getElementById(objID);
				if (proxy == null) {
					//alert("플러그인이 없습니다. 재설치하기를 권장합니다.");
					return;
				}
			} else {
				isInstall = false;
			}
		}

		var callUrl = "/clip/PToUp.do?installed=N";
		if (isInstall == true) {
			callUrl = "/clip/PToUp.do?installed=Y";
		}
		var aobj= new simpleAjaxByuli();
		aobj.openXML('','POST', callUrl, true);
		//aobj.setHeader("Content-type", "text/xml");
		aobj.setHeader('Content-Type', 'application/x-www-form-urlencoded;');
		aobj.setHeader("Accept-Language","ko");
		//aobj.setStatusSuccessHandler();
		aobj.send("");

	}
/**
 * p2p 솔류션 체크 위한 scipt 삽입 (테스트용) end
 *
 */
if (window.HTMLElement) {

    var element = HTMLElement.prototype;

    var capture = ["click",    "mousedown", "mouseup",    "mousemove", "mouseover", "mouseout" ];

    element.setCapture = function(){
        var self = this;
        var flag = false;
        this._capture = function(e){
            if (flag) {return}
            flag = true;
            var event = document.createEvent("MouseEvents");
            event.initMouseEvent(e.type,
                e.bubbles, e.cancelable, e.view, e.detail,
                e.screenX, e.screenY, e.clientX, e.clientY,
                e.ctrlKey, e.altKey, e.shiftKey, e.metaKey,
                e.button, e.relatedTarget);
            self.dispatchEvent(event);
            flag = false;
        };
        for (var i=0; i<capture.length; i++) {
            window.addEventListener(capture[i], this._capture, true);
        }
    };

    element.releaseCapture = function(){
        for (var i=0; i<capture.length; i++) {
            window.removeEventListener(capture[i], this._capture, true);
        }
        this._capture = null;
    };

}

var Vodview = {
	theme	: false,
	view_clipId : 0,
	loadedDate : "",
	vodinfo : new Array(),
	vodinfo_now_tg : 0,
	orderParam : "",
	focusBoxClass: "",
	loadedDate_view: "vod_list1,",
	loadXML : function(domid, url, param, func) // xml load
	{
		var aobj= new simpleAjaxByuli();
		aobj.openXML(domid,'POST', url, true);
		//aobj.setHeader("Content-type", "text/xml");
		aobj.setHeader('Content-Type', 'application/x-www-form-urlencoded;');
		aobj.setHeader("Accept-Language","ko");
		aobj.setStatusSuccessHandler(func);
		aobj.send(param);
	},
	setInfoXML : function (obj, domid) // xml dom seting
	{

		function getData (obj, name, cnt)
		{
			try {
				return obj.getElementsByTagName(name).item(cnt).firstChild.data;
			}catch(e){
				return "";
			}
		}
		var list_cnt= obj.getElementsByTagName("MESSAGE").length;
		for ( var i=0; i<list_cnt ; i++)
		{
			Vodview.vodinfo[i+2] = getData(obj, "TEXT", i);
		}
		Vodview.showInfo(domid);
	},
	offAlert : function (domid)
	{
		document.getElementById(domid).style.display= "none";
	},
	showAlert : function (domid, msg)
	{
		document.getElementById(domid).innerHTML= msg;
		document.getElementById(domid).style.display= "inline";
		var tem= setTimeout("Vodview.offAlert('" + domid + "')",1000);
	},
	setSingo : function (obj, domid) // xml dom seting
	{
		var rtnMsg= "";
		try {
			rtnMsg= obj.getElementsByTagName("result").item(0).firstChild.data
		}catch(e){}

		if (rtnMsg=="ok")
		{
			Vodview.showAlert(domid, "해당 동영상이 신고 되었습니다.");
		}else {
			Vodview.showAlert(domid, "이미 해당 동영상이 신고 되었습니다.");
		}
	},
	setWow : function (obj, domid) // xml dom seting
	{
		var rtnMsg= "";
		try {
			rtnMsg= obj.getElementsByTagName("result").item(0).firstChild.data
		}catch(e){}
		document.getElementById("wow_btn").className ="wow_btn2";

		if (rtnMsg=="ok")
		{
			Vodview.showAlert(domid, "추천 한표를 주셨습니다.");
			if (document.getElementById("vodWOwCount"))
			{
				var wowEle = document.getElementById("vodWOwCount");
				var wowCount = 0;
				try {
					wowCount = eval(wowEle.innerHTML) + 1;
				}catch(e){
					return;
				}
				document.getElementById("vodWOwCount").innerHTML = wowCount;
			}
		}else{
			Vodview.showAlert(domid, "이미 추천 한표를 주셨습니다.");
			document.getElementById("wow_btn").href ="javascript:Vodview.showAlert('" + domid + "', '이미 추천 한표를 주셨습니다.');";
		}
	},
	setXML : function (obj, domid) // xml dom seting
	{
		function getData (obj, name, cnt)
		{
			var tmp= "";
			try {
				tmp=  obj.getElementsByTagName(name).item(cnt).firstChild.data;
			}catch(e){
			}
			return tmp;
		}

		var list_cnt= obj.getElementsByTagName("CLIP").length;
		var list = new Array();
		for ( var i=0; i<list_cnt ; i++)
		{
			list[i] = {
				TITLE : getData(obj, "TITLE", i),
				SOURCENAME : getData(obj, "SOURCENAME", i),
				THUMB : getData(obj, "THUMB", i),
				PLAYCNT : getData(obj, "PLAYCOUNT", i),
				CMTCNT : getData(obj, "COMMENTCOUNT", i),
				SOURCENAME : getData(obj, "SOURCENAME", i),
				ROWNUM : getData(obj, "ROWNUM", i),
				PAGE : getData(obj, "PAGE", i),
				CLIPID : obj.getElementsByTagName("CLIP").item(i).getAttribute("clipid")
			}
		}
		Vodview.showList(list, domid);
	},
	showInfo : function (domid) // xml dom pasing
	{
		document.getElementById(domid).innerHTML= Vodview.vodinfo[Vodview.vodinfo_now_tg];
		Vodview.vodinfo_now_tg++;
		if ( Vodview.vodinfo_now_tg > Vodview.vodinfo.length-1 )
		{
			Vodview.vodinfo_now_tg= 0;
		}
		var tem= setTimeout("Vodview.showInfo('" + domid + "')",3000);
	},
	focusBox :  function (tg, flag)
	{
		if (flag)
		{
			focusBoxClass= tg.className;
			tg.className="focusClip";
		}else{
			try {
				tg.className= focusBoxClass;
			}catch(e){}
		}
	},
	showList : function (list, domid) // xml dom pasing
	{
		var tag= new Array();
		var template= new Array();

		tag[0]= "";
		template[0] = '<div><dl onmouseover="Vodview.focusBox(this, true)" onmouseout="Vodview.focusBox(this, false)" class="$THIS">';
		template[1] = '<dd class="img">';
		template[2] = '<a href="/clip/ClipView.do?clipid=$CLIPID' + Vodview.orderParam + '&lu=$TAB"><img alt="$TITLE" src="$THUMB"></a></dd>';
		template[3] = '<dt $TEMP>';
		template[4] = '<a href="/clip/ClipView.do?clipid=$CLIPID' + Vodview.orderParam + '&lu=$TAB">';
		template[5] = '$TITLE</a><span>[$CMTCNT]</span>';
		template[6] = '</dt>';
		template[7] = '<dd class="info">';
		template[8] = '<span class="vplay">$PLAYCNT</span>';
		template[9] = '<span class="vgap_line"> | </span>';
		template[10] = '<a href="/clip/ClipView.do?clipid=$CLIPID' + Vodview.orderParam + '&lu=$TAB">$SOURCENAME</a>';
		template[11] = '</dd>';
		template[12] = '</dl></div>';

		var lu_param = "";

		try {
			lu_param = document.getElementById(domid).className;
		}catch(e){}


		for ( var i=0; i<list.length ; i++)
		{
			tag[i] = template.join("").replace("$THUMB", list[i].THUMB);
			tag[i] = tag[i].replace("$TITLE", list[i].TITLE.replace("<br>"," "));
			tag[i] = tag[i].replace("$TITLE", list[i].TITLE.replace("<bR>"," "));
			tag[i] = tag[i].replace("$PLAYCNT", list[i].PLAYCNT);
			tag[i] = tag[i].replace("$CMTCNT", list[i].CMTCNT);
			tag[i] = tag[i].replaceAll("$CLIPID", list[i].CLIPID);
			tag[i] = tag[i].replace("$SOURCENAME", list[i].SOURCENAME);
			tag[i] = tag[i].replaceAll("$PAGE", list[i].PAGE);
			tag[i] = tag[i].replaceAll("$ROWNUM", list[i].ROWNUM);
			tag[i] = tag[i].replaceAll("$TAB", lu_param);

			if (Vodview.view_clipId==list[i].CLIPID)
			{
				tag[i] = tag[i].replace("$TEMP", 'class="b"');
				tag[i] = tag[i].replace("$THIS", "thisClip");
			}

		}

		var temp = tag.join("");
		if (temp!="")
		{
			Vodview.loadedDate+= domid + ",";
			try {
				document.getElementById(domid).innerHTML= temp;
			}catch(e){
			}
			try {
				PlaylistClipManager.start("id_" + domid);
			}catch(e){
			}

		}else{
			document.getElementById(domid).innerHTML = "리스트가 없습니다.";
		}
	},
	view : function (domid, url, param) // check loaded
	{
		Vodview.visible(domid);
		if (Vodview.loadedDate.indexOf(domid)==-1)
		{
			Vodview.loadXML(domid, url, param, Vodview.setXML);
		}
		if (url.indexOf("SearchListXml")!=-1)
		{
			param= param.substring(0, param.indexOf("&page="));
			Vodview.orderParam= "&" + param + "&page=$PAGE&rowNum=$ROWNUM";
		}

	},
	wow : function (e, domid, param)
	{
		document.getElementById(domid).style.top = "-20px";
		Vodview.loadXML(domid, "/clip/ClipUpCntXml.do", param, Vodview.setWow);
	},
	singo : function (e, domid, param)
	{
		document.getElementById(domid).style.top = "-20px";
		Vodview.loadXML(domid, "/clip/ClipDownCntXml.do", param, Vodview.setSingo);
	},
	info : function (domid, url, param) // check loaded
	{
		Vodview.loadXML(domid, url, param, Vodview.setInfoXML);
	},
	visible : function (id)
	{
		try {
			document.getElementById("vod_list1").style.display= "none";
		}catch(e){}
		try {
			document.getElementById("vod_list4").style.display= "none";
		}catch(e){}
		var domlist= Vodview.loadedDate_view.split(",");
		for (var i=0; i<domlist.length -1; i++)
		{
			document.getElementById(domlist[i]).style.display= "none";
			document.getElementById(domlist[i] + "_tab").className= domlist[i] + "_tab";
		}
		document.getElementById(id).style.display= "inline";
		document.getElementById(id + "_tab").className= id + "_tab_on";
	},
	where : function ()
	{
		var obj= document.getElementById("locate_area");
		var old_flag= obj.className;
		if (old_flag=="location_list_on")
		{
			//document.getElementById("locate_area_tab").className= "pageurl_icon";
			obj.className= "location_list_off";
		}else{
			//document.getElementById("locate_area_tab").className= "pageurl_icon_close";
			obj.className= "location_list_on";
		}
	},
	bl : function ()
	{}
}

String.prototype.trim = function(){
	return this.replace(/(^\s*)|(\s*$)/gi, "");
}
String.prototype.replaceAll = function(str1, str2) {
	var temp_str = "";
	if (this.trim() != "" && str1 != str2) {
		temp_str = this.trim();
		while (temp_str.indexOf(str1) > -1){
			temp_str = temp_str.replace(str1, str2);
		}
	}
	return temp_str;
}

var pro_toplist_page= {
	npage : 1,
	lastpage : 3,
	left: function ()
	{
		this.npage= this.npage - 1;
		if ( this.npage <1 )
		{
			this.npage= this.lastpage;
		}
		this.go(this.npage);

	},
	right: function ()
	{
		this.npage= this.npage + 1;
		if ( this.npage > this.lastpage )
		{
			this.npage= 1;
		}
		this.go(this.npage);
	},
	go : function (num)
	{
		if(document.getElementById("ut_cont_list_" +  num ))
		{
			for ( var i=1; i<=this.lastpage; i++)
			{
				if(document.getElementById("ut_cont_list_" +  i ))
					document.getElementById("ut_cont_list_" + i).style.display= "none";
			}
			document.getElementById("ut_cont_list_" +  num ).style.display= "block";
		}
	}
}

// 오디션 투표
function vpoint_user( yourRateLists, clipid , relatetype)
{


	for(var i=0;i<yourRateLists.length;i++){
		yourRateLists[i].onmouseover=function(){
										var tmp =new Array();
										var tmp=  this.id.toString().split('_');
										for(var j=0; j <=tmp[1];j++){
											yourRateLists[j].className='on';
										}
										var pName= document.getElementById('pintName');
										if (tmp[1]==0){
											pName.innerHTML="쫌";
										}else if (tmp[1]==1){
											pName.innerHTML="쫌 하나?";
										}else if (tmp[1]==2){
											pName.innerHTML="쫌 하나본데!";
										}else if (tmp[1]==3){
											pName.innerHTML="쫌하는데 오~";
										}else if (tmp[1]==4){
											pName.innerHTML="오~ 대박!!";
										}
									}
		yourRateLists[i].onmouseout=function(){
										for(var j=0; j < yourRateLists.length;j++){
											yourRateLists[j].className='off';
										}
										var pName= document.getElementById('pintName');
										pName.innerHTML="마우스를 올려보세요!";

									}
		yourRateLists[i].onclick=function(){
											var score = 0;
											for(var j=0; j < yourRateLists.length;j++){
											yourRateLists[j].onmouseover=null;
											yourRateLists[j].onmouseout=null;
											yourRateLists[j].onclick=null;
											yourRateLists[j].style.cursor="default";
											if (yourRateLists[j].className=='on')
												score += 2;
											}
											Showviver.setScore(clipid, score , relatetype);
									}
	}
}
var Showviver = {
	loadXML : function(domid, url, param, func) {
		var aobj= new simpleAjaxByuli();
		aobj.openXML(domid,'POST', url, true);
		aobj.setHeader('Content-Type', 'application/x-www-form-urlencoded;');
		aobj.setHeader("Accept-Language","ko");
		aobj.setStatusSuccessHandler(func);
		aobj.send(param);
	},
	resultScre : function (obj, domid) {
		var rtnMsg= "";
		try {
			rtnMsg= obj.getElementsByTagName("result").item(0).firstChild.data
		}catch(e){}

		if (rtnMsg=="ok") {
			Vodview.showAlert(domid, "점수 반영완료!");
		}else if (rtnMsg=="dup") {
			Vodview.showAlert(domid, "이미 점수를 매겼습니다.");
		}else {
			Vodview.showAlert(domid, " 오류가 발생했습니다.");
		}
	},
	setScore : function (clipid, score, relatetype) {
		this.loadXML(
			"wow_result",
			"/audition/AudiClipScoreCntXml.do",
			"clipid=" + clipid + "&score=" + score+ "&relatetype=" + relatetype,
			Showviver.resultScre
		);
	}
}

// 스크랩 관련
var clickAreaCheck = false;
function onOffScrapLayer(evt){
	var evt = (evt) ? evt : ((window.event) ? window.event : null);

	evt.stopPropagation? evt.stopPropagation():evt.cancelBubble = true;

	if(clickAreaCheck){
		divDisplay('scrapLyer' ,'none');
		clickAreaCheck = false;
	}else{

		divDisplay('scrapLyer' ,'block');
		clickAreaCheck = true;
	}
}
function divDisplay(objId, act) {
	if (document.getElementById(objId)) {
		document.getElementById(objId).style.display = act;
	}
}
function goScrap( location_id ,  dataid , location_node ){
	var source_location_code = 8; // tv팟 8 번
	var scrap_url ="http://scrap.cafe.daum.net/_dss_/scrap_tvpot?folder_id=0&source_etc=";
	scrap_url = scrap_url + "&location_id="+location_id;
	scrap_url = scrap_url + "&data_id="+dataid;
	scrap_url = scrap_url + "&target_location_code="+location_node;
	scrap_url = scrap_url + "&source_location_code="+source_location_code;

	window.open(scrap_url,'scrap','width=620, height=460', 'resizable=yes,scrollbars=yes');
}
function goMyPotScrap( clipid ){

	var scrap_url ="/scrap/AddScrap.do?clipid="+clipid;
	window.open(scrap_url,'scrap','width=620, height=460', 'resizable=yes,scrollbars=yes');
}
function itUrlCopy ()
{
	var loc = location.href;

	if(loc.indexOf("&lu=")!=-1)
	{
		loc= loc.substring(0, loc.indexOf("&lu="));
	}
	try {
		window.clipboardData.setData('Text', loc);
	}catch(e){}
	alert("주소가 복사 되었습니다.    ");
}
// 꼬꼬무 이벤트
function addDaumUcc (title, basename, service, home, category, articleid) {
    var t= window.open('http://ucc.daum.net/du/external/SendUcc.do'
                                                +'?title='+encodeURIComponent(title)
                                                +'&basename='+encodeURIComponent(basename)
                                                +'&service='+encodeURIComponent(service)
                                                +'&home='+encodeURIComponent(home)
                                                +'&category='+encodeURIComponent(category)
                                                +'&articleid='+encodeURIComponent(articleid)
                        ,'pop_ucc','width=586,height=340');
 }

var neonbbs =
{
	ntg : 1,
	roll : function (id, time)
	{
		try {
			document.getElementById(id + "_" + neonbbs.ntg).style.display = "none";
		}catch(e){}
		neonbbs.ntg += 1;
		try {
			document.getElementById(id + "_" + neonbbs.ntg).style.display = "block";
		}
		catch(e){
			document.getElementById(id + "_1").style.display = "block";
			neonbbs.ntg= 1;
		}
		var tem= setTimeout("neonbbs.roll('" + id + "'," + time + ")", time);
	},
	init : function (id, time)
	{
		document.getElementById(id + "_1").style.display = "block";
		var tem= setTimeout("neonbbs.roll('" + id + "'," + time + ")", time);
	}
}


function modifyClip(clipid,svcid){
	var prefix = '/my/UpdateMyClipForm.do';
	// if(svcid == "13")
	//	prefix = '/knowhow/clip/UpdateMyClipForm.do'

	returnUrl = escape(document.location.href)
 	document.location.href=prefix + '?clipid='+ clipid +'&svcid=' + svcid +'&returnUrl=' +returnUrl;
}
function modifyOrgClip(orgurl)
{
	answer=confirm("원본 글에서 수정하세요.\n확인을 누르시면 원본글로 이동합니다.");
	if(answer==true){
		self.document.location.href=orgurl;
	}else{
		return;
	}
}

var zzimhagi = function (tg)
{
	try{
		PlaylistClipManager.send(tg,location.href, '');
	}catch(e){}
}

/* 퍼간곳 조회 */
var clipReferLoader = {
	refererDataLoaded : false,
	ajaxHandler : function(obj) {
		try {
			var ploate = document.getElementById('ploate');
			var refs = eval('(' + obj + ')').cliprefers;
			var html = [];
			for (var i = 0; i < refs.length; i++)
				html.push('<dl><dd><a href="' + refs[i].link_url + '&lu=m_cliprefer" target="_blank">' + refs[i].title + '</a></dd><dt>[' + refs[i].cnt + ']</dt></dl>');
			if (html.length > 0) ploate.innerHTML = html.join('');
			else ploate.innerHTML='<p class="nodatamsg">퍼간곳이 없습니다.</p>';
			domHelper.cssjs('remove', ploate, 'progress');
			clipReferLoader.refererDataLoaded = true;
		} catch(ex) { alert("퍼간곳 정보를 가져오는 도중 오류가 발생하였습니다. 잠시 후에 시도해 보시기 바랍니다."); }
	},
	loadClipReferer : function(vid) {
		var ploate = document.getElementById('ploate');
		domHelper.cssjs('add', ploate, 'progress');
		var aobj = new simpleAjaxByuli();
		aobj.openTEXT('GET', '/clip/ClipRefer.do?vid=' + vid, true);
		aobj.setHeader('Content-Type', 'application/x-www-form-urlencoded;');
		aobj.setHeader("Accept-Language","ko");
		aobj.setStatusSuccessHandler(this.ajaxHandler);
		aobj.send(null);
	},
	logWriter : function() {
		var aobj = new simpleAjaxByuli();
		aobj.openTEXT('GET', '/clip/ClipViewStatistics.do?lu=v_cliprefer', true);
		aobj.setHeader('Content-Type', 'application/x-www-form-urlencoded;');
		aobj.setHeader("Accept-Language","ko");
		aobj.setStatusSuccessHandler(this.logWriterReturn);
		aobj.send(null);
	},
	logWriterReturn : function(obj) {},
	mypotlogWriter : function() {
		var aobj = new simpleAjaxByuli();
		aobj.openTEXT('GET', '/clip/ClipViewStatistics.do?lu=m_cliprefer', true);
		aobj.setHeader('Content-Type', 'application/x-www-form-urlencoded;');
		aobj.setHeader("Accept-Language","ko");
		aobj.setStatusSuccessHandler(this.mypotlogWriterReturn);
		aobj.send(null);
	},
	mypotlogWriterReturn : function(obj) {},
	show : function(e, vid, ref) {
		if (!vid) return;
		var area = document.getElementById('locate_area');
		var isopened = domHelper.cssjs('check', area, 'location_list_on');
		if (isopened) {
			domHelper.cssjs('remove', area, 'location_list_on');
			domHelper.cssjs('add', area, 'location_list_off');
			if (ref != 'mypot') {
				this.logWriter();
			} else {
				this.mypotlogWriter();
			}
		} else {
			domHelper.cssjs('remove', area, 'location_list_off');
			domHelper.cssjs('add', area, 'location_list_on');
			if (!this.refererDataLoaded) this.loadClipReferer(vid);
			if (ref != 'mypot') {
				this.logWriter();
			} else {
				this.mypotlogWriter();
			}
		}
	}
}

var gameScheduleInst = null;
var TopBestGamesInst = null;
var veiewGameSchedule =
{
	flag :null,
	loadJS : function(url, printobj) {
		var aobj = new simpleAjaxByuli();
		aobj.openTEXT('GET', url, true);
		aobj.setHeader('Content-Type', 'application/x-www-form-urlencoded;');
		aobj.setHeader("Accept-Language","ko");
		aobj.setStatusSuccessHandler(printobj );
		aobj.send(null);
	},
	makejs : function (url)
	{
			var html_doc = document.getElementsByTagName('head').item(0);
			var js = document.createElement('script');
			js.setAttribute('language', 'javascript');
			js.setAttribute('type', 'text/javascript');
			js.setAttribute('src', url);
			html_doc.appendChild(js);

	},
	printJS : function (text)
	{
		veiewGameSchedule.makejs("/n/js/prototype.js");
		veiewGameSchedule.loadJS("/n/js/game.js", veiewGameSchedule.printJS2);
	},
	printJS2 : function (text)
	{
		veiewGameSchedule.makejs("/n/js/game.js");
		veiewGameSchedule.loadGameFunction(veiewGameSchedule.flag, 1);
	},
	init : function (flag)
	{
		this.init = function () {}
		if(gameScheduleInst==null)
		{
			this.loadJS("/n/js/prototype.js", this.printJS);
			this.flag = flag;
		}
	},
	loadGameFunction  : function (flag, num)
	{
		var ver = null;
		try {
			var ver = Prototype.Version;
		}catch(e){}
		if(ver!=null)
		{
			var errorFlag = false;
			try{
				gameScheduleInst = new GameSchedule();
			}catch(e){
				errorFlag = true;
			}
			if(!errorFlag)
			{
				TopBestGamesInst = new TopBestGames();
				this.getgamedata = function (flag)
				{
					gameScheduleInst.getDataByDirection(flag);
				}
				gameScheduleInst.getDataByDirection(flag);
			}else{
				if(num==1)
				{
					var tm = setTimeout("veiewGameSchedule.loadGameFunction(" + flag + ", 2)", 1000);
				}
			}
		}else{
			var tm = setTimeout("veiewGameSchedule.loadGameFunction(" + flag + ", 2)", 1000);
		}

	},
	getgamedata : function (flag, tg)
	{
		this.init(flag);
	}
}

var BgmInfo = {
	init: function(params){
		this.title = params.title || "";
		this.creator = params.creator || "";
		return this;
	},

	display: function(){
		var html = '<div class="bgmInfoWrapper">\
					<div class="info" style="">음악: <span class="creator">'+this.title+'-'+this.creator+'</span></div>\
					<a href="http://blog.daum.net/ahahvideo/17945645"  target="_blank"  class="btnGoBgmInfo">사용방법</a>\
					<a class="btnGoMusicshake" href="/html/Musicshake.htm">음원제공:뮤직쉐이크</a>\
					</div>';
		document.getElementById("bgmInfo").innerHTML = html;
		return this;
	}
}

// 사이드 탭
var SideBar = {
	// 공통
	tabState : "stateNoRelated",
	tabUrl : "",
	hasRelated : false,
	isLoadedMainTab : false,
	isLoadedRelatedTab : false,

	initTab : function(tabUrl, tabUrlRelated){
		this.tabUrl = tabUrl.replace(/&amp;/gi, "&");
		this.tabUrlRelated = tabUrlRelated.replace(/&amp;/gi, "&");
		document.getElementById("selectTabMain").onclick = function(e){
			if(SideBar.hasRelated){
				SideBar.changeState("stateMain");
			}else{
				SideBar.changeState("stateNoRelated");
			}
			return false;
		};
		document.getElementById("selectTabRelated").onclick = function(e){
			SideBar.changeState("stateRelated");
			return false;
		};
	},

	changeState : function(tabState){
		if(tabState == undefined) return;
		this.tabState = tabState;
		document.getElementById("sideTabHead").className = "sideTabHead " + tabState;
		document.getElementById("sideTabBody").className = "sideTabBody " + tabState;
		if(!this.isLoadedMainTab && this.tabState != "stateRelated"){
			sideTabMainFrame.location.href = SideBar.tabUrl;
			this.isLoadedMainTab = true;
		}
		if(!this.isLoadedRelatedTab && this.tabState == "stateRelated"){
			sideTabRelatedFrame.location.href = SideBar.tabUrlRelated;
			this.isLoadedRelatedTab = true;
		}
	},

	// 베스트
	tabType : "",
	clipid : "",
	range : 0,
	diff : [0, 0, 1],
	diffMax : [6, 5, 9],
	diffMin : [0, 0, 1],
	date : new Date(),
	recentDays : null,

	initBest : function(params){
		this.tabType = params.tabType;
		this.clipid = params.clipid;
		this.range = params.range;
		this.diff[params.range] = params.diff;
		this.date.setMonth(params.month);
		this.recentDays = params.recentDays;

		SideBar.changeLabel();
		SideBar.changeButton();

		document.getElementById("btnRangeDay").onclick = function(e){
			SideBar.changeRange(0);
			return false;
		};

		document.getElementById("btnRangeWeek").onclick = function(e){
			SideBar.changeRange(1);
			return false;
		};

		document.getElementById("btnRangeMonth").onclick = function(e){
			SideBar.changeRange(2);
			return false;
		};

		document.getElementById("btnPrev").onclick = function(e){
			SideBar.changeDate(-1);
			return false;
		};

		document.getElementById("btnNext").onclick = function(e){
			SideBar.changeDate(1);
			return false;
		};
	},

	changeRange : function(range){
		if(range == undefined) return;
		this.range = range;
		document.getElementById("sideTabBestMenu").className = "barType_" + this.range;
		if(!SideBar.changeButton()) return;
		SideBar.changeLabel();
		var url = "./FrmBest.do?svctab=best&range=" + this.range + "&diff=" + this.diff[this.range] + "&clipid=" + this.clipid;
		sideTabMainFrame.location.href = url;
	},

	changeDate : function(modifier){
		if(modifier == undefined) return;
		this.diff[this.range] = this.diff[this.range] - modifier;
		if(!SideBar.changeButton()) return;
		SideBar.changeLabel();
		var url = "./FrmBest.do?svctab=best&range=" + this.range + "&diff=" + this.diff[this.range] + "&clipid=" + this.clipid;
		sideTabMainFrame.location.href = url;
	},

	changeLabel : function(){
		var label = "";

		if(this.range == 0){
			if(this.diff[this.range] == 0){
				label = "오늘";
			}else{
				label = this.recentDays[this.diff[this.range]];
			}
		}else if(this.range == 1){
			if (this.diff[this.range] == 0){
				label = "이번주";
			}else if(this.diff[this.range] == 1){
				label = "지난주";
			}else{
				label = this.diff[this.range] + "주전";
			}
		}else if(this.range == 2){
			var d = new Date();
			d.setMonth(this.date.getMonth() - this.diff[this.range]);
			label = parseInt(d.getMonth() + 1) + "월";
		}

		document.getElementById("label").innerHTML = label;
	},

	changeButton : function(){
		if(this.diff[this.range] < this.diffMin[this.range]){
			this.diff[this.range] = this.diffMin[this.range];
			return false;
		}else if(this.diff[this.range] == this.diffMin[this.range]){
			document.getElementById("btnPrev").className = "btnPrev";
			document.getElementById("btnNext").className = "btnNext btnNextDisable";
		}else if(this.diff[this.range] > this.diffMax[this.range]){
			this.diff[this.range] = this.diffMax[this.range];
			return false;
		}else if(this.diff[this.range] == this.diffMax[this.range]){
			document.getElementById("btnPrev").className = "btnPrev btnPrevDisable";
			document.getElementById("btnNext").className = "btnNext";
		}else{
			document.getElementById("btnPrev").className = "btnPrev";
			document.getElementById("btnNext").className = "btnNext";
		}
		return true;
	},

	// 10만 플레이
	sort : "",

	initPlay10m : function(params){
		this.sort = params.sort;

		document.getElementById("btnSortDate").onclick = function(e){
			if(!SideBar.changeSort("date")) return false;
		};

		document.getElementById("btnSortPlay").onclick = function(e){
			if(!SideBar.changeSort("play")) return false;
		};
	},

	changeSort : function(sort){
		if(sort == undefined) return false;
		if(this.sort == sort) return false;
		this.sort = sort;
		document.getElementById("sideTabPlay10mNavi").className = "barType_" + this.sort;
		return true;
	},

	// 남녀 베스트
	initGender : function(params){
		this.clipid = params.clipid;

		document.getElementById("genderType").onchange = function(e){
			SideBar.changeType(document.getElementById("genderType").value);
		};
	},

	changeType : function(type){
		if(type == undefined) return;
		var url = "./FrmGender.do?clipid=" + this.clipid + "&type=" + type + "&lu=v_gender";
		sideTabMainFrame.location.href = url;
	},

	// 채널 실시간 인기
	initChannel : function(){
		document.getElementById("cateId").onchange = function(e){
			SideBar.changeChannel(document.getElementById("cateId").value);
		};
	},

	changeChannel : function(cateid){
		if(cateid == undefined) return;
		var url = "./FrmChannel.do?cateid=" + cateid;
		sideTabMainFrame.location.href = url;
	},

	// 검색 결과
	updateSearchResult : function(result){
		if(result == undefined) return;
		document.getElementById("searchResult").innerHTML = result;
	}
};
