var yTube = {
	tubeList : '',
	tubeListName : '',
	ytplayer : '',

	tagHtml : '<li tagurl="#{vdourl}" keywords="#{keywords}" class="utb_itmes" id="#{id}" ><span class="number">#{ino}</span>'
			+ ' <a class="item_title" href="javascript:;" onclick="yTube.getPlays(\'#{id}\'); return false;" id="#{id}_sbj">#{name}</a>'
			+ '</li>',

	listHtml : '<div class="utb_list" id="list_#{Did}">' 
			 + '<span class="number">#{listno_view}</span><a href="javascript:;" onclick="yTube.tubeListPlay(\'#{file_url}\'); return false;" title="#{title}">#{title_trun}</a><a href="javascript:;" onclick="yTube.getSelectTubeDelete(\'#{Did}\');">#{delbtn}</a>'
			 + '<div class="mylist_control"><a href="javascript:;" onclick="yTube.getSelectTubeUpDown(\'#{listno}\', \'up\');">#{upBtn}</a> <a href="javascript:;" onclick="yTube.getSelectTubeUpDown(\'#{listno}\', \'down\');">#{downBtn}</a></div></div>',

//	sameUserHtml : '<div class="same_user" id="user_#{member_srl}"><div class="fl"><a href="javascript:;" onclick="$(\'ifr\').src=\'#{location_href}\'; return false; ">#{nick_name}</a></div><div class="fl">  <span>#{delbtn}</span><span style="font-size:11px;">#{upBtn}</span><span>#{downBtn}</span></div><div class="cb"></div></div>',
	sameUserHtml : '<span class="same_user" id="user_#{member_srl}"><a href="javascript:;" onclick="$(\'ifr\').src=\'#{location_href}\'; return false; ">#{nick_name}</a></span> ',
	getJson : '',
	before : '',
	ytplayer : '',
	rbtnStat : false,
	playUrlNo : 0,
	volumeInt : 60, 
	replayType : false,
	stateFalse : false,
	
	getSelectTubeUpDown : function( listno , updown )	//선택된 음악을 목록에서 상하위로 이동시키기
	{
		switch(updown)
		{
			case "up": 
				//선택음악 상위 이동시 배열 재구성
				downDiv = parseInt(listno) - 1;
				downDivArray = yTube.tubeList[downDiv];
				upDivArray = yTube.tubeList[listno];

				yTube.tubeList[downDiv] = Array( upDivArray[0], upDivArray[1], upDivArray[2] );
				yTube.tubeList[listno] = Array(  downDivArray[0], downDivArray[1], downDivArray[2] );
				yTube.listView('addplay');
			break;
			case "down": 
				//선택음악 하위 이동시 배열 재구성
				upDiv = parseInt(listno) + 1;
				downDivArray = yTube.tubeList[upDiv];
				upDivArray = yTube.tubeList[listno];
				yTube.tubeList[upDiv] = Array( upDivArray[0], upDivArray[1], upDivArray[2] );
				yTube.tubeList[listno] = Array(  downDivArray[0], downDivArray[1], downDivArray[2] );
				yTube.listView('addplay');
			break;
		}
	},

	init : function()	//우투브 초기화 하면서 비디오 플래쉬 로드 하고 탬플릿들 정의
	{
		yTube.tubeList = new Array();
		yTube.tubeListName = new Array();
		/*
		clientW =  $('ytube_box').getDimensions().width;
		getListBoxWidth = Math.ceil(( clientW / 2 ) - 300 );
		*/

		//탬플릿 정의
		yTube.tagHtml  = new Template(this.tagHtml);	
		yTube.listHtml = new Template(this.listHtml);
		yTube.sameUserHtml = new Template(this.sameUserHtml);
		
		//파라메터 구성 후 플래쉬 HTML 출력
		var params = { allowScriptAccess: "always", bgcolor: "#cccccc"};
		var atts = { id: "myytplayer" };
		swfobject.embedSWF("http://www.youtube.com/apiplayer?enablejsapi=1&playerapiid=ytplayer&autoplay=1&fs=2&showsearch=1", 
		"ytapiplayer", "0", "0", "8", null, null, params, atts);
	},

	searchYtube : function()	//음악 검색
	{
		if( $F('search_utb') =='' ) {
			sutb = $F('search_utbs');
		}
		else {
			sutb = $F('search_utb');
		}
		if( sutb == '' ) {
			alert('검색어를 입력해주세요.');
			return;
		}
		url = "/getYoutube_xe.php";
		
		$('listbt').src= '../XEsupport/img/list_close_bt.gif';

		//진행 상태창 보이기
		$('yt_list').update('<div style="margin-left:15px; margin-top:120px; "><img src="/XEsupport/img/ajax-loader.gif"></div> ');

		$('getListBox').setStyle('display:block;');	//리스트 박스 보이기
		yTube.displayer('block;');	//플래쉬 크기 변경
		yTube.listView('addplay');	//음악 리스트 재구성
		$('skin_div').setStyle('display:block;');	//검은 껍데기 씌우기
		param = { q : sutb }
		new Ajax.Request(
		url, {
				parameters : param , 
				onComplete : function( transport  )
				{
					$('search_utb').value = '';
					$('search_utbs').value = '';
					getJson = transport.responseText.evalJSON();
					$('yt_list').setStyle('font-size:11px; line-height:15px;');
					$('yt_list').update('<div class="serachResult_title">' + sutb + '에 대한 검색결과 내용</div>');
					if( getJson.cnt > 0 ) {	//검색된 내용이 있을때
						i = 0;
						getJson.items.each(function( itemInfo )
						{
							i++;
							$('yt_list').insert( 
								yTube.tagHtml.evaluate( { 
								ino : i,
								id : itemInfo.id,
								vdourl : itemInfo.vdolink,
								src : itemInfo.thumbnail,
								name : itemInfo.title,
								keywords : itemInfo.keywords
							} ) );
						});
					}
					else 
					{
						$('yt_list').update('검색결과가 없습니다.');
					}
				},
				onFailure : function()
				{
					alert("__ERROR__");
				}
			}
		)
	},

	geFriendsPlayList : function( frCode  )	//해당하는 친구의 음악 목록 추출
	{
		if( frCode == undefined ) return; //친구의 member_srl 확인

		url = "/getYoutube_xe.php?owner=" + frCode;
		param = { method : 'frlist' },
		new Ajax.Request(
		url,  {
				parameters : param,
				onComplete : function( transport  )
				{
					getJson = transport.responseText.evalJSON();
					$('yt_list').setStyle('font-size:11px; line-height:15px;');
					if( getJson.allcnt > 0 ) {	//음악의 존재여부 확인
						$('yt_list').update('');
						i = 0;
						getJson.items.each(function( itemInfo )
						{
							i++;
							$('yt_list').insert( 
								yTube.tagHtml.evaluate( { 
								ino : i,
								id : itemInfo.id,
								vdourl : itemInfo.file_url,
								name : itemInfo.body,
								keywords : ''
							} ) );
						});
					}
					else 
					{
						$('yt_list').update('검색결과가 없습니다.');
					}
				},
				onFailure : function() { alert("__ERROR__"); }
			} 	
		)
	},

	getPlays : function( divId )	//리스트에서 선택된 곡 재생
	{
		getUrl = $( divId ).getAttribute('tagurl');
		getKeyword = $( divId ).getAttribute('keywords');
		getClickSubject = $( divId+'_sbj' ).innerHTML.escapeHTML();	//선택된 곡 문자열에서 html 코드 변경
		url = "/getYoutube_xe.php?owner="+ownerUid+ '&list_code=' + defaultAlbum;
		
		yTube.pushArray( getUrl, getClickSubject , getUrl);		//배열에 밀어넣기
		yTube.tubeListPlay(getUrl);	//음악 재생
		yTube.listView('addplay');
		return;
	},
	
	getSelectTubeDelete : function( idCode )	//삭제버튼이 눌린 곡을 삭제하기
	{
		url = "/getYoutube_xe.php?owner="+ownerUid;
		params = 'method=delete&ucode='+idCode+'&list_code=' + defaultAlbum;;
		
		//배열을 돌며 삭제요청된 곡을 제거
		for( i = 0; i < yTube.tubeList.length; i++ )
		{
			if( yTube.tubeList[i][2] == idCode ) {
				yTube.tubeList.splice(i,1);	//제거
			}
		}

		$('list_' + idCode).remove();
		yTube.listView('addplay');
		
		//로그인된 유저라면 디비에 저장 된 해당 음악 제거
		if( userUid > 0 ) {
			new Ajax.Request(
				url,  { method: 'post',
					parameters: params,
					onComplete : function( transport  )
					{},
					onFailure : function() {alert("__ERROR__"); }
				}	
			);
		}
	},

	getUserMedia : function( stopListning, listCode, albumName  )
	{
		//넘어온 리스트 코드 여부 확인 listCode 앨범 코드
		if( listCode == undefined ) {	
			listCode = '';
		}
		else {
			//넘어왔다면 기본 앨범 바꿔주기
			defaultAlbum = listCode;
		}
		url = "/getYoutube_xe.php?owner=" + ownerUid + '&list_code=' + listCode;
		yTube.tubeList = new Array();
		played = false;
		if( ownerUid > 0 ) {	//로그인한 유저여부 확인
			new Ajax.Request(
			url,  {
					onComplete : function( transport  )
					{
						evalJs =  transport.responseText.evalJSON();
						if( evalJs.allcnt > 0 ) {
							$('list_nick_name').update('('+evalJs.nick+')');	//닉네임 변경
							evalJs.items.each( function( itemInfo ) { 
								yTube.pushArray(itemInfo.file_url, itemInfo.body, itemInfo.id);
							} );
							if( stopListning == undefined || !stopListning ) {	//플레이에 영향을 주는 추가인지 확인
								played = true;
								yTube.tubeListPlay(yTube.tubeList[0][0]);
							}
						}
						else {	//리스트에 곡 없을시 
							//alert('리스트에 곡을 추가해 주세요.');
						}
						yTube.listView('addplay');
						yTube.getTop50( played );
					},
					onFailure : function() { alert("__ERROR__"); }
				} 	
			)
		}
		else {
			/* 미 로그인 시  쿠키로 굽기 부분
			cookieJson = xGetCookie('rkplayerList');
			cookieJson = cookieJson.evalJSON()
			if( cookieJson ) {
				cookieJson.each( function( itemInfo ) { 
					if( itemInfo ) {
						yTube.pushArray(itemInfo[0], itemInfo[1], itemInfo[2]);
					}
				});
				if( yTube.tubeList.length > 0 ) {
					played = true;
					yTube.tubeListPlay(yTube.tubeList[0][0]);
				}
			}
			*/
			this.getTop50( played );
		}
		if(document.getElementById('album_name') != undefined ) {	
			//앨범명이 존재하는 경우 없는 경우는 비로그인 사용자로 간주
			if( albumName != undefined ) {
				$('album_name').innerHTML = albumName;
			}
			else {
				$('album_name').innerHTML = defaultAlbumName;
			}
		}
	},
	
	getTop50 : function( played )	//톱 50곡 추출하기
	{
		url = "/getYoutube_xe.php?owner=" + ownerUid;
		
		new Ajax.Request(
		url,  {
				parameters:  { method: 'chart', type : 'kor' } ,
				onComplete : function( transport  )
				{
					getJson = transport.responseText.evalJSON();
					$('yt_list').update('');
					$('yt_list').setStyle('font-size:11px; line-height:15px;');
					if( getJson.allcnt > 0 ) {	//존재여부 확인
						i = 0;
						getJson.items.each(function( itemInfo )
						{
							i++;
							$('yt_list').insert( 
								yTube.tagHtml.evaluate( { 
								ino : i,
								id : itemInfo.id,
								vdourl : itemInfo.vdolink,
								src : itemInfo.thumbnail,
								name : itemInfo.title,
								keywords : itemInfo.keywords
							} ) );
						});
					}
					else 
					{
						$('yt_list').update('검색결과가 없습니다.');
					}
				},
				onFailure : function() { alert("__ERROR__"); }
			} 	
		)
	},

	close : function()	//닫기
	{
		$('getListBox').setStyle('display:none;');
		yTube.displayer('none;');
	},

	stay : false, 
	tubeListPlay : function( getPlayUrl )
	{
		//리스트 재생하기 
		if( !yTube.isYtplayer ) return; 
		//재생상태 존재 true 인지 여부 확인후 false 로 변경
		//다음곡 재생시 statement 0 이 두번 나오면서 next() 호출 두번 하는 문제 해결을 위해
		if( this.stateFalse ) {
			yTube.stateFalse = false;
			if( yTube.playUrlNo > 0 ) yTube.playUrlNo--;
			return;
		}

		// 재생 원하는 url 이 넘어왔을 때
		if( getPlayUrl != undefined ) {
			getUrl = getPlayUrl;
			yTube.stateFalse = true;
			for( j = 0 ; j < this.tubeList.length; j++ )
			{
				//넘어온 url 과 배열의 음악 확인 후 재생번호 수정
				if( this.tubeList[j][0] == getUrl ) {
					yTube.playUrlNo = j;
					break;
				}
			}
		}
		else {
			tubeListLen = yTube.tubeList.length;
			//음악 리스트 보다 재생요청 번호가 높으면 0번째 음악 재생하도록
			if( this.playUrlNo >= tubeListLen || this.playUrlNo < 0) {
				yTube.playUrlNo = 0;
			}
			getUrl = this.tubeList[this.playUrlNo][0];
		}

		if( ytplayer ) {
			$('song_title').title = this.tubeList[this.playUrlNo][1];
			$('song_title').update(this.tubeList[this.playUrlNo][1]);
			this.sameSong( getUrl );	//같은 곡 저장한 유저 호출
			ytplayer.cueVideoById(getUrl, 0);	//비디오 윸에 담기 
			ytplayer.playVideo();	//비디오 재생
			$('pbtn').innerHTML = '<a href="javascript:;" onclick="yTube.pause(); return false;"><img src="../XEsupport/img/pause_bt_1.gif"></a>';
			this.setVolume();
		}
		return;
	},

	sameSong : function( strUrlCode )	//같은 곡 저장한 유저 꺼내오기//
	{
		if( strUrlCode == undefined ) return;
		url = "/getYoutube_xe.php?owner="+ownerUid+'&list_code=' + defaultAlbum;
		new Ajax.Request(
		url,  {
				method : 'post',
				parameters: { urlCode : strUrlCode, method : 'same' },
				onComplete : function( transport  )
				{
					evalJs =  transport.responseText.evalJSON();
					$('listener_list').update('');
					if( evalJs.count > 0 ) {
						evalJs.item.each( function( items ) {
							$('listener_list').insert(  yTube.sameUserHtml.evaluate( {
								member_srl : items.member_srl,
								nick_name : items.nick_name,
								src : items.src ,
								location_href : "/ver3/"+items.user_id}
							))
						} );
					}
				},
				onFailure : function() { alert("__ERROR__"); }
			} 	
		)
		$('listener_list').update('');
		return;
	},
	
	setVolume : function( setV, objId  )
	{
		if( setV == undefined ) {
			setV = yTube.volumeInt;
		}
		set = setV;
		if( set > 100 ) set = 100;
		if( set < 0 ) set = 0;

		if( objId != undefined ) {	
			//불륨 이미지를 초기화 시킨후
			for(i = 1; i < 6; i++ )	
			{
				$('vol_' + i ).setStyle("background:url('../XEsupport/img/vol0.gif') no-repeat; "); 
			}
			//불륨 이미지를 만들어주기
			for( i = 1; i <= objId; i++ )
			{
				$('vol_' + i ).setStyle("background:url('../XEsupport/img/vol" + i + ".gif') no-repeat; "); 
			}
		}
		yTube.volumeInt = set;
		ytplayer.setVolume(this.volumeInt);
	},
	
	next : function(btn)	//다음곡 재생
	{
		yTube.playUrlNo = this.playUrlNo + 1;	//재생번호 증가
		if( ( this.playUrlNo + 1 ) > this.tubeList.length ) 
		{
			yTube.playUrlNo = 0;
		}

		//해당 재생번호 재생
		yTube.tubeListPlay(yTube.tubeList[yTube.playUrlNo][0]);
	},

	prev : function(btn)	//이전곡 재생
	{
		yTube.playUrlNo = this.playUrlNo - 1;
		yTube.tubeListPlay(yTube.tubeList[yTube.playUrlNo][0]);
	},

	pushArray : function( args1, args2, args3, args4  )
	{	
		//최대 리스트 50곡으로 하고 배열에 밀어넣기
		tubeListLen = yTube.tubeList.length;
		if( tubeListLen > 49 ) {
			return true;
		}

		//같은곡 여부 확인
		for( i = 0; i < tubeListLen; i++ )
		{
			if( yTube.tubeList[i][0] == args1 ) {
				return true;
			}
		}

		//음악 배열에 밀어넣기
		yTube.tubeList.push( new Array( args1, args2, args1 ) );
		return false;
	},
	
	listView : function( viewCode, del )
	{
		tubeListLen = yTube.tubeList.length;
		mdiListHtml = '';
		delbtn = '';
		if( ownerUid == userUid ) {	//자신의 리스트이고 자신이 주인장인 경우
			if( del == undefined ) {	//삭제 버튼을 정의 하는 지 확인
				delbtn = '<img src="/XEsupport/img/delete_bt.gif">';
			}
		}
		upBtn = '';
		downBtn = '<img src="/XEsupport/img/down_bt.gif">';
		cookieSetting = new Array();
		//배열에 저장된 음악 리스트를 루프를 돌리면서 출력
		for( i = 0; i < tubeListLen; i++ )
		{

			if( i < 10 ) {
				cookieSetting[i] = yTube.tubeList[i];
			}
			//리스트에 두번째 음악부터는 상위 이동 버튼을 만들어주기
			if( i > 0 )  upBtn = '<img src="/XEsupport/img/up_bt.gif">'

			//리스트에 맨마지막 버튼을 제외하고는 하위 이동 버튼을 만들어주기
			if( i == (tubeListLen - 1 )) downBtn = '';
			mdiListHtml += yTube.listHtml.evaluate(
				{ 
					Did : yTube.tubeList[i][2],
					title_trun : yTube.tubeList[i][1].truncate(35, '..'),
					title : yTube.tubeList[i][1],
					file_url : yTube.tubeList[i][0],
					delbtn : delbtn,
					upBtn : upBtn,
					downBtn : downBtn,
					listno : i,
					listno_view : i + 1
				}
			);
		}



		if(viewCode != 'noreset') {	//디스플레이 변경이 펼요 없는경우
			$('mdi_list').update( mdiListHtml );
		}
		

		if(viewCode == 'mdi_list') {
			ldis = 'none;';
			if( $('getListBox').getStyle('display') == 'none' ) {
				ldis = 'block;';
				$('listbt').src= '../XEsupport/img/list_close_bt.gif';
			}
			else { 
				$('listbt').src= '../XEsupport/img/list_open_bt.gif';
			};

			$('getListBox').setStyle( 'display:'+ldis );
			$('together').setStyle( 'display:'+ldis );
			$('skin_div').setStyle( 'display:'+ldis );
			this.displayer(ldis);
		}

		//음악 쿠키로 굽기'
		if( userUid == 0 ) {
			var expire = new Date();
			expire.setTime(expire.getTime()+ ((( 1000 * 60 ) * 60 ) * 24 * 7));    
			cookieJson = cookieSetting.toJSON();
			xSetCookie('rkplayerList', cookieJson, expire, '/');
		}
	},

	replayTypes : 2,
	replayType : 'all',

	rePlay : function()
	{
		// 반복듣기 버튼의 상태를 통해 음악의 반복여부와 출력을 정한다.
		switch( this.replayTypes ){
			case 0:
				yTube.replayTypes = 1;
				$("replay_bt").src = "../XEsupport/img/replay_1.gif"
				$('re_once').title = '현재 음악을 반복합니다';
				yTube.replayType = 'once';
				break;
			case 1:
				yTube.replayTypes = 2;	
				$("replay_bt").src = "../XEsupport/img/replay_all.gif"
				$('re_once').title = '리스트 전체 음악을 반복합니다';
				yTube.replayType = 'all';
				break;
			case 2:
				yTube.replayTypes = 3;
				$('re_once').title = '리스트 전체 음악을 무작위로 반복합니다';
				$("replay_bt").src = "../XEsupport/img/replay_r.gif"
				yTube.replayType = 'rand';
				break;
			case 3:
				yTube.replayTypes = 0;
				$('re_once').title = '리스트 전체를 한번만 실행합니다';
				$("replay_bt").src = "../XEsupport/img/replay_once.gif"
				yTube.replayType = false;
				break;
			default: break;
		}
	},

	setytplayerState : function(newState)
	{
		/*
		Fired whenever the player's state changes. Possible values are 
		unstarted (-1), 
		ended (0), 
		playing (1), 
		paused (2), 
		buffering (3), 
		video cued (5). 
		When the SWF is first loaded, it will broadcast an unstarted (-1) event.
		When the video is cued and ready to play, it will broadcast a video cued event (5).
		*/
		// 동영상의 상태에 따라 받아오는 이벤트 상태를 통해 분기하여 영상 재생 멈춤등을 한다.
		newState = parseInt(newState);
		if( !this.stateFalse ) {
			switch( newState )
			{
				case 0:	
					//상태가 정지상태일때 음악 재생이 끝난것으로 간주하고 다음곡 으로 이동 시킬수 있도록
					switch( this.replayType )
					{
						case 'once':	//한곡 반복
							ytplayer.seekTo(0, true);
							ytplayer.playVideo();
							break;

						case 'all':		//반복 재생
							this.next();
							break;

						case 'rand':	//랜덤 반복
							yTube.stateFalse = false;
							result = Math.floor(Math.random() * ( this.tubeList.length - 1 )  );
							//랜덤하기 함수를 돌려서 다음 재생할 곡 추출해 내기
							yTube.playUrlNo = result;
							yTube.tubeListPlay( yTube.tubeList[result][0] );
							break;

						default:	//일반
							//다음곡으로 해주고 다음곡 재생
							if( ( this.playUrlNo + 1 ) < this.tubeList.length ) 
							{
								this.next();
							}
							break;
					}
					break;
			}
		}
		else {
			yTube.stateFalse = false;
		}
	},

	displayer : function( strCode )	//ytplayer ( 유투브 비디오 ) 크키 조정 하기 보이거나 안보이거나 하도록 하기 
	{
		if(  strCode == 'block;' ) {
			ytplayer.setStyle('width:280px; height:210px; visibility:visible;');
		}
		else {
			ytplayer.setStyle('width:0px; height:0px; visibility:hidden;');
		}
	},

	isYtplayer : true,

	locationBreak : function()
	{
		if( window.confirm('루키 플레이어를 벗어나시겠습니까?')) {
			/* frame제거하기
			$('skin_div').setStyle( 'display:none;' );
			this.displayer('none;');
			$('getListBox').setStyle( 'display:none;' );
			$('together').setStyle( 'display:none;' );
			yTube.isYtplayer = false;
			yTube.pause();	
			*/

				location.href = xGetCookie('ifrSrc');
				return false;				
			/*
			//음악이 꺼진 상태 이므로 켤 수 있도록 조정 한다.
			frames['ifr'].document.getElementById('playerStatus').innerHTML = "<a style='font-family:dotum; font-size:11px; color:#ff9900; text-decoration:none;' href=\"javascript:;\" onclick=\"parent.yTube.playerReload(); return false;\" >음악켜기</a>";
			$('ytapiplayer_control').setStyle('display:none;');
			$('tops').setStyle('display:none;');
			$('ifr').setStyle( 'height:100%');
			*/
			return false;
		}
	},

	playerReload : function()	//음악 켜기 함수 
	{
			yTube.isYtplayer = true;
			$('ytube_box').setStyle('display:block;');
			$('player_sqr').setStyle('display:block;');
			$('styles').setStyle('display:block;');
			$('tops').setStyle('display:block;');
			$('ytapiplayer_control').setStyle('display:block;');

			//음악이 켜진 상태 이므로 끌 수 있도록 조정 한다.
			frames['ifr'].document.getElementById('playerStatus').innerHTML = '<a style="font-family:dotum; font-size:11px; color:#ff9900; text-decoration:none;" href=\"javascript:;\" onclick=\"parent.yTube.locationBreak(); return false;\" >음악끄기</a>';
			$('tops').setStyle('display:block;');
			ifrWH = $('calc_div').getDimensions();
			ifrHeight = ifrWH.height;
			$('ifr').setStyle( 'height:'+( ifrHeight - 30 )+'px;');
			return false;
	},

	listSave : function()	//현재 재생 리스트를 저장 하기
	{
		url = "/getYoutube_xe.php?owner="+ownerUid+'&list_code=' + defaultAlbum;
		
		jsonOrder = '';
		jsonTitle = '';
		//|,| 를 패턴으로 해서 리스트를 구분해준다.
		for( i = 0; i < yTube.tubeList.length; i++  ) 
		{
			comma = '';
			if( i > 0 ) comma = '|,|';
			jsonOrder +=  comma  + 'id_' + yTube.tubeList[i][2];
			jsonTitle +=  comma  +  yTube.tubeList[i][1];
		}
		if( jsonOrder ) {
			jsonOrder =  jsonOrder;
		}

		if( jsonTitle ) {
			jsonTitle = jsonTitle;
		}

		params = {};
		params.method  = 'ord';
		jsonOrder = jsonOrder.toJSON();
		params.order = jsonOrder;
		params.title = jsonTitle;

		new Ajax.Request(
			url,  { method: 'post',
				parameters:  params ,
				onComplete : function( trans  )
				{
					return;
				},
				onFailure : function() { alert("__ERROR__"); }
			} 	
		)
	},
	
	pause : function()
	{
		//비디오 멈춤
		$('pbtn').innerHTML = '<a href="javascript:;" onclick="yTube.playVideo(); return false;"><img src="../XEsupport/img/play_bt.gif"></a>';
		ytplayer.pauseVideo();
	},

	playVideo : function()
	{
		//비디오 재생
		$('pbtn').innerHTML = '<a href="javascript:;" onclick="yTube.pause(); return false;"><img src="../XEsupport/img/pause_bt_1.gif"></a>';
		ytplayer.playVideo();
	},

	chartList : function( ty )	//차트 음악 꺼내오기 
	{
		url = "/getYoutube_xe.php?owner=" + ownerUid;
		params = { method: 'chart', type : ty };
		new Ajax.Request(
		url,  {
				parameters:  params ,
				onComplete : function( transport  )
				{
					$('search_utb').value = '';
					$('search_utbs').value = '';
					getJson = transport.responseText.evalJSON();
					$('yt_list').update('');
					$('yt_list').setStyle('font-size:11px; line-height:15px;');
					if( getJson.allcnt > 0 ) {
						i = 0;
						getJson.items.each(function( itemInfo )
						{
							i++;
							$('yt_list').insert( 
								yTube.tagHtml.evaluate( { 
								ino : i,
								id : itemInfo.id,
								vdourl : itemInfo.vdolink,
								src : itemInfo.thumbnail,
								name : itemInfo.title,
								keywords : itemInfo.keywords
							} ) );
						});
					}
					else 
					{
						$('yt_list').update('검색결과가 없습니다.');
					}
				},
				onFailure : function() { alert("__ERROR__"); }
			} 	
		)
	},

	fadoList : function( owner ) {	//음악 파도타기 다른 사람 ME 에서 
		if( !yTube.isYtplayer ) return; 
		fado = $('listHold').checked;
		//리스트 고정체크가 없을시 다른사람의 곡 재생
		if( fado == false) {
			url = "/getYoutube_xe.php?owner=" + owner;
			new Ajax.Request(
			url,  {
					onComplete : function( transport )
					{
						evalJs =  transport.responseText.evalJSON() ;
						if( evalJs.allcnt > 0 ) {
							$('list_nick_name').update('('+evalJs.nick+')');
							yTube.tubeList = new Array();
							evalJs.items.each( function( itemInfo ) { 
								//배열에 밀어넣기
								yTube.pushArray(itemInfo.file_url, itemInfo.body, itemInfo.id);
							} );
							yTube.listView('addplay', true);
							yTube.tubeListPlay( yTube.tubeList[0][0] );
						}
					},
					onFailure : function() { alert("__ERROR__"); }
				}
			)
		}
	}
}

function onPlayerError( errorCode ) //플레이어 에러
{
	return;
}


function onYouTubePlayerReady(playerId) {	
	//플레이어가 준비된 상태가 되면 이벤트 등록하고 스타일 및 음악 리스트 추출 등을 실행
	ytplayer = $("myytplayer");
	ytplayer.setStyle("");
	ytplayer.addEventListener("onStateChange", "yTube.setytplayerState" );		// 상태 변화에 따라 플레이어 이벤트 실행
	setInterval(updateytplayerInfo, 200);										//setinterval 통한 다운로드상태와 플레이 상태 출력
	yTube.getUserMedia();														// 회원음악 추출
	ytplayer.addEventListener("onError", "onPlayerError");						//에러 이벤트 등록
//높이 계산
	//calcHeight();
	//setInterval(calcHeight, 5000);	
}


function getClickPlay(e)	// 상태창 클릭시 클릭된 부분의 음악 재생
{
	var duration_t = getDuration();
	dorationLeft = 0;
	dorationWidth = $('duration').getStyle('width').replace('px', '');
	dorationWidth = parseInt( dorationWidth );
	gdi = $('duration').getDimensions();
	dorationWidth = gdi.width;

	if( duration_t > 1  ) { //언로딩 상태가 0.15
		//브라우저 컨트롤 //fireFox, IE, chrom
		if( Prototype.Browser.IE == true ) {
			pointX = e.x ;
		}
		else {
			pointX = e.layerX;
		}

		pointX = parseInt( pointX ) ;
		pointX = pointX - dorationLeft ;
		getSeekPercent =  ( pointX / dorationWidth ) * 100;
		getSeekPercent =  ( duration_t / 100 ) * getSeekPercent;
		ytplayer.seekTo(getSeekPercent, true);
	}
}


function xSetCookie(name, value, expire, path)	//쿠키 만들기
{
	document.cookie = name + "=" + escape(value) +
					((!expire) ? "" : ("; expires=" + expire.toGMTString())) +
					"; path=" + ((!path) ? "/" : path);
}

function xGetCookie(name)	//쿠키 정보 가져오기
{
	var value=null, search=name+"=";
	if (document.cookie.length > 0) {
		var offset = document.cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			var end = document.cookie.indexOf(";", offset);
			if (end == -1) end = document.cookie.length;
			value = unescape(document.cookie.substring(offset, end));
		}
	}
	return value;
}


function calcHeight()
{
	ifrWH = $('calc_div').getDimensions();	//계산용 디브 높이 추출
	
	ifrHeight = ifrWH.height;
	
	if( oldIfrHeight != ifrHeight ) {
		oldIfrHeight = ifrHeight;
		//프레임 상태에 따라 스크롤 생기지 않도록 하위 프레임 크기 조정
		if( yTube.isYtplayer ) {
			$('ifr').setStyle( 'height:'+( ifrHeight - 30 )+'px;');
			$('skin_div').setStyle( 'height:'+( ifrHeight - 30 )+'px;');
		}
		else {
			$('ifr').setStyle( 'height:'+( ifrHeight )+'px;');
			return;
		}
	}

	if( !yTube.isYtplayer ) {
		return;
	}

	ifrSrc =  $('ifr').src;
	ifrSrc = ifrSrc.replace('http://', '');
	ifrSrc = ifrSrc.replace('www.', '');
	ifrSrc = ifrSrc.split('/');
	if( ifrSrc[0] == 'earth.rukie.com' || ifrSrc[0] == 'rukie.com' ) {
		if( frames['ifr'].location.href == 'http://earth.rukie.com/ver3/redirect_me' ||  frames['ifr'].location.href == 'http://www.rukie.com/redirect_me' ||   frames['ifr'].location.href == 'http://www.rukie.com/ver3/redirect_me' ) {
			return;
		}
		var ifrSrc = frames['ifr'].location.href;
		xSetCookie('ifrSrc', ifrSrc, 0, '/');	//현재 파일을 쿠키에 저장
	}
}

var oldIfrHeight;

function updateytplayerInfo() {

/*

*/

	
	var duration_t = getDuration();
	var currentTime_t = getCurrentTime();

	var totalBytes = getBytesTotal()
	if( duration_t != '') {
		currentBytes = getBytesLoaded();

		percent = 0;
		percentBytes = 0;
		if( duration_t > 0 ) {	//음악의 시간이 0 보다 큰 경우
			percent = ( currentTime_t / duration_t ) * 100; 
		}

		if( totalBytes > 0 ) {	//비디오의 총량이 0보다 큰 경우 
			percentBytes = ( currentBytes / totalBytes ) * 100; 
		}

		sixtySecondDura = ( Math.ceil( duration_t ));
		sixtySecondCurr = ( Math.ceil(currentTime_t));

		//초 추출
		sixtySecondDuraTrash = ( sixtySecondDura % 60 );
		sixtySecondCurrTrash = ( sixtySecondCurr % 60 );

		//분 추출
		sixtySecondCurr = Math.floor(sixtySecondCurr / 60);
		sixtySecondDura = Math.floor(sixtySecondDura / 60);

		if( sixtySecondDuraTrash < 10 ) {
			sixtySecondDuraTrash = '0' + sixtySecondDuraTrash;
		}

		if( sixtySecondCurrTrash < 10 ) {
			sixtySecondCurrTrash = '0' + sixtySecondCurrTrash;
		}
		//100% 시 opacity 풀리는 문제 때문에 0.001 % 빼서 99.999 까지로 적용한다.
		if( percentBytes > 0) { percentBytes = percentBytes - 0.001}
		$('bytes_percent').setStyle('width:'+percentBytes+'%;');
		$('current').setStyle('width:'+percent+'%;');
		
		$('dura_time').update( sixtySecondDura+':'+sixtySecondDuraTrash );
		$('current_time').update( sixtySecondCurr+':'+sixtySecondCurrTrash );
	}
}

function getDuration() {	//음악의 총시간 추출
	if (ytplayer) {
		return ytplayer.getDuration();
	}
}
function getCurrentTime() {	//음악의 플레이 시간  추출
	if (ytplayer) {
		return ytplayer.getCurrentTime();
	}
}

function getBytesLoaded() {	//다운로드된 정도 추출
	if (ytplayer) {
		return ytplayer.getVideoBytesLoaded();
	}
}

function getBytesTotal() {	//총 다운받을 량 추출
	if (ytplayer) {
		return ytplayer.getVideoBytesTotal();
	}
}

function changeSelect() {	// 친구 플레이 리스트로 바꾸기
	yTube.geFriendsPlayList($F('select_mus')); return false;
}


yTube.init();
