Index = function(){
	this._data = null;
	this._dataUrl = null;
	this._type = null;
	this._dataSource = null;
	this._handlerSuccess = null;
}

Index.Load = function(){
	var _dados = new Index();
	_dados.initialize();
	return _dados;
}

Index.prototype = {

	initialize: function() {
		this._animacoes();
		$('#submit').bind('click', '', $.createDelegate(this, this._btnEnviarOnClick));
	},

	_animacoes: function() {
		// clientes - efeito link
		$('#clientes').hover(function(){
			$(this).stop()
					.animate({backgroundPosition: '0px -40px'},200)
					.animate({backgroundPosition: '-150px -40px'},1)
					.animate({backgroundPosition: '-150px 0px'},100)
				;
		},function(){
			$(this).stop().animate({backgroundPosition: '0px 0px'},200);
		})
		// portfolio - efeito link
		$('#portfolio').hover(function(){
			$(this).stop()
					.animate({backgroundPosition: '-150px 0px'},200)
					.animate({backgroundPosition: '-150px -80px'},1)
					.animate({backgroundPosition: '0px -80px'},1)
					.animate({backgroundPosition: '0px -40px'},100)
				;
		},function(){
			$(this).stop().animate({backgroundPosition: '0px 0px'},200);
		})
		// form - acessibilidade
		// nome
		$('#nome').hover(
			function(){ if($(this).attr('value') == 'Nome') { $(this).attr('value',''); }; },
			function(){ if($(this).attr('value') == '') { $(this).attr('value','Nome'); };
		})
		// email
		$('#email').hover(
			function(){ if($(this).attr('value') == 'E-mail') { $(this).attr('value',''); }; },
			function(){ if($(this).attr('value') == '') { $(this).attr('value','E-mail'); };
		})
		// mensagem
		$('#mensagem').hover(
			function(){ if($(this).attr('value') == 'Mensagem...') { $(this).attr('value',''); }; },
			function(){ if($(this).attr('value') == '') { $(this).attr('value','Mensagem...'); }; 
		})
	},

	_btnEnviarOnClick: function(value){
		if($('#mensagem').val() == 'Mensagem...' || $('#email').val() == 'E-mail' || $('#tnt').val() != '') {
			var html_message = '';
			html_message = "Verifique seu e-mail e a mensagem a ser enviada.";
			this._aviso(html_message);
		} else {
			$('#loading').show()
			str = {
				nome: $('#nome').val(),
				email: $('#email').val(),
				mensagem: $('#mensagem').val()
			}
			this.executeBind('sendmail.php', str, 'POST', this._dataBind_OnSuccess);
		}
	},
	
	_aviso: function(value) {
		$('#aviso').html(value);
		$('#aviso').slideDown();
		setTimeout(function(){
			$('#aviso').slideUp(800);
		},3000)
	},

	_dataBind_OnSuccess: function(value){
		$('#loading').hide()
		var html_message = '';
		html_message = "Não foi possível enviar sua mensagem. Tente mais tarde!";
		if(value.trim() == 1) { html_message = "E-mail enviado com sucesso! Aguarde nosso retorno em seu e-mail!"; }
		this._aviso(html_message);
	},

	executeBind: function(dataUrl, data, type, handlerSuccess) {
		this._type = type;
		this._dataUrl = dataUrl;
		this._data = data;
		this._handlerSuccess = handlerSuccess;
		this.dataBind();
	},

	dataBind: function() {
		$.ajax({
			type: this._type,
			cache: false,
			data: this._data,
			contentType: "application/x-www-form-urlencoded;charset=utf-8",
			url: this._dataUrl,
			success: $.createDelegate(this, this._handlerSuccess),
			error: $.createDelegate(this, this._dataBind_OnFailure)
		});
	},

	_dataBind_OnFailure: function(e) {
		$('#loading, #aviso').hide();
	}

}

$(document).ready(function() {
	Index.Load();
});

