/**
 * Call Back Object
 *
 * Provides methods for the estara implementation
 * of the call back feature on today's site
 *
 * @namespace QL.quickenloans
 * @class CallBack
 * @constructor
 */

QL.application.CallBack = function()
{		
	
	var callBackDetails = {
        // Class of button elements launching callback window
        callBackClass: 'call_back_trigger',
		
		// Event to handle...
		callBackHandler: 'click'
	}
	
	var prepareCallBackTriggers = function() {
		var callBackClass = callBackDetails.callBackClass
			callBackHandler = callBackDetails.callBackHandler;

		var triggers = $D.getElementsByClassName(callBackClass, 'A');
		
		$E.addListener(triggers, callBackHandler, function(ev) {
			// Stop anchor behavior
			$E.stopEvent(ev);
			
			// Retrieve template id from class
			var templateId = $E.getTarget(ev).className.replace(/\D/g, "");
			
			// Run estara method
			webVoicePop('Template='+templateId);
		});
	}
	
	return {
		init: function() {
			$E.onDOMReady(function(){
				prepareCallBackTriggers();
			});			
		}
	};
}().init();