function initCufon()
{
	Cufon.replace('.rounded');
}

function initTooltips()
{
	var tooltip = $('#tooltip');
	var current_title;
	$('.tooltip').hover(
		function(event){
			current_title = $(this).attr('title');
			$(this).attr('title', '');
			
			var offset = $(this).offset();
			$(tooltip).html('<div>'+current_title+'</div>');
			$(tooltip).css('top', offset.top + $(this).height() + 10);
			$(tooltip).css('left', offset.left + 10);
			$(tooltip).show();
		}, 
		function(){
			$(tooltip).hide();
			$(this).attr('title', current_title);
		}
	);
}

function initPlaceholderInputs()
{
	if('placeholder' in document.createElement('input')) return;
	
	var inputs = $('input[placeholder], textarea[placeholder]');
	
	inputs.each(function(){
		
		$(this).focus(function(){
			if(this.value == $(this).attr('placeholder')){
				$(this).removeClass('placeholder');
				this.value = '';
			}
		});	
				
		$(this).blur(function(){
			if(this.value == ''){
				$(this).addClass('placeholder');
				this.value = $(this).attr('placeholder');
			}
		});
		
		if(this.value == ''){
			$(this).addClass('placeholder');
			this.value = $(this).attr('placeholder');
		}
		
	});
	
	$('form').submit(function(){
		$('input[placeholder], textarea[placeholder]', this).each(function(){
			if(this.value == $(this).attr('placeholder')){
				$(this).removeClass('placeholder');
				this.value = '';
			}
		});
	});
}

var navTimeout, currentNav;

function initNavigation()
{
	$('#navigation > ul > li').each(function(){
		
		$(this).mouseenter(function(event){
			if(currentNav == event.currentTarget) clearTimeout(navTimeout);
			else currentNav = event.currentTarget;
			$(this).toggleClass('over', true);
			$('ul', this).show(200);
		});
		
		$(this).mouseleave(function(event){
			var nav = this;
			navTimeout = setTimeout(function(){
				$(nav).toggleClass('over', false);
				$('ul', nav).hide(200);
			}, 1000);
		});
		
	});
}

function initPopups()
{
	$('a[name=popup]').click(function(event){        
        event.preventDefault(); 
        var url = $(this).attr('href');
        $.loadPopup(url);       
    });     
      
    $('#mask').click(function(){  
        $.closeAllPopups();
    });
}

function initConfirmLinks()
{
	$('a.confirm').click(function(event){
		event.preventDefault();
		$.prompt(this);
	});
}

function initTopMenu()
{
	$('#top li.submenu').each(function(){
		
		var menu = $(this);
		var submenu = $('.toggle', this);
		if(submenu) $(submenu).hide();
		
		var toggleMenu = function(event){
			event.preventDefault();	
			var submenu = $('.toggle', menu);
			if(submenu){
				$(this).toggleClass('selected');
				$(submenu).toggle();
			}
		}
		
		var link = $('a.more', this);
		
		if(menu.hasClass('click')){
			link.click(toggleMenu);
		}else{
			menu.hover(toggleMenu);
		}
		
	});
}

function initActionLinks()
{
	var share = $('div.share');
	$('a.title', share).click(function(event){
		event.preventDefault();
		$('ul', share).toggle();	
	});
	
	
	var fbshare = $('a.facebook_share');
	$(fbshare).click(function(event){
		event.preventDefault();
		var t = document.title;
		var u = document.location.href;
		window.open('http://www.facebook.com/sharer.php?u='+u+'&t='+t, 'facebook', 'width=600, height=400');
	});
	
	var comment_links = $('a.comment');
	$(comment_links).click(function(){
		$('#comments textarea').focus();
	});
}

function initEqualHeighs()
{
	$('div.equal_heights div.section').equalHeights();
	$('ul.gallery').each(function(){
		$('li', this).equalHeights();
	});
}

function initRTE()
{
	if(!jQuery.fn.rte) return;
	var rteCSS = baseURL + 'mod/bretagne/public/css/main.css';
	var rteImagesPath = baseURL + 'mod/bretagne/public/images/';
	$('textarea.rte').rte(rteCSS, rteImagesPath);
}

$(document).ready(function(){
	initCufon();
	initTooltips();
	initPlaceholderInputs();
	initNavigation();
	initPopups();
	initConfirmLinks();
	initTopMenu();
	initActionLinks();	
	initRTE();	
});

$(window).load(function(){
	initEqualHeighs();
});


(function($){

	$.fn.equalHeights = function(){
		
		var currentTallest = 0;
		
		$(this).each(function(){		
			if($(this).height() > currentTallest) currentTallest = $(this).height();
		});
		
		$(this).each(function(){
			if($.browser.msie && $.browser.version == 6.0) $(this).css({'height': currentTallest});
			else $(this).css({'min-height': currentTallest});
		});
		
		return this;
	}
	
	$.loadPopup = function(url, callback){
		$.get(url, function(data){
        	var popup = $('#popup');
        	$(popup).html(data);
        	$.displayPopup(popup);
        	
        	if(callback) callback();
        	
        	$('a.close', popup).click(function(event){  
		        event.preventDefault();  
		        $.closeAllPopups();
		    });
        });
	}

	$.displayPopup = function(element){
		var maskHeight = $(document).height();  
        var maskWidth = $(window).width();  
      
        $('#mask').css({'width':maskWidth, 'height':maskHeight});     
        $('#mask').fadeTo(300, 0.5);    
      
        var winH = $(window).height();  
        var winW = $(window).width();
                
        $(element).css('top',  $(document).scrollTop() + (winH-$(element).height())*0.5);  
        $(element).css('left', (winW-$(element).width())*0.5);  
      
        $(element).fadeIn(600);
	}
	
	$.closeAllPopups = function(){
		$('#mask, #popup').hide();
	}

	$.prompt = function(link){
		$.loadPopup(baseURL + 'popup/confirm', function(){
		
			var submit = $('#popup input#confirm_submit');
			var cancel = $('#popup input#confirm_cancel');
		
			$(submit).click(function(){
				document.location = $(link).attr('href');
			});
			
			$(cancel).click(function(){
				$.closeAllPopups();
			});
		
		});
	}

})(jQuery);
