var AdTracker = new Class(
	{
		initialize : function(domain, session, trackerUrl) {
			this.domain = domain;
			this.session = session;
			this.trackerUrl = trackerUrl;
		},
		track : function(selector, type, eventObj, attribute){
			var tracker = this;
			//default values
			attribute = attribute || 'class';
			eventObj = eventObj || {id:105, label:'click'};
			$$(selector).each(function(item){
				tracker.bindEvents(item, eventObj, type, attribute);
			});
		},
		trackAll : function(trackedItems){
			$A(trackedItems).each(function(item){
				this.track(item['selector'], item['type'], item['eventName'], item['attribute']);
			}, this);
		},
		bindEvents: function(item, event, type, attribute){
			var tracker = this;
			item.addEvent(event.label, function(e){
				var ids = item.get(attribute).split(' ').filter(function(cls){
					return cls.test(':');
				});
				ids = ids[0].split(':');
			    var params = {};
			    params.id = ids[1];
			    params.domain = tracker.domain;
			    params.url = window.location.href;
			    params.session = tracker.session; 
			    params.type = type;
			    params.event = event.id
			    var url = tracker.trackerUrl+'?'+$H(params).toQueryString();
			    new Asset.image(url);
			    console.log(url);
			});
		}
});
