var AJAX_ERROR_PT = 'Não foi possível enviar a mensagem. Tente novamente mais tarde.';
var AJAX_ERROR_EN = 'The message could not be send. Try again later.';
var AJAX_ERROR_ES = 'El mensaje no se ha podido enviar. Inténtelo de nuevo más tarde.';

var AJAX_SENDING_PT = 'Enviando mensagem...';
var AJAX_SENDING_EN = 'Sending message...';
var AJAX_SENDING_ES = 'Enviando mensaje...';


i = 0;
$(function() {
	//INIT
	if(jQuery.browser.opera) {
		$('.employee-record').css('opacity', '1');
	}
	
	//SEARCH
	var query = $('#query');
	if(query) {
		var defaultQuery = query.val();
		function handler(){
			if (query.val() == "")
				query.val(defaultQuery);
		}
		query.blur(handler);
		handler();
		
		query.click(function() {
			if(query.val() == defaultQuery)
				query.val('');
		});
	}
	
	//EQUIPE
	if($("BODY#team").length > 0) {
		active = null;
		
		function round(record) {
			var element = $($(".rounded", record)[0]);
			$(element).corner({
				tl: { radius: 8 },
				tr: { radius: 8 },
				bl: { radius: 8 },
				br: { radius: 8 },
				antiAlias: true,
				autoPad: false
			});
		}
		
		function showRecord(record, x, y) {
			if(active) hideRecord(active);
			
			if(!record[0].rounded) {
				round(record);
				record[0].rounded = true;
			}
			
			record.css('display', 'block');
			moveRecord(record, x, y);
			
			active = record;
		}
		
		function moveRecord(record, x, y) {
			record.css('left', x);
			record.css('top', y);
		}
		
		function hideRecord(record) {
			$(record).css('display', 'none');
			active = null;
		}
		
		var employees = $(".employee-photo");
		
		employees.focus(function(e) {
			var photo = $(this);
			var record = $(photo).next();
			showRecord(record,
				photo[0].offsetLeft - record.width()/2 + 12,
				photo[0].offsetTop + photo.height()/2 + 15);
		});
		
		employees.blur(function(e) {
			hideRecord($(this).next());
		});
		
		employees.mouseover(function(e) {
			var record = $(this).next();
			showRecord(record, e.pageX - record.width()/2 - 12, e.pageY + 16);
		});
		
		employees.mousemove(function(e) {
			var record = $(this).next();
			moveRecord(record, e.pageX - record.width()/2 - 12, e.pageY + 16);
		});
		
		employees.mouseout(function(e) {
			hideRecord($(this).next());
		});
	}
	
	//CLIENTES
	if($("BODY#cases").length > 0) {
		$('.rounded').corner({
			tl: { radius: 8 },
			tr: { radius: 8 },
			bl: { radius: 8 },
			br: { radius: 8 },
			antiAlias: true,
			autoPad: false
		});
	}
	
	//BLOG
	if($("BODY#blog-post")) {
		$('#validation').load('/CommentAuthenticatorServlet');
	}
	
	//CONTATO
	if($("BODY#contact")) {
		var form = $("#contato-form");
		form.submit(function() {
			$("#ajax").val("true");
			$.ajax({url: '/services/contact', 
				dataType: 'json',
				data: form.serialize(),
				success: function(data) {
					var type = (data.status == 'SUCCESS') ? 'success' : 'error';
					showMessage(data.resultMessage, type);
				}, error: function(XMLHttpRequest, textStatus, errorThrown) {
					showAjaxErrorMessage();
					console.log('erro ' + textStatus);
				}
			});
			
			if($('#result-message').length == 0) {
				$('.summary').after('<div id="result-message" class="message"></div>');
			}
			var sending_message = '';
			var lang = $('HTML').attr('lang');
			if(lang == 'en') {
				sending_message = AJAX_SENDING_EN;
			} else if (lang == 'es') {
				sending_message = AJAX_SENDING_ES;
			} else {
				sending_message = AJAX_SENDING_PT;
			}
			showMessage(sending_message, 'waiting');
			
			function showMessage(message, type) {
				var container = $('#result-message');
				container.removeClass();
				container.addClass(type);
				container.text(message);
				console.log('Show message called.');
			}
			
			function showAjaxErrorMessage() {
				var error_message = '';
				var lang = $('HTML').attr('lang');
				if(lang == 'en') {
					error_message = AJAX_ERROR_EN;
				} else if (lang == 'es') {
					error_message = AJAX_ERROR_ES;
				} else {
					error_message = AJAX_ERROR_PT;
				}
				showMessage(error_message, 'error');
			}
				
			return false;
		});
	}
});
