// ####################################################################################################################################################################
// ####################################################################################################################################################################
// ####################################################################################################################################################################
// ####################################################### Added code by luke #########################################################################################

// GB Javascript
function gb_switch_platforms(platform)
{
	$('.gb_platform_container').hide();
	$('.gb_platform_container[gb="'+platform+'"]').show();
	gb_generate_platform_buttons(platform);
}

// GB Javascript
function gb_generate_platform_buttons(platform)
{
	$('.gb_platform_button').remove();
	if ( $('.gb_platform_container').length > 1 ) {
		var html = "<div>";
		$('.gb_platform_container').each(function () {
			var temp_platform = $(this).attr('gb')
			html += '<div class="gb_platform_button gb_'+temp_platform+'" gb="'+temp_platform+'"></div>';
		});
		html += "</div>";
		$('.gb_platform_container[gb="'+platform+'"] div.gb_js').prepend(html);
		$('.gb_platform_button').click(function () {
			var temp_platform = $(this).attr('gb');
			gb_switch_platforms(temp_platform);
		});
	}
}

// GB Javascript
function gb_prep_platforms()
{
	$('.gb_platform_container:gt(0)').hide();
	var platform = $('.gb_platform_container::eq(0)').attr('gb');
	gb_generate_platform_buttons(platform);
}
// Comments Javascript
function generate_page_buttons(number_of_pages, page_number)
{
	//console.log("number_of_pages = "+number_of_pages+", page_number= "+page_number);
	if (number_of_pages > 1) {
		buttons = '<div class="comments_page_buttons_container">';
		if (number_of_pages <= 13) {
			for (i = 1; i <= number_of_pages; i++) {
				buttons += '<div page="'+i+'" class="comments_page_button';
				if (i == page_number+1) buttons += ' selected';
				buttons += '">'+i+'</div>';
			}
		} else if (page_number <= 6) {
			for (i = 1; i <= 11; i++) {
				buttons += '<div page="'+i+'" class="comments_page_button';
				if (i == page_number+1) buttons += ' selected';
				buttons += '">'+i+'</div>';
			}
			buttons += '<div page="12" class="comments_page_button">...</div><div page="'+number_of_pages+'" class="comments_page_button">'+number_of_pages+'</div>';
		} else if (page_number >= number_of_pages-6) {
			var temp = number_of_pages-12;
			buttons += '<div page="1" class="comments_page_button">1</div><div page="'+temp+'" class="comments_page_button">...</div>';
			for (i = number_of_pages-11; i <= number_of_pages; i++) {
				buttons += '<div page="'+i+'" class="comments_page_button';
				if (i == page_number+1) buttons += ' selected';
				buttons += '">'+i+'</div>';
			}
		} else {
			var temp = page_number-5;
			buttons += '<div page="1" class="comments_page_button">1</div><div page="'+temp+'" class="comments_page_button">...</div>';
			var min = page_number-4;
			var max = page_number+4;
			for (i = min; i <= max; i++) {
				buttons += '<div page="'+i+'" class="comments_page_button';
				if (i == page_number+1) buttons += ' selected';
				buttons += '">'+i+'</div>';
			}
			temp = page_number+5;
			buttons += '<div page="'+temp+'" class="comments_page_button">...</div><div page="'+number_of_pages+'" class="comments_page_button">'+number_of_pages+'</div>';
		}
		buttons += '</div><div class="clr"></div>';
		
		$('.comments_page_buttons_container').remove();
		$("#comment_header").after(buttons);
		$("#comments_container").append(buttons);
	}
}

// Comments Javascript
function prep_comments(per_page)
{
	//console.log("prep_start");
	var number_of_comments = $("#comments_container > table").length;
	var number_of_pages = Math.ceil(number_of_comments / per_page);
	//console.log("number_of_comments = "+number_of_comments);
	//console.log("number_of_pages = "+number_of_pages);
	var buttons = "";
	var page_number = 0;

	update_comments(page_number, per_page);
	$(".comments_page_button").live("click", function () { 
		$('#comments_container > .selected').removeClass('selected');
		page_number = $(this).attr('page');

		page_number = parseInt(page_number);
		page_number --;
		update_comments(page_number, per_page);
		page_number ++;
		var offset = $('#comments_container').offset();
		window.scrollTo(0,offset.top);
    });

	//console.log("prep_finish");
}

// Comments Javascript
function update_comments(page_number, per_page)
{
	//if (page_number == 0) page_number = 1;
	var number_of_comments = $("#comments_container > table").length;
	var number_of_pages = Math.ceil(number_of_comments / per_page);
	generate_page_buttons(number_of_pages, page_number);
	var min = (page_number)*per_page;
	var max = min+(per_page-1);
	
	//console.log("page_number = "+page_number+" min/max: "+min+"/"+max);								
	
	$("#comments_container > .comment").hide()
									.filter(function (index) {
										return (index >= min && index <= max);
									})
									.show();
}

// Comments Javascript
function loading_start(obj, loading_id)
{
	obj.after('<img id="'+loading_id+'" src="/images/rotator.gif" alt="loading..." />');
}

// Comments Javascript
function loading_finished(loading_id)
{
	$('#'+loading_id).remove();
}

// filter javascript
function show_filter()
{
	$('#search_filter').show();
}

// devboy
function retweet_button(style, source, url) {
	var _url=window.location.href;
	var _url=_url.replace(/((?:\?|&)?fbc_receiver=.+)?(?:#.*)?$/,"");
	var url=(escape(typeof url=="string")?url:_url).replace(/\+/g,"%2b");
	var source=(typeof source=="string")?escape(source):false;
	var style=(typeof style=="string")?escape(style):"normal";
	var service=(typeof tweetmeme_service=="string")?escape(tweetmeme_service):((typeof TWEETMEME_SERVICE=="string")?escape(TWEETMEME_SERVICE):false);
	var service_api=(typeof tweetmeme_service_api=="string")?escape(tweetmeme_service_api):((typeof TWEETMEME_SERVICE_API=="string")?escape(TWEETMEME_SERVICE_API):false);
	var alias=(typeof tweetmeme_alias=="string")?escape(tweetmeme_alias):((typeof TWEETMEME_ALIAS=="string")?escape(TWEETMEME_ALIAS):false);
	var hashtags=(typeof tweetmeme_hashtags=="string")?escape(tweetmeme_hashtags):((typeof TWEETMEME_HASHTAGS=="string")?escape(TWEETMEME_HASHTAGS):false);
	var space=(typeof tweetmeme_space=="number")?escape(tweetmeme_space):((typeof TWEETMEME_SPACE=="number")?escape(TWEETMEME_SPACE):false);
	var src="http://api.tweetmeme.com/button.js";
	switch(style){
		case"compact":
			var h=20;
			var w=90;
			break;
		default:
			var h=61;var w=50;
			break
	}
	src+="?url="+url;src+="&style="+style;
	if(source!=false){src+="&source="+source}
	if(service){src+="&service="+service}
	if(service_api){src+="&service_api="+service_api}
	if(alias){src+="&alias="+alias}
	if(hashtags){src+="&hashtags="+hashtags}
	if(space){src+="&space="+space}
	var out='<iframe src="'+src+'" height="'+h+'" width="'+w+'" frameborder="0" scrolling="no"></iframe>';
	tweetmeme_url=null;
	TWEETMEME_URL=null;
	tweetmeme_source=null;
	TWEETMEME_SOURCE=null;
	tweetmeme_service=null;
	TWEETMEME_SERVICE=null;
	tweetmeme_service_api=null;
	TWEETMEME_SERVICE_API=null;
	tweetmeme_style=null;
	TWEETMEME_STYLE=null;
	tweetmeme_alias=null;
	TWEETMEME_ALIAS=null;
	tweetmeme_hashtags=null;
	TWEETMEME_HASHTAGS=null;
	tweetmeme_space=null;
	TWEETMEME_SPACE=null;
	return out;
}

$(function() {
	var theSpans = $("span.RETWEET", document.body);
	for (var i=0;i<theSpans.length;i++) {
		var url= $(theSpans[i]).attr('rel');
		var str= retweet_button('compact','incgamers',url);
		$(theSpans[i]).replaceWith(str);
	}

	
	/*$('.login_form > :submit').click( function() {
		alert ("click");
		return false;
	}); disabled while we do the ajax*/
	
	// Deals with multiple forms on one page
	/*$('a.register').click( function() {
		hide_login_form(this, function () {
			show_registration_box(this);
		});
		return false;
	}); disabled while we do the registration box*/
	
	$(":submit").live("click", function() {
		if ($(this).parent().attr('name') == "comment_options") {	
			var submit = $(this).val();

			var button = $(this);
			var loading_id = Math.floor(Math.random()*10001);
			loading_start(button, loading_id);
			var comment_text = button.parent().parent().parent().find("textarea[name='comment']").val();
			var comment_id = button.parent().parent().find("input[name='comment_id']").val();
			var comment_type = button.parent().parent().find("input[name='comment_type']").val();
			var comment_item_id = button.parent().parent().find("input[name='comment_item_id']").val();
			var do_it = button.parent().parent().find("input[name='do_it']").val();
			$.post('/profile.php', {
									js: '1',
									comment_action: submit,
									comment: comment_text,
									comment_id: comment_id,
									comment_type: comment_type,
									comment_item_id: comment_item_id,
									do_it: do_it
									}, function (data) {
				if (submit == 'Edit') // Comments edit
				{
					if (data == false) {
						button.hide();
					} else {						
						//var comment_text = $(this).parent().parent().parent().find("span[name='comment_text']").text();
						button.parent().parent().parent().find("span[name='comment_text']").replaceWith('<textarea class="comment_edit" name="comment" id="comment">'+ data +'</textarea>');
						button.parent().append('<input type="hidden" name="do_it" value="1" />');
						button.val('Finish Editing');
					}
				}
				else if (submit == 'Finish Editing') // Submit edited comment
				{
					//var comment_text = button.parent().parent().parent().find("textarea[name='comment']").text();
					//comment_text = comment_text.replace(/\n/g, '<br />');
					button.parent().parent().parent().find("textarea[name='comment']").replaceWith('<span name="comment_text">'+ data +'</span>');
					button.val('Edit');
					button.parent().find("input[name='do_it']").remove();
				}
				else if (submit == 'Delete') // Delete comment
				{
					button.parent().parent().parent().parent().parent().parent().fadeOut('slow', function () {
						$(this).remove();
					});
					$('#'+comment_id).fadeOut('slow', function () {
						$(this).remove();
					});
					
				}
				else if (submit == 'Comment')
				{
					$('.inc_comment_error').fadeOut('slow').remove();
					$('#comments_container').append(data);
					$('.comment:last').fadeIn('slow');
					$('#comments_container table:last-child').fadeIn('slow');
				}
				loading_finished(loading_id);
			});
			return false;
		}
	});
});


