function selectNav(nav_element){
	$(nav_element).addClass('nav_selected');
}
function toggleLeague(url, league_id){
	$('#'+league_id).toggle('blind', {}, 200);
	jQuery.post(url, {league_id_string: league_id});
}

function expandReplyForm(textarea){	
	var textareaElement = $(textarea);
	var formElement = textareaElement.parent('form');
	
	if(textareaElement.val() == 'Write a reply...'){
		textareaElement.val('');
	}
	formElement.removeClass('reply_form_toggle');
	formElement.children('.reply_controls').first().show();	
	
	usingReplyForm();	
}
function collapseReplyForm(textarea){
	var textareaElement = $(textarea);
	var formElement = textareaElement.parent('form');
	textareaElement.unbind('keyup');
	textareaElement.unbind('keypress');
	textareaElement.unbind('focusout');
	textareaElement.val('Write a reply...');
	formElement.addClass('reply_form_toggle');
	formElement.children('.reply_controls').first().hide('blind', {}, 150);
	textareaElement.blur();	
}
function usingReplyForm() {
	clearInterval(updateTimer);	
}
function doneWithReplyForm() {
	clearInterval(updateTimer);
	updateTimer = setInterval(update, 30000);
}
function toggleReplyForm(entry_id){		
	var replyFormElement = $('#reply_form_'+entry_id);
	var replyControls = replyFormElement.children('.reply_controls').first();
	var replyTextArea = replyFormElement.children('textarea').first();

	if(!replyFormElement.is(':visible')){
		replyFormElement.show('blind', {}, 250);
	}

	if(!replyFormElement.hasClass('reply_form_toggle')){
		collapseReplyForm(replyTextArea);
	}
	else{
		expandReplyForm(replyTextArea);
		setTimeout("$('#reply_form_"+entry_id+"').children('textarea').first().focus();", 300);
	}	
}
function changeShareDialogPref(url){
	if($('#share_dialog').attr('checked')){
		var data = {dialog: '1'}
	}
	else{
		var data = {dialog: '0'}
	}
	jQuery.post(url, data);
}
function replyGlobalForm(replyButton, url, avatar, user_path, name){
	entry_id = $(replyButton).parent('form').children('.parent_id_field').first().val();
	replyForm(replyButton, url, entry_id, avatar, user_path, name);
}
function replyForm(replyButton, url, entry_id, avatar, user_path, name){
	content = $('#message_'+ entry_id +'_content').val();
	// content = $(replyButton).parent('form').children('textarea').first().val();
	if(content.length < 1){
		$('#reply_message_' + entry_id).text('Your reply looks empty, try something else!');
		$('#reply_message_' + entry_id).toggle('blind', {}, 'fast');
		setTimeout("$('#reply_message_" + entry_id + "').toggle('blind', {}, 'fast');", 5000);
	}
	else if(content == 'Write a reply...'){
		return false;
	}
	else{	
		jQuery.ajax({
			url: url,
			type: 'POST',
			data: $(replyButton).parent('form').serialize()
		});
		
		$('#reply_link_'+entry_id).hide();
		
		date_id = (new Date()).valueOf();
		$('#child_entries_of_' + entry_id).append('<li class="user_action reply shout_entry" style="display:none;"><div class="user_info">' + avatar + '</div><p class="shout_label"><a href="' + user_path + '">' + name + '</a> said:</p><p class="bubble"><span id="date_' + date_id + '"></span></p><p class="bubble_bottom">great reply!</p><div class="clearfix"></div></li>');
		$('#date_'+date_id).append(document.createTextNode(content));
		
		setTimeout("$('#date_" + date_id +"').parent().parent('li').toggle('blind', {}, 100);", 250);
		setTimeout("$('#reply_link_" + entry_id +"').show();", 500);
		collapseReplyForm($(replyButton).parent('form').children('textarea').first());
	}
}

function saveForm(saveButton){
	$(saveButton).addClass('save_button_pressed');
	$(saveButton).parent("form").submit();
}
function submitSetting(url){
	jQuery.ajax({
		url: url,
		type: 'POST',
		data: $('#auto_share_form').serialize()
	});
	jQuery(document).trigger('close.facybox');
}
function submitPoll(form, url){
	$(form).children('.small_submit_button').addClass('small_submit_button_pressed');
	var answer_id = $(form).children('.answers:first').children(':checked').first().val();
	var answer_string = $('#answer_'+answer_id).html();
	$(form).children('.picked_answers:first').children('.picked:first').children('label:first').html(answer_string);
	$(form).children('.answers').hide('blind', {}, 200);
	$(form).children('.picked_answers:first').show('blind', {}, 200);
	jQuery.ajax({
		url: url,
		type: 'POST',
		data: $(form).serialize()
	});
}
function submitShare(id, url){
	
	if(!$('#share_on_facebook').attr('checked') && !$('#share_on_twitter').attr('checked')){
		return false;
	}
	
	$('#share_award_button').addClass('share_button_pressed');
	
	jQuery(document).trigger('close.facybox');
	
	jQuery.ajax({
			url: url,
			type: 'POST',
			data: $('#'+id).serialize()
		}
	);
}

function selectInvite(id){
	$('#global_invite_url').focus();
	$('#global_invite_url').select();
}
function limitAnyChars(textarea, limit, infodiv, type_string){
	var text = $(textarea).val();
	var textlength = text.length;
	if(textlength > limit){
		$(infodiv).html('Your '+ type_string +' cannot be more then <span class="shout_limit shout_limit_reached">'+limit+'</span> characters!');
		$(textarea).val(text.substr(0,limit));
		return false;
	}
	else{
		$(infodiv).html('Your ' + type_string + ' has <span class="shout_limit">'+ (limit - textlength) +'</span> characters left.');
		return true;
	}
}
function limitChars(textid, limit, infodiv){
	var textarea = $('#'+textid); 
	limitAnyChars(textarea, limit, $('#'+infodiv), 'shout');
}

function button_events(button, pressed_class){
	button.mouseup(function(){
		button.removeClass(pressed_class);
	});
	button.mousedown(function(){
		button.addClass(pressed_class);
	});
}

function submit_keypress(form){
	$(form).keypress(function (e) {
		if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
			form.submit();
			return false;
		} else {
			return true;
		}
    });
}

function login_box(url){
	 jQuery.facybox({ ajax: url });
}

function submit_pick(pick_url, team, name, avatar, team_name, user_path, achievements_path){
	
	checkin_button = $('#checkin_button');
	if(checkin_button.is(":visible")){
		$('#checkin_guts').toggle('blind', {}, 'fast');
	  checkin_button.toggle('blind', {}, 'fast');
		var checkin_message = 'checked into the game! Picked ' + team_name + '!';
	}
	else{
		var checkin_message = 'picked ' + team_name + ' to win!';
	}
	
	$('#'+team).addClass('picked');
	
	image_tag = $('#away_team a');
	$('#away_team').html(image_tag.html());
	
	image_tag = $('#home_team a');
	$('#home_team').html(image_tag.html());
	
	$('#final_pick').html(team_name);
	$('#pick_winner').fadeOut('fast');
	$('#pick_winner_label').fadeOut('fast');
	setTimeout("$('#pick_answer').show('blind', {}, 200);", 300);
	setTimeout("$('#change_pick').show('blind', {}, 200);", 1300);
	jQuery.ajax({
			url: pick_url,
			type: 'GET',
			beforeSend: function(){
				date_id = (new Date()).valueOf();
				$('#entry_list').prepend('<li class="user_action checkin_entry temp" style="display:none;"><div class="user_info"><img src="' + avatar + '" alt="' + name + '" class="avatar" style="width:36px;"/></div><p class="shout_label"><span id="date_' + date_id + '"><a href="' + user_path + '" rel="nofollow" title="'+ name +'">' + name + '</a> ' + checkin_message + '</span></p><p class="bubble_bottom">just now</p><div class="clearfix"></div></li>');
				setTimeout("$('#date_"+date_id+"').parent().parent('li').toggle('blind', {}, 'fast');", 250);
				setTimeout("$('#date_"+date_id+"').parent().parent('li').toggle('shake', {times: 1, distance: 5, direction: 'up'}, 'fast');", 500);
				$('#empty_checkin').hide();
			},
			success: function(data, b, c){
				if(data.search(/li/i) > -1){
					$('#entry_list').prepend(data);
					setTimeout("$('#entry_list li').first().toggle('blind', {}, 'fast');", 250);
					setTimeout("$('#entry_list li').first().toggle('shake', {times: 1, distance: 5, direction: 'up'}, 'fast');", 500);
				}
				checkForAchievements(achievements_path);
			}
		}
	);
}

function submit_checkin(checkin_url, name, avatar, user_path, achievements_path){
	jQuery.ajax({
			url: checkin_url,
			type: 'POST',
			data: $('#checkin_form').serialize(),
			beforeSend: function(){
				date_id = (new Date()).valueOf();
				$('#entry_list').prepend('<li class="user_action checkin_entry temp" style="display:none;"><p class="shout_label"><span id="date_' + date_id + '"><img src="/images/pulse_icon-check.gif" alt="checked_in"/> <a href="' + user_path + '" rel="nofollow" title="'+ name +'">' + name + '</a> checked into the game!</span></p><div class="clearfix"></div><p class="bubble_bottom">nice work!</p><div class="clearfix"></div></li>');
				$('#checkin_message').text('Checked in!');
				setTimeout("$('#date_"+date_id+"').parent().parent('li').toggle('blind', {}, 'fast');", 250);
				setTimeout("$('#date_"+date_id+"').parent().parent('li').toggle('shake', {times: 1, distance: 5, direction: 'up'}, 'fast');", 500);
				setTimeout("$('#checkin_message').toggle('blind', {}, 'fast');", 5000);
				$('#empty_checkin').hide();
				$('#checkin_message').toggle('blind', {}, 'fast');
			},
			success: function(data, b, c){
				if(data.search(/li/i) > -1){
					$('#entry_list').prepend(data);
					setTimeout("$('#entry_list li').first().toggle('blind', {}, 'fast');", 250);
					setTimeout("$('#entry_list li').first().toggle('shake', {times: 1, distance: 5, direction: 'up'}, 'fast');", 500);
				}
				checkForAchievements(achievements_path);
			}
		}
	);
}

function submit_shout(message_url, name, avatar, user_path, achievements_path){
	content = $('#message_content').val();
	
	emoticon = $('#message_emoticon').val();
	
	if(content.length < 2 && emoticon.length < 1){
		$('#checkin_message').text('Your post is too short, try something else!');
		setTimeout("$('#checkin_message').toggle('blind', {}, 'fast');", 5000);
	}
	else{
		jQuery.post(message_url, $('#shout_form').serialize(), 
			function(data, b, c){
				if(data.search(/li/i) > -1){
					$('#entry_list').prepend(data);
					setTimeout("$('#entry_list li').first().toggle('blind', {}, 'fast');", 250);
					setTimeout("$('#entry_list li').first().toggle('shake', {times: 1, distance: 5, direction: 'up'}, 'fast');", 500);
				} // else {
					// $("#entry_list li:first").addClass(data);
				// }
				checkForAchievements(achievements_path);
			}
		);
		$('#message_content').val('');
		
		if(emoticon && emoticon.length > 0){
			bubble_emoticon = '<img src="' + $('#'+emoticon.replace(/\./g, '')+'_link').val() +'" class="emoticon"/>';
			contains_emoticon = ' emoticon_bubble';
		}
		else{
			bubble_emoticon = '';
			contains_emoticon = '';
		}
		
		date_id = (new Date()).valueOf();
		$('#entry_list').prepend('<li class="user_action shout_entry temp" style="display:none;"><div class="user_info"><img src="' + avatar + '" alt="' + name + '" class="avatar" style="width:36px;"/></div><p class="shout_label"><a href="' + user_path + '" rel="nofollow" title="'+ name +'">' + name + '</a> said:</p><p class="bubble' + contains_emoticon +  '">' + bubble_emoticon + '<span id="date_' + date_id + '"></span></p><p class="bubble_bottom">nice post!</p><div class="clearfix"></div></li>');
		$('#date_'+date_id).append(document.createTextNode(content));
		$('#checkin_message').text('Post added!');
		setTimeout("$('#date_"+date_id+"').parent().parent('li').toggle('blind', {}, 'fast');", 250);
		setTimeout("$('#date_"+date_id+"').parent().parent('li').toggle('shake', {times: 1, distance: 10, direction: 'up'}, 'fast');", 500);
		setTimeout("$('#checkin_message').toggle('blind', {}, 'fast');", 5000);
		$('#empty_checkin').hide();
	}
	$('#checkin_message').toggle('blind', {}, 'fast');

	return false;
}

function checkForAchievements(achievements_path){
	jQuery.get(
		achievements_path, 
		function(data){
			if(data.length > 0){
				login_box(data);
			}
		}
	);
}

function switchLeagues(league_id_string, url){
	jQuery.get(url, {league: {id_string: league_id_string}}, function(data){
		$('#concise_team_list').html(data);
	});
}

function addFavorite(favorite_id, user_id, team_name, url){
	jQuery.post(url, {favorite: {entity_class: 'Team', entity_id: favorite_id}, user_id: user_id});
	$('#team_'+favorite_id).html('<div class="added_team_message"><div class="inner">Added ' + team_name + '!</div></div>');
}

function deleteFavorite(favorite_id, user_id, team_name, url){
	jQuery.ajax({url: url, data: {id: favorite_id, user_id: user_id}, type: 'DELETE'});
	remove_message = $('#remove_message');
	$('#team_'+favorite_id).toggle('blind', {}, 'fast');
	remove_message.html('Removed ' + team_name + '!');
	if(remove_message.css('display') == 'none'){
		remove_message.toggle('blind', {}, 'fast');
	}
}

function trackEvent(category, action, label, value){
	if(value==1){
		label = label + ' logged_in';
	}
	else{
		label = label + ' logged_out';
	}
	pageTracker._trackEvent(category, action, label, value);
}

function toggleLeaderboard(toggle, url){
	var friends = $(toggle).hasClass('friends');
	if(friends){
		$(toggle).removeClass('friends');
	}
	else{
		$(toggle).addClass('friends');
		url = url+'?friends=true'
	}
	$.get(url, function(data){
		$("#leader_listing").html(data);
	});
}

jQuery.fn.reverse = function() {
    return this.pushStack(this.get().reverse(), arguments);
};