var sp_feedback=new function()
{	var busy=0;

	function construct()
	{		this.query_url='index.php';

		this.SetWait=function(enable,id,name)
		{
			if(enable)
			{
				jQuery('#module_feedback_waitblock'+id+'_'+name).show();
			}
			else
			{
				jQuery('.module_feedback_waitblock').hide();
			}
		}

		this.FailRequest=function()
		{			busy=0;
			sp_feedback.SetWait(0,0,0);
//			alert(sp_lang.strContactForm_FailRequest);
			alert('Ошибка при запросе - проверьте интернет-соединение');		};

		this.PrepareLinks=function()
		{
			jQuery('.module_feedback_viewlink').each(function()
			{
				var t=jQuery(this);
				var id=t.attr('id');
				t.removeAttr('target');
				id=id.slice(24);
				var arr=id.split('_');
				t.attr('href','javascript:sp_feedback.ShowFeedback('+arr[0]+',\''+arr[1]+'\')');
			});
/*			jQuery('.module_feedback_postlink').each(function()
			{
				var t=jQuery(this);
				var id=t.attr('id');
				id=id.slice(24);
				var arr=id.split('_');
				t.attr('href','javascript:sp_feedback.ShowForm('+arr[0]+',\''+arr[1]+'\')');
			});
*/			jQuery('.module_feedback_linkdelete').each(function()
			{
				var t=jQuery(this);
				var id=t.attr('id');
				id=id.slice(26);
				t.attr('href','javascript:sp_feedback.DeleteFeedback('+id+')');
			});
		};
		this.ShowFeedback=function(id,name)
		{
			if(busy)
			{
				alert('Идет загрузка, пожалуйста, подождите');
				return;
			}
			busy=1;
			sp_feedback.SetWait(1,id,name);
			jQuery('#module_feedback_postplace'+id+'_'+name).hide('fast');
			jQuery('#module_feedback_postlink'+id+'_'+name).show().css('display','inline');
			jQuery('#module_feedback_viewblock'+id+'_'+name).hide('fast');
			jQuery.ajax(
			{
				url:sp_feedback.query_url,
				data:
				{
					action:'show',
					async:1,
					id:id,
					module:name
				},
				success:function(data)
				{
					busy=0;
					sp_feedback.SetWait(0,0,0);
					jQuery('#module_feedback_viewplace'+id+'_'+name).html(data).show('fast');
					sp_feedback.PrepareLinks();
				},
				type:'POST',
				dataType:'html',
				cache:false,
				error:this.FailRequest
			});
		};
		this.ShowForm=function(id,name)
		{
			if(busy)
			{
				alert('Идет загрузка, пожалуйста, подождите');
				return;
			}
			busy=1;
			sp_feedback.SetWait(1,id,name);
			jQuery('#module_feedback_postlink'+id+'_'+name).hide('fast');
			jQuery.ajax(
			{
				url:sp_feedback.query_url,
				data:
				{
					action:'showform',
					async:1,
					id:id,
					module:name
				},
				success:function(data)
				{
					busy=0;
					sp_feedback.SetWait(0,0,0);
					jQuery('#module_feedback_postplace'+id+'_'+name).html(data).show('fast');
				},
				type:'POST',
				dataType:'html',
				cache:false,
				error:this.FailRequest
			});
		};
		this.CollapseFeedback=function(id,name)
		{
			jQuery('#module_feedback_viewblock'+id+'_'+name).show().css('display','inline');
			jQuery('#module_feedback_viewplace'+id+'_'+name).hide('fast');
		};
		this.SubmitFeedback=function(id,name,async)
		{
			if(busy)
			{
				alert('Идет загрузка, пожалуйста, подождите');
				return false;
			}
			busy=1;
			sp_feedback.SetWait(1,id,name);
			var form=jQuery('#module_feedback_form'+id+'_'+name);
			var username=form.find('input[name=name]').val();
			var email=form.find('input[name=email]').val();
			var data=form.find('textarea[name=postfeedback_data]').val();
			jQuery.ajax(
			{
				url:sp_feedback.query_url,
				data:
				{
					action:'post',
					async:1,
					id:id,
					module:name,
					name:username,
					email:email,
					postfeedback_data:data
				},
				success:function(data)
				{
					busy=0;
					sp_feedback.SetWait(0,0,0);
					if(data.error.length)
					{
						alert(data.error);
						return;
					}
					if(async)
					{
						jQuery('#module_feedback_postplace'+id+'_'+name).hide('fast');
						sp_feedback.ShowFeedback(id,name);
					}
					if(data.notification.length)
					{
						alert(data.notification);
					}
					if(!async)
					{
						history.back();
					}
				},
				type:'POST',
				dataType:'json',
				cache:false,
				error:this.FailRequest
			});
			return false;
		};
		this.DeleteFeedback=function(id)
		{
			if(busy)
			{
				alert('Идет загрузка, пожалуйста, подождите');
				return;
			}
			busy=1;
			jQuery.ajax(
			{
				url:sp_feedback.query_url,
				data:
				{
					action:'delete',
					async:1,
					commentid:id
				},
				success:function(data)
				{
					busy=0;
					if(data.error.length)
					{
						alert(data.error);
					}
					sp_feedback.ShowFeedback(data.id,data.module);
				},
				type:'POST',
				dataType:'json',
				cache:false,
				error:this.FailRequest
			});
		};
	};

	return new construct();
};

SetGlobalOnLoad(OnLoadFeedback);

function OnLoadFeedback()
{
	sp_feedback.PrepareLinks();
}
