﻿
//connects the controls to the events for tracking activity
function ClickTrackerInit()
{
	RenderingEngine.ClickTracker.ControlsList(OnControlsListSuccess, OnControlsListFail, "clicktracker");
}

//callback for the get of click items
function OnControlsListSuccess(ClickItems, context, methodName)
{
	Sys.Debug.trace(methodName)
	if (methodName == "ControlsList")
	{
		for (var i = 0; i < ClickItems.length; i++)
		{
			var oControl = $get(ClickItems[i].user_control_id);
			if (oControl) 
			{
				$clearHandlers(oControl);	
				var clickTrackerCallback = Function.createCallback(OnClickTracker, ClickItems[i]);
				$addHandler(oControl, 'click', clickTrackerCallback);
			}
		}
	}
	else
	{
		if (methodName == "RecordClick")
		{
			Sys.Debug.trace(ClickItems + " --- " + context);
		}
	}
}

function OnControlsListFail(error, context, methodName)
{
	Sys.Debug.traceDump(error);
}

function OnClickTracker(evt, click_item)
{
	Sys.Debug.traceDump(click_item)
	RenderingEngine.ClickTracker.RecordClick(click_item, OnControlsListSuccess, OnControlsListFail, click_item.id);
}

if (typeof (Sys) !== 'undefined')
{
	Sys.Application.add_load(ClickTrackerInit);
	Sys.Application.notifyScriptLoaded();
}

