$(document).ready(function(){
	$('.sb_formmail_send_mail').click(function(){
		var formId = this.id.replace(/^sb_submit(.*)$/ig,"#sb_formmail_form$1");
		var data = {};
		var parentId = $(this).parents('div.sb_formmail').attr('id');
		$('#'+parentId+' .sb_widget_formmail_success_message').hide();
		var fcName = $(this).attr('rel');
		sbFormMailAddFormLoader(parentId,fcName);
		var theUrl = $(formId).attr('action');
		$('#'+parentId+' p.sb_error').html('');
		$(formId+' :input').each(function(){
			data[$(this).attr('name')] = $(this).val();
		});
		var self = $(this);
		$.post($(formId).attr('action'),data,function(response){
			$(formId).find('.sb_formmail_preloader_overlay').remove();
			if (response.status) {
				if (response.status == 'ok') {
					$('#'+parentId+' form').hide();
					$('#'+parentId+' form :input').val('');
					$('#'+parentId+' .sb_widget_formmail_success_message').show();
				} else if(response.errors && response.errors.fields) {
					$('#'+parentId+' form :input').each(function(){
						if (typeof(response.errors.fields[$(this).attr('name')]) != 'undefined') {
							$(this).prev('p.sb_error').html(response.errors.fields[$(this).attr('name')]);
						}
						self.parents('form').find('input[name="protect_field"]').val('');
					});
				}
				var captchaImg = self.parents('form').find('.sb_captcha_img');
				var mathExpr = self.parents('form').find('.sb_math_str');
				var jsField = self.parents('form').find('input[name="protect_field"]');
				if (response.captcha && captchaImg.length > 0) {
					captchaImg.attr('src',response.captcha);
				} else if (mathExpr.length>0) {
					mathExpr.text (response.mathprotect);
				} else if (jsField.length>0) {
					jsField.val(response.jsprotect);
				}
			}
		},'json');
		return false;
	});

	$('.sb_clear_form').click(function(){
		$(this).parents('form:first').get(0).reset();
		return false;
	});
	
	$('.sb_clear_form').click(function(){
		$(this).parents('form:first').get(0).reset();
		return false;
	});
	
	$('.sb_formmail_new_query').click(function(){
		$(this).parents('div.sb_formmail').find('form').show();
		$(this).parents('div.sb_widget_formmail_success_message').hide();
		return false;
	});
	
	$('.sb_formmail .sb_reload_captcha').click(function(){
		var self = $(this);
		var fcName =$(this).attr('rel');
		var theRegEx = new RegExp('^([^;]*);'+fcName+':([^;&]*);?(&.*)?$','ig');
		var theUrl = '';
		if ($(this).parents('form').attr('action').match(theRegEx)) {
			theUrl = $(this).parents('form').attr('action').replace(theRegEx, "$1;"+fcName+":\$2%26getnewprotectionstring=true%26r="+Math.random()+"$3");
		} else {
			theUrl = $(this).parents('form').attr('action').replace(/^([^&]*)(&rewriteurls.*$)?/ig,'$1;'+fcName+":getnewprotectionstring=true%26r="+Math.random()+"$2");
		}
		$.getJSON(theUrl,function(response){
			if (self.siblings('img').length > 0) {
				self.siblings('img').attr('src',response.captcha);
			}
		});
		return false;
	});
	
});

function sbFormMailAddFormLoader(randName,fcName) {
	var theWidth = $('#'+randName+' form').width()+20;
	var theHeight = $('#'+randName+' form').height()+20;
	$('#'+randName+' form').append('<div class="sb_formmail_preloader_overlay" style="width:'+theWidth+'px;height:'+theHeight+'px;top:0px;left:0px;"><div class="sb_formmail_preloader"></div></div>');
	
}