
function jumpto_discussion(type, element_id) {
		$('discussion_type_select').selectedIndex = (type == 'question' ? 1 : 0);
		$(element_id).style.display = 'block';
		window.scrollTo(0, $(element_id).viewportOffset()[1]-100);
		return false;
}

function submit_link_new(){
	var add_link_title = $('new_link_title').value;
	var add_link_url = $('new_link_url').value;
	var add_link_description = $('new_link_description').value;
	
	if(page_is_character_var) { ins_source = 'character'; ins_show = page_character_id; } else { ins_source = page_source; ins_show = page_show; }
	
	if(add_link_title != '' && add_link_url!= ''){
			new Ajax.Request(MOOGI.domain+'ajax/get_submit_link.php',
		  {
			method:'post',
			parameters: {add_link_title: add_link_title, add_link_url: add_link_url, add_link_description: add_link_description, source: ins_source, page_scene: page_scene, page_episode: page_episode, page_season: page_season, page_show: ins_show},
			onSuccess: function(transport){
			  //var response = transport.responseText || "no response text";
			  //alert("Success! \n\n" + response);
			  current_submit_link(transport.responseText);
			},
			onFailure: function(){ alert('Something went wrong...') }
		  });
	} else {
	
		$('add_another_link_fail').style.display = 'block';
	
	}
}


// remove 'selected' class from all a tags within the element of container_id, and then 
// add 'selected' class to this_element
function select_link(this_element, container_id) {
		// remove 'selected' class from all a tags withing container
		$$('#'+container_id+' a').each(function(e) { e.removeClassName('selected'); });
		$(this_element).addClassName('selected');
}


function toggle_selector(selector) {
		$$(selector).each(function(e){ e.toggle(); });
		return false;
}

function submit_flag(hash) {
		var form_element = $('flag_object_form_'+hash);
		var feedback_element = $('flag_feedback_'+hash);
		var data = $(form_element).serialize(true);
		$(form_element).disable();

		feedback_element.writeAttribute({'class':"message neutral"});
		feedback_element.update("Submitting Flag...");
		var close_link = " <a onclick='closeActionbox(); return false;'>close window</a>";
		return new Ajax.Request(
				MOOGI.domain+'ajax/get_ajax_flag.php',
				{parameters:data,
				 onSuccess: function(t) {
						 feedback_element.writeAttribute({'class':"message success"});
						 feedback_element.update("The flag has been submitted for review."+close_link);
				 },
				 onFailure: function(t) {
						 feedback_element.writeAttribute({'class':"message error"});
						 feedback_element.update("There was a problem communicating with the server."+close_link);
						
				 }
				});
}

function scroll_switch(type,direction) {
	
	if(type == 'episode'){
		$(type+'_row_'+current_episode_row).style.display = 'none';
		if(direction == 'next'){
			current_episode_row++; 
			$(type+'_row_'+current_episode_row).style.display = 'inline';
		} else {
			current_episode_row--;
			$(type+'_row_'+current_episode_row).style.display = 'inline';
		}
	} else {
	
		$(type+'_row_'+current_season_row).style.display = 'none';
		if(direction == 'next'){
			current_season_row++;
			$(type+'_row_'+current_season_row).style.display = 'inline';
		} else {
			current_season_row--;
			$(type+'_row_'+current_season_row).style.display = 'inline';
		}
	}
}


function submit_link(form_id) {
		var show_message = function(type, message) {
				$(data.feedback_id).writeAttribute({'class':'message '+type});
				$(data.feedback_id).update(message);
		};
		var form = $(form_id);
		var data = $(form_id).serialize(true);
		form.disable();
		var close_link = " <a onclick='closeActionbox(); return false;'>close window</a>";
		
		show_message('neutral', 'Saving...');
		new Ajax.Request(MOOGI.domain+'ajax/submit_link.php',
										 {parameters:data,
											onSuccess: function(t) {
													var result = t.responseJSON;
													if(result.success) {
															show_message('success', "Saved. "+close_link);
															form.enable();
															// clear appropriate inputs for reuse
															$$('#'+form_id+' .js_clear').each(Form.Element.clear);
													} else {
															show_message('error', result.reason || "There was an error communicating with the server." + close_link);
															form.enable();
													}
											},
											onFailure: function(t) {
													show_message('error', "There was an error communicating with the server." + close_link);
													form.enable();
											}});
		return false;
}