$(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/Banners/updstats",
				data: bannerManager._browserData,
				success: function(msg) {
					return true;
				}
			});
		}
	};

	bannerManager.init();
});
