/* taken from youtube. only using some of the stuff here. need to strip it down to essentials */








function watchSelectTab(tab){

	var el=tab.parentNode.firstChild;
	while(el){
		removeClass(el,'watch-tab-sel');
		el=el.nextSibling;
	}
	addClass(tab,'watch-tab-sel');
	el=_gel(tab.id+'-body').parentNode.firstChild;
	while(el){
		removeClass(el,'watch-tab-sel');
		el=el.nextSibling;
	}
	addClass(_gel(tab.id+'-body'),'watch-tab-sel')
}






function addToFaves(formName,event){
	
	//aw experiment: prevents show
		
	hideDiv('watch-add-faves-result');
	hideDiv('watch-add-to-faves-switch');
	
	watchSelectTab(_gel('watch-tab-favorite'));


	//WacBiz.isLoggedIn
	if(true){
		
		//added by aw
		hideDiv('addToFavesLogin');
		
		showDiv('watch-add-faves-loading');
		
		// aw: hiding at start
		//hideDiv('watch-add-faves-result');
		
		hideDiv('watch-remove-faves');
		hideDiv('watch-add-faves');
		
		// aw: hiding at start
		//hideDiv('watch-add-to-faves-switch');
		hideDiv('watch-remove-faves-btn');
		hideDiv('watch-add-faves-btn');
		
		var onSuccess=function(){
			
			showDiv('watch-add-faves-result');
			showDiv('watch-remove-faves');
			hideDiv('watch-add-faves');
			showDiv('watch-add-to-faves-switch');
			showDiv('watch-remove-faves-btn');
			hideDiv('watch-add-faves-btn');
			hideDiv('watch-add-faves-loading');
			
			// my stuff -- from my add_to_faves: 
			var fave_row_img_id = "fave-img-" + form.song_id.value;
			addClass(_gel(fave_row_img_id),"heart-grey");
			
			PageEnv.song_faves[form.song_id.value] = form.user_id.value;			
			
		};
		
		var onFailure=function(){
			hideDiv('watch-add-faves');
			hideDiv('watch-add-faves-btn');
			hideDiv('watch-add-faves-loading');
			watchSelectTab(_gel('watch-tab-share'));
		};
		
		//postAjaxForm('watch-add-faves-div',formName, new XMLResponseCallback(onSuccess,onFailure));
		
		
		/*-----------*/
		//from my add_to_faves:
		
		function failure(r,rtext){
			alert("Error while processing your request.");
		};
		
		
		var form =document.forms[formName];
		form.remove.checked = false;
		
		form.act.value = 'favorite'; /* for ajax tab_director.php */
		
		if(PageEnv.song_faves[form.song_id.value] !== undefined)
		{
			hideDiv("song_added_fave");
			showDiv("song_already_fave");
			onSuccess();
		} else {
		
			ajaxForm(formName,onSuccess,failure);
		}
		
		/*-----------*/
		
		//onSuccess();
		
		_gel('watch-action-favorite-link').blur();
		
	}
	else{
		showDiv('addToFavesLogin');
	}
}



function removeFromFaves(formName,event)
{
	showDiv('watch-add-faves');
	hideDiv('watch-remove-faves');
	
	showDiv('watch-add-faves-btn');
	hideDiv('watch-remove-faves-btn');
	
	function failure(r,rtext){
		alert("Error while processing your request.");
	};
	
	function success(r,rtext){

		showDiv("song_added_fave");
		hideDiv("song_already_fave");
		
		var fave_row_img_id = "fave-img-" + form.song_id.value;
		removeClass(_gel(fave_row_img_id),"heart-grey");
		
		delete PageEnv.song_faves[form.song_id.value];
	}
	
	var form =document.forms[formName];
	form.remove.checked = true;
	form.act.value = 'favorite'; /* for ajax tab_director.php */

	
	ajaxForm(formName,success,failure);
	

	_gel('watch-action-favorite-link').blur();
}

// ?
//var gWatchLoading='';



function addToPlaylist(formName,event){
	
	$id("playlist_response").innerHTML = "";
	hideDiv('watch-noplaylists');

	
	watchSelectTab(_gel('watch-tab-playlists'));
	
	
	
	showDiv('addToPlaylistLoading');

	// youtube caches the select menu sent from server
/*  
	if(!gWatchLoading){
		gWatchLoading=_gel('addToPlaylistDiv').innerHTML;
	}else{
		_gel('addToPlaylistDiv').innerHTML=gWatchLoading;
	}  
*/

	//showDiv('addToPlaylistDiv');
	
	var form =document.forms[formName];
	form.remove.checked = true;
	form.act.value = 'playlist'; /* for ajax tab_director.php */
	
	
	function failure(r,rtext){
		alert("Error while processing your request.");
	};
	
	function success(r,rtext){

/*  
		[{"playlist_id":"2","name":"andrew's playlist 1","song_cnt":"0"},{"playlist_id":"3","name":"andrew's playlist 2","song_cnt":"0"}]
		
*/		
		hideDiv('addToPlaylistLoading');
		/* why necessary? */
  		showDiv('addToPlaylistResult');
  		
  		var response = eval('(' + rtext + ')');
  		
		
		if(response.length==0){
		
			hideDiv("watch-playlists-menu");
			showDiv("watch-noplaylists");
			
		} else {
			
			showDiv("watch-playlists-menu");
			hideDiv("watch-noplaylists");			
			
			_buildPlaylistMenu(response);
		}
	}	
	
	ajaxForm(formName,success,failure);		
}

function _buildPlaylistMenu(_pa){
	var playlist_menu = _gel("playlist_sel");
	playlist_menu.length=1;
	_pa.each(function (obj) {
		playlist_menu.options[playlist_menu.options.length] = new Option(obj.name + " (" + obj.song_cnt + " songs)" , obj.playlist_id);
	});
}






function submitToPlaylist(self){
	
	var playlist_id = self.form.playlist_sel.value;
	
	var form = document.forms["info_holder"];
	form.act.value = 'playlist_submit'; /* for ajax tab_director.php */
	
	form.playlist_id.value = playlist_id;

	function failure(r,rtext){
		alert("Error while processing your request.");
	};
	
	function success(r,rtext){
		$id("playlist_response").innerHTML = "song added to your playlist";
	}	
	
	//postAjaxForm('addToPlaylistDiv',self.form.name,addToPlaylistClose);
	
	ajaxForm("info_holder", success, failure);		
}


function submitNewPlayList(self){
	
	function failure(r,rtext){
		alert("Error while processing your request.");
	};
	
	function success(r,rtext){
		
		hideDiv("watch-noplaylists");
		showDiv("watch-playlists-menu");
	
		var response = eval('(' + rtext + ')');
		 _buildPlaylistMenu(response);

		$id("playlist_response").innerHTML = 'song added to your new playlist';
	}
	
	var f = document.forms["info_holder"];
	
	f.act.value = 'new_playlist_submit'; /* for ajax tab_director.php */
	f.data.value = self.form.new_playlist.value;

	ajaxForm("info_holder", success, failure);		
}

function playlistBodyToggle(){

	//_gel("new_playlist").value="";
	
	document.forms["playlist_add_form"].new_playlist.value = "";
	
	toggleDisplay("watch-playlists-menu")
	toggleDisplay("watch-noplaylists")
	
}

function addToPlaylistClose(){
	
	toggleDisplay('addToPlaylistResult');
	
	var func=function(){
		hideDiv('addToPlaylistResult');
		watchSelectTab(_gel('watch-tab-share'));
	};
	
	window.setTimeout(func,3000);
}


function songNotes(self){

	var notes_field = document.forms["song_notes_form"]["song_notes"];
	
	notes_field.value ="";

	watchSelectTab(_gel('watch-tab-notes'));
	
	function failure(r,rtext){
		alert("Error while processing your request.");
	};
	
	function success(r,rtext){
		notes_field.value = rtext;
	}	
	
	var f = document.forms["info_holder"];
	f.act.value = 'song_notes'; /* for ajax tab_director.php */
	ajaxForm("info_holder", success, failure);	
}


function submitToSongNotes(self){

	function failure(r,rtext){
		alert("Error while processing your request.");
	};
	
	function success(r,rtext){
		$id("notes_response").innerHTML = 'notes saved';
	}
	
	$id("notes_response").innerHTML = "";
	var f = document.forms["info_holder"];
	f.act.value = 'song_notes_submit'; /* for ajax tab_director.php */
	f.data.value = self.form.song_notes.value;

	ajaxForm("info_holder", success, failure);		
}





