

var SocialEngineMusic = new Class({

  

  options: {

    'ajaxURL' : 'm2bmusic_ajax.php'

  },

  

  

  sortablesEffect: null,

  

  

  currentConfirmDeleteID: 0,

  

  currentMusicID: null,

  currentMusicTitle: null,

  currentMusicCat: null,

  currentMusicArtist: null,

  currentMusicArtistOther: null,

  currentTask: null,

  currentMusicUrl: null,

  currentMusicLyric: null,

  currentMusicPlaylist:null,

  

  initialize: function()

  {

    var bind = this;

    window.addEvent('domready', function()

    {

      if( !$$('.seMusicRow').length ) return;

      

      bind.sortablesEffect = new Sortables($$('.userMusicList'),

      {

        constrain: true,

        clone: false,

        revert: true,

        handle: '.seMusicMoveHandle',

        opacity: 0.6

      });

      

      bind.sortablesEffect.addEvent('complete', function()

      {

        bind.sendFullMusicOrder();

      });

      

    });

  },

  

  

  // Move Up

  moveUpMusic: function(musicID)

  {

    // Ajax

    var request = new Request.JSON({

      'method' : 'post',

      'url' : this.options.ajaxURL,

      'data' : {

        'task' : 'moveupsong',

        'music_id' : musicID

      },

      'onComplete':function(responseObject)

      {

        if( $type(responseObject)!="object" || !responseObject.result || responseObject.result=="failure" )

        {

          alert('There was an error processing your move request.');

        }

      }

    });

    

    request.send();

    

    // Switch the element's order.

    var musicContainer = $('seMusic_' + musicID);

    var previousContainer = musicContainer.getPrevious();

    musicContainer.inject(previousContainer, 'before');    

    // Make it so the first one can't move up

    this.refreshMoveUpButtons();

  },

  

  

  sendFullMusicOrder: function()

  {

    var isFirst = true;

    var order = '';

    $$('.seMusicRow').each(function(musicRowElement)

    {

      var musicID = musicRowElement.getElement('.seMusicID').getProperty('html');

      if( !isFirst ) order += ',';

      order += musicID;

      isFirst = false;

    });

    

    // Ajax

    var request = new Request.JSON({

      'method' : 'post',

      'url' : this.options.ajaxURL,

      'data' : {

        'task' : 'reordermusic',

        'music_order' : order

      },

      'onComplete':function(responseObject)

      {

        if( $type(responseObject)!="object" || !responseObject.result || responseObject.result=="failure" )

        {

          alert('There was an error processing your move request.');

        }

      }

    });

    

    request.send();

    

    // Make it so the first one can't move up

    this.refreshMoveUpButtons();

  },

  

  

  refreshMoveUpButtons: function()

  {

    /*

    var isFirst = true;

    $$('.seMusicRow').each(function(rowElement)

    {

      if( isFirst )

      {

        rowElement.getElement('.seMusicMoveUp').style.display = 'none';

        rowElement.getElement('.seMusicMoveDisabled').style.display = '';

      }

      else

      {

        rowElement.getElement('.seMusicMoveUp').style.display = '';

        rowElement.getElement('.seMusicMoveDisabled').style.display = 'none';

      }

      isFirst = false;

    });

    */

  },

  //TA ADD

  addMusicToPlaylist: function(musicID){

	//alert (musicID);

    // Display

	  SEMusic.currentMusicID = musicID;

	  SEMusic.currentTask = "doadd" ;
    var d=new Date();
    TB_show(SELanguage.Translate(800000374), 'user_m2bmusic_to_playlist.php?height=220&width=440&time='+d.getTime(), '', '../images/trans.gif');
    //alert('ssss');
	return false;
 },

 doaddMusictoPlaylist: function(playlist_id)

  {

	 	var makeRequest = new Request(
				{
					url: "user_m2bmusic_to_playlist.php?playlist_id="+playlist_id+"&music_id="+SEMusic.currentMusicID+"&task="+SEMusic.currentTask,
					onComplete: function (responseObject){
						if(responseObject == 1){
							parent.TB_remove();
						}else{
						//alert(responseObject);
						document.getElementById('add_music_to_playlist_error_text').innerHTML=responseObject;
						document.getElementById('add_music_to_playlist_error_frame').style.display="block";
						
						//var SEMusic = new SocialEngineMusic();
						//SEMusic.addMusicToPlaylist(SEMusic.currentMusicID);
						return 0;
						}
					}
				}
			)
			makeRequest.send();				

  },
  doAddNewPlaylist: function(){
	  var playlist_name = $('m2bmusic_playlist_name_field').get('value');
	  var playlist_desc = $('m2bmusic_playlist_desc_field').get('value');
	  var playlist_search = 1;
	  if(!$('playlist_search_1').checked){
		  playlist_search = 0;
	  }
	  
	  if(playlist_name == ""){
		  $('is_error_blank_playlist_title').style.display = "block";
		  return;
	  }
	  var makeRequest = new Request(
				{
					method : 'post',
					url: "user_m2bmusic_playlist_add.php",
					data:{					
						'playlist_title':playlist_name,
						'playlist_desc':playlist_desc,
						'playlist_search':playlist_search,
						'music_id':this.currentMusicID,
						'add_playlist_by_ajax':'yes'
					},
					'onComplete': function (responseObject){
						if(responseObject == 1){
							SEMusic.addMusicToPlaylist(SEMusic.currentMusicID);
						}else if(responseObject == 1000){
							$('is_error_blank_playlist_over_maximum_allow').style.display = "block";
							return;
						}
						else{
							alert("Processing error, please try again.");
							SEMusic.addMusicToPlaylist(SEMusic.currentMusicID);
						}
					}
				}
			)
			makeRequest.send();				
	 },

  // TA ADD END

  

    //DuyAnh -- Show Edit music form

  editMusic: function(musicID,musicPlaylist)

  {

    // Display
    this.currentMusicID = musicID;

	this.currentMusicPlaylist = musicPlaylist;
	   
    TB_show(SELanguage.Translate(800000337), 'user_m2bmusic_editor.php?height=240&width=550&playlist_id='+musicPlaylist+"&music_id="+musicID+"&t="+Math.random(), '', '../images/trans.gif');

	if(musicID=='') this.currentTask = "editsong";

	else this.currentTask = "editsong" ;



  },

  

  //DuyAnh -- Do edit music

  doeditMusic: function(notice,id1)

  {
        //if(this.currentMusicArtist.value !='')  this.currentMusicArtistOther.value ='';
		  // Ajax
		var request = new Request.JSON({

		  'method' : 'post',

		  'url' : this.options.ajaxURL,

		  'data' : {

			'task' : this.currentTask,

			'music_id' : this.currentMusicID,

			'music_title' : this.currentMusicTitle.value,

			'music_cat' : this.currentMusicCat.value,

			'music_artist' : this.currentMusicArtist.value,

			'music_artistOther' : this.currentMusicArtistOther.value,
			
			'music_singer' : this.currentMusicSinger.value,

			'music_singerOther' : this.currentMusicSingerOther.value,

			//'music_url' : this.currentMusicUrl.value,

			'music_lyric' : this.currentMusicLyric.value,

			'music_playlist' : this.currentMusicPlaylist
            
			

		  },

		  'onComplete':function(responseObject)

		  {

			  if( $type(responseObject)!="object" || !responseObject.result || responseObject.result=="failure" )

				{
						
				        
						if(responseObject.message){ 
				        	alert(responseObject.message);						
						}else{
							alert('There was an error processing your move request.');
						}

						unlock_screen()

						//TB_show_window();

				}

				else

				{
					
					document.location="user_m2bmusic.php?album_id="+id1;

				}

		  }

		});

		

		request.send();	

  },

  

  // Delete

  deleteMusic: function(musicID, playlistID)

  {

    // Display

    this.currentConfirmDeleteID = musicID;

	this.currentMusicPlaylist = playlistID;

    TB_show(SELanguage.Translate(800000041), '#TB_inline?height=100&width=300&inlineId=confirmmusicdelete', '', '../images/trans.gif');

  },

  

  deleteMusicConfirm: function()

  {

    // Ajax

    var request = new Request.JSON({

      'method' : 'post',

      'url' : this.options.ajaxURL,

      'data' : {

        'task' : 'deletesong',

        'music_id' : this.currentConfirmDeleteID,

		'music_playlist' : this.currentMusicPlaylist

      },

      'onComplete':function(responseObject)

      {

        if( $type(responseObject)!="object" || !responseObject.result || responseObject.result=="failure" )

        {

           alert('There was an error processing your delete request.');

        }

		else{

			    // Destroy

			//if( this.sortablesEffect )

			 // this.sortablesEffect.removeItems($('seMusic_' + this.currentConfirmDeleteID));

			

			$('seMusic_' + responseObject.musicdelete_id).destroy();

			

			// this.refreshMoveUpButtons();

		}

	

      }

    });

    

    request.send();

    



  },

  

  

  // Editing

  editMusicTitle: function(musicID)

  {

    // Get title

    var musicTitleContainer = $('seMusic_' + musicID);

    var musicTitle = musicTitleContainer.getElement('.seMusicTitle').getProperty('html');

    

    // Set title

    var musicTitleInput = musicTitleContainer.getElement('.seMusicTitleEditor').getElement('input');

    musicTitleInput.setProperty('value', musicTitle);

    

    // Display

    this.showMusicTitleEditor(musicID);

    

    // Focus

    musicTitleInput.focus();

    musicTitleInput.select();

  },

  

  saveMusicTitle: function(musicID)

  {

    // Get title

    var musicTitleContainer = $('seMusic_' + musicID);

    var musicTitle = musicTitleContainer.getElement('.seMusicTitleEditor').getElement('input').getProperty('value');

    

    // Ajax

    var request = new Request.JSON({

      'method' : 'post',

      'url' : this.options.ajaxURL,

      'data' : {

        'task' : 'editsongtitle',

        'music_id' : musicID,

        'music_title' : musicTitle

      },

      'onComplete':function(responseObject)

      {

        if( $type(responseObject)!="object" || !responseObject.result || responseObject.result=="failure" )

        {

          alert('There was an error processing your edit request.');

        }

      }

    });

    

    request.send();

    

    // Set title

    musicTitleContainer.getElement('.seMusicTitle').setProperty('html', musicTitle);

    

    // Display

    this.hideMusicTitleEditor(musicID);

  },

  

  cancelMusicTitle: function(musicID)

  {

    // Display

    this.hideMusicTitleEditor(musicID);

  },

  

  showMusicTitleEditor: function(musicID)

  {

    var musicTitleContainer = $('seMusic_' + musicID);

    

    musicTitleContainer.getElement('.seMusicTitle').style.display = 'none';

    musicTitleContainer.getElement('.seMusicTitleEdit').style.display = 'none';

    

    musicTitleContainer.getElement('.seMusicTitleEditor').style.display = '';

    musicTitleContainer.getElement('.seMusicTitleSave').style.display = '';

    musicTitleContainer.getElement('.seMusicTitleCancel').style.display = '';

  },

  

  hideMusicTitleEditor: function(musicID)

  {

    var musicTitleContainer = $('seMusic_' + musicID);

    

    musicTitleContainer.getElement('.seMusicTitle').style.display = '';

    musicTitleContainer.getElement('.seMusicTitleEdit').style.display = '';

    

    musicTitleContainer.getElement('.seMusicTitleEditor').style.display = 'none';

    musicTitleContainer.getElement('.seMusicTitleSave').style.display = 'none';

    musicTitleContainer.getElement('.seMusicTitleCancel').style.display = 'none';

  },

  playerSource: function ( strSource )

	{

		var width=230;

		var height=200;

		var s;

		

		s="<OBJECT id=winMediaPlayerID ";

				s+="codeBase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715 ";

				s+="type=application/x-oleobject height=" + height + " ";

				s+="standby=\"Loading Microsoft Windows Media Player components...\" "; 

				s+="width=" + width + " classid=CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6 ";

				s+="name=winMediaPlayerID>";

				s+="<PARAM NAME=\"URL\" VALUE=\""+strSource+"\"> ";

				s+="<PARAM NAME=\"rate\" VALUE=\"1\">";

				s+="<PARAM NAME=\"balance\" VALUE=\"0\">";

				s+="<PARAM NAME=\"currentPosition\" VALUE=\"0\">";

				s+="<PARAM NAME=\"defaultFrame\" VALUE=\"0\">";

				s+="<PARAM NAME=\"playCount\" VALUE=\"999\">";

				s+="<PARAM NAME=\"CursorType\" VALUE=\"-1\">";

				s+="<PARAM NAME=\"autoStart\" VALUE=\"1\">";

				s+="<PARAM NAME=\"autoplay\" VALUE=\"1\">";

				s+="<PARAM NAME=\"currentMarker\" VALUE=\"0\">";

				s+="<PARAM NAME=\"invokeURLs\" VALUE=\"-1\">";

				s+="<PARAM NAME=\"volume\" VALUE=\"50\">";

				s+="<PARAM NAME=\"mute\" VALUE=\"0\">";

				s+="<PARAM NAME=\"stretchToFit\" VALUE=\"-1\">";

				s+="<PARAM NAME=\"windowlessVideo\" VALUE=\"0\">";

				s+="<PARAM NAME=\"enabled\" VALUE=\"1\">";

				s+="<PARAM NAME=\"fullScreen\" VALUE=\"0\">";

				s+="<PARAM NAME=\"enableContextMenu\" VALUE=\"0\">";

				s+="<PARAM NAME=\"enableErrorDialogs\" VALUE=\"0\"> \n";

			

			s+="<Embed id='winMediaPlayerIDFF' type='application/x-mplayer2' pluginspage='http://www.microsoft.com/windows/windowsmedia/download/' filename='"+strSource+"' src='"+strSource+"' Name='winMediaPlayerIDFF' "; 

				s+="width='" + width + "' ";

				s+="height='" + height + "' ";

				s+="AutoSize='1' ";

				s+="AutoStart='1' ";

				s+="AutoPlay='1' ";

				s+="ClickToPlay='1' ";

				s+="DisplaySize='1' ";

				s+="EnableContextMenu='0' ";

				s+="EnableFullScreenControls='1' "; 

				s+="EnableTracker='1' ";

				s+="Mute='0' ";

				s+="PlayCount='999' "; 

				s+="ShowControls='1' "; 

				s+="ShowAudioControls='1' "; 

				s+="ShowDisplay='0' ";

				s+="ShowGotoBar='0' ";

				s+="ShowPositionControls='1' "; 

				s+="ShowStatusBar='1' ";

				s+="ShowTracker='1'> ";

				s+="</embed> ";

		s+="</OBJECT>";

		

		document.getElementById("ys_music_player").innerHTML=s;

		//scrollTo(0,100);

	}
});

function music_test_active(index,tab){

	hide = getObj(tab);

	show = getObj(tab+"_inactive");

	if (hide.style.display != "none" && tab != index) {

		hide.style.display = "none";

		show.style.display = "";

	}		

}

function music_get_active(show){

	music_test_active(show,"url");

	music_test_active(show,"html_code");

	music_test_active(show,"bb_code");

}

 function music_get_url(show, getstr){	

	getObj(show + "").style.display="";

	getObj(show + "_inactive").style.display="none";

	getObj("result_url").value = getstr;

	getObj("result_url").style.display = "";

	music_get_active(show);   

 }

function url_select_text(input_id){

	input_id.select();

}
function addToPlayListFromFlash(musicid){
	SEMusic.addMusicToPlaylist(musicid);
}
function newalbum_ajax_paging(page,html_id){
	var makeRequest = new Request(
			{
				url: "m2bmusic_albumlist_ajax.php?p="+page,
				onComplete: function (respone){
					$(html_id).set('html','<img src="./images/music/loading2.gif"/>');
					$(html_id).set('html',respone);
				}
			}
	)
	makeRequest.send();
}
function songlist_ajax_paging(page,html_id,query_str,is_ajax){
	var makeRequest = new Request(
			{
				url: "m2bmusic_songlist_ajax.php?"+query_str+"&p="+page,
				onComplete: function (respone){
					$(html_id).set('html','<img src="./images/music/loading2.gif"/>');
					$(html_id).set('html',respone);
				}
			}
	)
	makeRequest.send();
}
function m2bmusic_add_new_playlist(){
	$('m2bmusic_noplaylist_frame').style.display = "none";
	$('m2bmusic_add_new_playlist_frame').style.display = "block";
}
function m2bmusic_doadd_new_playlist(){
	$('m2bmusic_noplaylist_frame').style.display = "none";
	$('m2bmusic_add_new_playlist_frame').style.display = "block";
}
function JsChangeMusicTitleFromFlash(MusicID){
var makeRequest = new Request(
			{
				url: "m2bmusic_player_ajax.php?music_id="+MusicID,
				onComplete: function (respone){				
					$('comment_music_id').set('value',MusicID);
					$('cter_popup').set('html',respone);
				}
			}
	)
	makeRequest.send();
	var makeRequest = new Request(
			{
				url: "m2bmusic_player_ajax.php?task=getComments&music_id="+MusicID,
				onComplete: function (respone){
					$('music_comments').set('html',respone);
				}
			}
	)
	makeRequest.send();
	var makeRequest = new Request(
			{
				url: "m2bmusic_player_ajax.php?task=getLyrics&music_id="+MusicID,
				onComplete: function (respone){
					$('dog2').set('html',respone);
				}
			}
	)
	makeRequest.send();
	
}
function artistlist_ajax_paging(page,html_id,category,cat_index){
	var makeRequest = new Request(
			{
				url: "m2bmusic_artistlist_ajax.php?p="+page+"&cat="+category+"&cat_index="+cat_index,
				onComplete: function (respone){
					$(html_id).set('html','<img src="./images/music/loading2.gif"/>');
					$(html_id).set('html',respone);
				}
			}
	)
	makeRequest.send();
}
function typeartistlist_ajax_paging(html_id,category){
	var makeRequest = new Request(
			{
				url: "m2bmusic_typeartistlist_ajax.php?cat="+category,
				onComplete: function (respone){
					$(html_id).set('html','<img src="./images/music/loading2.gif"/>');
					$(html_id).set('html',respone);
				}
			}
	)
	makeRequest.send();
}
function singerlist_ajax_paging(page,html_id,category,cat_index){
	var makeRequest = new Request(
			{
				url: "m2bmusic_singerlist_ajax.php?p="+page+"&cat="+category+"&cat_index="+cat_index,
				onComplete: function (respone){
					$(html_id).set('html','<img src="./images/music/loading2.gif"/>');
					$(html_id).set('html',respone);
				}
			}
	)
	makeRequest.send();
}
function typesingerlist_ajax_paging(html_id,category){
	var makeRequest = new Request(
			{
				url: "m2bmusic_typesingerlist_ajax.php?cat="+category,
				onComplete: function (respone){
					$(html_id).set('html','<img src="./images/music/loading2.gif"/>');
					$(html_id).set('html',respone);
				}
			}
	)
	makeRequest.send();
}
function openPopup(url){
   NewWindow = window.open(url,'newWin',"width=550,height=580,left=0,top=0,toolbar=No,location=No,scrollbars=No,status=No,resizable=No,fullscreen=No");  
   NewWindow.focus();      
   //void(0);
  }
