/**
 * @author CUBOCC
 */ 
var _adcast = {
	onBefore: function(){},
	onAfter: function(){}
};

var estrutura = {
	init: function(){
		$(document).trigger("estruturaLoaded");
		estrutura.bodyScroll();
		estrutura.footer();
		estrutura.menu();
		estrutura.adcast();
		$('a[rel=blank]').attr('target', '_blank');
		
		//trackers menu
		$('#menu .marcas a.link-marcas').click(function(){estrutura.trackEvents('menu', 'nossos_sorvetes');});
		$('#menu .marcas .sub-menu li a').click(function(){estrutura.trackEvents('menu', 'nossos_sorvetes_' + $(this).attr('class').split(' ')[0]);});
		$('#menu .kibon a.link-kibon').click(function(){estrutura.trackEvents('menu', 'kibon');});
		$('#menu .kibon .sub-menu li a').click(function(){estrutura.trackEvents('menu', 'kibon_' + $(this).attr('class').split(' ')[0]);});
		$('#menu .receitas a').click(function(){estrutura.trackEvents('menu', 'receitas');});
		$('#menu .planeta_feliz a.link-planeta_feliz').click(function(){estrutura.trackEvents('menu', 'planeta_feliz');});
		/*$('#menu .sub-menu a.kibon_no_mundo').click(function(){estrutura.trackEvents('menu', 'kibon_no_mundo');});*/
		$('#menu .link-promocao_70_anos').click(function(){estrutura.trackEvents('menu', '70anos');});
		$('#menu .promocaeo_potes').click(function(){estrutura.trackEvents('menu', '70anos-potes');});
		$('#menu .promocaeo_palito_premiado').click(function(){estrutura.trackEvents('menu', '70anos-palito');});
		$('#menu .buscar a.link-buscar').click(function(){estrutura.trackEvents('menu', 'buscar');});
	
		//trackers footer
		$('#footer .lnk-unilever a').click(function(){estrutura.trackEvents('rodape', 'logo-unilever');});
		$('#footer .facebook').click(function(){estrutura.trackEvents('rodape', 'like-sitekibon');});
		$('#footer ul li a').click(function(){estrutura.trackEvents('rodape' , $(this).attr('href'))});
	},
	
	adcast: function(){
		$('#adcast ul').cycle({
			fx: 'scrollLeft',
			speed: 800,
			timeout: 7000,
			pager: '#pager',
			before: _adcast.onBefore,
			after : _adcast.onAfter
			
		});
	},
	
	menu: function(){
		$("#menu .sub-menu").prev().click(function () {
			$(this).next().slideToggle("slow", function(){
      			if($(this).parent().hasClass('close')){
	      				$(this).parent().removeClass('close').addClass('open');
				}else{
					$(this).parent().removeClass('open').addClass('close');
				}
			});
	    });
	},
	
	bodyScroll: function(){
		$('<a />').attr({'class':'lnk-top rpc', 'href':'javascript:void[0];', 'title':'topo'})
		.text('topo').appendTo('#wrapper')
		.bind({'click': function(){
			$('html, body').animate({scrollTop:0}, {duration:900, queue:false, easing:'easeInOutQuint'});
		}});
		
		$(document).scroll(function(){
		 	if($(document).scrollTop() > 300){
				$('.lnk-top').fadeIn('slow');
			} else {
				$('.lnk-top').fadeOut('slow');
			}
		});
	},
	
	tracker: function(action){
		_gaq.push(['_trackPageview', action]);
	},
	
	trackEvents: function(category, action, label, value){
		label = label?label:'';
		value = value?value:0;
		_gaq.push(['_trackEvent', category, action, label, value]);
	},
	
	
	footer: function(){
		$('#footer div ul').lightHover().find('li a').not('a[rel=not]').bind('click', modal.init);
	}
};

var modal = {
	init: function(){
		if($('.cortina').length == 0){
			$('<div class="cortina" />').css({height: $(document).height(), opacity: '0.7'}).appendTo('body');
			$('<div id="modal" />').appendTo('body');
		}
		
		link = config.site_url + 'globais/' + $(this).attr('href');
		
		$('.cortina').removeClass('load').fadeIn('normal', function(){
			
			$('#modal').load(link, function(){
				var _top = $(document).scrollTop() + (($(window).height() - $(this).height())/2);
				$(this).css({ top:_top }).fadeIn('normal').find('.lnk-fechar').bind('click', modal.close);
				//validar de onde vem o click para acionar as funccoes. nok
				$(this).find('.scroll').jScrollPane({
					showArrows: true,
					verticalGutter: 30
				});
				//validar de onde vem o click para acionar as funccoes. nok
				$(this).find('.fale-conosco ul.links li a').bind('click', modal.faleConosco);
				
				$('.cortina').addClass('load');
			});
		});
		
		return false;
	},
	
	close: function(){
		$(this).parent().parent().fadeOut('normal', function(){
			$(this).empty();
			$('.cortina').fadeOut('normal').next().hide();
		});
	},
	
	faleConosco: function(){
		_this = $(this);
		if(!_this.hasClass('on')){
			_rel = parseInt($(this).attr('rel')) + 240;
			_top = $(document).scrollTop() + (($(window).height() - _rel)/2);
			
			$('.'+$('.fale-conosco ul.links li a.on').attr('href')).fadeOut('normal');
			$('.fale-conosco ul.links li a.on').removeClass('on');
			
			$('#modal').animate({top:_top}, {
				duration:400,
				queue:false,
				complete: function(){
					$('.' + _this.attr('href')).fadeIn('normal');
					_this.addClass('on');
					if(_this.attr('href') == 'por-mensagem')
						formFaleConosco.init();
				}
			});
		}
		
		return false;
	}
};

var formFaleConosco = {
	txtNome:null,
	txtSobreNome: null,
	txtEmail:null,
	txtMensagem:null,
	rdAutorizo: null,
	
	init: function(){
		formFaleConosco.txtNome = $('.por-mensagem #txtNome');
		formFaleConosco.txtSobreNome = $('.por-mensagem #txtSobreNome');
		formFaleConosco.txtEmail = $('.por-mensagem #txtEmail');
		formFaleConosco.txtMensagem = $('.por-mensagem #txtMensagem');
		formFaleConosco.rdAutorizo = $('.por-mensagem #rdAutorizo');
		
		$('.por-mensagem .enviar a').bind('click', formFaleConosco.enviar);
		
		if($('span.input').length == 0){
			$('.por-mensagem ul li input:text').wrap('<span class="input" />').after('<span class="erro" />');
			$('.por-mensagem ul li textarea').wrap('<span class="textarea" />').after('<span class="erro" />');
		}
	},
	
	enviar: function(){
		var obool = true;

		if($.trim(formFaleConosco.txtNome.val()) == ""){
			formFaleConosco.txtNome.next().fadeIn('normal');
			obool = false;
		} else
			formFaleConosco.txtNome.next().fadeOut('normal');
			
		if($.trim(formFaleConosco.txtSobreNome.val()) == ""){
			formFaleConosco.txtSobreNome.next().fadeIn('normal');
			obool = false;
		} else
			formFaleConosco.txtSobreNome.next().fadeOut('normal');
			
		if(!formFaleConosco.checkEmail(formFaleConosco.txtEmail.val())){
			formFaleConosco.txtEmail.next().fadeIn('normal');
			obool = false;
		} else
			formFaleConosco.txtEmail.next().fadeOut('normal');
			
		if($.trim(formFaleConosco.txtMensagem.val()) == ""){
			formFaleConosco.txtMensagem.next().fadeIn('normal');
			obool = false;
		} else
			formFaleConosco.txtMensagem.next().fadeOut('normal');
			
		/*if(!formFaleConosco.rdAutorizo.attr('checked')){
			formFaleConosco.rdAutorizo.next().addClass('erro');
			obool = false;
		} else
			formFaleConosco.rdAutorizo.next().removeClass('erro');*/
			
		if(obool){
			$.ajax({
	            type: "POST",
	            url: config.site_url + "globais/fale-conosco-post",
	            global: true,
	            data: {
	                "txtNome": formFaleConosco.txtNome.val(),
					"txtSobreNome": formFaleConosco.txtSobreNome.val(),
					"txtEmail": formFaleConosco.txtEmail.val(),
					"txtMensagem": formFaleConosco.txtMensagem.val(),
					"rdAutorizo": formFaleConosco.rdAutorizo.val()
	            },
	
	            success: function(msg) {
					if(msg != "false") {
						alert('Sua mensagem foi enviada.');
					    formFaleConosco.reset();
					} else {
					    
					}
	            },
	
	            error: function(msg) {
					//alert('error' + msg);
	            }
	        });
		}
	},
	
	reset: function(){
		formFaleConosco.txtNome.val('').next().hide();
		formFaleConosco.txtSobreNome.val('').next().hide();
		formFaleConosco.txtEmail.val('').next().hide();
		formFaleConosco.txtMensagem.val('').next().hide();
		formFaleConosco.rdAutorizo.removeAttr('checked');
	},
	
	checkEmail: function(str) {
	    if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(str)) 
			return true;
        else 
			return false;
    }
};

(function($)
{
	$.fn.lightHover = function()
	{
		return this.each(function()
		{
			var $this = $(this);
         
            $this.find('li').bind('mouseenter', function(){
                $this.find('li').not(this).animate({opacity:'0.5'}, { duration: estrutura.velox, queue: false });
            }).bind('mouseleave', function(){
                $this.find('li').not(this).animate({opacity:'1'}, { duration: estrutura.velox, queue: false });
            });
		});
	};

})(jQuery);

(function($) {
  var cache = [];
  $.preLoadImages = function() {
    for (var i = arguments.length; i--;) {
      var cacheImage = document.createElement('img');
      $(cacheImage).attr('src', arguments[i]);
      $(cacheImage).css('opacity',0);
      $(cacheImage).addClass('cacheImage');
      $('body').append(cacheImage);
      cache.push(cacheImage);
    }
    
    /*var imagesCache = $('.cacheImage').not('.loaded');
    
    while(imagesCache.length>0){
    	$(imagesCache).each(function(){
    		if(this.complete){
    			$(this).addClass('loaded');
    		}
    	});
    	imagesCache = $('.cacheImage').not('.loaded');
    }*/
    
  }
})(jQuery);


// usage: log('inside coolFunc', this, arguments);
// paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/
window.log = function(){
  log.history = log.history || [];   // store logs to an array for reference
  log.history.push(arguments);
  arguments.callee = arguments.callee.caller;  
  if(this.console) console.log( Array.prototype.slice.call(arguments) );
};
// make it safe to use console.log always
(function(b){function c(){}for(var d="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(","),a;a=d.pop();)b[a]=b[a]||c})(window.console=window.console||{});


// place any jQuery/helper plugins in here, instead of separate, slower script files.



$(document).ready(estrutura.init);
