﻿var RecipesLinkTracking = function() {
    var AttachLinkClickHandler = function(elements) {
        for (var i = 0; i < elements.length; i++) {
            var dom = elements[i];           
            var aElement = dom.id == '' ? Ext.get(dom) : Utils.Get(dom.id);
            aElement.on('click', RecipesLinkTracking.TrackLink);
        }
    };  
       
    var InitLinkTracking = function() {
        AttachLinkClickHandler(Ext.query('a'));
        AttachLinkClickHandler(Ext.query('area'));
        AttachLinkClickHandler(Ext.query('input[type=image]'));
    };
    
    return {
        Init: function() {
            InitLinkTracking();
        },
        TrackLink: function(eventObject, sender) {
            var linkText = sender.innerHTML;            
            
            if (sender.tagName.toLowerCase() == 'input' || sender.tagName.toLowerCase() == 'img') {
                linkText = sender.src;
            }            
            
            Ext.Ajax.request
            ({
                url : 'LinkTracking.aspx',
                scope: this, 
                params : { linkId: sender.id, 
                           linkText: linkText,
                           href: sender.href || ''                      
                         },
                method: 'POST'              
            });
        }
    }
} ();

Ext.onReady(RecipesLinkTracking.Init, this);

