var SocialEngineMusic = new Class({
options: {
'ajaxURL' : 'music_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

	this.currentMusicID = musicID;

    this.currentTask = "doadd" ;
    TB_show('Agregar a la Lista', 'user_music_to_playlist.php?ajax=1&height=220&width=440&music_id='+ musicID, '', '../images/trans.gif');

	return false;

 },

 doaddMusictoPlaylist: function(playlist_id, music_id)

  {

		  // Ajax

		var request = new Request.JSON({

									   

		  'method' : 'post',

		  'url' : 'user_music_to_playlist.php',

		  'data' : {

			'task' : "doadd" ,

			'music_id' : music_id,

			'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();

				  alert(responseObject.result);

				}

				else

				{
					TB_remove();
					unlock_screen();
					//if(responseObject.message) alert(responseObject.message);

	

				}

				

		  }

		});

		request.send();
/*alert('pasa4');
	//	request.send();
alert('pasa5');
		TB_remove();
alert('pasa6');
		//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=240&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)

  {
	  	var varOtro = document.forms["formulariodeedicion_musica"].musicArtistName.value;
		var varNombre = document.forms["formulariodeedicion_musica"].musicArtist.value;

        if(varNombre !='' && varNombre !='0' )  varOtro ='';

		  // Ajax        
		var request = new Request.JSON({
		  'method' : 'post',
		  'url' : this.options.ajaxURL,
		  'data' : {

			'task' :"editsong",

			'music_id' :notice,

			'music_title' : document.forms["formulariodeedicion_musica"].musicTitle.value,

			'music_cat' : document.forms["formulariodeedicion_musica"].musicCat.value,

			'music_artist' :varNombre,

			'music_artistOther' : varOtro,

			//'music_url' : this.currentMusicUrl.value,

			'music_lyric' :  document.forms["formulariodeedicion_musica"].musicLyric.value,

			'music_playlist' : id1

			

		  },

		  '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();

		//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();

}
