var Analytics = Class.create();
Analytics.prototype = {
	initialize: function() {
		if (_gat) {
			this.pageTracker = _gat._getTracker(AnalyticsOptions.code);
			this.pageTracker._initData();
			this.pageTracker._trackPageview();
		}
		
		if (_stateCode != undefined && _stateCode != null)
		{
			var state = AnalyticsOptions.statecode[_stateCode.toLowerCase()];

			if (state != undefined) {
				this.pageStateTracker = _gat._getTracker(state);
				this.pageStateTracker._initData();
				this.pageStateTracker._setDomainName("." + _stateCode.toLowerCase() + ".big4.com.au");
				this.pageStateTracker._trackPageview();
				
				if (_stateCode.toLowerCase() == "nsw")
				{
					this.pageSecondStateTracker = _gat._getTracker("nsw2");
					this.pageSecondStateTracker._initData();
					this.pageSecondStateTracker._setDomainName("." + _stateCode.toLowerCase() + ".big4.com.au");
					this.pageSecondStateTracker._trackPageview();
				}				
			}
		}
		this.onButtonTrackClick = this.onButtonTrackClickListener.bindAsEventListener(this);
		this.trackLinks();
		
	},
	
	trackLinks: function() {
        var links = $$("a.track"); 
        for ( var x=0; x<links.length; x++ ) {
	        Event.observe(links[x], 'click', this.onButtonTrackClick);
        }
        
        var inputs = $$("input.track");
        for (var x=0; x<inputs.length; x++) {
            Event.observe(inputs[x], 'click', this.onButtonTrackClick);
        }    
    },
    
	onButtonTrackClickListener: function(e) {
	    var extern = 'outgoing/';
	    if (Event.element(e).type == "image") {
	        extern += Event.element(e).getAttribute("alt").replace(/\s+/g,'_');
	    }
	    else {
	        extern += Event.element(e).getAttribute("rev").replace(/\s+/g,'_');
	    }
        this.pageTracker._trackPageview(extern);
        
        if (AnalyticsOptions.statecode[_stateCode.toLowerCase()] != undefined) {
            this.pageStateTracker._trackPageview(extern);
        }
    }
}

var AnalyticsOptions = {
	code: "UA-4661258-1",
	statecode : {"nsw" : "UA-5096763-2", "qld" : "UA-5114826-2", "sa" : "UA-5115976-1", "tas" : "UA-5542065-1", "vic" : "UA-5114927-2", "wa" : "UA-5116106-1", "nt" : "UA-5542082-1", "nsw2" : "UA-6442986-1" }
}

Event.observe(window, 'load', function() { new Analytics(); });
