var facebook_share = "http://facebook.com/sharer.php?u=";
var twitter_share =  "http://twitter.com/home?status=";
var digg_share = "http://digg.com/submit/?url=";
var confirmation_on = true;

function clean_tags(str) {
 	var cleaned = str.replace(/<p>/g, "");
	cleaned = cleaned.replace(/<\/p>/g, "\n\n");
	return cleaned;
}

function submit_signin() {
	$('#signin_error_box').slideUp('fast');
	$('#signin_error_box .error').hide();
	var clean = true;
	
    /*
	if (!email_validate($("form[name='signin'] input:text[name='email']").val())) {
		clean = false;
		$('#signin_error_box .email-invalid').show();
	}*/
	if ($("form[name='signin'] input:password[name='password']").val().length < 1) {
		clean = false;
		$('#signin_error_box .password-blank').show();
	}
	if (clean) {
		var httprequest = "/account/signin";
	    var data = {
	        email: $("form[name='signin'] input:text[name='email']").val(),
			password: $("form[name='signin'] input:password[name='password']").val(),
	        'get_fields[]': 'result'
        };
	    $.post(httprequest, data, function(output) {
			if (output.result == "true") {document.forms['signin'].submit();}
			else {
				clean = false;
				$('#signin_error_box .invalid-login').show();
				$('#signin_error_box').slideDown('fast');
			}
		}, "json");
	}
	else {$('#signin_error_box').slideDown('fast');}
}

function mercury_signin() {
	$('#signin_regular .error-box').slideUp('fast');
	$('#signin_regular .error-box .error').hide();
	var clean = true;
	
	if ($("form[name='mercury_signin'] input[name='email']").val().length < 1) {
		clean = false;
		$('#signin_regular .error-box .error.email-invalid').show();
	}
	
	if ($("form[name='mercury_signin'] input:password[name='password']").val().length < 1) {
		clean = false;
		$('#signin_regular .error-box .error.password-blank').show();
	}
	
	if (clean) {
		var httprequest = "/account/signin";
	    var data = {email: $("form[name='mercury_signin'] input:text[name='email']").val(),
					password: $("form[name='mercury_signin'] input:password[name='password']").val(),
			        'get_fields[]': 'result'};
	    $.post(httprequest, data, function(output) {
			if (output.result == "true") {document.forms['mercury_signin'].submit();}
			else {
					clean = false;
					$('#signin_regular .error-box .invalid-login').show();
					$('#signin_regular .error-box').slideDown('fast');
			}
		}, "json");
	}
	else {
		$('#signin_regular .error-box').slideDown('fast');
	}
}

function submit_registration() {
	$('#registration_error_box').slideUp('fast');
	$('#registration_error_box .error').hide();
	var clean = true;
	
    if($("form[name='register'] input:text[name='username']").val().length < 6) {
		clean = false;
		$('#registration_error_box .username-too-small').show();  
    }
	else if($("form[name='register'] input:text[name='username']").val().length > 20) {
        clean = false;
		$('#registration_error_box .username-too-big').show();
    }
	if (!email_validate($("form[name='register'] input:text[name='email']").val())) {
		clean = false;
		$('#registration_error_box .email-invalid').show();
	}
	if ( $("form[name='register'] input[name='option_tos']:checked").length < 1 ) {
		clean = false;
		$('#registration_error_box .agree-unchecked').show();
	}
	
	//check for unique username
	if (clean) {
		var httprequest = "/account/username_exists",
		    data = {
	            username: $("form[name='register'] input:text[name='username']").val(),
	        'get_fields[]': 'result'
	        };
	    $.post(httprequest, data, function(output) {
			if (output.result != "false"){
				clean=false;
				$('#registration_error_box .username-taken').show();
				$('#registration_error_box').show();
			}
			//if username is unqiue, check for unique email
			if (output.result == "false") {
				var httprequest = "/account/email_exists";
			    var data = {
			        email: $("form[name='register'] input:text[name='email']").val(),
			        'get_fields[]': 'result'
			        };
			    $.post(httprequest, data, function(output) {
					if (output.result != "false"){
						clean=false;
						$('#registration_error_box .email-taken').show();
						$('#registration_error_box').show();
					}
					//if email is also unique, submit
			        if (output.result == "false") {
						var service = $("form[name='register'] input[name='gigya_service']").val();
						if ( (service !== 'Yahoo') &&
							 (service !== 'Google') &&
							 (service !== 'Facebook') ) {
							confirm_emailed();
						} else {
							confirm_no_email();
						}
					}
			    }, "json");		
			}
	    }, "json");		
	}
	
    if(!clean) { $('#registration_error_box').slideDown('fast');}
}

function link_accounts() {
	$('#registration_error_box').slideUp('fast');
	$('#registration_error_box .error').hide();
	
		var httprequest = "/account/signin";
	    var data = {
	        email: $("form[name='link'] input:text[name='email']").val(),
			password: $("form[name='link'] input:password[name='password']").val(),
	        'get_fields[]': 'result'
        };
	    $.post(httprequest, data, function(output) {
			if (output.result == "true") {document.forms['link'].submit();}
			else {
				clean = false;
				$('#registration_error_box .invalid-login').show();
				$('#registration_error_box').slideDown('fast');
			}
		}, "json");
}

function email_validate(address) {
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    return reg.test(address);
}

function submit_on_enter(myform) {
  if (window.event && window.event.keyCode == 13) {myform.submit();}
  else {return true;}
}


function confirm_emailed() {    
	$('.signin-popup').fadeOut('fast');
    if (confirmation_on) {
        var message = "We sent you an email.<br />Please click on the enclosed link<br />to complete your registration.";
    	$('#confirmation_popup .middle .confirmation').html(message);
    	$('#confirmation_popup').fadeIn('fast');
		setTimeout("document.forms['register'].submit()", 3000);
    }
}

function confirm_no_email() {
	$('.signin-popup').fadeOut('fast');
    if (confirmation_on) {
        var message = "Your Shacknews account is now active!";
    	$('#confirmation_popup .middle .confirmation').html(message);
    	$('#confirmation_popup').fadeIn('fast');
		setTimeout("document.forms['register'].submit()", 3000);
    }
}

function confirm_linked() {
	$('.signin-popup').fadeOut('fast');
	var message = "Your accounts are now linked.";
	$('#confirmation_popup .middle .confirmation').html(message);
	$('#confirmation_popup').fadeIn('fast');
}

function searchClear() {
    if (!$('.results').length) {
        $('#searchbox').val('');
    } 
}

function emptySearch() {
	if ($('#searchbox').val() == "Search for games") {
		alert('You didn\'t enter any search terms!');
		return false;
	}
	else {
		$('#search_box').submit();
	}
}

function recover_password() {
    var url = $("form[name='retrieve_password']").attr('action');
    var data = $("form[name='retrieve_password']").serialize();
    var httprequest = "/account/username_exists";

	if ($("form[name='retrieve_password'] input:text[name='username']").val().length < 1) {
        $('#retrieve_confirmation').hide();
        $('#error_confirmation').show();
    } else {
        var data = {
            username: $("form[name='retrieve_password'] input:text[name='username']").val(),
            'get_fields[]': 'result'
        };
        $.post(httprequest, data, function(output) {
		    if (output.result == "false"){
                $('#retrieve_confirmation').hide();
			    $('#error_confirmation').show();
	        } else {
	            $('#error_confirmation').hide();
                $('#retrieve_confirmation').show();
				$("form[name='retrieve_password']").submit();
	        }
	    }, "json");
    }
}

function recover_username() {
    var url = $("form[name='resend_username']").attr('action');
    var data = $("form[name='resend_username']").serialize();
    var httprequest = "/account/email_exists";

	if ($("form[name='resend_username'] input:text[name='email']").val().length < 1) {
        $('#retrieve_confirmation').hide();
        $('#error_confirmation').show();
    } else {
        if(email_validate($("form[name='resend_username'] input:text[name='email']").val())) {
            var data = {
                email: $("form[name='resend_username'] input:text[name='email']").val(),
                'get_fields[]': 'result'
            };
            $.post(httprequest, data, function(output) {
		        if (output.result == "false"){
                    $('#retrieve_confirmation').hide();
			        $('#error_confirmation').show();
	            } else {
	                $('#error_confirmation').hide();
                    $('#retrieve_confirmation').show();
					$("form[name='resend_username']").submit();
	            }
	        }, "json");
        } else {
            $('#retrieve_confirmation').hide();
    	    $('#error_confirmation').show();  
        }
    }
}

function contact_form() {
	var data = {
		subject: $("form[name='contact_form'] input:text[name='subject']").val(),
		email: $("form[name='contact_form'] input:text[name='email']").val(),
		username: $("form[name='contact_form'] input:text[name='username']").val(),
		reason: $("form[name='contact_form'] select[name='reason']").val(),
		message: $("form[name='contact_form'] textarea[name='message']").val()
	}	
	var httprequest = "/contact";
	
	if ($("form[name='contact_form'] input:text[name='subject']").val() < 1) {
		$('#retrieve_confirmation').hide();
		$('#error_confirmation p').text('Please enter a subject.');
        $('#error_confirmation').slideDown();
		return false;
	}
	if ($("form[name='contact_form'] input:text[name='email']").val() < 1) {
		$('#retrieve_confirmation').hide();
		$('#error_confirmation p').text('Please enter an email address.');
        $('#error_confirmation').slideDown();
		return false;
	}
	if (!email_validate($("form[name='contact_form'] input:text[name='email']").val())) {
		$('#retrieve_confirmation').hide();
		$('#error_confirmation p').text('Please enter a valid email address.');
        $('#error_confirmation').slideDown();
		return false;
	}
	if ($("form[name='contact_form'] textarea[name='message']").val() < 1) {
		$('#retrieve_confirmation').hide();
		$('#error_confirmation p').text('Please enter a message.');
        $('#error_confirmation').slideDown();
		return false;
	}
	if	( ($("form[name='contact_form'] input:text[name='username']").val() < 1) && ( 
		data.reason == "mercury-support" ||
		data.reason == "mercury-billing" ||
		data.reason == "mercury-cancel" )) {
		$('#retrieve_confirmation').hide();
		$('#error_confirmation p').text('Please login or enter your Shack username.');
		$('#error_confirmation').slideDown();
		return false;
	}
	else {
		$.post(httprequest, data, function(output){
			$('#error_confirmation').hide();
			$('#retrieve_confirmation').slideDown();
			return true;
		}, "json");
	}
}

function message_form() {
	if ($("form[name='send_message'] input:text[name='to']").val() === '') {
		alert('Please enter a recipient.');
	}
	if ($("form[name='send_message'] textarea[name='message']").val() === '') {
		alert('Please enter a message.');
	}
	// verify user actually exists
	else {
		var exists = false;		
		var httprequest = "/account/username_exists";
	    var data = {
	        username: $("form[name='send_message'] input:text[name='to']").val(),
	        'get_fields[]': 'result'
	        }
	
	    $.post(httprequest, data, function(output) {
				if (output.result == "true"){
					// if username exists, send message
					var data = {
						uid: $("form[name='send_message'] input:hidden[name='uid']").val(),
						to: $("form[name='send_message'] input:text[name='to']").val(),
						subject: $("form[name='send_message'] input:text[name='subject']").val(),
						message: $("form[name='send_message'] textarea[name='message']").val()
					}
					var httprequest = "/messages/send";
					$.post(httprequest, data, function(output){}, "json");
					$('#retrieve_confirmation').slideDown();
					$('input[type=text]').val("");
					$('textarea').val("");
				}
				else {
					alert('We could not find that user in our system.');
				}
	    }, "json");		
	}
}

function change_email() {
	
	var data = {
		email_1: $("form[name='email_settings'] input:text[name='email_1']").val(),
		email_2: $("form[name='email_settings'] input:text[name='email_2']").val()		
	}

	var httprequest = "/settings/account";

	if ($("form[name='email_settings'] input:text[name='email_1']").val() == 0 || $("form[name='email_settings'] input:text[name='email_2']").val() == 0) {
		$('#retrieve_confirmation').hide();
		$('#error_confirmation p').text('Please enter a new address.');
		$('#error_confirmation').slideDown();
		return false;
	}

	else if (!email_validate($("form[name='email_settings'] input:text[name='email_1']").val() || $("form[name='email_settings'] input:text[name='email_2']").val())) {
		$('#retrieve_confirmation').hide();
		$('#error_confirmation p').text('Please enter a valid email address.');
		$('#error_confirmation').slideDown();
		return false;
	}

	else if ($("form[name='email_settings'] input:text[name='email_1']").val() != $("form[name='email_settings'] input:text[name='email_2']").val()) {
		$('#retrieve_confirmation').hide();
		$('#error_confirmation p').text('Please enter a matching address.');
		$('#error_confirmation').slideDown();
		return false;
	}

	else {
		$.post(httprequest, data, function(){
			$('#error_confirmation').hide();
			$('#retrieve_confirmation p').text('Change successful!');
			$('#retrieve_confirmation').slideDown();
			$('input').val("");
			return true;
		}, "json");
	}	
}

function change_password() {
	
	var data = {
		password_1: $("form[name='password_settings'] input:password[name='password_1']").val(),
		password_2: $("form[name='password_settings'] input:password[name='password_2']").val()
	}

	var httprequest = "/settings/account";
	
	if ($("form[name='password_settings'] input:password[name='password_1']").val() == 0 || $("form[name='password_settings'] input:password[name='password_2']").val() == 0) {
		$('#retrieve_confirmation').hide();
		$('#error_confirmation p').text('Please enter a new password.');
		$('#error_confirmation').slideDown();
		return false;
	}
	
	else if ($("form[name='password_settings'] input:password[name='password_1']").val() != $("form[name='password_settings'] input:password[name='password_2']").val()) {
		$('#retrieve_confirmation').hide();
		$('#error_confirmation p').text('Please enter a matching password.');
		$('#error_confirmation').slideDown();
		return false;
	}

	else {
		$.post(httprequest, data, function(){
			$('#error_confirmation').hide();
			$('#retrieve_confirmation p').text('Change successful!');
			$('#retrieve_confirmation').slideDown();
			$('input').val("");
			return true;
		}, "json");
	}
}

function change_comment_setting() {
	
	var c_data = new Array();
	$("form[name='comment_settings'] input[@name='comment_options[]']:checked").each(function() {c_data.push($(this).val());});
	
	var data = {
		comment_options: c_data
	}
	
	var httprequest = "/settings/update_comments";
	
	$.post(httprequest, data, function(){
		$('#retrieve_confirmation p').text('Changes saved!');
		$('#retrieve_confirmation').slideDown();
	});
	
}

function change_email_setting() {
	
	var e_data = new Array();
	$("form[name='email_settingz'] input[@name='email_options[]']:checked").each(function() {e_data.push($(this).val());});
	
	var data = {
		email_options: e_data
	}

	var httprequest = "/settings/update_email_options";

	$.post(httprequest, data, function(){
		$('#retrieve_confirmation p').text('Changes saved!');
		$('#retrieve_confirmation').slideDown();
	});

}

function change_mercury() {
	
	var data = {
		hide_ads: ($("form[name='mercury_settings'] input[name='hide_ads']").is(':checked')) ? 1 : 0,
		hide_mercury_icon: ($("form[name='mercury_settings'] input[name='hide_mercury_icon']").is(':checked')) ? 1 : 0
	}
	
	var httprequest = "/settings/update_mercury_options";
	
	$.post(httprequest, data, function(){
		$('#retrieve_confirmation p').text('Changes saved!');
		$('#retrieve_confirmation').slideDown();
	});
	
}

function story_validates() {
	var clean = true;
	
	if ($("#headline").val() < 1) {
			alert('You must enter a headline.');
			clean = false;
		}
		
	else if ($("#featured_image_id").val() < 1) {
		alert('You must enter an image id.');
		clean = false;
		
	}
	
	else if ($("#author").val() == 0 && $("#author_name").val() < 1) {
		alert('You must select an author.');
		clean =  false;
	}
	
	else if ($("#category").val() == 0) {
		alert('You must select a category.');
		clean = false;
	}
	
	else if ($("#story_body").val() < 1) {
		alert('You must enter body text.');
		clean = false;
	}
	
	return clean;
}

$(document).ready(function() {
    
	//Set initial image to active if not already set	
    if ( !$('#screenshot .full_screen_image.active').length > 0 ) {
        $('#screenshot .full_screen_image.inactive').first().removeClass('inactive').addClass('active');
    }
    //If already set, make sure position logic is correct
    else {
        $('#screenshot .full_screen_image.active .next.reloadAds').show();
        $('#screenshot .full_screen_image.active .prev.reloadAds').show();
    }
	//Set original image dimensions on load	
	var orig_image_dimension = $('#screenshot .full_screen_image.active').find('.image-info').html();
	$('#image_dim').html(orig_image_dimension);
	
	//Set original image location on load
	var orig_image_url = $('#screenshot .full_screen_image.active').find('.image-info').attr('href');
	$('a.full-size').attr('href', orig_image_url);
	
	//Set screenshot shares to initial active image's id
	var share_string = $('#screenshot_share_url').attr('value') + $('#screenshot .full_screen_image.active').attr('id');
    $('.screenshot-item .share li a').each(function() {
      $(this).attr('href', $(this).attr('href') + share_string);
    });
	
	// enable carousels
    $('#screenshot_carousel').jcarousel({});
    $('#video_carousel').jcarousel({});
    $('#new_game_carousel').jcarousel({});
    $('#upcoming_game_carousel').jcarousel({});
    $('#popular_game_carousel').jcarousel({});
    $('#rental_game_carousel').jcarousel({});
	
	//Sign in and registration
	
	//Hide sign-in and registration menus on clicks outside the menus
	$('body').click(function() {
 		$('.signin-popup').fadeOut('fast');
	 });
	
	 $('.signin-popup').click(function(e){
	     e.stopPropagation();
	 });
	
	$('#signin').click(function(e) {
		e.stopPropagation();
		e.preventDefault();
		$('.signin-popup').fadeOut('fast');
		$('#signin_popup').fadeIn('fast');
	});
	
	$('#signin_open').click(function(e) {
		e.preventDefault();
		$('.signin-popup').fadeOut('fast');
	})
	
	$('#signin_link').click(function(e) {
		e.stopPropagation();
		e.preventDefault();
		$('.signin-popup').fadeOut('fast');
		$('#signin_popup').fadeIn('fast');
	});

    $('.signin_link_body').click(function(e) {
		e.stopPropagation();
        e.preventDefault();
        $('.signin-popup').fadeOut('fast');
        $('#signin_popup').fadeIn('fast');
	});
	
	$('#joinus').click(function(e) {
		e.stopPropagation();
		e.preventDefault();
		$('.signin-popup').fadeOut('fast');
		$('#joinus_popup').fadeIn('fast');
	});
	
	$('#joinus_open').click(function(e) {
		e.preventDefault();
		$('.signin-popup').fadeOut('fast');
	})
	
	$('#joinus_gigya').click(function(e) {
		e.stopPropagation();
		e.preventDefault();
		$('.signin-popup').fadeOut('fast');
		$('#gigya_registration').fadeIn('fast');
	});
	
	$('#join_us_link').click(function(e) {
		e.stopPropagation();
		e.preventDefault();
		$('.signin-popup').fadeOut('fast');
		$('#gigya_registration').fadeIn('fast');
		$('#joinus_popup').fadeIn('fast');
	});
		
	$('#confirmation_open').click(function(e) {
		e.preventDefault();
		$('.signin-popup').fadeOut('fast');
	});
	
	$('#signin_btn').click(function(e) {
		e.preventDefault();
		submit_signin();
	});
	
	$('form[name=signin]').live('keypress', function(event) {
       if (event.keyCode == 13) {
               submit_signin();
       }
    });
	
	$('#register_btn').click(function(e) {
		e.preventDefault();
		submit_registration();
	});
	
	$('#close_btn').click(function(e) {
		e.preventDefault();
		$('.signin-popup').fadeOut('fast');
	});
	
	$('#link_btn').click(function(e) {
		e.preventDefault();
		link_accounts();
	});
	
	//Settings
	$('#settings .header ul li div.button').click(function(e){
		var target = $(this).attr('id');
		var selector = "#" + target;
		e.preventDefault();
		$('#settings .header ul li div.button').removeClass('active');
		$(selector).addClass('active');
		$('.settings-section:visible').fadeOut('fast', function(){
			$('#error_confirmation').hide();
			$('#retrieve_confirmation').hide();
			$('.settings-section.'+target).fadeIn('fast');
		});
	});
	
	//Mercury
	$('#mercury_signup').click(function() {
		window.location = "/mercury/signup";
	})
	
	$('#mercury_signin').click(function(e) {
		e.preventDefault();
		mercury_signin();
	});
	
	$('#mercury_next').click(function(e) {
		e.preventDefault();
		if ( $("form[name='payment_info_form'] input:text[name='cc_num']").val() == "" || 
			 $("form[name='payment_info_form'] select[name='cc_expiration_month']").val() == "" ||
			 $("form[name='payment_info_form'] select[name='cc_expiration_year']").val() == "" ||
			 $("form[name='payment_info_form'] input:text[name='cc_cvc']").val() == "" ||
			 $("form[name='payment_info_form'] input:text[name='firstname']").val() == "" ||
   			 $("form[name='payment_info_form'] input:text[name='lastname']").val() == "" ||
			 $("form[name='payment_info_form'] input:text[name='address1']").val() == "" ||
			 $("form[name='payment_info_form'] input:text[name='city']").val() == "" ||
			 $("form[name='payment_info_form'] select[name='state']").val() == "" ||
			 $("form[name='payment_info_form'] input:text[name='zip']").val() == "" ||
			 $("form[name='payment_info_form'] select[name='country']").val() == "") {
				alert("Please fill in all fields.");
		}
		else {document.forms['payment_info_form'].submit();}
	});
	
	$('#mercury_submit').click(function(e) {
		e.preventDefault();
		document.forms['payment_confirmation_form'].submit();
		return false;
	});
	
	$('#mercury_wrap div.main div.plan div.button').click(function(e){
			$('#mercury_wrap div.main div.plan div.button.selected').parent().find('.icon.selected').removeClass('selected');
		$('#mercury_wrap div.main div.plan div.button.selected').removeClass('selected');
		$(this).addClass('selected');
		$(this).parent().find('.icon').addClass('selected');
		$(this).parent().find('input').attr('checked', 'checked');
	});
	
	$('#payment_method').change(function() {
		if( $('#payment_method').val() == '1') {
			window.location = "/mercury/signup?next=paypal";
		}
	});

	// Message center
	$('#message_buttons .message-button.inbox').click(function(e){
		e.preventDefault();
		if ($(this).hasClass('loaded')) {
			$('#message_buttons .message-button').removeClass('active');
			$(this).addClass('active');
			$('#compose_wrap').fadeOut('fast');
			$('#messages_wrap').fadeIn('fast');
		}
		else {
			window.location = "/messages/inbox";
		}
	});
	
	$('#message_buttons .message-button.sent').click(function(e){
		e.preventDefault();
		if ($(this).hasClass('loaded')) {
			$('#message_buttons .message-button').removeClass('active');
			$(this).addClass('active');
			$('#compose_wrap').fadeOut('fast');
			$('#messages_wrap').fadeIn('fast');
		}
		else {
			window.location = "/messages/sent";
		}
	});
	
	$('#message_buttons .message-button.compose').click(function(e){
		$('#message_buttons .message-button').removeClass('active');
		$(this).addClass('active');
		$('#compose_center #to input').val("");
		$('#compose_center #subject input').val("");
		$('#compose_center form div#body textarea').html("");
		$('#messages_wrap').fadeOut('fast');
		$('#compose_wrap').fadeIn('fast');
	});
	
	$('#message_center .message-box div.close-button').click(function(e){
		e.preventDefault();
		$(this).parents('.message-box').slideUp('fast');
	});
	
	$('.toggle-message').click(function(e) {
		e.preventDefault();
		var message = $(this).parent('.message');
		if(!message.hasClass('read')) {
			message.addClass('read');			
			var httprequest = "/messages/read";
		    var data = {mid: $(this).parents('.message').find('.mid').val()};
		    $.post(httprequest, data);	
		}
		$(this).parent('.message').find('.message-box').slideToggle('fast');
	});
	
	$('.message .name-column .username').click(function(e){
		var username = $(this).parents('.message').find('.message-username').html();
		$('#compose_center form div#to input').val(username);
		$('#compose_center #subject input').val("");
		$('#compose_center form div#body textarea').html("");
		$('#messages_wrap').fadeOut('fast');
		$('#compose_wrap').fadeIn('fast');
	});
	
	$('.reply-message').click(function() {
		var username = $(this).parents('.message-box').find('.message-username').html();
		var message_date = $(this).parents('.message-box').find('.message-date').html();
		var message_subject = $(this).parents('.message-box').find('.message-subject').html();
		var message_body = clean_tags($(this).parents('.message-box').find('.message-body').html());
		$('#compose_center #to input').val(username);
		$('#compose_center #subject input').val("Re: " + message_subject);
		$('#compose_center form div#to input').val(username);
		$('#compose_center form div#body textarea').html("\n\n\nOn "+message_date+" "+username+" wrote:\n\n"+message_body);
		$('#messages_wrap').fadeOut('fast');
		$('#compose_wrap').fadeIn('fast');					
	});	
	
	$('.forward-message').click(function() {
		var message_subject = $(this).parents('.message-box').find('.message-subject').html();
		var message_body = clean_tags($(this).parents('.message-box').find('.message-body').html());
		var forward_text = "\n\n\n---------- Forwarded message ----------\n" +
						   "From: " + $(this).parents('.message-box').find('.message-username').html() + "\n" +
						   "Subject: " + $(this).parents('.message-box').find('.message-subject').html() + "\n" +
						   "Date: " + $(this).parents('.message-box').find('.message-date').html() +"\n\n" +
						   message_body;
		$('#compose_center #subject input').val("Fwd: " + message_subject);
		$('#compose_center form #body textarea').html(forward_text);
		$('#messages_wrap').fadeOut('fast');
		$('#compose_wrap').fadeIn('fast');
		$('#compose_center_anchor').click();			
	});
		
	$('.delete-message').click(function(e) {
		e.preventDefault();
		var answer = confirm ("Are you ready to delete this message?");
		if (answer) {
			var httprequest = "/messages/delete";
		    var data = {
				mid: $(this).parents('.message').find('.mid').val(),
				type: $('#which_inbox').val() };
		    $.post(httprequest, data);
			$(this).parents('.message').slideUp('fast');
		}
	});
	
	$('.check_all').click(function(e){
		$("form[name='inbox'] input[name='messages[]']").attr('checked', true);
	});
	
	$('.uncheck_all').click(function(e){
		$("form[name='inbox'] input[name='messages[]']").attr('checked', false);
	});
	
	$('.delete_checked').click(function(e){
		e.preventDefault;
		if($("form[name='inbox'] input:checked").length > 0) {
			document.forms['inbox'].submit();return false;
		}
	});

	// Screenshot image gallery
	$('#screenshot a.next').click(function(e) {
		e.preventDefault();
		if ($('#screenshot .full_screen_image.active').next().length > 0) {
				$('#screenshot .prev').show();
				$('#screenshot .full_screen_image.active').removeClass('active').addClass('inactive').next().removeClass('inactive').addClass('active');
				$('#image_number').html($('#screenshot .full_screen_image.active').attr('value'));
				var image_dimension = $('#screenshot .full_screen_image.active').find('.image-info').html();
            	$('#image_dim').html(image_dimension);
            	var orig_image_url = $('#screenshot .full_screen_image.active').find('.image-info').attr('href');
            	$('a.full-size').attr('href', orig_image_url);	
				var share_string = $('#screenshot_share_url').attr('value') + $('#screenshot .full_screen_image.active').attr('id');
				$('.screenshot-item .share li a.facebook').attr('href', facebook_share + share_string);
				$('.screenshot-item .share li a.twitter').attr('href', twitter_share + share_string);
				$('.screenshot-item .share li a.digg').attr('href', digg_share + share_string);
		}
		if (!$('#screenshot .full_screen_image.active').next().length > 0) {
				$('#screenshot .next').hide();
		}
	});
	
	$('#screenshot a.prev').click(function(e) {
		e.preventDefault();
		if ($('#screenshot .full_screen_image.active').prev().length > 0) {
				$('#screenshot .next').show();
				$('#screenshot .full_screen_image.active').removeClass('active').addClass('inactive').prev().removeClass('inactive').addClass('active');
				$('#image_number').html($('#screenshot .full_screen_image.active').attr('value'));
				var image_dimension = $('#screenshot .full_screen_image.active').find('.image-info').html();
				$('#image_dim').html(image_dimension);
            	var orig_image_url = $('#screenshot .full_screen_image.active').find('.image-info').attr('href');
            	$('a.full-size').attr('href', orig_image_url);			
				var share_string = $('#screenshot_share_url').attr('value') + $('#screenshot .full_screen_image.active').attr('id');
   				$('.screenshot-item .share li a.facebook').attr('href', facebook_share + share_string);
   				$('.screenshot-item .share li a.twitter').attr('href', twitter_share + share_string);
   				$('.screenshot-item .share li a.digg').attr('href', digg_share + share_string);
		}
		if (!$('#screenshot .full_screen_image.active').prev().length > 0) {
				$('#screenshot .prev').hide();
		}
	});
	
    $('#screenshot_carousel a').click(function(e) {
        e.preventDefault();
		$('#screenshot .full_screen_image.active').removeClass('active').addClass('inactive');
        var selector = "#" + $(this).attr('value');
		$(selector).removeClass('inactive').addClass('active');
		$('#image_number').html($('#screenshot .full_screen_image.active').attr('value'));
		var image_dimension = $('#screenshot .full_screen_image.active').find('.image-info').html();
		$('#image_dim').html(image_dimension);		
		var share_string = $('#screenshot_share_url').attr('value') + $('#screenshot .full_screen_image.active').attr('id');
		$('.screenshot-item .share li a.facebook').attr('href', facebook_share + share_string);
		$('.screenshot-item .share li a.twitter').attr('href', twitter_share + share_string);
		$('.screenshot-item .share li a.digg').attr('href', digg_share + share_string);		
		var orig_image_url = $('#screenshot .full_screen_image.active').find('.image-info').attr('href');
    	$('a.full-size').attr('href', orig_image_url);
		if (!$('#screenshot .full_screen_image.active').next().length > 0) {$('#screenshot .next').hide();}
        else {$('#screenshot .next').show();}
		if (!$('#screenshot .full_screen_image.active').prev().length > 0) {$('#screenshot .prev').hide();}
        else {$('#screenshot .prev').show();}
    });
    
    $('.reloadAds').click(function(){
	   jQuery.each($('iframe'), function() {
	      $(this).attr({
	          src: $(this).attr('src') 
	      });
	   });
	});
    
    $('select#platform_filter').change(function(){
        var str = $(this).find(':selected').val();
        var game = $('#game_filter').attr('value');
        if(str == '') {
            var url = "/game/" + game + "/screenshots";
        } else {
            var url = "/game/" + str + "/" + game + "/screenshots";
        }
        window.location = url;
    });
    
    $('select#imgbatch_filter').change(function(){
       var str = $(this).find(':selected').val();
       var game = $('#game_filter').attr('value');
       var url = "/game/" + game + "/screenshots?gallery_id=" + str;
       window.location = url;
    });
    
    $('select#tag_galleries').change(function(){
        var str = $(this).find(':selected').val();
        window.location = str;
     });
    
    
    $('#cheat_nav.mini-nav-wide a').click(function(e){
        e.preventDefault();
        var target = $(this).attr('id');
        var selector = "#" + target;
        $('ul.mini-nav-wide li').removeClass('on');
        $(selector).parents('li').addClass('on');
        $('.cheat').fadeOut('fast');
        if (target=="all"){
            $('.cheat').fadeIn('fast');
        }
        else {
            $('.cheat.'+target).fadeIn('fast');
        }
    });
    
    $('#platform_nav a').click(function(e){
        e.preventDefault();
        var target = $(this).attr('class');
        $('.cheats').fadeOut('fast');
		$('.no-cheats').fadeOut('fast');
        if (target=="all"){
            $('.cheats').fadeIn('fast');
			$('.no-cheats').fadeIn('fast');
        } else {
            $('.cheats.'+target).fadeIn('fast');
			$('.no-cheats.'+target).fadeIn('fast');			
        }
    });
    
    $('#file-nav.mini-nav-narrow a').click(function(e){
        e.preventDefault();
        var target = $(this).attr('id');
        var selector = "#" + target;
        $('ul.mini-nav-narrow li').removeClass('on');
        $(selector).parents('li').addClass('on');
        $('.file').fadeOut('fast');
        if (target=="all"){
            $('.file').fadeIn('fast');
        }
        else {
            $('.file.'+target).fadeIn('fast');
        }
    });

    $('.files-hub-menu').click(function(e){
        e.preventDefault();
        var target = $(this).attr('id');
        var selector = "#" + target;
        $('ul.file-nav li').removeClass('on');
        $(selector).parents('li').addClass('on');
        $('.files-hub-side-data:visible').fadeOut('fast', function(){
			$('.files-hub-side-data#'+target).fadeIn('fast');
		});
        
    }); 
    
    $('#highlights.mini-nav-wide a').click(function(e){
        var target = $(this).attr('id');
        var selector = "#" + target;
        if (target=='mail') {
            //$('#highlights.mini-nav-wide a#mail').unbind(); unclean empty case but whatever, it works
        }
        else {
            e.preventDefault();
            $('ul.mini-nav-wide li').removeClass('on');
            $(selector).parents('li').addClass('on');
            $('.highlights:visible').fadeOut('fast', function() {  
            $('.highlights.'+target).fadeIn('fast');
        });
        }   
    });
   
   $('#new_game.mini-nav-narrow a').click(function(e){
      e.preventDefault();
      var target = $(this).attr('class');
      var selector = "." + target;
      $('#new_game.mini-nav-narrow li').removeClass('on');
      $(selector).parents('li').addClass('on');
      if (target=='new-game-all') {
          $('#new_game_carousel').data('jcarousel').scroll(1);
          $('#new_game_carousel li').fadeIn('fast');
      }
      else {
          $('#new_game_carousel li').fadeOut('fast');
          $('#new_game_carousel').data('jcarousel').scroll(1);
          $('#new_game_carousel li.' + target).fadeIn('fast');
      }
   });
   
   $('#upcoming_game.mini-nav-narrow a').click(function(e){
       e.preventDefault();
       var target = $(this).attr('class');
       var selector = "." + target;
       $('#upcoming_game.mini-nav-narrow li').removeClass('on');
       $(selector).parents('li').addClass('on');
       if (target=='upcoming-game-all') {
           $('#upcoming_game_carousel').data('jcarousel').scroll(1);
           $('#upcoming_game_carousel li').fadeIn('fast');
       }
       else {
           $('#upcoming_game_carousel li').fadeOut('fast');
           $('#upcoming_game_carousel').data('jcarousel').scroll(1);
           $('#upcoming_game_carousel li.' + target).fadeIn('fast');
       }
   });
   
   $('#popular_game.mini-nav-narrow a').click(function(e){
       e.preventDefault();
       var target = $(this).attr('class');
       var selector = "." + target;
       $('#popular_game.mini-nav-narrow li').removeClass('on');
       $(selector).parents('li').addClass('on');
       if (target=='popular-game-all') {
           $('#popular_game_carousel').data('jcarousel').scroll(1);
           $('#popular_game_carousel li').fadeIn('fast');
       }
       else {
           $('#popular_game_carousel li').fadeOut('fast');
           $('#popular_game_carousel').data('jcarousel').scroll(1);
           $('#popular_game_carousel li.' + target).fadeIn('fast');
       }
    });
    
    $('#rental_game.mini-nav-narrow a').click(function(e){
        e.preventDefault();
        var target = $(this).attr('class');
        var selector = "." + target;
        $('#rental_game.mini-nav-narrow li').removeClass('on');
        $(selector).parents('li').addClass('on');
        if (target=='rental-game-all') {
            $('#rental_game_carousel').data('jcarousel').scroll(1);
            $('#rental_game_carousel li').fadeIn('fast');
        }
        else {
            $('#rental_game_carousel li').fadeOut('fast');
            $('#rental_game_carousel').data('jcarousel').scroll(1);
            $('#rental_game_carousel li.' + target).fadeIn('fast');
        }
    });
   
   	$('a.dlnow').click(function(e){
		e.preventDefault();
		var str = $(this).attr('name');
		window.open("/downloadpop?file_id=" + str, "Download", "location=0,menubar=0,status=0,scrollbars=0,resizable=0,width=755,height=500");
	});

	$('#mod_search_by_post_id_button').click(function(e) {
		e.preventDefault();
		submit_mod_search_by_post_id();
	});
	
	$('#mod_search_posts_by_user_button').click(function(e) {
		e.preventDefault();
		submit_mod_search_posts_by_user();
	});   
	
	$('#mod_search_posts_by_user_more').click(function(e) {
		e.preventDefault();
		var no_limit = true
		submit_mod_search_posts_by_user(no_limit);
	});

	$('#mod_search_user_by_ip_address_button').click(function(e) {
		e.preventDefault();
		submit_mod_search_user_by_ip_address();
	}); 	

	$('#mod_search_ip_address_by_user_button').click(function(e) {
		e.preventDefault();
		submit_mod_search_ip_address_by_user();
	});
	
	$('#mod_search_ip_address_by_user_more').click(function(e) {
		e.preventDefault();
		var no_limit = true
		submit_mod_search_ip_address_by_user(no_limit);
	});   
 
	$('#mod_search_banned_users_by_user_button').click(function(e) {
		e.preventDefault();
		$('#mod_search_banned_users_by_user_error_box .not_found').hide('');
		$('#results_by_user').html('');
		$('#results_by_user_reason').html('');
		submit_mod_search_banned_users_by_user();
	});
	
	$('#mod_search_banned_users_by_ip_address_button').click(function(e) {
		e.preventDefault();
		$('#results_by_ip_address').html('');
		var no_limit = true;
		submit_mod_search_banned_users_by_ip_address(no_limit);
	});

	$('#button_potm').click(function(e) {
		e.preventDefault();
		submit_potm();
	});
	
	$('#loginDiv img').click(function(){
        $('<div class="overlay"><a href="#">Cancel</a></div>').height($('body').height()).css({'opacity':0.7}).appendTo('body');
    });

	$('#loginDiv_r img').click(function(){
        $('<div class="overlay"><a href="#">Cancel</a></div>').height($('body').height()).css({'opacity':0.7}).appendTo('body');
    });

    $('#loginDiv_s img').click(function(){
        $('<div class="overlay"><a href="#">Cancel</a></div>').height($('body').height()).css({'opacity':0.7}).appendTo('body');
    });

    $('.overlay a').live('click', function(e){
       e.preventDefault();
       $('.overlay').hide();
    });
    
    $('#loginDiv_s').delegate("div[title='Facebook'] img", "click", function(){
        confirmation_on = false;
    });
    
    $('#loginDiv_s').delegate("div[title='Google'] img", "click", function(){
        confirmation_on = false;
    });
    
    $('#loginDiv_s').delegate("div[title='Yahoo'] img", "click", function(){
        confirmation_on = false;
    });
    
    $('#loginDiv_r').delegate("div[title='Facebook'] img", "click", function(){
        confirmation_on = false;
    });
    
    $('#loginDiv_r').delegate("div[title='Google'] img", "click", function(){
        confirmation_on = false;
    });
    
    $('#loginDiv_r').delegate("div[title='Yahoo'] img", "click", function(){
        confirmation_on = false;
    });

	$('#submit_contact').click(function(e){
		e.preventDefault;
		contact_form();
	});
	
	$('#submit_message').click(function(e){
		e.preventDefault;
		message_form();
	});
	
	$('#email_change').click(function(e){
		e.preventDetault;
		change_email();
	});
	
	$('#password_change').click(function(e){
		e.preventDefault;
		change_password();
	});
	
	$('#email_setting_change').click(function(e){
		e.preventDefault;
		change_email_setting();
	});
	
	$('#comment_setting_change').click(function(e){
		e.preventDefault;
		change_comment_setting();
	});
	
	$('#mercury_change').click(function(e){
		e.preventDefault;
		change_mercury();
	});
	
	$('#search_submit').click(function(e){
		e.preventDefault;
		emptySearch();
	});
	
	$('#save_story').click(function(e){
		e.preventDefault;
		if (story_validates()) {
			$('#edit_story').submit();
		}
	});
	
	$('#close_pre').live('click', function(e){
	    e.preventDefault;
        $('#prestitial_wrap').fadeOut();
        $('#container').show();
		$('#adRectangle').attr('src', $('#adRectangleSrc').val());
		$('#adSquare').attr('src', $('#adSquareSrc').val());
		noCountdown = 1
    });
	
	$("#chatty_search .filter-radio").click(function(e){
	   e.preventDefault;	   
	   $(".search-filters .filter-radio").removeClass('filter-checked');
	   $(this).addClass('filter-checked');  
	   if($(this).hasClass('filter-checked')) {
           $(this).parent().find('input[type=radio]').attr('checked','checked');
	   }
	   else {
           $(this).parent().find('input[type=radio]').removeAttr('checked');
	   }
	});
	
	$("#chatty_sort .filter-radio").click(function(e){
	   e.preventDefault;
	   $(".sort-filters .filter-radio").removeClass('filter-checked');
	   $(this).addClass('filter-checked');	  
	   if($(this).hasClass('filter-checked')) {
           $(this).parent().find('input[type=radio]').attr('checked','checked');  
	   }
	   else {
           $(this).parent().find('input[type=radio]').removeAttr('checked');
	   }
	   $("form[name='chatty_keyword']").submit();
	});
	
	$('#chatty_search_submit').click(function(e){
        e.preventDefault();
	    $("form[name='chatty_keyword']").submit();
	});
	
});

