/**
 * John Hancock - Helpful Answers to Important Financial Questions
 */

$(document).ready(function() {	
	applyShareLinks();
	applyPop();
	applyBookmark();
	applyHovers();
	applyMarkGreat();
	applyMarkRelevant();
});

function applyPop()
{
	$('a')
		.filter(function (index) {
			// apply to all non-local links
			return ($(this).attr('href').match(/^http:\/\//i) == 'http://' && !$(this).hasClass('no-pop') && !$(this).hasClass('share-facebook') && !$(this).hasClass('interact-facebook'));
		})
		.click(function(e) {
		e.preventDefault();
		window.open($(this).attr('href'));
		return false;
	});
}

function applyBookmark()
{
	$('a.bookmark')
		.click(function(e) {
			e.preventDefault();
			bookmark();
			return false;
		});
}

function applyHovers()
{
	$('img.light').hover(
		function() { // on
			if ($(this).hasClass('light')) {
				var src = $(this).attr('src');
				var name = src.substring(0, src.length - 4);
				var extension = src.substr(src.length - 4, 4);
				$(this).attr('src', name + '-hover' + extension);
			}
		},
		function() { // off
			if ($(this).hasClass('light')) {
				var src = $(this).attr('src');
				var name = src.substring(0, src.length - 4);
				var extension = src.substr(src.length - 4, 4);
				$(this).attr('src', name.replace(/\-hover/i, '') + extension);
			}
		}
		)
}

function applyShareLinks()
{
	$('a.share-facebook, a.interact-facebook')
		.click(function(e) {
			e.preventDefault();
			shareViaFacebook($(e.target).parent());
			return false;
		});
}

function applyMarkGreat()
{
	$('a.mark-great')
		.click(function(e) {
			e.preventDefault();
			changeToGreat($(e.target));
			return false;
		});
}

function applyMarkRelevant()
{
	$('a.mark-relevant')
		.click(function(e) {
			e.preventDefault();
			markAsRelevant($(e.target));
			return false;
		});
}

function bookmark() 
{
	var title = document.title;
	var url = window.location.href;
	
	if (window.sidebar) { // mozilla/firefox
		window.sidebar.addPanel(title, url, '');
	} else if (window.external) { // ie
		window.external.AddFavorite(url, title);
	} else if (window.opera && window.print) { // opera
		$('<a href="' + url + '" title="' + title + '" rel="sidebar" target="_search">').click();
	}
}

function shareViaFacebook(target)
{
	var matches = $(target).attr('href').match(/\?u=(.*)$/i);
	var url = matches[1];
	var title = $(target).attr('title');
	
	window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(url)+'&t='+encodeURIComponent(title), 'sharer', 'toolbar=0,status=0,width=626,height=436');
}

function changeToGreat(button)
{
	var src = $(button).attr('src');
	var name = src.substring(0, src.length - 4);
	var extension = src.substr(src.length - 4, 4);
	
	name = name.replace(/mark\-as\-great(\-hover)?/i, 'great-answer');
	$(button).attr('src', name + extension).removeClass('light').parent().removeClass('mark-great').hover();
}

function markAsRelevant(button)
{
	var src = $(button).attr('src');
	var name = src.substring(0, src.length - 4);
	var extension = src.substr(src.length - 4, 4);
	
	name = name.replace(/mark\-as\-relevant(\-hover)?/i, 'relevant-to-me');
	name = name.replace(/\-hover/i, '');
	$(button).attr('src', name + extension).removeClass('light').parent().removeClass('mark-relevant').hover();
}