/**
* @author pinosh
*/
function __FF__Tracker(tracker) {
	this.tracker = tracker;
	
	var trackPage = function(page) {
		if(this.tracker != null) {
			//alert("trackPage: "+page);
			this.tracker._trackPageview(page);
			return true;
		}
		return false;
	};
	this.trackPage = trackPage;
	this.dataInitted = false;
	
	var trackEvent = function(category, action, opt_label, opt_value) {
		if(this.tracker != null) {
			//alert("trackEvent: "+category+" "+action+" "+opt_label+" "+opt_value);
			if(!this.dataInitted) {
				this.tracker._initData();
				this.dataInitted = true;
			}
			this.tracker._trackEvent(category, action, opt_label, opt_value);
			return true;
		}
		return false;
	};
	this.trackEvent = trackEvent;
}

__FF__Tracker.initFFTracker = function(UA_ID) {
		var tracker = __FF__Tracker.__ff__getTracker(UA_ID);
		if(tracker == null) {
			__FF__Tracker.uaid = UA_ID;
			__FF__Tracker.interval = setInterval("checkGat", 20);
		} else {
			//tracker._initData();
			__FF__Tracker.instance = new __FF__Tracker(tracker);
		}
};

function checkGat() {
	if(typeof _gat != 'undefined') {
		clearInterval(__FF__Tracker.interval);
		__FF__Tracker.initFFTracker(__FF__Tracker.instance);
	}
}

__FF__Tracker.getInstance = function() {
		return __FF__Tracker.instance;
};

__FF__Tracker.__ff__getTracker = function(UA_ID) {
		var ua_test = /^UA-[0-9a-zA-Z]+-[0-9a-zA-Z]+$/;
		if(!ua_test.test(UA_ID))
		{
			return null;
		}
	
		if(typeof _gat == 'undefined')
		{
			return null;
		}
	
		return _gat._getTracker(UA_ID);
};
