var ADS = function()
{
	
	var data = [];
	var cookie_name = "dmark_ads_%s";
	
	var _FLASH = Flash;
	var ADS_PATH = 'langs/'+$('html').attr('lang')+'/swf';
	var BG_COLOR = "#1F4971";
	
	function sort_array_item(a)
	{
		return (a.length && a.length > 0) ? a[ Math.round( (Math.random() * (a.length-1)) ) ] : 0;
	}
	
	function sort_ads(a, o)
	{
		var na = sort_array_item( a );
		if(a.length > 1 && na.toString() == o)
		{
			return sort_ads(a, o);
		}
		
		return na;
	}
	
	return {
		
		init: function()
		{
			
			ADS_PATH = window.defaultUrl + ADS_PATH;

			data[0] = ["banner_vt.swf?r1", "banner_globe.swf?r1"];
			
			if($(document.body).attr("id") == "capa")
			{
				data[0].push("banner_video.swf?r2");
			}
			
			//criando banners...
			this.create("#banner", "630x189", data[0]);
			
		},
		
		create: function(o, s, d)
		{
			_o = $(o);
			if(empty(_o))
			{
				return false;
			}
			
			s = s.split("x");
			
			src = sort_ads( d, this.getLastBanner( o ) );
			
			var s = new _FLASH( [ADS_PATH,src].join("/"), null, s[0], s[1]);
			s.addParameter("menu", "false");
			s.addParameter("bgcolor", BG_COLOR);
			s.addParameter("wmode", "transparent");
			s.addVariable("type", "ads");
			s.addVariable("from", "www.dmark.com.br");
			s.addVariable("defaultUrl", window.defaultUrl);
			s.addVariable("lang", $('html').attr('lang'));
			s.writeIn( _o.get(0) );

			this.saveLastBanner( o, src );
		},
		
		saveLastBanner: function(o, b)
		{
			var d = new Date();
			d.setTime(d.getTime() + ( 1 *24*60*60*1000));
			d = d.toGMTString();
			
			document.cookie = cookie_name.split("%s").join(o) + "=" + escape(b) + "; expires=" + d;
		},
		
		getLastBanner: function(o)
		{
			var idx = document.cookie.lastIndexOf( (name=cookie_name.split("%s").join(o)) + '=');
			
			if(idx == -1) return null;
			
			var value = document.cookie.substring(idx+name.length+1);
			
			var end = value.indexOf(';');
			if(end == -1) end = value.length;
			
			value = value.substring(0, end);
			value = unescape(value);
			
			return value;
		}
		
	};
	
}();

_c( Delegate.create( ADS, ADS.init ) );