if(typeof jQuery != 'undefined') {
	(function($){
		
		$.fn.extend({
			
			slidenav: function(custom_opts) {
				var default_opts = {
					
				}
			}
			
		})
		
	})(jQuery);
}

// Move the main nav when the user scrolls down
$.fn.slide_nav = function(){
	
	var nav_elem = $(this);
	var nav_elem_id = $(this).attr('id');
	
	function repositionNav(){
		// On window scroll, get the distance between the nav and the top of the page
		var nav_pos = 166;
		
		// Get the window scroll position
		var window_pos = $(window).scrollTop();
		
		// If the window position is greater than the nav pos, move the nav
		if(window_pos > nav_pos) {
			$('#'+nav_elem_id).css({position: 'fixed', top: '15px'});
		} else {
			$('#'+nav_elem_id).css({position: 'absolute', top: '176px'});
		}
	}
	
	$(window).scroll(function(){
		repositionNav();
	});
	repositionNav();
};

$.fn.slide_sidenav = function() {
	
	var $t = $(this);
	if(!$t.length){
		return;
	}
	
	function repositionSideNav(){
		var menu_pos = 166;
		var window_pos = $(window).scrollTop();
		
		if($('.unit-breadcrumb-nav').length) {
			var breadcrumb_pos = $('.unit-breadcrumb-nav').offset().top;
		}
		if(!breadcrumb_pos) {
			var breadcrumb_pos = $(window).height;
		}
		
		var subnav_height = $t.height();
				
		if(window_pos > menu_pos) {
			$t.css({position: 'fixed', top: '84px'});
		} else {
			$t.css({position: 'absolute', top: '285px'});
		}
		
		// Fix for nav going over breadcrumb
		/*if(($t.offset().top + (subnav_height + 20)) > $('.unit-breadcrumb-nav').offset().top) {
			var position = $('.unit-breadcrumb-nav').offset().top - (subnav_height + 20);
			$t.css({position: 'absolute', top: position});
		}*/
	}
	
	$(window).scroll(function(){
		repositionSideNav();
	});
	repositionSideNav();
}

// Set the placeholder and remove it upon click
$.fn.set_placeholder = function(text) {
	
	var placeholder = text;
	
	$(this).val(placeholder);
	
	$(this).click(function(){
		$(this).css({color: '#000'});
		if($(this).val() == placeholder) {
			$(this).val('');
		}
	});
	
};

$.fn.show_large_tooltip = function(tooltip_item) {
	
	$(this).click(function(){
		$('body').hide_tooltip();
		
		var sidebar_pointer_top = $(this).offset().top + 25;
		
		var tooltip_height = $('.'+tooltip_item).height();
		var half_tooltip_height = tooltip_height / 2;
		
		var toolbarLeftPosition = $('#unit-toolbar').position().left;
		var contentRightPos = $('#page-wrapper').offset().left;
		contentRightPos = contentRightPos + $('#page-wrapper').width() + 20;
		
		if($.browser.msie && $.browser.version.substr(0, 1) < 7) {
			$('.sidebar_tooltip').css('right', '70px');
			$('.sidebar_tooltip_pointer').css('right', '65px');
		} else {
			$('.sidebar_tooltip').css('right', contentRightPos - toolbarLeftPosition);
			$('.sidebar_tooltip_pointer').css('right', contentRightPos - toolbarLeftPosition - $('.sidebar_tooltip_pointer').width());
		}
		
		if($('.sidebar_tooltip').is(':visible') && $('.'+tooltip_item).is(':visible') == false) {		
			$('.sidebar_tooltip').fadeOut('fast');
			$('.'+tooltip_item).css({top: (sidebar_pointer_top - half_tooltip_height)+'px'}).fadeIn('fast');
			$('.sidebar_tooltip_pointer').css({top: sidebar_pointer_top+'px'});
		} else if($('.sidebar_tooltip').is(':visible') && $('.'+tooltip_item).is(':visible') == true) {
			$('.sidebar_tooltip').fadeOut('fast');
			$('.sidebar_tooltip_pointer').fadeOut('fast');
		} else {
			$('.'+tooltip_item).css({top: (sidebar_pointer_top - half_tooltip_height)+'px'}).fadeIn('fast');
			$('.sidebar_tooltip_pointer').fadeIn('fast').css({top: sidebar_pointer_top+'px'});
		}
		
		var tooltip_top = $('.'+tooltip_item).offset().top;
		if(tooltip_top < 0) {
			$('.'+tooltip_item).css({top: '10px'});
		}
		
		return false;
		
	});
	
};

$.fn.hide_tooltip = function() {
	$(this).click(function(){
		$('.sidebar_tooltip').fadeOut('fast');
		$('.sidebar_tooltip_pointer').fadeOut('fast');
	});
}

$.fn.dropdown = function() {
	
	$(this).mouseover(function(){
		
		$(this).find('ul').css({display: 'block'});
		
	}).mouseout(function(){
		
		$(this).find('ul').css({display: 'none'});
		
	});
	
}

$(document).ready(function(){
	
	// Set the placeholder
	$('#main_nav_search_input').set_placeholder('Search');
	
	$('#main_nav_search_input').keydown();
	
	$('#toolbar-related').show_large_tooltip('related-tooltip');
	$('#toolbar-comments').show_large_tooltip('comments-tooltip');
	$('#toolbar-tags').show_large_tooltip('tagged-tooltip');
	
	$('.primary_nav').dropdown();
	
	if($.browser.msie && parseInt($.browser.version.substr(0, 1)) < 7) {
		
	} else {
		$('#unit-navigation').slide_nav();
	}
	
	$('#toolbar-print').click(function(){
		window.print();
	});
	
	//Social media bookmarks
	$('#toolbar-email').click(function(){
		if( $('#unit-social-media-bookmarks').css('display') == 'block' ){
			$('#unit-social-media-bookmarks').fadeOut('fast');
		}else{
			$('#unit-social-media-bookmarks').fadeIn('fast');
		}
		return false;
	});
	$('#social-media-close').click(function(){
		$('#unit-social-media-bookmarks').fadeOut('fast');
		return false;
	});
	$('.name-placeholder').val('Please enter your name').placeholdr();
	$('.email-placeholder').val('Enter email address').placeholdr();
	$('#add-another-email-address').click(function(){
		var newAddr = $('#share-email-list li:first').clone();
		newAddr.children('input').addClass('placeholder').val('Enter email address').placeholdr();
		$('#share-email-list').append(newAddr);
		return false;
	});
	
	$('#btn-share-by-email').click(function(){
		var emailAddress = [];
		$('#share-email-list input').each(function(){
			emailAddress.push($(this).val());
		});
			
		$(this).attr('value', 'Sending...');
			
		var data = {
			"object-type": $('#object-type').val(), 
			"object-id": $('#object-id').val(),
			"email": emailAddress,
			"yourname": $('#yourname').val()
		}
		$.post('/mmlib/includes/ajax/ajax.sendtofriend.php/', data, function(){
			$('#share-email-list li:gt(0)').remove();
			$('#btn-share-by-email').attr('value', 'Send');
			$('input.name-placeholder').val('Please enter your name');
			$('#share-email-list li input').addClass('placeholder').val('Enter email address');
			$('#unit-social-media-bookmarks').fadeOut('fast');
		});
		return false;
	});
	
});
