$(document).ready(function(){
	var bannerManager = {
		_prefix		 : 'banner-',
		_browserData : {},

		init: function()
		{
			bannerManager.getUserData();
			bannerManager.bindClick();
		},

		_getBrowser: function()
		{
			if (typeof(navigator.userAgent) == "undefined")	{
				return false;
			}

			if ($.browser.msie)
			{
				return 'MSIE';
			}
			else if ($.browser.opera)
			{
				return 'Opera';
			}
			else if ($.browser.safari)
			{
				return 'Safari';
			}
			else if ($.browser.mozilla)
			{
				return 'Mozilla';
			}
			else if ($.browser.chrome)
			{
				return 'Chrome';
			}

			var tmp_browser = navigator.userAgent;
			var i = tmp_browser.indexOf('(', 5);
			if (i > 0)
			{
				tmp_browser = $.trim(tmp_browser.substr(0, i));
			}
			var i = tmp_browser.indexOf('/', 3);
			if (i > 0)
			{
				tmp_browser = $.trim(tmp_browser.substr(0, i));
			}
			return tmp_browser.toString();
		},

		_getPlatform: function()
		{
			if (typeof(navigator.platform) == "undefined")	{
				return false;
			}
			return navigator.platform.toString();
		},

		_getBrowserVersion: function()
		{
			if (typeof(navigator.appVersion) == "undefined")	{
				return false;
			}
			var tmp_version = $.trim(navigator.appVersion.replace(/[^\d\.]+/g, ''));
			return tmp_version.toString();
		},

		_getCurrentLocation: function()
		{
			if (typeof(window.location) == "undefined")	{
				return false;
			}
			return window.location.toString();
		},

		getUserData: function()
		{
			bannerManager._browserData = {
				user_os: bannerManager._getPlatform(),
				user_browser: bannerManager._getBrowser(),
				user_browser_version: bannerManager._getBrowserVersion(),
				current_location: bannerManager._getCurrentLocation()
			};
		},

		getBannerID: function(banner_rel)
		{
			var tmp_rel = banner_rel.split(bannerManager._prefix);
			return tmp_rel[1] ? tmp_rel[1] : false;
		},

		bindClick: function()
		{
			$('a[rel^="' + bannerManager._prefix + '"]').click(function(){
				bannerManager.clickHandler(bannerManager.getBannerID($(this).attr('rel')), $(this).attr('href'));
			});
		},

		clickHandler: function(banner_id, location_url)
		{
			if (!banner_id) {
				return;
			}
			$.extend(bannerManager._browserData, {target_href: location_url, banner_id: banner_id});
			bannerManager.updateStats();
		},

		updateStats: function()
		{
			$.ajax({
				type: "POST",
				async: false,
				processData: true,
				url: js_site_url + "static/TentestBanners/updstats",
				data: bannerManager._browserData,
				success: function(msg) {
					return true;
				}
			});
		}
	};

	bannerManager.init();
});