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

	function construct()
	{		this.query_url='index.php';
		this.messages=[];
		this.currentid=0;

		this.FailRequest=function()
		{			sp_contactform.UnlockForm(sp_contactform.currentid);
			busy=0;
			alert(sp_lang.strContactForm_FailRequest);		};

		this.SetMessages=function(cnt,contact,msg)
		{
			sp_contactform.messages[cnt]=[contact,msg];
		};

		this.PrepareForms=function()
		{
			jQuery('form.module_contactform').each(function()
			{
				var id=jQuery(this).attr('id');
				id=id.slice(18);
				var defcont=sp_contactform.messages[id][0];
				var defmsg=sp_contactform.messages[id][1];
				jQuery(this).find('input[name=contacts]').focus(function()
				{
					var str=jQuery(this).val();
					if(str==defcont)
					{
						jQuery(this).val('');
					}
				}).blur(function()
				{
					var str=jQuery(this).val();
					if(str.length<1)
					{
						jQuery(this).val(defcont);
					}
				});
				jQuery(this).find('textarea[name=msg]').focus(function()
				{
					var str=jQuery(this).val();
					if(str==defmsg)
					{
						jQuery(this).val('');
					}
				}).blur(function()
				{
					var str=jQuery(this).val();
					if(str.length<1)
					{
						jQuery(this).val(defmsg);
					}
				});
			});
		};

		this.LockForm=function(cnt)
		{
			jQuery('#module_contactform'+cnt+' input[name=contacts]').attr('disabled','true');
			jQuery('#module_contactform'+cnt+' textarea[name=msg]').attr('disabled','true');
			jQuery('#module_contactform_loading'+cnt).show();
		};

		this.UnlockForm=function(cnt)
		{
			jQuery('#module_contactform'+cnt+' input[name=contacts]').removeAttr('disabled');
			jQuery('#module_contactform'+cnt+' textarea[name=msg]').removeAttr('disabled');
			jQuery('#module_contactform_loading'+cnt).hide();
		};

		this.SubmitForm=function(cnt)
		{
			if(busy)
			{
				alert(sp_lang.strContactForm_Wait);
				return false;
			}
			var contact=jQuery('#module_contactform'+cnt+' input[name=contacts]').val();
			var msg=jQuery('#module_contactform'+cnt+' textarea[name=msg]').val();
			var cfid=jQuery('#module_contactform'+cnt+' input[name=cfid]').val();
			if((contact.length<1)||(contact==sp_contactform.messages[cnt][0]))
			{
				alert(sp_lang.strContactForm_FillContacts);
				return false;
			}
			if((msg.length<1)||(msg==sp_contactform.messages[cnt][1]))
			{
				alert(sp_lang.strContactForm_FillMessage);
				return false;
			}
			sp_contactform.LockForm(cnt);
			busy=1;
			sp_contactform.currentid=cnt;
			jQuery.ajax(
			{
				url:sp_contactform.query_url,
				data:
				{
					action:'sendmessage',
					async:1,
					contact:contact,
					msg:msg,
					cfid:cfid
				},
				success:function(data)
				{
					sp_contactform.UnlockForm(cnt);
					busy=0;
					if(data.error.length)
					{
						alert(data.error);
						return;
					}
					alert(data.notification);
				},
				type:'POST',
				dataType:'json',
				cache:false,
				error:this.FailRequest
			});
			return false;
		};

	};

	return new construct();
};

SetGlobalOnLoad(OnLoadContactForm);

function OnLoadContactForm()
{
	sp_contactform.PrepareForms();
}

