if (typeof sliderTracker == "undefined")
{
    var sliderTracker = new SliderTracker();
}

function SliderTracker()
{
    this.onLoadEventsTracedHashtable = new Array();
    
    this.TrackOnClick = function (category, action, optional_label, optional_value)
    {
        // tracking the event
        /*
         * Google Analytics
         */
        this.GoogleAnalyticsTrackEvent(category, action, optional_label, optional_value);
    }
    
    this.TrackOnLoad = function (category, action, optional_label, optional_value)
    {
        if (this.onLoadEventsTracedHashtable_containsKey(optional_label))
            return;
        // register the event ...
        this.onLoadEventsTracedHashtable_put(optional_label, 'onLoad');
        
        // tracking the event
        /*
         * Google Analytics
         */
        this.GoogleAnalyticsTrackEvent(category, action, optional_label, optional_value);
    }
    
    this.GoogleAnalyticsTrackEvent = function (category, action, optional_label, optional_value)
    {
        try {
            pageTracker._trackEvent(category, action, optional_label, optional_value);
        } catch (e) {
        }
    }
    
    this.onLoadEventsTracedHashtable_put = function (key, value)
    {
        if (key == null || value == null) {
            throw "NullPointerException {" + key + "},{" + value + "}";
        }else{
            this.onLoadEventsTracedHashtable[key] = value;
        }
    }
    
    this.onLoadEventsTracedHashtable_containsKey = function (key)
    {
        var exists = false;
        for (var i in this.onLoadEventsTracedHashtable)
        {
            if (i == key && this.onLoadEventsTracedHashtable[i] != null)
            {
                exists = true;
                break;
            }
        }
        return exists;
    }
}

