/***
* features
*/
hashList = ['#solucao-e-controle-total', '#relatorios-completos', '#comportamento-de-cliques', '#higienizacao-da-base', '#visualizacao-descomplicada'];
$(document).ready(function () {
	index = $.inArray(location.hash, hashList);
	if (index >= 0)
		changeFeature(index);
});

function changeFeature (index) {
	var hPosition = -549;
	var scrollTo = index > 0 ? index * hPosition : 0;
	$('#features').animate({
		top: scrollTo + 'px'
	});
	GA.track('/dtdlistas/funcionalidades/' + location.hash.replace(/#/gi, '').replace(/-/gi, ' '));
}

$('#options li').click(function () {
  var index = $(this).index();
  changeFeature(index);
});


/***
* faq
*/
$('#faq ul li').click(function () {
  // reset default
  $('#faq ul li').css('background-position', '856px 0');
  $('#faq ul li p').slideUp();

  // set custom
  $(this).css('background-position', '856px -42px');
  if($(this).find('p').css('display') == 'none')
    $(this).find('p').slideDown();
  else
    $('#faq ul li p').slideUp('fast', function () {
      $(this).parent().css('background-position', '856px 0');
    });
});


/***
* over menu
*/
$('#header ul li').mouseover(function() {
  $(this).find('span.inactive').show();
});

$('#header ul li').mouseout(function() {
  $(this).find('span.inactive').hide();
});


/***
* menu click
*/
$('#header ul li').click(function() {
  window.location = $(this).find('a').attr('href');
});


/***
* send form message
*/
$('form').ajaxStart(function () {
	$('form').find('p,label,select,textarea,input[type=submit],input[type=text]').animate({opacity: 0.3}).attr('disabled', 'disabled');
});

jQuery.validator.messages.required = "";
jQuery.validator.messages.email = "";
$('form').validate({
  submitHandler: function (form) {
    $.post('data.php', $(form).serialize(), function(result) {
      if (parseInt(result) == 1) {
	  	formType = $('form').find('input[name=type]').val();
		formType == 'proposal' ? GA.track('/dtdlistas/solicitar proposta/enviado') : GA.track('/dtdlistas/contato/enviado');
        $('form').slideUp('fast', function () {
          $(window).scrollTo('#content', 400);
          $('.result').slideDown();
        });
      }
    });
  },
  highlight: function(element, errorClass) {
    $(element).addClass(errorClass);
  },
  unhighlight: function(element, errorClass) {
    $(element).removeClass(errorClass);
  }
});


/***
* contact maps
*/
function officeMap(city) {
  var lat, lng, content;
  if (city == 'sao-paulo') {
    lat = -23.593397;
    lng = -46.68722;
    content = '<p><strong>Rua Helena, 280 conj. 304</strong><br />04552-050 - <br />São Paulo - SP<br />11 25063700<br />Suporte SP 4002 8700</p>';
  } else {
    lat = -30.042452;
    lng = -51.180089;
    content = '<p><strong>Av. Protásio Alves, 2854 conj. 504</strong><br />Rio Branco - 90410-006<br />Porto Alegre - RS<br />51 33873700</p>';
  }

  var office = new google.maps.LatLng(lat, lng);
  var map, marker, info;
  var options = {
    zoom: 14,
    center: office,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };

  map = new google.maps.Map(document.getElementById("map-canvas"), options);
  marker = new google.maps.Marker({
      position: office, 
      map: map
  });
  
  marker.setMap(map);
  infowindow = new google.maps.InfoWindow({
    content: content
  });
  infowindow.open(map,marker);
  GA.track('/dtdlistas/contato/mapas/' + city + '/acesso');
}

$('#contact-map').find('a[href=contato-mapa.html#porto-alegre]').click(function () {
  officeMap('porto-alegre');
});

$('#contact-map').find('a[href=contato-mapa.html#sao-paulo]').click(function () {
  officeMap('sao-paulo');
});

$('#contact-map').ready(function() {
  officeHash = location.hash.replace('#', '');
});

$(window).load(function() {
  if ($(document.body).attr('id') == 'contact-map')
    officeMap(officeHash);
});


/***
 * GoogleAnalytics
 */
function GoogleAnalytics (UA) {
  GAnalytics = _gat._getTracker(UA);
  GAnalytics._setDomainName('none');
  GAnalytics._setAllowLinker(true);
  GAnalytics._initData();
}

GoogleAnalytics.prototype.track = function (action) {
  return (action) ? GAnalytics._trackPageview(action) : GAnalytics._trackPageview();
}

var GA = new GoogleAnalytics('UA-3525338-1');
