/*
	Elite Musical
	...

	por: M2BRNET (http://www.m2brnet.com)
\* ......................................................................................................................................... */

/*
	Namespace
\* ......................................................................................................................................... */

var M2 = {};

/*
	Objects
\* ......................................................................................................................................... */

M2.Util = {

	init: function()
	{
		this.toolTips();
		this.externalLinks();
		this.placeholderSupport();
	},

	externalLinks: function()
	{
		$('a[rel*="external"]').attr('target','_blank');
	},

	placeholderSupport: function()
	{
		var i       = document.createElement('input'),
			support = ('placeholder' in i);

		if (!support)
		{
			$('[placeholder]').focus(function() {
				var input = $(this);
				if (input.val() == input.attr('placeholder'))
				{
					input.val('');
					input.removeClass('placeholder');
				}
			}).blur(function() {
				var input = $(this);
				if (input.val() == '' || input.val() == input.attr('placeholder'))
				{
					input.addClass('placeholder');
					input.val(input.attr('placeholder'));
				}
			}).blur().parents('form').submit(function() {
				$(this).find('[placeholder]').each(function() {
					var input = $(this);
					if (input.val() == input.attr('placeholder'))
					{
						input.val('');
					}
				});
			});
		}
	},

	validaEmail: function(s)
	{
		var regexpEmail = /\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/;
		return regexpEmail.test(s);
	},

	validaCNPJ: function(s)
	{
		var b = [6,5,4,3,2,9,8,7,6,5,4,3,2],
			c = s;

		if((c = c.replace(/[^\d]/g,'').split('')).length != 14) return false;
		for (var i = 0, n = 0; i < 12; n += c[i] * b[++i]);

		if(c[12] != (((n %= 11) < 2) ? 0 : 11 - n)) return false;
		for (var i = 0, n = 0; i <= 12; n += c[i] * b[i++]);

		if(c[13] != (((n %= 11) < 2) ? 0 : 11 - n)) return false;

		return true;
	},

	toolTips: function()
	{
		$('a[rel*="tooltip"]').live({
			mouseenter: function(e)
			{
				var tip = $(this).attr('title');
				$(this).attr('title','');
				$('body').append('<div id="tooltip"><div class="tipBody">' + tip + '</div></div>');
				$('#tooltip').css({
					'top'  : e.pageY - $('#tooltip').outerHeight(true) - 10,
					'left' : e.pageX - $('#tooltip').outerWidth(true) / 2
				}).show();
			},
			mousemove: function(e)
			{
				$('#tooltip').css({
					'top'  : e.pageY - $('#tooltip').outerHeight(true) - 10,
					'left' : e.pageX - $('#tooltip').outerWidth(true) / 2
				});
			},
			mouseleave: function()
			{
				$(this).attr( 'title' , $('.tipBody').html() );
				$('body').children('#tooltip').remove();
			}
		});
	}

};

var doMap = function(lt,lg)
{
	var latlng = new google.maps.LatLng(lt,lg);
	var mapa   = new google.maps.Map( $('#mapa')[0], {
		zoom      : 16,
		center    : latlng,
		mapTypeId : google.maps.MapTypeId.ROADMAP
	});

	new google.maps.Marker({
		map      : mapa,
		position : latlng
	});
}

function cadastraDBMKT(dados /*objeto com os dados a enviar*/)
{
	var chave = '8381de3def20a2dcabc41df476649fab';
	dados['chave'] = chave;
	dados['acao'] = "adicionar";
	dados['ativo'] = 1;
	$.get('http://www.dbmkt.com.br/cadastros/gateway.php', dados);
}

/*
	DOM Loaded
\* ......................................................................................................................................... */

$(function(){

	M2.Util.init();

	$.extend(
		$.colorbox.settings, {
			current  : 'Imagem {current} de {total}',
			previous : 'Anterior',
			next     : 'Próxima',
			close    : 'Fechar'
		}
	);

	$('a.gallery').colorbox();
	$('a.youtube').colorbox({
		iframe      : true,
		innerWidth  : 560,
		innerHeight : 315
	});

	$('#home-slider').carouFredSel({
		items       : 1,
		direction   : 'up',
		auto        : {
			fx            : 'crossfade',
			duration      : 1000,
			pauseDuration : 2000,
			pauseOnHover  : true,
			//delay          : 5000 

		}
	});
	

	$(".slide_rogerio").trigger("play", 3000);

	$('#sel-galeria').change(function(){
		var val = $(this).val();
		if (val && val > 0)
		{
			window.location = raiz_site + 'galeria/' + val;
		};
	});

	$('input.tel').mask('(99) 9999-9999', { placeholder: '*' });
	$('input.cep').mask('99999-999', { placeholder: '*' });
	$('input.data').mask('99/99/9999', { placeholder: '*' });

	$('form.contatos, form.testes, #form-comentarios').submit(function(e)
	{
		var form = $(this),
			erro = false;

		$('*', form).removeClass('inputError');

		$('.required:input', form).each(function(i,v)
		{
			var el     = $(v),
				elName = el[0].nodeName;

			if (elName == 'INPUT' || elName == 'TEXTAREA')
			{
				if (el.val() == '')
				{
					el.addClass('inputError');
					erro = true;
				}
				else
				{
					if (el.hasClass('email'))
					{
						if (!M2.Util.validaEmail(el.val()))
						{
							el.addClass('inputError');
							erro = true;
						}
					};
				}
			};

			if (elName == 'SELECT')
			{
				if (el.val() == '' || el.val() == 0)
				{
					el.addClass('inputError');
					erro = true;
				}
			};
		});

		if (erro)
		{
			msgTopo('Por favor preencha os campos abaixo obrigatórios.', 'erro', 3000);
			e.preventDefault();
		}
		else
		{
			var data   = form.serialize(),
				action = form.attr('action'),
				forma_contato = $(':input[name=forma_contato]', form).val(),
				tipo_teste = $(':input[name=tipo]', form).val();
			
			//if (forma_contato != 'trabalhe-conosco') {
				$.post(action, data, function(retorno)
				{
					var msgSucesso = (tipo_teste == 1 || tipo_teste == 2) ? 'Obrigado pelo cadastro, em breve a Elite Musical entrerá em contato com você para darmos prosseguimento ao seu teste.' : 'Dados enviados com sucesso!';

					switch(retorno) {
						case 'OK':
						msgTopo(msgSucesso, 'msg', 10000);
						$(':input', form).not(':button, :submit, :reset, :hidden').val('').removeAttr('checked').removeAttr('selected').attr('disabled',true);
						break;
						
						default:
						msgTopo('Erro ao enviar, por favor tente novamente.', 'erro', 3000);
					};
				});

				e.preventDefault();
			//}
		};
	});
});
