bf_contest_manager = function() {
	this.init = function() {
		bf_login.init();
		user_post.init();
		user_post.observe('save:success', contest_manager.save_ok);
		user_post.observe('save:preparing', contest_manager.add_contest_id);
		var user = new BF_User();
		if ( user.isLoggedIn() ) {
			if ( user.getUserInfo().terminal_user && user.getUserInfo().terminal_user == 'true' ) {
				if ($('quickpost-enhanced-settings')) $('quickpost-enhanced-settings').show();
			}
			else {
				if ($('quickpost-enhanced-settings')) $('quickpost-enhanced-settings').hide();
			}
			$('contest-entry-form').show();
		}
		else {
			this.login();
			this.onLogin = function() {
				var user = new BF_User();
				if ( user.isLoggedIn() ) {
					/*
					if ( user.getUserInfo().terminal_user && user.getUserInfo().terminal_user == 'true' ) {
						if ($('quickpost-enhanced-settings')) $('quickpost-enhanced-settings').show();
					}
					else {
						if ($('quickpost-enhanced-settings')) $('quickpost-enhanced-settings').hide();
					}
					*/
					$('contest-entry-form').show();
				}
				else {
					if ( Facebook.uid != null ) {
						window.location.reload();
					}
					else {
						$('regsitration-form').hide();
						$('registration-success').update('Thanks for registering. We&rsquo;ve created your account, but we need you to validate your email address. We&rsquo;ve sent you a confirmation email with instructions. If you don&rsquo;t receive the mail in a few minutes, please check your spam folder.');
						$('registration-success').show();
					}
				}
			}
		}
	}

	this.add_contest_id = function( obj ) {
		obj.contest_id = $('contest-entry-form').getAttribute('rel:contest_id');
		obj.contest_uri = $('contest-entry-form').getAttribute('rel:contest_uri');
		obj.contest_name = $('contest-entry-form').getAttribute('rel:contest_name') ;
	}

	this.login = function( target ) {
		var registration_div = $('registration-div');
		var reg = new BF_Register();
		reg.register_handler(false,{action:'contest_entry'});
		reg.fb_register_handler(false,{action:'contest_entry'});
		$('login-submit').value='Sign In';
		$('register-submit').value='Register';
		// $('preview-again-from-registration').hide();
		// $('preview-again-from-login').hide();
		bf_login.args = { action: 'contest_entry' };
		$('registration-div').show();
	}
	
	this.save_image = function(path, image, region, sendTo) {
		var params = region;
		if ( typeof sendTo == 'undefined' ) {
			sendTo = '/buzzfeed/_edit_user_image';
		}
		else {
			params.type = $('buzz-type').value + 'buzz';
		}
		if ($('user-loading')) $('user-loading').show();
		$('user-image-edit').hide();
		params.image = path.replace(/\.(jpg|gif)$/, '');
		params.action = 'imagecrop';
		var sr = function(resp) { contest_manager.image_saved(resp) };
		var er = function() { contest_manager.error(); };
		var ajax = new BF_Request();
		ajax.request(sendTo, {method: 'post', parameters: params, onSuccess: sr, onFailure: er});
	}

	this.image_saved = function(resp) {
		if ( $( 'user-loading' ) ) $('user-loading').hide();
		var obj = eval('(' + resp.responseText + ')');
		if(obj.saved) {
			if ($('quickpost-enhanced-image-file')) $('quickpost-enhanced-image-file').value = obj.thumb_image;
			if ($('quickpost-embed-image-file')) $('quickpost-embed-image-file').value = obj.thumb_image;
			if ($('quickpost-link-image-file')) $('quickpost-link-image-file').value = obj.thumb_image;
			if ($('quickpost-quiz-image-file')) $('quickpost-quiz-image-file').value = obj.thumb_image;
			if ($('quickpost-video-image-file')) $('quickpost-video-image-file').value = obj.thumb_image;
			if ($('quickpost-image-image-thumb')) $('quickpost-image-image-thumb').value = obj.thumb_image;
			if ($('quickpost-image-image-file')) $('quickpost-image-image-file').value = obj.large_image;
			if ($('enhanced-thumbnail')) {
				$('enhanced-thumbnail').src=bf_ir+obj.thumb_image;
				$('enhanced-thumbnail').show();
			}
			if ($('embed-thumbnail')) {
				$('embed-thumbnail').src=bf_ir+obj.thumb_image;
				$('embed-thumbnail').show();
			}
			if ($('link-thumbnail')) {
				$('link-thumbnail').src=bf_ir+obj.thumb_image;
				$('link-thumbnail').show();
			}
			if ($('video-link-thumbnail')) {
				$('video-link-thumbnail').src = bf_ir+obj.thumb_image;
				$('video-link-thumbnail').show();
			}
			if ($('image-preview')) {
				$('image-preview').src = bf_ir+obj.thumb_image;
				$('image-preview').show();
				$('image-preview-div').show();
			}
			if ($('quiz-thumbnail')) {
				$('quiz-thumbnail').src=bf_ir+obj.thumb_image;
				$('quiz-thumbnail').show();
			}
			this.settings.image = obj.image;
		} else {
			this.error(this.IMAGE_ERR)
			$('enhanced-thumnail').hide();
			$('embed-thumnail').hide();
			$('link-thumnail').hide();
			$('quiz-thumnail').hide();
			$('video-link-thumbnail').hide();
		}
	}
	
	this.save_ok = function( data ) {
		$('select-quickpost-box').hide();
		$('successful-entry').show();
	}
}

contest_manager = new bf_contest_manager();
BuzzLoader.register( function() {
	contest_manager.init();	
}, 2);
