google.load('jquery', '1');
google.setOnLoadCallback(function(){

	/*==================================================*/
	/*	Contact form									*/
	/*==================================================*/
	
	// define vars

	var baseURL = $('script:eq(1)').attr('src');
	baseURL = baseURL.substr(0,baseURL.lastIndexOf('/js/')+1);
	var ajaxLoaderImg = baseURL+'images/structure/ajax-loader.gif';
	jQuery("<img>").attr("src", ajaxLoaderImg);
	var contactForm = $('#commentForm');
	var sendFormURL = contactForm.attr('action');
	var msgOk = '<p>Muito obrigado pela participação! Seu comentário foi registrado.</p>';
	var msgError = '<p>Ooops!<br />Seu comentário não pode ser enviado devido a um erro na conexão. Por favor, <a href="javascript:window.location.reload();">recarrege a página</a> e tente novamente.</a></p>';
	var emailRegExp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var validationMsg = '<p id="errorMsg" style="display:none;">Por favor, preencha os campos Nome e Email com dados válidos.</p>';
	
	// send the email
	
	contactForm.submit(function(){
		
		// hide error msg
		$('#errorMsg').fadeOut('fast', function(){
			$(this).remove();
		});
	
		// hide submit button
		$('input[type=submit]',contactForm).fadeOut('fast',function(){
			
			// place loader image
			contactForm.append('<img src="'+ajaxLoaderImg+'" style="display:none;" />');
			$('img',contactForm).fadeIn('slow',function(){
				
				// verify form
	
				var error = false;
				var formName = $('input[name=nomeCompleto]',contactForm).val();
				var formEmail = $('input[name=email]',contactForm).val();
				
				if (formName.length < 4) error = true;
				if (!emailRegExp.test(formEmail)) error = true;
	
				// if: missing data
				if (error) {
				
					// re-show send button & error msg
					$('img',contactForm).fadeOut('fast',function(){
						$(this).remove();
						$('input[type=submit]',contactForm).fadeIn().before(validationMsg);
						$('#errorMsg').fadeIn();
					});
					
	
				// else: send email
				} else {
				
					$.ajax({
						type: 'POST',
						url: sendFormURL,
						data: contactForm.serialize(),
						success: function(msg){
							if (msg=='1' || msg==1) sendStatus(contactForm,msgOk,true);
							else sendStatus(contactForm,msgError,false);
						},
						error: function (XMLHttpRequest, textStatus, errorThrown) {
							sendStatus(contactForm,msgError,false);
						}
					});
	
				}
			
	
			});
			
		});
		
		return false;
		
	});
	
});

function sendStatus (container,content,showComment) {
	
	// save form data
	var contactForm = $('#commentForm');
	var userName = $('input[name=name]',contactForm).val();
	var userURL = $('input[name=url]',contactForm).val();
	var userComment = $('textarea[name=comment]',contactForm).val();
	
	// show message
	container.fadeOut('fast',function(){
		$(this).html(content);
		$(this).fadeIn();
	});
	
	// add comment to HTML
	if (showComment) {
		
		// verify if comment list exist
		var commentArea = $('li.last',$('#content'));
		if ($('dl',commentArea).size()==0) commentArea.append('<dl></dl>');
		var commentList = $('dl',commentArea);
		
		// add comment
		if (userURL != 'http://' && userURL != '') commentList.append('<dt><a href="'+userURL+'">'+userName+', '+theDate()+'</a></dt>');
		else commentList.append('<dt class="newComment" style="display:none;">'+userName+', '+theDate()+'</dt>');
		commentList.append('<dd class="newComment" style="display:none;">'+userComment+'</dd>');
		$('.newComment',commentList).fadeIn('fast',function(){
			$(this).removeClass('newComment');
		});
		
	}
}

function theDate() {
	
	// get date
	var formattedDate;
	var currentTime = new Date();
	var day = currentTime.getDate();
	var month = currentTime.getMonth()+1;
	var year = currentTime.getFullYear();
	var hour = currentTime.getHours();
	var minute = currentTime.getMinutes();
	
	// format
	if (day<2) day = '0'+day;
	if (month<10) month = '0'+month;
	if (hour<2) hour = '0'+hour;
	if (minute<2) minute = '0'+minute;
	formattedDate = day+'/'+month+'/'+year+' '+hour+'h'+minute;
	
	// return
	return formattedDate;
	
}