$(document).ready(function() {
	
	// Check for IE6, if it is, just return
	if($.browser.msie && parseInt($.browser.version, 10) == 6) {
		return;
	}
	
	//Social media bookmarks
	$('a.share-button, #social-media-close').clickdisplay({
		"show": "#unit-social-media-bookmarks"
	});
	
	$('.search a').clickdisplay({
		"show": "#unit-search",
		"className": "menu-open"
	});

	$('#search').placeholder({
		"placeholder": "Search here..."
	});
	$('#field-page-search').placeholder({
		"placeholder": "Search again..."
	});
	
	$('#join-mailinglist').placeholder({
		"placeholder": "Your email address..."
	});
	
	if($('.advert-wrapper').length) {
		$('#unit-adverts').balancecolumns();
		
		$('.advert-wrapper .info').css({
			"bottom": "-30px"
		});
		$('.advert-wrapper').hover(function() {
			$(this).children('.info').animate({
				"bottom": "0px"
			}, "fast");
		}, function() {
			$(this).children('.info').animate({
				"bottom": "-30px"
			}, "fast");
		});
	}
	
	if($('#group-snippets .unit').length) {
		var infoboxHeight = $('#group-snippets .unit').find('.feature-info').height();
		$('#group-snippets .unit').find('.feature-info').css({"height": "18px"});
		$('#group-snippets .unit').hover(function() {
			$(this).find('.feature-info').animate({
				"height": infoboxHeight + 'px'
			});
		}, function() {
			$(this).find('.feature-info').animate({
				"height": "18px"
			});
		});
	}
	
	$('#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
		}
		$.post('/mmlib/includes/ajax/ajax.sendtofriend.php/', data, function(){
			$('#share-email-list li:gt(0)').remove();
			$('#btn-share-by-email').attr('value', 'Send');
			$('#share-email-list li input').addClass('placeholder').val('Enter email address');
			$('#unit-social-media-bookmarks').fadeOut('fast');
			alert('Your message has been sent');
		});
		return false;
	});
	
	$('#unit-primary-navigation ul li').mouseover(function() {
		if($(this).find('ul').length) {
			$(this).children('a').eq(0).addClass('hovered');
			if($(this).hasClass('end')) {
				$(this).find('ul').css({
					"display": "block",
					"right": "0px"
				});
			} else {
				$(this).find('ul').css({
					"display": "block",
					"left": "0px"
				});
			}
			
		}
	}).mouseout(function() {
		if($(this).find('ul').length) {
			$(this).children('a').eq(0).removeClass('hovered');
			$(this).find('ul').css({
				"display": "none"
			});
		}
	});
	
	if($('.unit-signed-in .username').length && $.readCookie( '_bs_user_name' )) {
		$('.unit-signed-in .username').html( $.readCookie( '_bs_user_name' ) );
	}
	
	$('.clickable').fitted();
});

$.fn.placeholder = function( settings ) {
	var defaults = {
		"placeholder": null
	}
	
	var s = $.extend(true, defaults, settings);
	
	return this.each(function() {
		$(this).val('');
		if($.browser.webkit) {
			$(this).attr('placeholder', s.placeholder);
		} else {
			$(this).val(s.placeholder);
			$(this).click(function() {
				if($(this).val() == s.placeholder) {
					$(this).val('');
				}
			});
			$(this).blur(function() {
				if($(this).val() == '') {
					$(this).val(s.placeholder);
				}
			});
		}
	});
}

$.fn.clickdisplay = function( settings ) {
	var defaults = {
		"show": null,
		"className": null
	}
	
	var s = $.extend(true, defaults, settings);
	
	return this.each(function() {
		$(s.show).css({
			"display": "none"
		});
		$(this).click(function() {
			if($(s.show).css('display') == 'block') {
				$(s.show).fadeOut('fast');
				if(s.className !== null) {
					$(this).removeClass(s.className);
				}
			} else {
				$(s.show).fadeIn('fast');
				if(s.className !== null) {
					$(this).addClass(s.className);
				}
			}
			
			return false;
		});
	});
}

$.fn.balancecolumns = function( settings ) {
	var defaults = {
		"balance_with": "#primary-content"
	}
	
	var s = $.extend(true, defaults, settings);
	
	return this.each(function() {
		var balance_height = $(s.balance_with).offset().top + parseInt($(s.balance_with).css('height').replace('px', ''));
		
		// While the height of this element is larger than the balance element, remove elements, starting from the end
		do {
			if(!$(this).children().length) {
				$(this).remove();
				break;
			}
			$(this).children().eq(-1).remove();
		} while( $(this).height > balance_height );
	});
}

$.readCookie = function( name ) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
