/**
 * Script com funcoes de utilizada ao site.
 * @author Timoteo BAndeira <timoteo@inventecomunicacao.com.br>
 * @version 20080122
 */
 
jQuery(document).ready(function(){ 
	jQuery('#galeria').jcarousel({scroll: 1,itemFirstOutCallback: mycarousel_itemFirstOutCallback,itemVisibleInCallback: {onAfterAnimation:  mycarousel_itemVisibleInCallbackAfterAnimation}});
}); 
function mycarousel_itemFirstOutCallback(carousel, item, idx, state) {
	jQuery('#item_andamento_' + idx).hide();
};
function mycarousel_itemVisibleInCallbackAfterAnimation(carousel, item, idx, state) {
	jQuery('#item_andamento_' + idx).show();
};
 
function limparTextoUsuario()
{
	document.form_login_participante.usuario.value = "";
}
function voltarTextoUsuario()
{
	if(document.form_login_participante.usuario.value == "")
	{
		document.form_login_participante.usuario.value = 'usuario';
	}
}

function limparTextoSenha()
{
	document.form_login_participante.senha.value = "";
	document.form_login_participante.senha.type = "password";
}
function voltarTextoSenha()
{
	if(document.form_login_participante.senha.value == "")
	{
		document.form_login_participante.senha.value = 'senha';
		document.form_login_participante.senha.type = "text";
	}
}

(function($){
	window.Qualitrab = {
		init: function(){
			this.Contato.init();
		},
//		Algumas diretrizes para evitar memory leaks
		unloadPage: function(){
			if ((typeof GBrowserIsCompatible !== "undefined") && (GBrowserIsCompatible()))
				GUnload();
		},
		Contato: {
			init: function(){
				if ($.mask)
					$('form#formContato input#contato_telefone').mask('(99) 9999-9999')
				this.label2InputValue();
				this.focusDefValueField();
				
			},
			label2InputValue: function() {
				$('form#formContato label')
					.each(function(){
						$(this).next(':text,textarea').val(this.innerHTML);
					});
			},
			focusDefValueField: function() {
				$('form#formContato :text,textarea')
					.each(function(){
						$(this).attr('old_val', $(this).val());
					})
					.focus(function(){
						if ($.trim($(this).val()) === $(this).attr('old_val'))
							$(this).val("");
					})
					.blur(function(){
						if ($.trim($(this).val()).length === 0)
							$(this).val($(this).attr('old_val'));
					});
					
			},
			focusFieldsColor: function() {
				$(':text,textarea')
					.focus(function(){$(this).addClass('input_over');})
					.blur(function(){$(this).removeClass('input_over');});
			},
			submit: function(form) {
				var err_msg = null;
				$('form#formContato div.errors').hide();
				$(':text,textarea')
					.each(function(){						
						if (($.trim(this.value).length === 0) || ($.trim(this.value) === $(this).attr('old_val'))) {
							err_msg = "Todos os campos são de preenchiment obrigatório.";
							return false;
						}
					});
				if (err_msg === null) {
					if (!$('form#formContato input#contato_email').val().match(/^[\w\.=-]+@[\w\.-]+\.[\w]{2,3}$/))
						err_msg = "E-mail informado é inválido.";
					else if ($('form#formContato input#contato_telefone').val().replace(/\D/g,"").length !== 10)
						err_msg = "Telefone precisa ser informado no formado DDD + Telefone.";
				}
				if (err_msg) {
					if ($('form#formContato div.errors').size() === 0)
						$('form#formContato').prepend('<div class="errors none"><ol></ol></div>');
					$('form#formContato div.errors ol').empty().append('<li>' + err_msg + '</li>');
					$('form#formContato div.errors').fadeIn('slow');
				} else {
//					Montar requisicao de envio em ajax
					$(form).find('button').after('<br /><span>Enviando mensagem...</span>');
					$.post(
							form.action, 
							$(form).serialize(), 
							function(data){
								if (data.sucesso) {
									$(form).find('button').nextAll('span').remove();
									$(form).find(':text,textarea')
										.each(function(){
											$(this).val($(this).attr('old_val'));
										});
									alert("Mensagem enviada com sucesso.");
								} else
									alert("Ouve um erro ao enviar a mensagem.\nTente novamente mais tarde.");
							}, 
							'json' 
						  );
				}
				return false;
			}
		}
	};
	$(document).ready(function(){Qualitrab.init();});
	$(window).unload(Qualitrab.unloadPage);
})(jQuery);

