//FLASH PROXY FUNCTIONS
function soundIsBuffering(val)
{
	$.fn.soundIsBuffering(val);
}
function soundComplete()
{
	$.fn.soundComplete();
}

$(function(){

	/* PNG fix */
	if (typeof($.ifixpng) == "function") {
		$.ifixpng('../images/global/transparent.gif');
		$("img[src$='.png'], .menu_1 a, .menu_2 a, .menu_3 a, ul.highlightsContainer, ul.highlightsContainer li, ul.highlightsContainer li a, .latestNews li a, div.anythingSlider, div.anythingSlider .thumbNav a").ifixpng();
	};
	
	//FLASH background
	function cancelFunction() {
        alert("Cancelou a instalação do Flash Player!");
	}
	if (swfobject.hasFlashPlayerVersion("9.0.0")) {
		//background
        var bg = function() {
			var flashHeight = $("#pageTopBackground").height();
			var att = { data:"../flash/background_adjustable.swf", width:"1600", height: flashHeight };
			var par = {wmode:"opaque"};
			var id = "pageTopBackground";
			swfobject.createSWF(att, par, id);
        };
        //logo
        var logo = function() {
			var att = {data:"../flash/logo.swf", width:"100%", height:"100%"  };
			var par = {wmode:"transparent", flashvars:"linkURL="+$('#logoContainer').attr("href")+"&linkTRG=_self"};
			var id = "logoContainer";
			swfobject.createSWF(att, par, id);
        };
	}
	else {
		//background
		$("#pageTopBackground").css({"background-color": "#ffffff", "background-image": "url('../images/global/background_content.jpg')", "background-repeat": "no-repeat", "background-position": "center bottom"});
		var bg = function() {
			var att = { data:"../flash/expressInstall.swf", width:"1600", height:"100%" };
			var par = {};
			var id = "pageTopBackground";
			swfobject.showExpressInstall(att, par, id, cancelFunction);
		}
		//logo
		$("#logoContainer").css({"background-image": "url('../images/global/logo.png')", "background-repeat": "no-repeat", "background-position": "center center"});
		
	}
	swfobject.addDomLoadEvent(bg);
	swfobject.addDomLoadEvent(logo);
	
	//GENERIC FUNCTIONS
	/* makes an object from an URL */
	function getSearchHash() {
	  var hash = {};
	  location.search.replace(new RegExp( "([^?=&]+)(=([^&amp;]*))?", "g" ),function( $0, $1, $2, $3 ){
		hash[$1] = $3;
	  })
	  return hash;
	}
	
	//FONT REPLACE
	Cufon.replace('ul.topMenu, h1, h2, h3, .convertFont', {hover: true});
	
	//INPUT'S HOVER AND OUT
	if($("input, select, textarea").length) {
		$("input[type='text'], input[type='password'], select, textarea").focus(function() {
			$(this).addClass("inputFocus");
		});
		$("input[type='text'], input[type='password'], select, textarea").blur(function() {
			$(this).removeClass("inputFocus");
		});
	};
	
	//HOMEPAGE
	if($('.homepage').length)
	{
		var $topMenu = $('.topMenu');
		//highligh columns hover
		$('.highlightsContainer').find('li').find('a').hover(
			function()
			{
				//show content
				var $this = $(this);
				var $content = $this.find('.content');
				var $neededHeight = parseInt($content.height());
				var $topDistance = 223; //defined directly so it wont affect if item is still animating and outputs a different top on css
				var $animatePx = $topDistance - $neededHeight;
				$content.stop().animate({'top': $animatePx});
				//set hover on the menu too
				var $topMenu = $('.topMenu');
				var $thisIndex = $('.highlightsContainer').find('li').index($this.parent('li'));
				$topMenu.find('li:eq('+ $thisIndex +')').toggleClass('active');
				Cufon.replace('ul.topMenu', {hover: true});
			},
			function()
			{
				//hide content
				var $this = $(this);
				var $content = $this.find('.content');
				$content.stop().animate({'top': '223px'});
				//set hover on the menu too
				var $thisIndex = $('.highlightsContainer').find('li').index($this.parent('li'));
				$topMenu.find('li:eq('+ $thisIndex +')').toggleClass('active');
				Cufon.replace('ul.topMenu', {hover: true});
			}
		);
		
		//menu hover triggers highlight columns hover
		$topMenu.find('li').find('a').hover(
			function()
			{
				var $this = $(this);
				var $thisIndex = $topMenu.find('li').index($this.parent('li'));
				$('.highlightsContainer').find('li:eq('+ $thisIndex +')').find('a').mouseover();
			},
			function()
			{
				var $this = $(this);
				var $thisIndex = $topMenu.find('li').index($this.parent('li'));
				$('.highlightsContainer').find('li:eq('+ $thisIndex +')').find('a').mouseout();
			}
		);
		
		//slider
		$('.highlightsSlider').anythingSlider({
			buildNavigation: true,
			hashTags 	   : false,
			delay 	       : 7000,
			pauseOnHover   : true
		});
	}
	
	//LATERAL MENU
	if($("ul.lateralMenu").length) {
		$(".lateralMenu li ul").hide();
		$(".lateralMenu li.submenu").find(".less").hide();
		$(".lateralMenu li.submenu").hoverIntent({
			sensitivity: 5,
			interval: 150,
			over: function(){
				$(this).find(".plus:eq(0)").hide();
				$(this).find(".less:eq(0)").show();
				$(this).find("ul:eq(0)").slideDown();
			},
			timeout: 300, 
			out: function(){
				if(!$(this).is('.opened')){
					$(this).find(".less:eq(0)").hide();
					$(this).find(".plus:eq(0)").show();
					$(this).find("ul:eq(0)").slideUp();
				}
			}
		});

		//INIT
		function getHttpVars(){
			var vars = [], value;
			var keys = location.search.slice(1).split('&');
			for(var i = 0; i < keys.length; i++){
				value = keys[i].split('=');
				value[1] = unescape(value[1]);
				vars.push(value[0]);
				vars[value[0]] = value[1];
			}
			return vars;
		}

		var get = getHttpVars();
		(location.search) ? elm = $('.item_id_'+get['item_id']+', .e_type_'+get['e_type']+', .cp_type_'+get['cp_type']+', .map_type_'+get['map_type']) : elm = $("a[href='.."+location.pathname+"']");
		elm.each(function(){
			if($(this).parents('li').length>1){
				$(this).addClass('active');
			} else if(!location.search){
				$(this).addClass('active');
			}
			$(this).parents('li').each(function(i){
				$(this).addClass('opened');
				$(this).find('.plus:eq(0)').hide();
				$(this).find('.less:eq(0)').show();
				$(this).find('ul:eq(0)').show();
			});
		});

	}
	
	//EMPREENDIMENTOS ITEM SECTION IMAGE SPACMENT
	if($(".itemSectionImg").length) {
		$(".itemSectionImg:eq(1), .itemSectionImg:eq(4)").css("margin","0 6px 10px 6px");
	}
	
	//MAP FILTERS
	if($("form[name='filterMap']").length) {
		$("form[name='filterMap']").find("input[type='checkbox']").each(function(){
			$(this).click(function(){
				//var refreshState = sendMapInfoToJson();
				refreshState();
			});
		});
	}
	
	//TABS
	if($(".tabs").length) {
		$(".tabs").tabs({
			select: function(event, ui) {
				var url = $.data(ui.tab, 'load.tabs');
				if( url ) {
					location.href = url;
					return false;
				}
				return true;
			}
		});
		$(".tabs").find("ul.sections li:first a").addClass("first");
	}
	
	//SECTION SELECT MENU	
	if($(".sectionSelect").length) {
		$("select[name='sectionMenu'] option:first").addClass("first");
		$("select[name='sectionMenu']").change(function(){
			$(this).find("option:selected").each(function(){
				if($(this).val() !== ""){
					var url = $(this).val();
					window.location.assign(url);
				}
			});
		});
	}
	
	//INFO TECNICA CSS CROSS-BROWSER EXCEPTION
	if($("#contentContainer .info-tecnica dl").length) {
		$("#contentContainer .info-tecnica dl").each(function(){
			$(this).find("dt:first, dd:first").css("border-top", "none");
		});
	}
	
	//IMAGE GALLERY
	if($("ul.itemImageGallery").length) {
		/*
		$("ul.itemImageGallery li").eq(1).css({"margin": "0 11px 11px 11px"});
		$("ul.itemImageGallery li").eq(4).css({"margin": "0 11px 11px 11px"});
		$("ul.itemImageGallery li").eq(7).css({"margin": "0 11px 11px 11px"});
		$("ul.itemImageGallery li").eq(10).css({"margin": "0 11px 11px 11px"});
		$("ul.itemImageGallery li").eq(13).css({"margin": "0 11px 11px 11px"});
		$("ul.itemImageGallery li").eq(16).css({"margin": "0 11px 11px 11px"});
		$("ul.itemImageGallery li").eq(19).css({"margin": "0 11px 11px 11px"});
		*/
	}
	if($(".selectDate").length) {
		$(".selectDate select").change(function(){
			$(this).find("option:selected").each(function() {
				$(".selectDate").submit();
			});
		});
	}
	
	//FAQS
	if($(".faqs").length) {	
		if(location.hash != undefined && location.hash != '') {
			$("dl").each(function(){
				if($(this).find("dt").find("a").attr("href") != location.hash) {
					$(this).find("dd").hide().parents("dl").addClass("closed");
				}
				else {
					$(this).find("dd").hide().parents("dl").removeClass("closed").find("dd").slideDown();
					$(document).scrollTop($(this).position().top);
				}
			});
		} else {
			$("dl").find("dd").hide().parents("dl").addClass("closed");
		}
		
		$("dl").find("dt").find("a").click(function(e){
			e.preventDefault();
			if($(this).parents("dl").hasClass("closed")){
				$(this).parents(".faqs").find("dl").not(".closed").find("dd").slideUp().parents("dl").addClass("closed");
				$(this).parents("dl").find("dd").slideDown().parents("dl").removeClass("closed");
			} else {
				$(this).parents("dl").find("dd").slideUp().parents("dl").addClass("closed");
			}
		});
	}
	
	//COLLAPSE CONTENT
	if($(".colapse").length) {
		$(".colapse").removeClass("active");
		$(".content").hide();

		$(".colapse").click(function(event){
			event.preventDefault();
			if($(this).next(".content").is(".lastOpen")){
				$(".colapse").removeClass("active");
				$(".lastOpen").slideUp("slow").removeClass("lastOpen");
			} else {
				$(".colapse").removeClass("active");
				$(this).addClass("active");
				$(".lastOpen").slideUp("slow").removeClass("lastOpen");
				$(this).next(".content").slideToggle("slow").addClass("lastOpen");
			}
		});
	}
	
	$('#contentContainer dl.colapsibleContent dt').css("cursor","pointer").each(function(){
		$(this).next('dd').hide();
		$(this).click(function(){
			$(this).next('dd').slideToggle();
			$(this).siblings('dd').not($(this).next('dd')).slideUp();
		});
	});
	
	//PEDIDO DE VISITA EMPREENDIMENTO
	if($(".pedidoVisita").length) {
		$("select[name='empreendimento'] option:not('."+$("input[name='type']:checked").val()+"')").hide();
		$("input[name='type']").change(function() {
			$("select[name='empreendimento'] option").show().not('.'+$("input[name='type']:checked").val()).hide();
		});
	}
	
	//FORM VALIDATION
	if($("form.validate").length){
		if($(".forceValidation").length){ $(".forceValidation").attr("validate", "required:true"); }
		$("form.validate").each(function(){
			$(this).validate({
				errorElement: "span",
				errorClass: "errorMsg",
				errorPlacement: function(error, element, errorClass) {
					error.appendTo(element.parent().find(".errorContainer"));
				},
				highlight: function(element) {
					$(element).addClass("errorInput");
					$(element).prev("label").addClass("necessary");
				},
				unhighlight: function(element) {
					$(element).removeClass("errorInput");
					$(element).prev("label").removeClass("necessary");
				},
				rules: {
					empreendimento: { required: true },
					instituicao: { required: true },
					num_alunos: { required: true, number: true },
					nome: { required: true },
					email: { required: true, email: true },
					razao: { required: true },
					mensagem: { required: true }
				},
				messages: {
					empreendimento: "(obrigat&oacute;rio)",
					instituicao: "(obrigat&oacute;rio)",
					num_alunos: { required: "(obrigat&oacute;rio)", number: "(apenas n&uacute;meros)" },
					nome: "(obrigat&oacute;rio)",
					email: { required: "(obrigat&oacute;rio)", email: "(e-mail inv&aacute;lido)" },
					razao: "(obrigat&oacute;rio)",
					mensagem: "(obrigat&oacute;rio)"
				}
			});
		});
	}
	
	//ARQUIVO DE CONTEUDOS
	var $audioList = $('.ac_audioList');
	if($audioList.length)
	{
		//insert player
		var player = function() {
			var att = {data:"../flash/soundPlayer.swf", width:"20", height:"20"};
			var par = {wmode: "opaque", allowScriptAccess: "always"};
			var id = "soundPlayer";
			swfobject.createSWF(att, par, id);
        };
        swfobject.addDomLoadEvent(player);
        
        $.fn.soundIsBuffering = function(val)
        {
        	console.log(val);
        	if(val == true)
        	{
        		$audioList.find('.active').addClass('loading');
        	}
        	else
        	{
        		$audioList.find('.active').removeClass('loading');
        	}
        }
        $.fn.soundComplete = function()
        {
        	$audioList.find('a').removeClass('pauseBtn active');
        }
		
		var $playBtn = $audioList.css('background-image');
		
		$audioList.find('a').click(function(e)
		{
			e.preventDefault();
			var $this = $(this);
			if($this.is('.active'))
			{
				$this.removeClass('pauseBtn active').addClass('lastPlayed');
				document.getElementById('soundPlayer').stopSound();
			}
			else
			{
				if($this.is('.lastPlayed'))
				{
					document.getElementById('soundPlayer').resumeSound();
				}
				else
				{
					document.getElementById('soundPlayer').playSound($this.attr('href'));
				}
				
				$audioList.find('.active').removeClass('pauseBtn active loading lastPlayed');
				$this.addClass('pauseBtn active');
			}
		});
	}
	
});


$(document).ready(function() {
	$('#newsletterSignup').submit(function() {
		var $this = $(this);
		// update user interface
		$this.find('.status').html('A subscrever...');
		
		// Prepare query string and send AJAX request
		$.ajax({
			url: '../include/store-address.php',
			data: 'ajax=true&email=' + escape($('#email').val()) + '&nome=' + escape($('#nome').val()),
			success: function(msg) {
				$this.find('.status').html(msg);
			}
		});
	
		return false;
	});
});
