$(document).ready(function() {
	formsHandler.init();
	
	$('.fancybox').fancybox({
		'titlePosition'  : 'outside'
	});
	$('.fancyframe').fancybox({
		'autoScale'     	: false,
		'type'				: 'iframe',
		'width': 775,
		'height': '90%'
		
	});
});

var contactHandler = {
	requestCallback: function() {
		var url = 'contact/request_callback';
		var fid = 'crcb-form';
		
		var postvars = formHelper.collectValuesToString($('#' + fid));
		
		$('#' + fid + ' .response-message').fadeOut(function() { 
		

			$.post(url, postvars, function(data) {
				var parsedData = jQuery.parseJSON(data);
				var fid = 'crcb-form';
				
				$('#' + fid + ' .response-message').html(parsedData['message']);
				$('#' + fid + ' .default-message').fadeOut(function() {
					$('#' + fid + ' .response-message').fadeIn();
				});
				
				
				if (parsedData['success'] == 'yes') {
					formHelper.resetValues($('#' + fid));
				}
				else {
					
				}
			});
		
		});
	}
}

var formsHandler = {
	focused: {},
	hovered: {},
	init: function() {
		$('.form-field-line').mouseenter(function() {
			var ff_id = $(this).attr('ff_id');
			formsHandler.hovered[ff_id] = 1;
			formsHandler.checkFFComment(ff_id);
		});
		$('.form-field-line').mouseleave(function() {
			var ff_id = $(this).attr('ff_id');
			formsHandler.hovered[ff_id] = 0;
			formsHandler.checkFFComment(ff_id);
		});
		$('.form-field-input').focus(function() {
			var ff_id = $(this).attr('ff_id');
			formsHandler.focused[ff_id] = 1;
			formsHandler.checkFFComment(ff_id);
		});
		$('.form-field-input').blur(function() {
			var ff_id = $(this).attr('ff_id');
			formsHandler.focused[ff_id] = 0;
			formsHandler.checkFFComment(ff_id);
		});
	},
	checkFFComment: function(ff_id) {
		if ($('.form-field-comment[ff_id="' + ff_id +'"]').attr('comment_is_fixed') == 't') return false;
		
		if (formsHandler.focused[ff_id]>0 || formsHandler.hovered[ff_id]>0) {
			$('.form-field-comment[ff_id="' + ff_id +'"]').fadeIn();
		}
		else {
			$('.form-field-comment[ff_id="' + ff_id +'"]').fadeOut();
		}
	}
	
};

var blogHandler = {
	redirect: '',
	subscribe: function() {
		var url = $('#bsform').attr('action');
		var postvars = formHelper.collectValuesToString($('#bsform'));

		$.post(url, postvars, function(data) {
			$('#bsform .form-message').slideUp(function() {
			
	
				var parsedData = jQuery.parseJSON(data);
				var message_class = 'error';
				var message_html = '';
	
				if (parsedData['success'] == 'yes') {
					message_html = parsedData['message'];
					message_class = 'success';
					formHelper.resetValues($('#bsform'));
				}
				else {
					for (var x in (parsedData['errors'])) {
						message_html += parsedData['errors'][x] + '<br />';
					}
				}
				
				$('#bsform .form-message').html(message_html);
				$('#bsform .form-message').removeClass('error');
				$('#bsform .form-message').removeClass('success');
				$('#bsform .form-message').addClass(message_class);
				$('#bsform .form-message').slideDown(function() {
					if (blogHandler.redirect != '') {
					//	top.location.href=blogHandler.redirect;
					}
				});
			});

		});

	},
	addcomment: function() {

		blogHandler.redirect = '';
		var url = $('#commentform').attr('action');
		var postvars = formHelper.collectValuesToString($('#commentform'));
		
		$.post(url, postvars, function(data) {
			$('#commentform .form-message').slideUp();

			var parsedData = jQuery.parseJSON(data);
			var message_class = 'error';
			var message_html = '';

			if (parsedData['success'] == 'yes') {
				message_html = parsedData['message'];
				message_class = 'success';
				blogHandler.redirect = parsedData['redirect'];
				formHelper.resetValues($('#commentform'));
			}
			else {
				for (var x in (parsedData['errors'])) {
					message_html += parsedData['errors'][x] + '<br />';
				}
			}
			
			$('#commentform .form-message').html(message_html);
			$('#commentform .form-message').removeClass('error');
			$('#commentform .form-message').removeClass('success');
			$('#commentform .form-message').addClass(message_class);
			$('#commentform .form-message').slideDown(function() {
				if (blogHandler.redirect != '') {
					top.location.href=blogHandler.redirect;
				}
			});

		});
		
	}
};

