

var SocialEngineMusic = new Class({

  

  options: {

    'ajaxURL' : 'music_ajax.php'

  },

  

  

  sortablesEffect: null,

  

  

  currentConfirmDeleteID: 0,

  

  currentMusicID: null,

  currentMusicTitle: '',

  currentMusicCat: '',

  currentMusicArtist: '',

  currentMusicArtistOther: '',

  currentTask: '',

  currentMusicUrl: '',

  currentMusicLyric: '',

  currentMusicPlaylist:'',

  

  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

	this.currentMusicID = musicID;

    this.currentTask = "doadd" ;

    TB_show(SELanguage.Translate(4000040), 'user_music_to_playlist.php?ajax=1&height=220&width=440', '', '../images/trans.gif');

	return false;

	



 },

 doaddMusictoPlaylist: function(playlist_id)

  {

		  // Ajax

		var request = new Request.JSON({

									   

		  'method' : 'post',

		  'url' : 'user_music_to_playlist.php',

		  'data' : {

			'task' : this.currentTask,

			'music_id' : this.currentMusicID,

			'playlist_id' : playlist_id

			

		  },

		  'onComplete':function(responseObject)

		  {

			

				if( $type(responseObject)!="object" || !responseObject.result || responseObject.result=="failure" )

				{

				  if( $type(responseObject)!="object"){

					 alert('There was an error processing your move request.'); 	

				  }

				  else{

					  if(responseObject.message) alert(responseObject.message);

				  }

  

				  TB_show_window();

				  unlock_screen();

				  

				}

				else

				{

					TB_remove();

					unlock_screen();

					if(responseObject.message) alert(responseObject.message);

	

				}

				

		  }

		});

		

		request.send();

		//TB_hide_window();
        TB_remove();

		lock_screen(1);

				

  },

  // TA ADD END

  

    //DuyAnh -- Show Edit music form

  editMusic: function(musicID,musicPlaylist)

  {

    // Display
    this.currentMusicID = musicID;

	this.currentMusicPlaylist = musicPlaylist;
	   
    TB_show(SELanguage.Translate(4000039), 'user_music_editor.php?height=270&width=550&playlist_id='+musicPlaylist+"&music_id="+musicID, '', '../images/trans.gif');

	if(musicID=='') this.currentTask = "doaddURL";

	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' : $("musicTitle").value,

			'music_cat' : $("musicCat").value,

			'music_artist' : $("musicArtist").value,

			'music_artistOther' : $("musicArtistName").value,

			//'music_url' : this.currentMusicUrl.value,

			'music_lyric' : $("musicLyric").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_music.php?playlist_id="+id1;

				}

		  }

		});

		

		request.send();

        TB_remove();
		//TB_hide_window();

		lock_screen(1);

		//$("TB_ajaxContent").innerHTML ="<p align='center' style='margin-top:60px'><img src='./images/ajax-loader.gif'><br>"+notice+"</p>";	

  }, 

  // Delete

  deleteMusic: function(musicID, playlistID)

  {

    // Display

    this.currentConfirmDeleteID = musicID;

	this.currentMusicPlaylist = playlistID;

    TB_show(SELanguage.Translate(4000038), '#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,get){	

	getObj(show).style.display="";

	getObj(show+"_inactive").style.display="none";

	getObj("result_url").value = get;

	getObj("result_url").style.display = "";

	music_get_active(show);   

 }

function url_select_text(input_id){

	input_id.select();

}