if(!Ustream) var Ustream = {};
if(!Ustream.Components) Ustream.Components = {};

/**
 * Ustream.Components.FlagContent
 *
 *
 */
Ustream.Components.FlagContent = function(){
	this.options = {
		displayToggle:          '#flagInapp'
	};

}
augment( Ustream.Components.FlagContent, Ustream.Framework );
Ustream.Components.FlagContent.prototype.toString = function(){ return "flagContent.js - utility for reporting inappropiate content - %REVISION%"; }

/**
 * Ustream.Components.FlagContent.init
 *
 * @param {Object} options - initialization options
 */
Ustream.Components.FlagContent.prototype.init = function(options){
	var that = this;
	this.options = $.extend(this.options, options);
	var options = this.options;

	if (typeof this.options.displayToggle == 'string')this.options.displayToggle = $(this.options.displayToggle);


		var visible = false;
		var loading = null;

		this.options.displayToggle.click(function(e) {
			$(e).stopEvent();

			if (!loggedIn) { // only for logged in users
				Ustream.Events.dispatch(Ustream.Events.REQUIRELOGIN);
				return;
			}

			if (!visible) {
				visible = true;
				$('#inapp').fadeIn('slow');
			} else {
				visible = false;
				$('#inapp').fadeOut('slow');
			}
		});

		if (!loggedIn) { // only for logged in users - ne is fusson tovabb ilyenkor
			return;
		}

		$('#inapp input[rel=submit]').click(function() {
			$('#inapp form').ajaxSubmit({
				type: 'post',
				url: '/ajax/inapp-flag.json/'+$('#inapp input[name=targetType]').val()+'/'+$('#inapp input[name=targetId]').val(),
				dataType: 'json',
				beforeSubmit: function() {
					loading = new Loading_Component();
					loading.init({targetDiv: '#inapp'});
				}.bind(this),
				success: function(response) {
					loading.remove();

					if (response.success) {
						$('#inapp form').remove();
						$('#inappSuccess').css('display', 'block');
					} else if (response.error.message) {
						alert(response.error.message);
					} else {
						alert('Error!');
					}
				}.bind(this)
			});
		}.bind(this));

		$('#inapp input[rel=cancel]').click(function() {
			visible = false;
			$('#inapp').fadeOut('slow');
		});



	return this;
}