
var ShareEmail = function() {
	
	this.ERR_MESS = "Please enter two email addresses.";
		
	this.init = function() {
		$('share_email_form').observe('submit', 		
			function(event) {
				event.stop();
				BF_ShareEmail.submit();
			}
		);

		if ($('share_email_button')) $('share_email_button').observe('click', function(event) {
			event.stop();
			$('share_email').show();
			$('share_email_form').show();
			$('share_email_success').setOpacity(1);
			$('share_email_success').hide();
			$('share_email_error').hide();
			$('share_email_message').removeClassName('error');
			$('share_email').show();
			BF_Effect.ScrollIntoView('share_email');
		});
		$('share_email_cancel').observe('click', function(event) {
			event.stop();
			$('share_email').hide();			
		});					
	};
	
	this.locate_form_and_share_email = function(id,buzz_id) {
		if ($(id)) {
			var form = $('share_email');
			form.parentNode.removeChild(form);
			$(id).appendChild(form);
		}
		$('bid').value = buzz_id;
		$('share_email').show();
		$('share_email_form').show();
		$('share_email_success').setOpacity(1);
		$('share_email_success').hide();
		$('share_email_error').hide();
		$('share_email_message').removeClassName('error');
		$('share_email').show();
		BF_Effect.ScrollIntoView('share_email');
	}

	this.submit = function() {
		$('share_email_submit').disabled = true;
		if(this.validate()) {
			var params = {};
			params.bf = $F('bf').strip();
			params.b2 = $F('b2').strip();
			params.note = $F('note').strip();
			params.bid = $F('bid');
			var res = function(resp) {
				BF_ShareEmail.response(resp);
			};
			var fail = function(resp) {
				BF_ShareEmail.fail(resp);
			};
			new Ajax.Request('/buzzfeed/share_email', {method: 'post', parameters: params, onSuccess: res, onFailure: fail});
		} 
	};

	this.response = function(resp) {
		$('share_email_submit').disabled = false;		
		var obj = eval('(' + resp.responseText + ')');
		if(obj && obj.sent && obj.sent == true) {
			if (tracker)
			{
				tracker.add( {type:tracker.types.SHARE_EMAIL} );
				tracker.run();
			}			
			$('share_email_form').hide();
			$('share_email_success').show();
			$('bf').value = '';
			$('b2').value = '';
			$('note').value = '';
			setTimeout("BF_Effect.FadeOut('share_email_success')",3000);
		} else {
			this.fail();
		}
	};

	this.fail = function(resp) {
		$('share_email_submit').disabled = false;		
		$('share_email_form').hide();
		$('share_email_error').show();
	};
	
	this.validate = function() {
		var status = true;
		if($F('bf').strip() == '' || $F('b2').strip() == '') {
			$('share_email_message').className = 'message error';
			$('share_email_message').innerHTML = this.ERR_MESS;			
			$('share_email_message').show();
			var status = false;
			$('share_email_submit').disabled = false;	
		}
		return status;
	};
			
};


// init share email, werd.
BF_ShareEmail = new ShareEmail();
BuzzLoader.register(
function () {
	BF_ShareEmail.init();
}, 1);
