if (!window.fujifilm){ var fujifilm = {}; }

var _gaq = _gaq || [];
fujifilm.trackEventGA = function(category, name) {
	_gaq.push(['_trackEvent', category, name]);
};

fujifilm.trackPageviewGA = function(funcname, e, suffix) {
	if (!funcname) {
		return;
	}

	var tracker = this.trackPageviewGA;
	var url = location.pathname + (suffix || '');

	if (e) {
		var node = e;

		if (!e.nodeType) {
			if (!tracker.isLeftClick(e)) {
				return;
			}

			node = tracker.getLinkNode(e);
		}

		if (!node) {
			return;
		}

		url = tracker.getPathname(node) + (suffix || '');
	}

	if (!url) {
		return;
	}

	tracker.track(funcname, url);

	var ret = true;

	if (node && !tracker.getTarget(node)) {
		ret = false;
		tracker.cancelEvent(e);
		tracker.delayMove(node.href, 500);
	}

	return ret;
};
fujifilm.trackPageviewGA.getLinkNode = function(e){
	var node = e.target;
	while (node && !node.href) {
		node = node.parentNode;
	}
	return node;
};
fujifilm.trackPageviewGA.isLeftClick = function(e){
	return e.button < 2;
};
fujifilm.trackPageviewGA.cancelEvent = function(e){
	if (e.preventDefault) {
		e.preventDefault();
	}
};
fujifilm.trackPageviewGA.track = function(funcname, url){
	if (!funcname || !url) {
		return;
	}
	_gaq.push([funcname, url]);
};
fujifilm.trackPageviewGA.delayMove = function(url, delay) {
	setTimeout(function(){
		location.href = url;
	}, delay)
};
fujifilm.trackPageviewGA.getTarget = function(link) {
	return (!link || !link.target || link.target == '_self' || link.target == '_top') ? '' : link.target;
};
fujifilm.trackPageviewGA.stripHost = function(url) {
	if (!url || typeof url != 'string') {
		return '';
	}
	return url.replace(new RegExp('^' + location.protocol + '//' + location.host), '');
};
fujifilm.trackPageviewGA.stripHash = function(url) {
	if (!url || typeof url != 'string') {
		return '';
	}
	return url.replace(/#.*$/, '');
};
fujifilm.trackPageviewGA.isExternalLink = function(url) {
	return this.stripHost(url).indexOf('://') != -1;
};
fujifilm.trackPageviewGA.isInternalLink = function(url) {
	return !this.isExternalLink(url);
};
fujifilm.trackPageviewGA.getAbsolutePathname = function(url) {
	if (!url) {
		return '';
	}
	var pathname = this.stripHash(this.stripHost(url));
	if (this.isInternalLink(pathname)) {
		pathname = pathname.replace(/^\/?/, '/');
	}
	return pathname;
};
fujifilm.trackPageviewGA.getPathname = function(link) {
	if (!link || !link.href) {
		return '';
	}
	return this.getAbsolutePathname(link.href);
};

fujifilm.trackPageviewGA_A = function(e, suffix) {
	return fujifilm.trackPageviewGA('_trackPageview', e, suffix);
};
fujifilm.trackPageviewGA_B = function(e, suffix) {
	return fujifilm.trackPageviewGA('b._trackPageview', e, suffix);
};
fujifilm.trackPageviewGA_C = function(e, suffix) {
	return fujifilm.trackPageviewGA_A(e, suffix) && fujifilm.trackPageviewGA_B(e, suffix);
};

