SmtLing.GA.Tracker = {};

SmtLing.GA.Tracker.init = function() {
	if ($('#movie').length) {
		$('#movie').click(function() {
			SmtLing.GA.Tracker.googleAnalyticsTrackEvent('Videos', 'Play', 'Smartling Introduction Video');
		});
	}

	if ($('#previewForm').length) {
		$('#previewForm').live('submit', function() {
			SmtLing.GA.Tracker.googleAnalyticsTrackEvent('Demo', 'Initiate');
		});
	}

	$('#previewToolbar #generatedLanguageSelector').live('change', function() {
		SmtLing.GA.Tracker.googleAnalyticsTrackPage('/preview');
		SmtLing.GA.Tracker.googleAnalyticsTrackEvent('Language Selector', 'Language Change', $(this).val());
	});

	$('#previewToolbar a.changeList').click(function() {
		SmtLing.GA.Tracker.googleAnalyticsTrackPage('/preview');
		SmtLing.GA.Tracker.googleAnalyticsTrackEvent('Language Selector', 'Add Language');
	});

	$('#registerButton').click(function() {
		SmtLing.GA.Tracker.googleAnalyticsTrackPage('/preview');
		SmtLing.GA.Tracker.googleAnalyticsTrackEvent('Demo', 'Register');
	});

	if ($('#language').length) {
		$('#language').find('li').click(function() {
			SmtLing.GA.Tracker.googleAnalyticsTrackEvent('Language Selector', 'Language Change', $(this).find('a').text());
		});
	}

	if ($('#signupForm').length) {
		$('#signupForm').submit(function() {
			SmtLing.GA.Tracker.googleAnalyticsTrackEvent('Forms', 'Submit', 'Sign up Form');
		});
	}

	if ($('#getStartedLink').length) {
		$('#getStartedLink').click(function() {
			SmtLing.GA.Tracker.googleAnalyticsTrackEvent('Links', 'GetStarted', 'Click on "Get started link"');
		});
	}

	if ($('#smartlingDemoToolBar').length) {
		$('#reversiBtn, #helpBtn, #smartlingSignUp').click(function() {
			var label = '';
			switch (this.id) {
				case 'smartlingSignUp':
					label = 'Sign up';
					break;
				case 'reversiBtn':
					label = 'Reversi Mode';
					break;
				case 'helpBtn':
					label = '?';
			}

			SmtLing.GA.Tracker.googleAnalyticsTrackEvent('Demo Toolbar', 'Button Click', $(this).text());
		});

		$('#crowdsourcingBtn').click(function() {
			SmtLing.GA.Tracker.googleAnalyticsTrackPage('/demo-switch-to-crowdsource');
			SmtLing.GA.Tracker.googleAnalyticsTrackEvent('Demo', 'Switch-to-Crowdsource');
		});
	}
};


/**
 * Track event using google analytics
 *
 * @param category Category of action
 * @param action Action name
 * @param optionalLabel Optional action label
 * @param optionalValue Optional action value
 */
SmtLing.GA.Tracker.googleAnalyticsTrackEvent = function(category, action, optionalLabel, optionalValue) {
	if (undefined == SmtLing.GA.googlePageTracker || category.length == 0 || action.length == 0) {
		return;
	}

	SmtLing.GA.googlePageTracker._trackEvent(category, action, optionalLabel, optionalValue);
};

SmtLing.GA.Tracker.googleAnalyticsTrackPage = function (url) {
	if (SmtLing.GA.googlePageTracker == null)
		return;

	SmtLing.GA.googlePageTracker._trackPageview(url);
};

