/******************************************************************************/
/******************************************************************************/

function TLThemeContactForm(id,recaptchaEnable)
{
	this.id=id;
	this.recaptchaEnable=recaptchaEnable;
}
	
/******************************************************************************/
	
TLThemeContactForm.prototype.init=function()
{
	var self=this;
	jQuery('#contact_form_'+this.id).submit(function()
	{
		if(self.recaptchaEnable==1)
		{
			if(jQuery(this).find('.recaptcha-destination').children('#recaptcha-source').length!=1)
			{
				jQuery(this).find('.recaptcha-destination').append(jQuery('#recaptcha-source'));
				jQuery('#recaptcha-source').css('display','block');
				return(false);
			}
		}
		
		self.submit();
		return(false);
	});
	
	jQuery('#contact_form_'+this.id).find('textarea').elastic();
	
	jQuery(window).resize(function() 
	{
		self.resizeContactForm();
	});
	
	self.resizeContactForm();
}

/******************************************************************************/
	
TLThemeContactForm.prototype.resizeContactForm=function()
{
	var contactForm=jQuery('#contact_form_'+this.id);
	
	var width=contactForm.actual('width');
	
	if(parseInt(width)<650) contactForm.addClass('responsive');
	else contactForm.removeClass('responsive');
}
	
/******************************************************************************/
	
TLThemeContactForm.prototype.submit=function()
{
	this.blockForm('block');
	var data=jQuery('#contact_form_'+this.id).serialize()+'&id='+this.id;
	jQuery.ajax(themeOption.config.theme_url+'contact_form_ajax.php',{data:data,type:'POST',success:this.submitResponse,dataType:'json',contextObject:this});
}

/******************************************************************************/

TLThemeContactForm.prototype.submitResponse=function(response)
{
	jQuery('#comment_form_parent_comment_id').val(0);
	jQuery(this).css('display','none');
	
	this.contextObject.blockForm('unblock');

	jQuery('#contact_form_'+this.contextObject.id).find('.block').qtip('destroy');
	
	var tPosition=
	{
		'contact_form_name'		: {'my':'bottom center','at':'top center'},
		'contact_form_mail'		: {'my':'bottom center','at':'top center'},
		'contact_form_submit'	: {'my':'bottom right','at':'top right'},
		'contact_form_subject'	: {'my':'bottom center','at':'top center'},
		'contact_form_message'	: {'my':'bottom center','at':'top center'}
	};

	if(typeof(response.info)!='undefined')
	{	
		if(response.info.length)
		{	
			for(var key in response.info)
			{
				var id=response.info[key].fieldId;
				var nId=id.replace('_'+this.contextObject.id,'');

				jQuery('#'+response.info[key].fieldId).parents('.block:first').qtip(
				{
						style:      { classes:(response.error==1 ? 'ui-tooltip-error' : 'ui-tooltip-success')},
						content: 	{ text:response.info[key].message },
						position: 	{ my:tPosition[nId]['my'],at:tPosition[nId]['at'] }
				}).qtip('show');				
			}
		}
	}
	
	if(response.error==0) 
	{
		if(response.reset==1)
		{
			var cId=this.contextObject.id;

			jQuery('#contact_form_'+this.contextObject.id).find('input[type="text"],textarea').val('').blur();
			window.setTimeout(function() { jQuery('#contact_form_submit_'+cId).parents('.block:first').qtip('destroy'); },2000);
		}
	}
}

/******************************************************************************/

TLThemeContactForm.prototype.blockForm=function(action)
{
	if(action=='block') jQuery('#contact_form_'+this.id).find('.block').block({message:false,overlayCSS:{opacity:'0.3'}});
	else jQuery('#contact_form_'+this.id).find('.block').unblock();	
}

/******************************************************************************/
/******************************************************************************/