var expert_id = '557164';


//var window_pos = 0;




function poll()	{
	
	var window_pos 	= document.viewport.getScrollOffsets().top;
	var xPos				= document.viewport.getWidth()/5;
	
	if (window_pos > 500 )	{  
		
		$('wrap_drop_zone_indicator').setStyle({ 'left' : xPos + 'px' }).show();
	
	}
	else {
		$('wrap_drop_zone_indicator').hide();
	}
	
	return true;
}

//Sortable.SERIALIZE_RULE = /^[^_\-][LI-](.*)$/;



Event.observe(window, 'load', function () {
	
	setInterval("poll()", 500);
	
	$('pl_save_as').observe('keypress', keyListenBind);
});

function resetSaveIndicator() {
	$('wrap_now_playing').update('Now Playing: ' + $('pl_save_as').value);
}






function playEvent(obj) { 
	alert('the new mute state is: '+obj.state); 
};
	
//function muteTracker(obj) { alert('the new mute state is: '+obj.state); };
//player.addControllerListener("MUTE","muteTracker");	



function addPlayButton(parent_element, append_method)
{
	var play_btn 				= new Element('input');

	play_btn.id					= 'play_btn_id';
	play_btn.value			= 'play';
	play_btn.type				= 'button';
	play_btn.className	= 'play_btn BtnSilver';
	play_btn.observe('click', importPlaylistToPlayer);		
	
	if ( append_method == 'update' ) {
		if ( !$('play_btn_id') ) {
			$(parent_element).insert(play_btn);
		}
	}
	else
		$(parent_element).insert(play_btn);
}


function addPreviewPlayButton(parent_element, append_method, append_id)
{
	var play_btn 				= new Element('input');

	play_btn.id					= append_id;
	play_btn.value			= 'preview';
	play_btn.type				= 'button';
	play_btn.className	= 'play_btn BtnSilver';
	play_btn.observe('click', importTempPlaylistToPlayer);		
	

	var save_btn 				= new Element('input');

	save_btn.id					= 'click_save_option';
	save_btn.value			= 'save playlist';
	save_btn.type				= 'button';
	save_btn.className	= 'play_btn BtnSilver';
	
	save_btn.setStyle({ 'margin-top' : '2px' });
	save_btn.observe('click', function () {
		triggerOptionPanel(save_btn);
	});		
	
	
	
	
	if ( append_method == 'update' ) {
		if ( !$(append_id) ) {
			$(parent_element).insert(play_btn);
		}
	}
	else {
		$(parent_element).insert(play_btn);
		$(parent_element).insert(save_btn);
	}
	
	
	
	
	if ( $('overlay_div_id') ) {
		$('overlay_div_id').remove();
	}
	
}


function addTrickButton() {

	var trick_btn	= new Element('div');

	trick_btn.id				= 'trick_btn_id';
	trick_btn.className	= 'trick_btn';

	$('wrap_player').insert(trick_btn);

	trick_btn.observe('click', importTempPlaylistToPlayer);
}

function addOverlay(overlay_text) {

	var overlay_div	= new Element('div');

	overlay_div.id				= 'overlay_div_id';
	overlay_div.className	= 'overlay_div';
	
	
	if ( $('trick_btn_id') ) {
		$('trick_btn_id').remove();	
	}

	$('wrap_player').insert(overlay_div);
	overlay_div.insert(overlay_text);


	overlay_div.observe('click', function() {
		
		$('overlay_div_id').remove();
		importTempPlaylistToPlayer()
		
	});
}




function triggerOptionPanel(option_btn) 
{
	var option_id		= option_btn.id;
	var option_pos	= $(option_id).cumulativeOffset().left;
	
	//alert(option_pos);
	if ( Prototype.Browser.IE ) {
		option_pos	= option_pos - 150;
	}
	
	
	$('wrap_option_panel').setStyle({ 'left' : option_pos + 'px', 'width' : '278px'  });
	
	if ( $('wrap_option_panel') ) {
		$('wrap_option_panel').show();
	}

	if ( option_btn.id == 'click_option' || option_btn.id == 'click_save_option' ) {
	
		if ( $('wrap_option_panel') ) {
			$('wrap_option_panel').setStyle({ 'width' : '160px' } );
		
			$('menu_options').show();
			$('menu_saved').hide();
		}
		
		
		if ( $('session_logged_in').value == 0 ) {
			
			openSaveModalDialog();
		
		}
		else {
			if ( $('opt_save') && option_btn.id == 'click_save_option' ) {
				$('opt_save').highlight().pulsate();
			
				//buildSaveAsForm();
			
				openSaveModalDialog();
				$('wrap_option_panel').hide();
			
			}
		}
	}
	else if ( option_btn.id == 'click_reset' ) {
		
		var workout_selections	= $A($$('.workout_selection'));
		
		//alert(workout_selections);
		
		workout_selections.invoke("removeClassName", "selectable_added");

		$('prvw_btn_id').remove();

		$('wrap_playlist').update('');

		$('wrap_option_panel').hide();
		$('wrap_now_playing').hide();

		$('current_pl_name').value = '';
		$('current_pl_id').value = '';


		if ( $('pl_save_as') ) $('pl_save_as').value='';

		$('player1').remove();
			createPlayer(null, null);


			


	}
	else if ( option_btn.id == 'click_expert' ) {
		$('menu_saved').update('Loading Expert Playlists...').show();
		$('menu_options').hide(); 
		
		buildSavedPlaylistMenu(1);
	}
	else {
		$('menu_saved').update('Loading...').show();
		$('menu_options').hide(); 


		buildSavedPlaylistMenu(0);					

		//closeOptionMenu.delay(5);

	}	// END IF/ELSE		
}



function buildSaveAsForm() {

	var span_save_as = new Element('span', {
		id				: 'wrap_save_as', 
		className : 'href_option'
	}).update(input_save_as = new Element('input', {
		id	: 'pl_save_as', 
		name:	'pl_save_as',
		className: 'input_save_as'
	})).observe('keypress', keyListenBind);

	var icon_save	= new Element('img', {
		id	: 'save_btn',
		src : '/img/_icon_save_floppy.png', 
		className : 'icon_save'
	}).observe('click', function () {
			savePlayListAs($F('pl_save_as'), serializePlayList());

			$('wrap_option_panel').hide();

	});

	span_save_as.appendChild(icon_save);

	$('opt_save').update(span_save_as);

	if ( $('current_pl_name').value != '' ) {
		$('pl_save_as').value = $('current_pl_name').value;
	}


	$('pl_save_as').focus();
}




function keyListen(event) {

	if ( event.keyCode == 13 || event.keyCode == 9 ) {
		savePlayListAs($F('pl_save_as'), serializePlayList());
		
		$('ad_frame').contentWindow.location.reload(true);
		
		
	}
}

keyListenBind		= keyListen.bindAsEventListener();

function mouseListen(event) {
	if ( $('wrap_save_as') ) {
		setTimeout("input_save_as.stopObserving('keypress', keyListenBind );$('wrap_option_panel').hide();", 10000);
	}
}

mouseListenBind	= mouseListen.bindAsEventListener();






function createPlayer(file_flv_src, file_img_src) 
{
	file_flv_src	= file_flv_src===undefined	? null : file_flv_src;
	file_img_src	= file_img_src===undefined	? null : file_img_src;

	var pl_location = file_flv_src == null ? "bottom" : null ;
	var pl_listsize = file_flv_src == null ? "200"		: null ;
	var pl_width 		= file_flv_src == null ? "480"		: "480";
	var pl_height 	= file_flv_src == null ? "580"		: "380";
	
	
	var flashvars = {
		file				:	file_flv_src,
		//image				:	file_img_src,
		autostart		:	"true",
		playlist		:	pl_location,
		playlistsize:	pl_listsize,
		shuffle			:	"false",
		repeat			:	"list",
		type				: "flv"
	}

	var params = {
		allowfullscreen		:	"true",
		allowscriptaccess	:	"always",
		wmode							: "transparent"
	}

	var attributes = {
		id		:	"player1",
		name	:	"player1"
	}

	
	if (file_flv_src == null) {
		$('wrap_player').setStyle({ 'height' : '580px' });
		//$('drop_zone').setStyle({ 'height' : '780px' });
	}



	if ( !$('player_target') ) {
		var player_target	= new Element('div');
		player_target.id	= 'player_target';
		$('wrap_player').update(player_target);
	}	
	
	
	
	swfobject.embedSWF("/workout/mediaplayer/player.swf", "player_target", pl_width, pl_height, "9.0.115", false, flashvars, params, attributes);
	

	document.fire("player:loaded");

}


document.observe('dom:loaded', function() {
	createPlayer();
});


document.observe('player:loaded', function() {


	var player 	= window.document['player1'];
	
	
	if ( player ) {
		addTrickButton();
	}
	
	
	$('current_pl_name').value	= '';	
	$('current_pl_id').value		= '';
	
  $$('.workout_selection').each(function(selectable) {
		new Draggable(selectable); 
  }); 
	
  Droppables.add('drop_zone', { //
    accept: 'workout_selection', 
    hoverclass: 'dropAllowed',
    onDrop: onDropSortable
	});

}, false);



function onDropSortable(element) 
{
	$('ad_frame').contentWindow.location.reload(true);


	var pl_expand_h	= $('wrap_playlist').getHeight() + 53;
	var dz_expand_h	= $('drop_zone').getHeight() + 53;
	
	$('wrap_playlist').setStyle({ 'height' : pl_expand_h + 'px' });
	$('wrap_playlist').setStyle({ 'height' : dz_expand_h + 'px' });

	
	element.addClassName('selectable_added');

	var detail = buildPlayListItem(element);

	/* make playlist sortable */
	
	if ( $('prvw_btn_id2') ) {
		$('prvw_btn_id2').remove();
		$('click_save_option').remove();
	}
	

	addPreviewPlayButton(detail.id, 'insert', 'prvw_btn_id2');


	Sortable.create('wrap_playlist', { 
		tag: 'div', 
		only: 'workout_detail',
		
		onChange: function() {
			if ( $('click_save_option') ) {
				$('click_save_option').remove();
				$('prvw_btn_id2').remove();
			}			
			if ( $('current_pl_name').value != '' ) {
				savePlayListAs($('current_pl_name').value, serializePlayList());
			}
		},
		onUpdate: function() { 
			var detail_arr 	= $$('.workout_detail');
			var detail_div	= $('wrap_playlist').down('.workout_detail', (detail_arr.length - 1 ));

			addPreviewPlayButton(detail_div.id, 'insert', 'prvw_btn_id2');
			
			if ( $('current_pl_name').value != '' ) {
				savePlayListAs($('current_pl_name').value, serializePlayList());
			}				
		}
	});	


	


	/* observe thumb click */
	$$('.workout_selected').each( function (thumb_click) {

		thumb_click.observe('click', function () {
			showPreviewImage(thumb_click);
		});
	});

	/* observe delete buttons */

	$$('.nclose_btn').each( function (nclose_btn)  {
		nclose_btn.observe('click', function () {
			var detail_xx = nclose_btn.id;
			var detail_id	= detail_xx.replace('_close', '');
			var select_id	= detail_id.replace('_id', '');

			if ( $(detail_id) ) $(detail_id).remove();
			if ( $(select_id) )	$(select_id).removeClassName('selectable_added');
			
			if ( $('current_pl_name').value != '' ) {
				savePlayListAs($('current_pl_name').value, serializePlayList());
			}
			
			var pl_expand_h	= $('wrap_playlist').getHeight() - 53;
			$('wrap_playlist').setStyle({ 'height' : pl_expand_h + 'px' });			
			


			var detail_arr 	= $$('.workout_detail');
			var detail_div	= $('wrap_playlist').down('.workout_detail', (detail_arr.length - 1 ));
			//alert(detail_div + ' ' + detail_arr.length);
			
			
			if ( detail_div != 'undefined' ) {
				if ( $('prvw_btn_id2') )      $('prvw_btn_id2').remove();
				if ( $('click_save_option') ) $('click_save_option').remove(); 
				
				
				//alert(detail_arr.length - 1 );
				
				if ( (detail_arr.length - 1 ) >= 0 ) {
					addPreviewPlayButton(detail_div.id, 'insert', 'prvw_btn_id2');
				}
				
				if ( (detail_arr.length - 1 ) == '-1' ) {
					$('prvw_btn_id').remove();
				}
				
				
			}
			
			
			
			$('ad_frame').contentWindow.location.reload(true);
		});
	});

	/* observe select elements */

	$$('.workout_repeat_select').each( function (select_elem) {
		select_elem.observe('change', function () {

			if ( $('current_pl_name').value != '' ) {
				savePlayListAs($('current_pl_name').value, serializePlayList());
			}					
		});
	});


	if ( $('current_pl_name').value != '' ) {
		savePlayListAs($('current_pl_name').value, serializePlayList());
		
		$('ad_frame').contentWindow.location.reload(true);
	}
	
	
	if ( $('current_pl_name').value == '' ) {
		
		addPreviewPlayButton('wrap_play_head', 'update', 'prvw_btn_id');
	
		$('ad_frame').contentWindow.location.reload(true);
	}
	
	
	if ( !$('overlay_div_id') ) {
		//addOverlay('Click the PREVIEW button to play your workout as you build it.');
	}
}



var collectFilterTrail	= function ()
{
	var	filter_sep	= '>>:';
	var filter_arr	= $$('.bold_option');
	var	filter_str	= '';
	
	for ( var i = 0; i < filter_arr.length ; i++ ) {	
	
		filter_str	+= filter_arr[i].innerHTML + ' ' + filter_sep.charAt(i) + ' ';
	}
	
	return filter_str;
}



function requestPlayList(node_id) 
{
	var pl_id	= node_id;
	var args	= 'wbp_id='+pl_id;

	$('wrap_top_workout_preview').hide();
	

	new Ajax.Request(
		'/workout/wkt_xhr_get_playlist.php', 
		{
			method: 'get',
			parameters: args,
			onComplete: function (transport) 
			{
				$('wrap_playlist').update('');

				var json_arr 	= transport.responseText.evalJSON();

				json_arr.each( function (json) {
					
					
					var file_id				= json.wb_img_src.replace('.jpg', '') +'~'+json.workout_id;
					var wb_node				= new Element('img');
					
					
					wb_node.id				=	file_id;
					wb_node.title			= json.wb_name;
					wb_node.alt				=	json.wb_tags; 
					wb_node.src 			= '/workout/t/' + json.wb_img_src; 
					
					wb_node.className = 'workout_selection';
					
					wb_node.writeAttribute("rtime", "00:00");
					wb_node.writeAttribute("reps", json.wbl_int_repeat);

					$('current_pl_name').value	= json.wbp_text_saved;
					$('current_pl_id').value		= json.wbp_id;
					$('pl_save_as').value				= json.wbp_text_saved;
					
					
					var pl_node = buildPlayListItem(wb_node);
				});

				
				
				importPlaylistToPlayer();
				
				$('ad_frame').contentWindow.location.reload(true);
				
				/* make playlist sortable */

				Sortable.create('wrap_playlist', { 
					tag: 'div', 
					only: 'workout_detail',

					onChange: function() {

						if ( $('current_pl_name').value != '' ) {
							savePlayListAs($('current_pl_name').value, serializePlayList());
							
							$('ad_frame').contentWindow.location.reload(true);
						}
						
						
						
						
					},
					onUpdate: function() { 

						if ( $('current_pl_name').value != '' ) {
							savePlayListAs($('current_pl_name').value, serializePlayList());
							
							
							$('ad_frame').contentWindow.location.reload(true);
						}							
					}
				});	

				/* observe thumb click */
				$$('.workout_selected').each( function (thumb_click) {

					thumb_click.observe('click', function () {
						showPreviewImage(thumb_click);
					});
				});

				/* observe delete buttons */

				$$('.nclose_btn').each( function (nclose_btn)  {
					nclose_btn.observe('click', function () {
						var detail_xx = nclose_btn.id;
						//alert(detail_xx.id);
						var detail_id	= detail_xx.replace('_close', '');
						var select_id	= detail_id.replace('_id', '');

						if ( $(detail_id) ) $(detail_id).remove();

						if ( $('current_pl_name').value != '' ) {
							savePlayListAs($('current_pl_name').value, serializePlayList());
						}		

						var pl_expand_h	= $('wrap_playlist').getHeight() - 53;
						$('wrap_playlist').setStyle({ 'height' : pl_expand_h + 'px' });			
						
					});
				});

				/* observe select elements */

				$$('.workout_repeat_select').each( function (select_elem) {
					select_elem.observe('change', function () {
						/*var added_id	= added.id;*/
						if ( $('current_pl_name').value != '' ) {
							savePlayListAs($('current_pl_name').value, serializePlayList());
						}								
					});
				});
				

				if ( !$('player1') ) {
					createPlayer(null, null);
				}

				if ( !$('play_btn') )	{
					addPlayButton('wrap_play_head', 'update');
				}
			}
		}
	);
}



var inst_arr	= new Array();


inst_arr[0]		= "Select which area of your body you'd like to work on: <b>Core, Upper, Lower</b> or a <b>Combination.</b>";
inst_arr[1]		= "Select a target area of your body: ";
inst_arr[2]		= "Specify which fitness equipment you will be working with. <b>Click ALL</b> to see all workouts regardless of equipment needed.";
inst_arr[3]		= "To add a workout to your playlist, simply <b>drag</b> the workout icon to the <b>left</b> and <b>drop</b> it in the player window.";
//inst_arr[3]		= "<b>Click</b> on a workout icon to watch a preview in the player window.";


function timeDelay() {
	return true;
}

function pageWidth() {	
	return window.innerWidth != null? window.innerWidth : document.documentElement && document.documentElement.clientWidth ?       document.documentElement.clientWidth : document.body != null ? document.body.clientWidth : null;
} 
function pageHeight() {
	return  window.innerHeight != null? window.innerHeight : document.documentElement && document.documentElement.clientHeight ?  document.documentElement.clientHeight : document.body != null? document.body.clientHeight : null;
} 

function loadAccProduct(filter_id) 
{
	
	var filter_id 		= filter_id.replace('filter_', '');
	
	var left_gutter_w	= ( pageWidth() - 960 ) / 2 ;
	var finder_left		= ( $('wrap_find_exer').cumulativeOffset().left + left_gutter_w ) + 305 ;
	var finder_top		= $('wrap_find_exer').cumulativeOffset().top  - 5;
	
	var product_w			= pageWidth() - finder_left;
	
	var prod_arr			= new Array();
	
	prod_arr[0]	= {
		'p_img_src' : '/store/img/products/106800083.jpg',
		'p_title'		: 'Deluxe Exercise Travel Kit by JFit',
		'p_url' 		: '/store/products/deluxe-exercise-travel-kit'
	}
	prod_arr[1]	= {
		'p_img_src' : '/store/img/products/106800183.jpg',
		'p_title'		: 'Club Mat by JFit',
		'p_url' 		: '/store/products/club-mat-long'
	}
	prod_arr[2]	= {
		'p_img_src' : '/store/img/products/106800177.jpg',
		'p_title'		: 'Chrome Dumbbells by JFit',
		'p_url' 		: '/store/products/chrome-dumbbell-8-lb-pair'
	}
	prod_arr[3]	= {
		'p_img_src' : '/store/img/products/106800076.jpg',
		'p_title'		: 'Massage Ball by JFit',
		'p_url' 		: '/store/products/massage-ball-65-cm-with-pump'
	}


	
	
	//alert(prod_arr[filter_id].p_img_src);
	
	
	$('p_img_src').src 	= prod_arr[filter_id].p_img_src;
	$('p_url').href			= prod_arr[filter_id].p_url;	
	$('p_title').update(prod_arr[filter_id].p_title);
	
	
	
	
	
	

	$('wrap_product_suggest').setStyle( { 'left' : finder_left + 'px', 'top' : finder_top + 'px' } ).show();

}


document.observe('dom:loaded', function () {
	
	$('wrap_instructions').update(inst_arr[0]);
	
	var click_filters			= $A($$('.click_filter'));
	var click_categories	= $A($$('.click_category'));
	var click_subcats			= $A($$('.click_subcat'));	
	var view_subcats			= $A($$('.view_subcat'));
	
	
	
	click_filters.each( function (click_filter) {
		
		var click_filter_id	= click_filter.id;
		
		$(click_filter_id).observe('click', function () {
			
			
			click_filters.invoke('removeClassName', 'bold_option');
			click_filters.invoke('removeClassName', 'bg_highlight');
			$(click_filter_id).addClassName('bold_option');
			$(click_filter_id).addClassName('bg_highlight');
			
			
			var click_filter_str	= click_filter_id.replace('filter_', '');
			$('filter_id').value 	= click_filter_str;
			
			requestSelectableClips($('category_id').value);
			
			
			$('wrap_instructions').update(inst_arr[3]).highlight();
			$('wrap_filter_str').update(collectFilterTrail()).show();
			
			/*
			 * PRODUCT PLACEMENT	
			*/
			
			
			
			// loadAccProduct(click_filter_id);
			
			$('ad_frame').contentWindow.location.reload(true);
			
		});	
	});


	click_categories.each( function (click_category) {
		
		var click_category_id	= click_category.id;
		
		$(click_category_id).observe('click', function () {


			$('category_id').value = click_category_id;
			
			requestSelectableClips(click_category_id);
			
			view_subcats.invoke('hide');
			click_categories.invoke('removeClassName', 'click_category_active');
			click_categories.invoke('removeClassName', 'bold_option');
			click_subcats.invoke('removeClassName', 'bold_option');
			$(click_category_id).addClassName('click_category_active');
			$(click_category_id).addClassName('bold_option');
			
			
			
			$('wrap_sub_categories').show();
			
			var view_subcat_id	= click_category_id.replace('category', 'subcat');
			
			if ( $(view_subcat_id) ) {
				$(view_subcat_id).show();
				
				var stripped_subcats	= $(view_subcat_id).innerHTML;
				stripped_subcats			= stripped_subcats.stripTags().replace(/(\s+)\|/g, ',');
				
				$('wrap_instructions').update(inst_arr[1] + stripped_subcats + '<br><br>' + inst_arr[3]).highlight();
			}
			else {
				$('wrap_instructions').update(inst_arr[2]).highlight();
				
			
				
			
			}
			
			
			$('wrap_filter_str').update(collectFilterTrail()).show();
			//alert(stripped_subcats.stripTags());
		
			$('ad_frame').contentWindow.location.reload(true);			
		})
	});
	
	click_subcats.each( function (click_subcat) {
		var click_subcat_id	= click_subcat.id;
		
		$(click_subcat_id).observe('click', function () {

			click_subcats.invoke('removeClassName', 'bold_option');
			
			$(click_subcat_id).addClassName('bold_option');
			
			$('category_id').value = click_subcat_id;
			requestSelectableClips(click_subcat_id);
			
			click_subcats.invoke('removeClassName', 'click_subcategory_active');
			$(click_subcat_id).addClassName('click_subcategory_active');			
			
			//$('wrap_instructions').update(inst_arr[2] + '<br><br>' + inst_arr[3]).highlight();
			$('wrap_instructions').update(inst_arr[2]).highlight();
			
			
			$('wrap_filter_str').update(collectFilterTrail()).show();
			
			
			$('ad_frame').contentWindow.location.reload(true);
		});	
	});
	
	if (  $('wrap_option_btns') )
	{
		$$('.option_btn').each( function (option_btn) {
			option_btn.observe('click', function () {
				
				triggerOptionPanel(option_btn);
			});		

			//option_btn.observe('mouseover', function () {
			//	triggerOptionPanel(option_btn);
			//});		
		});	
		
		function closeOptionMenu() {
			$('wrap_option_panel').hide();
		}
		

		
		$$('.href_option').each( function (href_opt) {
			
			href_opt.observe('click', function () {
				
				if ( href_opt.id == 'opt_clear' ) {
					$('wrap_playlist').update('');
					$('wrap_option_panel').hide();		
				}
				else if ( href_opt.id == 'opt_delete' ) {
					
					if ( $('current_pl_id').value != '' ) {
						deletePlayList($('current_pl_id').value);
					}
					else {
						//alert('You do not have a playlist open');
						openAlertModalDialog('You do not have a playlist open');
					}
				
				}
				else {
					if ( !$('wrap_save_as') )	{
						if ( serializePlayList() == null || serializePlayList() == '' ) {
							//alert('Your playlist is currently empty');
							openAlertModalDialog('Your playlist is currently empty');
						}
						else {
							//buildSaveAsForm();
							openSaveModalDialog();
							$('wrap_option_panel').hide();
							
						}
					}
					else {
						if ( serializePlayList() == null || serializePlayList() == '' ) {
							$('wrap_save_as').remove();
							//alert('Your playlist is currently empty');
							openAlertModalDialog('Your playlist is currently empty');
						}
					}
				}
				
				$('ad_frame').contentWindow.location.reload(true);
				
			}).observe('mouseout', mouseListenBind).observe('mouseover', function () {
					$('wrap_option_panel').show();
			});
		});
	
	

		$('wrap_option_btns').observe("click_saved:clicked", function () {
			
			$('menu_saved').update('').show();
			$('menu_options').hide(); 

			buildSavedPlaylistMenu(0);
			
			$('ad_frame').contentWindow.location.reload(true);
		});

	
		
	} // END if wrap_option_btns
}, false);



function deletePlayList(pl_id) 
{
	var args	= 'pl_id=' + pl_id;
	
	new Ajax.Request(
		'/workout/wkt_xhr_delete_playlist.php',
		{
			method: 'post',
			postBody: args,
			onComplete: function (transport)
			{
				if ( transport.responseText == 'success' ) 
				{
					//alert('success');
					$('wrap_playlist').update('');
					$('play_btn_id').remove();
					$('wrap_now_playing').update('').hide();
					$('wrap_option_panel').hide();							
					$('current_pl_name').value = '';
					$('current_pl_id').value = '';
				}
				
				if ( transport.responseText == 'read-only' ) {
					openAlertModalDialog('This play list cannot be deleted.');
				}
			}
		}
	);
	
	$('ad_frame').contentWindow.location.reload(true);
}

function importPreviewToPlayer(selectable_elem)
{
	var attr_rtime			=	selectable_elem.getAttribute('rtime');
	var attr_title			= selectable_elem.getAttribute('title');
	var attr_alt				= selectable_elem.getAttribute('alt');
	var selectable_src	= selectable_elem.src;
	
	var prvw_img_src 		= 'http://fvideo.diet.com/workout/' + selectable_src.split('/')[5];
	var prvw_flv_src 		= 'http://fvideo.diet.com/workout/' + selectable_src.split('/')[5].replace('.jpg', '.flv');
	
	var lst 						= new Array();

	lst[0] = {
		author			:	"Diet Health, Inc.",
		description	:	attr_alt,
		file				:	prvw_flv_src,
		//image				:	prvw_img_src,
		start				:	"0",
		title				:	attr_title,
		type				:	"video"
	}

	
	window.document['player1'].sendEvent('LOAD', lst);
}




function importTempPlaylistToPlayer()
{
	var lst				= new Array();
	var	lst_int		= 1;	
	
	var wkt_arr		= $A($$('.workout_selected'));
	
	
	
	if ( wkt_arr.length == 0 ) {
		
		$('wrap_now_playing').update('Browse through the videos to the right to create your playlist').show();
		
	}
	else {
		
		if ( $('trick_btn_id') ) {
			$('trick_btn_id').remove();
		}

		$$('.workout_selected').each( function (workout_selected) {

			var attr_id					=	workout_selected.id;
			var attr_rtime			=	workout_selected.getAttribute('rtime');
			var attr_title			= workout_selected.getAttribute('title');
			var attr_alt				= workout_selected.getAttribute('alt');
			var selectable_src	= workout_selected.src;
			var	attr_repeat_id	= attr_id	+ '_repeat_n';

			var prvw_img_src 		= 'http://fvideo.diet.com/workout/' + selectable_src.split('/')[5];
			var prvw_flv_src 		= 'http://fvideo.diet.com/workout/' + selectable_src.split('/')[5].replace('.jpg', '.flv');

			var prvw_loop				= $F(attr_repeat_id);		


			for( var i = 0; i < prvw_loop ; i++ )
			{

				lst[lst_int] = {
					author			:	"Diet Health, Inc.",
					description	:	attr_alt,
					file				:	prvw_flv_src,
					//image				:	prvw_img_src,
					start				:	"0",
					title				:	attr_title + ' Rep ' + ( i + 1 ) ,
					type				:	"video"
				}

				lst_int++;
			}
		});




		player = window.document['player1'];
		window.document['player1'].sendEvent('LOAD', lst);		

		if ( $('pl_save_as') && $('pl_save_as').value != '' ) {
			$('wrap_now_playing').update('Now Playing: ' + $('pl_save_as').value  + ' >> your changes have been saved').show();
			
			//$('wrap_now_playing').update('Now Playing: ' + $('pl_save_as').value).delay(3, '');
			
			setTimeout("resetSaveIndicator()", 3000);
			
			//resetSaveIndicator.defer();
			
			
		}
		else {
			var play_name	= $('current_pl_name').value ? $('current_pl_name').value : 'Unsaved';
			$('wrap_now_playing').update('Now Playing: ' + play_name).show();
		}

	}
}



function importPlaylistToPlayer()
{
	var args	= 'pl_id=' + $('current_pl_id').value;

	new Ajax.Request(
		'/workout/wkt_xhr_load_playlist.php', 
		{
			method: 'get',
			parameters: args,
			onComplete: function (transport) 
			{
				var lst = new Array();

				var json_arr 	= transport.responseText.evalJSON();
				var	lst_int		= 1;

				json_arr.each( function (json) {

					lst[lst_int]	= json;

					lst_int++;
				});

				player = window.document['player1'];
				window.document['player1'].sendEvent('LOAD', lst);							
			}
		}
	);
	
	$('wrap_now_playing').update('Now Playing: ' + $('current_pl_name').value).show();
	
	resetSaveIndicator();
}


function buildSavedPlaylistMenu(is_expert)
{
	var args	= 'expert=' + is_expert;
	
	//alert(args);

	new Ajax.Request(
		'/workout/wkt_xhr_saved_playlists.php', {
		method : 'get',
		parameters: args, 
		onComplete : function (transport) 
		{
			if ( transport.responseText )
			{
				var pl_int	= 0;
				var pl_arr	= transport.responseText.evalJSON();

				pl_arr.each( function (pl) {

					var pl_text	= pl.wbp_text_saved; //+ '(' + pl.wbp_saved + ')';
					
					//alert(pl.user_id);
					
					var pl_node	= new Element('a');
					pl_node.id			= 'pl_' + pl.wbp_id;
					pl_node.href		= "javascript:;";
					
					if ( pl.user_id == expert_id ) 
						pl_node.addClassName('ple_node_btn');
					else
						pl_node.addClassName('pl_node_btn');
					
					
					pl_node.appendChild(document.createTextNode(pl_text));

					
					if ( $('current_pl_name').value == pl_text ) {
						pl_node.addClassName('pl_node_btn_current');
					}
					
					pl_node.observe('click', function () {
						
						requestPlayList(pl_node.id);
						
						if ( $('prvw_btn_id') ) { 
							$('prvw_btn_id').remove(); 
							addPlayButton('wrap_play_head', 'update');
						}
						
						$('wrap_option_panel').hide();
					});

					if ( pl_int == 0 ) $('menu_saved').update('');

					$('menu_saved').insert(pl_node, 'after');

					pl_int++;

				}); // END pl_arr.each
			}
			else
			{
				$('menu_saved').update('No playlists saved.');

			}
		}
	});
	
	
	//importPlaylistToPlayer();
}	



function requestSelectableClips(this_arg_id)
{
	$('workout_selector').hide();
	$('workout_loading').show();
	
	
	var arg_serialized	= 'arg_id_str='+this_arg_id+'&filter_id='+$('filter_id').value;
	
	//alert(arg_serialized);


	new Ajax.Request(
		'/workout/wkt_xhr_get_json.php',
		{
			method: 'get',
			parameters: arg_serialized,
			onComplete: function (transport)
			{
				$('workout_selector').update();
				
				if ( transport.responseText == 'nomatch' )
				{
					$('workout_selector').update('<br />No routines match this category<br /><br />').highlight().pulsate();
				}
				else
				{
					var json_arr 		= transport.responseText.evalJSON();
					var drop_height	= ( Math.round((json_arr.length / 4)+1) * 72 ) + 210;
					
					
					json_arr.each( function (json) {

						var file_id	= json.wb_img_src.replace('.jpg', '') +'~'+json.workout_id;

						// include customm attr for running time
						wb_node	= Builder.node('img', { 
							id 		:	file_id, 
							title	: json.wb_name ,
							alt		:	json.wb_tags , 
							src 	: '/workout/t/' + json.wb_img_src, 
							rtime	: '00:00',
							className : 'workout_selection'
						});

						$('workout_selector').insert(wb_node, 'after');
					});
					
					
					

					$$('.workout_selection').each( function(selectable) {

						selectable.observe('mouseover', function () {
							showPreviewImage(selectable);
							$('wrap_instructions').highlight();
							
						});
						
						selectable.observe('click', function () {
							importPreviewToPlayer(selectable);
						});
						
						new Draggable(selectable, { 
							revert: true
						}); 
					});		
					
					
					
					
				}
				
				$('workout_selector').show();
				$('workout_loading').hide();
				
				
				updateDropZoneArea(drop_height);
				
				$('ad_frame').contentWindow.location.reload(true);			
				
			}
		}
	);
}


function updateDropZoneArea(drop_height_int)
{
	var drop_zone_height	= drop_height_int;
	if ( drop_zone_height > 572 ) {

		$('drop_zone').setStyle({ 'height' : drop_zone_height + 'px' });
	}
}



var showPreviewImage = function (selectable_elem) {
	
	$('wrap_top_workout_preview').show();
	
	var attr_rtime			=	selectable_elem.getAttribute('rtime');
	var attr_title			= selectable_elem.getAttribute('title');
	var attr_alt				= selectable_elem.getAttribute('alt');
	var selectable_src	= selectable_elem.src;
	var prvw_click_src 	= '/workout/t/' + selectable_src.split('/')[5];

	$('wrap_workout_title').update(attr_title);
	$('wrap_workout_details').update(attr_alt);
	$('preview_img_src').src = prvw_click_src;
	
}


function serializePlayList() {
	var serialized	= '';
	$$('.workout_selected').each(function (user_save) {
	
		var user_save		= user_save.id.replace('sort_', '');
		var	xrepeat			= user_save + '_repeat_n';
		var xrepeat_val	= $F(xrepeat);
		serialized += user_save + '_x_' + xrepeat_val + '|';
	});
	return serialized;
}


function savePlayListAs(this_pl_save_as, serial_playlist) 
{
	var post_args	= 'save_as='+this_pl_save_as+'&playlist='+serial_playlist;
	
	//alert(post_args);
	
	if ( serial_playlist != null || serial_playlist != '' ) {
		
		if ( this_pl_save_as != null || this_pl_save_as != '' ) {
			new Ajax.Request(
				'/workout/wkt_xhr_save_playlist.php',
				{
					method: 'post',
					postBody: post_args,
					onComplete: function (transport)
					{
						if ( transport.responseText == 'upgrade' ) {
							openConfirmModalDialog();
						}
						else	{
							closeSaveModalDialog();
						
							$('wrap_option_btns').fire("click_saved:clicked");

							$('current_pl_id').value 		= transport.responseText;
							$('current_pl_name').value 	= this_pl_save_as;
							
							var now_play_str	= $('wrap_now_playing').innerHTML;
							
						}
					}
				}
			);		
		}
		else {
			alert('Playlist name must be at least 1 character long.');		
		}
	}
	else {
		//alert('Your playlist is currently empty');
		openAlertModalDialog('Your playlist is currently empty');
	}
	
	
	
	importTempPlaylistToPlayer();
	
	
	$('ad_frame').contentWindow.location.reload(true);
}


var buildPlayListItem	= function (selectable) {

	

	var pl_expand_h	= $('wrap_playlist').getHeight() + 53;
	var dz_expand_h	= $('drop_zone').getHeight() + 53;
	
	$('wrap_playlist').setStyle({ 'height' : pl_expand_h + 'px' });
	$('wrap_playlist').setStyle({ 'height' : dz_expand_h + 'px' });
	
	/* create a new  div first */
	var attr_rtime			=	selectable.getAttribute('rtime');
	var attr_title			= selectable.getAttribute('title');
	var attr_alt				= selectable.getAttribute('alt');
	var attr_reps				= selectable.getAttribute('reps');
	var selectable_src	= 'http://fvideo.diet.com/workout/' + selectable.id.split('~')[0] + '.jpg';    	
	//' + id.split('_')[0] + '.jpg';    	

	var detail	= new Element('div', {
		id 		: 'sort_' + selectable.readAttribute('id') + '_id'
	}).addClassName('workout_detail');
	
	var added 	= new Element('img', {
		id 		: selectable.readAttribute('id'), 
		src		: selectable.readAttribute('src'), 
		alt 	: attr_alt, 
		title	:	attr_title 
	}).addClassName('workout_selected');

	added.rtime	= attr_rtime;      
	
	var ptime		= new Element('div', {
		id		: selectable.readAttribute('id') + '_playtime'
	}).addClassName('workout_playtime');

	var ptitle	= new Element('div', {
		id 		: selectable.readAttribute('id') + '_playtitle'
	}).addClassName('workout_playtitle').update(attr_title);
	

	/* INSIDE ptime */      
		var rtime		= new Element('span', {
			id		:	selectable.readAttribute('id') + '_runtime'
		}).addClassName('workout_runtime').update(attr_rtime);

		var ntime		= new Element('span', {
			id		: selectable.readAttribute('id') + '_repeat'
		}).addClassName('workout_repeat');

		var repstr	= new Element('span').addClassName('workout_repeat').update('sets:');

			/* repeat select */
			var nselect	= new Element('select', {
				id	: selectable.readAttribute('id') + '_repeat_n'
			}).addClassName('workout_repeat_select');

			for ( var n = 1; n <= 20 ; n = n+1 ) {
				var optIndex	= n - 1;		
				
				if ( attr_reps == n ) var optSelected = true;
				else									var optSelected = false;
				
				nselect.options[optIndex]	=	new Option(n, n, true, optSelected);
			}							

			/* END */

			var nclose	= new Element('a');
			nclose.id			= detail.id + '_close';
			nclose.href		= "javascript:;";
			nclose.alt		= "delete workout";
			nclose.title	= "delete workout";
			nclose.addClassName('nclose_btn');
			nclose.appendChild(document.createTextNode('[X]'));

	/* END */      


	if ( !Prototype.Browser.IE )
	{
		var style_top = detail.getHeight();
		var sorter		= new Element('div', {
			id		: detail.id + '_sorter'		
		}).addClassName('sorter_handle').setStyle(
			{'top' : '0px',  'height' : '50px' }
		).insert(Builder.node('img', {
			src : '/img/_icon_move.gif'
		}));

		detail.insert(sorter, 'before');
	}
	if ( !Prototype.Browser.IE )
	{
		$$('.workout_detail').each( function (detail_elem) {
			detail_elem.observe('mouseover', function () {
				sorter.show();						
			});
		});
	}   


	/* add new elements to create detail */
	
	var dclear	= new Element('div').addClassName('Clear');

	detail.appendChild(ptitle);
	detail.appendChild(dclear);
	detail.appendChild(added);
	detail.appendChild(ptime);
	detail.appendChild(dclear);

	//ptime.appendChild(rtime);
	ptime.appendChild(repstr);
	ptime.appendChild(ntime);

	ntime.appendChild(nselect);
	ntime.appendChild(nclose);

	detail.appendChild(dclear);


	$('wrap_playlist').appendChild(detail);

	/* visual cue */
	detail.highlight();

	$('ad_frame').contentWindow.location.reload(true);


	return detail;
}


function closeSaveModalDialog()
{
	$('overlayBackId').remove();
	$('modal_save').hide();
	
	return true;
}


function openSaveModalDialog() 
{
	if ( $('wrap_option_panel') ) {
		$('wrap_option_panel').hide();
	}
	
	
	var body = document.getElementsByTagName('body')[0];
	var offs = document.viewport.getScrollOffsets();

	body.appendChild( Builder.node('div', {
														 id:'overlayBackId', 
														 className:'overlayBack', 
														 onclick: 'closeSaveModalDialog();'  
														})
													 );

	$('overlayBackId').style.height = ( document.viewport.getHeight() + (offs.top*2)) +'px';

	var xPos	= document.viewport.getWidth()/3;
	var yPos	= 100;

	$('modal_save').setStyle( { 'left' : xPos+'px', 'top' : (offs.top + yPos)+'px' } ).show();


	if ( $('session_logged_in').value == 1 ) {
 
		$('save_btn').observe('click', function () {
			savePlayListAs($F('pl_save_as'), serializePlayList());		
		});

		$('pl_save_as').focus();
	}
	else {
		$('modal_save_form').update('<a href="/diet/choosePath.php?redirect=/workout/">Click here to join diet.com to save your workout today!</a>');
		
		if ( $('save_btn_div') ) {
			$('save_btn_div').remove();
		}
	
	}
		
}



function closeAlertModalDialog()
{
	$('overlayBackId').remove();
	$('modal_alert').hide();
	
	return true;
}


function openAlertModalDialog(dialog_msg) 
{
	$('wrap_option_panel').hide();

	var body = document.getElementsByTagName('body')[0];
	var offs = document.viewport.getScrollOffsets();

	body.appendChild( Builder.node('div', {
														 id:'overlayBackId', 
														 className:'overlayBack', 
														 onclick: 'closeAlertModalDialog();'  
														})
													 );

	$('overlayBackId').style.height = ( document.viewport.getHeight() + (offs.top*2)) +'px';

	var xPos	= document.viewport.getWidth()/3;
	var yPos	= 100;

	$('modal_alert_msg').update(dialog_msg);
	$('modal_alert').setStyle( { 'left' : xPos+'px', 'top' : (offs.top + yPos)+'px' } ).show();

}


function closeConfirmModalDialog()
{
	$('overlayBackId').remove();
	$('modal_confirm').hide();
	
	return true;
}



function openConfirmModalDialog(dialog_msg) 
{
	if ( closeSaveModalDialog() ) {
	
		$('wrap_option_panel').hide();

		var body = document.getElementsByTagName('body')[0];
		var offs = document.viewport.getScrollOffsets();

		body.appendChild( Builder.node('div', {
															 id:'overlayBackId', 
															 className:'overlayBack', 
															 onclick: 'closeAlertModalDialog();'  
															})
														 );

		$('overlayBackId').style.height = ( document.viewport.getHeight() + (offs.top*2)) +'px';

		var xPos	= document.viewport.getWidth()/3;
		var yPos	= 100;

		$('modal_confirm').setStyle( { 'left' : xPos+'px', 'top' : (offs.top + yPos)+'px' } ).show();
	}
}



function followConfirmation(conf_type) {	
	if ( conf_type == 'upgrade' ) location.href= '/upgrade/payment_cbs.php?redirect=/workout/';
}





