1: // README
2: //
3: // There are two steps to adding a property:
4: //
5: // 1. Create a member variable to store your property
6: // 2. Add the get_ and set_ accessors for your property
7: //
8: // Remember that both are case sensitive!
9:
10:
11: /// <reference name="MicrosoftAjaxTimer.debug.js" />
12: /// <reference name="MicrosoftAjaxWebForms.debug.js" />
13: /// <reference name="AjaxControlToolkit.ExtenderBase.BaseScripts.js" assembly="AjaxControlToolkit" />
14:
15:
16: Type.registerNamespace('AJAXControls.LinkVisualizer');
17:
18: AJAXControls.LinkVisualizer.LinkVisualizerBehavior = function(element) {
19: AJAXControls.LinkVisualizer.LinkVisualizerBehavior.initializeBase(this, [element]);
20:
21: // TODO : (Step 1) Add your property variables here
22: var PopupDiv = null;
23: var ChildImage = null;
24: }
25: AJAXControls.LinkVisualizer.LinkVisualizerBehavior.prototype = {
26: initialize: function() {
27: AJAXControls.LinkVisualizer.LinkVisualizerBehavior.callBaseMethod(this, 'initialize');
28:
29: // TODO: Add your initalization code here
30: var Elements = this.get_element().getElementsByTagName("a");
31: for (var x = 0; x < Elements.length; ++x) {
32: Sys.UI.DomEvent.addHandler(Elements[x], 'mouseover',
33: Function.createDelegate(this, this._onmouseover));
34: Sys.UI.DomEvent.addHandler(Elements[x], 'mouseout',
35: Function.createDelegate(this, this._onmouseout));
36: }
37: this.PopupDiv = document.createElement("div");
38: this.PopupDiv.style.display = "none";
39: this.PopupDiv.style.height = "500px";
40: this.PopupDiv.style.position = "absolute";
41: this.ChildImage = document.createElement("img");
42: this.ChildImage.src = "";
43: this.PopupDiv.appendChild(this.ChildImage);
44: document.body.appendChild(this.PopupDiv);
45: },
46:
47: cumulativeOffset: function(Element) {
48: var Left = 0;
49: var Top = 0;
50: do {
51: Top += Element.offsetTop || 0;
52: Left += Element.offsetLeft || 0;
53: Element = Element.offsetParent;
54: } while (Element);
55: var ReturnValues = [Left, Top];
56: return ReturnValues;
57: },
58:
59: _onmouseover: function(EventElement) {
60: var Positions = this.cumulativeOffset(EventElement.target);
61: this.PopupDiv.style.left = Positions[0] + "px";
62: this.PopupDiv.style.top = Positions[1]+EventElement.target.offsetHeight + "px";
63: this.PopupDiv.style.display = "block";
64: this.ChildImage.src = "PageToImage.axd?MaxSize=500&Page=" + EventElement.target.href;
65: },
66:
67: _onmouseout: function(EventElement) {
68: this.PopupDiv.style.display = "none";
69: },
70:
71: dispose: function() {
72: // TODO: Add your cleanup code here
73:
74: AJAXControls.LinkVisualizer.LinkVisualizerBehavior.callBaseMethod(this, 'dispose');
75: }
76: }
77: AJAXControls.LinkVisualizer.LinkVisualizerBehavior.registerClass('AJAXControls.LinkVisualizer.LinkVisualizerBehavior', AjaxControlToolkit.BehaviorBase);