


// UTILS
function isiPhone(){
    return (
        (navigator.platform.indexOf("iPhone") != -1) ||
        (navigator.platform.indexOf("iPod") != -1)
    );
}
function isiPad(){
    return (
        (navigator.platform.indexOf("iPad") != -1)
    );
}
// SCROLLADOR
function scrollTo ($id, $tempo, $axys)
{
	if($tempo==null) $tempo=800;
	if($axys==null) $axys='y';
	
	$.scrollTo($id, $tempo, {axis:$axys});
}



// INIT
$(function()
{

	// EXIBE CONTATOS NOS PERFIS
	$(".linkContatos").tooltip({
		position: "top center",
		direction: 'up',
		effect: 'slide',
		bounce: true,
		delay: 1000,
		offset: [15, 0],
		tipClass: "tooltipContatos",
		relative: true,
		events: {
		  def: "click, mouseout",
		},
		onBeforeShow: function() {
			this.getTrigger().fadeTo("slow", 0.5);
			this.getTip().focus();
		},
		onBeforeHide: function() {
			this.getTrigger().fadeTo("slow", 1);
		}
	}).dynamic({
		bottom: { direction: 'down', bounce: true, offset: [-5, 0], },
		left: { direction: 'left', bounce: true, offset: [0, 0], }
	});
	
	
	// DESATIVA RIGHT-CLICK NAS IMAGENS
	$('img').bind('contextmenu', function(e){
		return false;
	});
	
	
	// FAQ
	$('.faq h4').each(function()
	{
		var tis = $(this), state = false, answer = tis.next('div').hide().css('height','auto').slideUp();
		tis.click(function() {
			if(tis.parent().hasClass('accordion')){
				closeFaqOpened(tis);
				lastFaqOpened = tis;
			}
			state = !state;
			answer.slideToggle(state);
			tis.toggleClass('active',state);
		});
	});
	
	var lastFaqOpened;
	function closeFaqOpened (faqOpening){
		if(lastFaqOpened)
		{
			var answerOpened = lastFaqOpened.next('div');
			var openingAnswer = faqOpening.next('div');
			
			if(faqOpening != lastFaqOpened){
				lastFaqOpened.removeClass('active');
				answerOpened.slideUp();
			}
		}
	}
	
	// EXPANDER
	$('div.perfil.facilitador p').expander({
		slicePoint: 270,
		expandText: 'Ler mais',
		expandPrefix: '[…] ',
		userCollapseText: '[Fechar]'
	});
	$('.bio p').expander({
		slicePoint: 130,
		expandText: 'Ler mais',
		expandPrefix: '[…] ',
		userCollapseText: '[Fechar]'
	});
	
	// CRIA MOVIMENTO AO CLICAR NOS LINKS "VOLTAR PRO TOPO"
		$('a[href=#top]').click(function(){
			$('html, body').animate({scrollTop:0}, 'slow');
			return false;
		});
	
	// CONFIGURA O FANCYBOX (LIGHTBOX)
	$("a.fancybox").fancybox({
		'transitionIn'	: 'elastic',
		'transitionOut'	: 'elastic',
		'titlePosition'	: 'over',
		'overlayColor'	: '#000',
		'overlayOpacity': 0.7
	});
	$("a.iframebox").fancybox({
		'transitionIn'	: 'elastic',
		'transitionOut'	: 'elastic',
		'overlayColor'	: '#000',
		'overlayOpacity': 0.7,
		'autoDimensions': false,
		'width'			: '90%',
		'height'		: '90%',
		'type'			: 'iframe'
	});
});


// CONSTANTES
var markerVilaMadalena = ['<h2>Unidade Vila Madalena</h2>Rua Engenheiro Azevedo, 524<br><a href="unidades/vila-madalena">Veja os terapeutas desta unidade</a>', -23.54298,-46.691691 ];
var markerVilaMariana = ['<h2>Unidade Vila Mariana</h2>Rua Angelina Santisi, 74<br><a href="unidades/vila-mariana">Veja os terapeutas desta unidade</a>', -23.586997,-46.64649 ];
var markerParaiso = ['<h2>Unidade Paraíso</h2>Rua Prof. Alexandre Albuquerque, 48<br><a href="unidades/paraiso">Veja os terapeutas desta unidade</a>', -23.575099,-46.649559];
var markerBrooklin = ['<h2>Unidade Campo Belo (Brooklin)</h2>Rua João de Souza Dias, 962<br><a href="unidades/brooklin">Veja os terapeutas desta unidade</a>', -23.618025,-46.675844 ];
var markerFreiCaneca = ['<h2>Unidade Frei Caneca</h2>Rua Itararé, 300<br><a href="unidades/frei-caneca">Veja os terapeutas desta unidade</a>', -23.555389,-46.655285];
var markerRibeiraoPreto = ['<h2>Unidade Ribeirão Preto</h2>Rua Piracicaba, 816<br><a href="unidades/ribeirao-preto">Veja os terapeutas desta unidade</a>', -21.177309,-47.792759 ];
var markerCamposDoJordao = ['<h2>Campos do Jordão</h2><a href="unidades/campos-do-jordao">Veja os terapeutas nesta cidade</a>', -22.738658,-45.592202 ];
var markerBeloHorizonte = ['<h2>Belo Horizonte</h2><a href="unidades/belo-horizonte">Veja os terapeutas nesta cidade</a>', -19.932508,-43.922367 ];
var markerBrasilia = ['<h2>Brasília</h2>Quadra SMLN MI Trecho LT 05, nº 206 - Chácara - Lago Norte<br><a href="unidades/brasilia">Veja os terapeutas nesta cidade</a>', -15.739425, -47.828743 ];
var markerCuiaba = ['<h2>Cuiabá</h2><a href="unidades/cuiaba">Veja os terapeutas nesta cidade</a>', -15.598917,-56.094894 ];
var markerCuritibaCentroCivico = ['<h2>Curitiba - Centro Cívico</h2>Rua São Pio X, 280<br><a href="unidades/curitiba"><a href="unidades/curitiba">Veja os terapeutas desta unidade</a>', -25.408175,-49.263222 ];
var markerCuritibaSeminario = ['<h2>Curitiba - Seminário</h2>Rua Pretextato Taborda Júnior, 1099<br><a href="unidades/curitiba"><a href="unidades/curitiba">Veja os terapeutas desta unidade</a>', -25.465414,-49.310854 ];
var markerFlorianopolis = ['<h2>Florianópolis</h2><a href="unidades/florianopolis">Veja os terapeutas nesta cidade</a>', -27.612297,-48.549166 ];
var markerGoiania = ['<h2>Goiânia</h2><a href="unidades/goiania">Veja os terapeutas nesta cidade</a>', -16.677715,-49.26763 ];
var markerJoaoPessoa = ['<h2>João Pessoa</h2><a href="unidades/joao-pessoa">Veja os terapeutas nesta cidade</a>', -7.11532,-34.861051 ];
var markerNatal = ['<h2>Natal</h2><a href="unidades/natal">Veja os terapeutas nesta cidade</a>', -5.794478,-35.210953 ];
var markerPortoAlegre = ['<h2>Porto Alegre</h2>Rua Eng. Joao Luderitz, 435<br><a href="unidades/porto-alegre">Veja os terapeutas nesta cidade</a>', -30.007012,-51.135323 ];
var markerRecife = ['<h2>Recife</h2><a href="unidades/recife">Veja os terapeutas nesta cidade</a>', -8.054278,-34.881256 ];
var markerRioDeJaneiro = ['<h2>Rio de Janeiro</h2><a href="unidades/rio-de-janeiro">Veja os terapeutas nesta cidade</a>', -22.903539,-43.209587 ];
var markerSalvador = ['<h2>Salvador</h2><a href="unidades/salvador">Veja os terapeutas nesta cidade</a>', -12.970382,-38.512382 ];
var markerVitoria = ['<h2>Vitória</h2><a href="unidades/vitoria">Veja os terapeutas nesta cidade</a>', -20.31536,-40.301767 ];
var unidadesSP = [
						markerVilaMadalena,
						markerVilaMariana,
						markerParaiso,
						markerBrooklin,
						markerFreiCaneca
						];
var unidadesBrasil = [
						markerVilaMadalena,
						markerVilaMariana,
						markerParaiso,
						markerBrooklin,
						markerFreiCaneca,
						markerBeloHorizonte,
						markerBrasilia,
						markerCuritibaCentroCivico,
						markerCuritibaSeminario,
						markerFlorianopolis,
						markerGoiania,
						markerNatal,
						markerPortoAlegre,
						markerRecife,
						markerRioDeJaneiro,
						markerSalvador,
						markerVitoria
						];


// CONSTRUIDOR DE MAPAS
function buildMap(locations, divId)
{
	var mapOptions = {
			mapTypeControl: false,
		streetViewControl: false
		};
	var map = new google.maps.Map(document.getElementById(divId), mapOptions);
	map.setMapTypeId (google.maps.MapTypeId.ROADMAP);
	
	var infowindow = new google.maps.InfoWindow();
	var marker, i;
	var locationsLength = locations.length;
	
	for (i = 0; i < locationsLength; i++) {	
		marker = new google.maps.Marker({
			position: new google.maps.LatLng(locations[i][1], locations[i][2]),
			map: map
		});
		
		google.maps.event.addListener(marker, 'click', (function(marker, i) {
			return function() {
				infowindow.setContent(locations[i][0]);
				infowindow.open(map, marker);
			};
		})(marker, i));
	}
	
	var latlngbounds = new google.maps.LatLngBounds();
	for (i = 0; i < locationsLength; i++ )
	{
		latlngbounds.extend( new google.maps.LatLng(locations[i][1], locations[i][2]) );
	}
	map.setCenter (latlngbounds.getCenter());
	map.fitBounds (latlngbounds);
	
	// caso só tenha 1 local, deixa o zoom mais longe pra melhorar visualização
	if (locationsLength == 1)
	{
		var listener = google.maps.event.addListener(map, "idle", function() { 
			if (map.getZoom() > 16) map.setZoom(16); 
			google.maps.event.removeListener(listener); 
		});
	}
}


//_______________________________ HEADER FIXO DOS FILTROS

function UpdateTableHeaders()
{
	if (filtrou == false)
	{
		$(".persist-area").each(function()
		{
			var header			= $(this),
				headerOffsetTop	= header.offset().top,
				scrollTop		= $(window).scrollTop(),
				persistHeader	= $(".persist-header", this),
				floatingHeader	= $(".floatingHeader", this),
				marginTop		= parseInt(floatingHeader.css("margin-top"), 10),
				/* newScrollTop com +37 = GAMBIARRA PRA NÃO FICAR ATRÁS DO MENU PRINCIPAL */
				newScrollTop	= scrollTop + marginTop + 37;
			
			if ((newScrollTop > headerOffsetTop) && (newScrollTop < headerOffsetTop + header.height()))
			{
				persistHeader.css({ "visibility": "hidden" });
				floatingHeader.css({ "visibility": "visible" });
			}
			else
			{
				persistHeader.css({ "visibility": "visible" });
				floatingHeader.css({ "visibility": "hidden" });      
			};
		});
	}
}

// DOM Ready
var clonedHeader;
$(function()
{
	if (!isiPhone())
	{
		$(".persist-area").each(function() {
			clonedHeader = $(".persist-header", this);
			clonedHeader
				.before(clonedHeader.clone())
				.css("width", clonedHeader.width())
				.addClass("floatingHeader");
			
		});
		
		if ($(".persist-area").length != 0) {
			$(window)
				.scroll(UpdateTableHeaders)
				.trigger("scroll");
		}
	}
});


// MÉTODOS AUXILIARES
function randomBetween(from, to){
	return Math.floor(Math.random() * (to - from + 1) + from);
}

function randomChance (chance)
{
	return (Math.random() < chance);
}






/*
CSS Browser Selector v0.4.0 (Nov 02, 2010)
Rafael Lima (http://rafael.adm.br)
http://rafael.adm.br/css_browser_selector
License: http://creativecommons.org/licenses/by/2.5/
Contributors: http://rafael.adm.br/css_browser_selector#contributors
*/
function css_browser_selector(u){var ua=u.toLowerCase(),is=function(t){return ua.indexOf(t)>-1},g='gecko',w='webkit',s='safari',o='opera',m='mobile',h=document.documentElement,b=[(!(/opera|webtv/i.test(ua))&&/msie\s(\d)/.test(ua))?('ie ie'+RegExp.$1):is('firefox/2')?g+' ff2':is('firefox/3.5')?g+' ff3 ff3_5':is('firefox/3.6')?g+' ff3 ff3_6':is('firefox/3')?g+' ff3':is('gecko/')?g:is('opera')?o+(/version\/(\d+)/.test(ua)?' '+o+RegExp.$1:(/opera(\s|\/)(\d+)/.test(ua)?' '+o+RegExp.$2:'')):is('konqueror')?'konqueror':is('blackberry')?m+' blackberry':is('android')?m+' android':is('chrome')?w+' chrome':is('iron')?w+' iron':is('applewebkit/')?w+' '+s+(/version\/(\d+)/.test(ua)?' '+s+RegExp.$1:''):is('mozilla/')?g:'',is('j2me')?m+' j2me':is('iphone')?m+' iphone':is('ipod')?m+' ipod':is('ipad')?m+' ipad':is('mac')?'mac':is('darwin')?'mac':is('webtv')?'webtv':is('win')?'win'+(is('windows nt 6.0')?' vista':''):is('freebsd')?'freebsd':(is('x11')||is('linux'))?'linux':'','js']; c = b.join(' '); h.className += ' '+c; return c;}; css_browser_selector(navigator.userAgent);

