var HeatMapServer = 'http://www.trading-pattern.com/heatmap/click.php'; var HeatMapGuide = 'http://www.trading-pattern.com/heatmap/guide.php'; var HeatMapLastIframe = -1; var HeatMapTime = 0; var HeatMapQuota = -1; var ref = document.referrer; var hit = 1; function catchHeatMap(e) { try { if (e == undefined) { e = window.event; c = e.button; element = e.srcElement; } else { c = e.which; element = null; } if (e.srcElement) { zid = e.srcElement.id; zoffsetHeight = e.srcElement.offsetHeight; zoffsetWidth = e.srcElement.offsetWidth; zoffsetTop = findPost(e.srcElement); zoffsetLeft = findPosl(e.srcElement); ztn = e.srcElement.tagName; href = findlink(e.srcElement); } else { zid = e.target.id; zoffsetHeight = e.target.offsetHeight; zoffsetWidth = e.target.offsetWidth; zoffsetTop = findPost(e.target); zoffsetLeft = findPosl(e.target); href = findlink(e.target); } // ################## GRAB THE PIXEL RELATED VARIABLES USED ###################### x = e.clientX; y = e.clientY; d = document.documentElement != undefined && document.documentElement.clientHeight != 0 ? document.documentElement : document.body; scrollx = window.pageXOffset == undefined ? d.scrollLeft : window.pageXOffset; scrolly = window.pageYOffset == undefined ? d.scrollTop : window.pageYOffset; w = window.innerWidth == undefined ? d.clientWidth : window.innerWidth; h = window.innerHeight == undefined ? d.clientHeight : window.innerHeight; // ################## MAKE SURE THIS CLICK IS IN THE VIEWING AREA (not on scrollbars, etc.) ###################### if (x > w || y > h) { return true; } // ################## CHECK THAT CLICKS ARE AT LEAST 1 SEC APART (Prevent Double Clicks) ###################### clickTime = new Date(); if (clickTime.getTime() - HeatMapTime < 1000) { return true; } HeatMapTime = clickTime.getTime(); if (HeatMapQuota > 0) { HeatMapQuota = HeatMapQuota - 1; } // ################## DETERMINE THE CLICKERS BROWSER TYPE ###################### b = navigator.userAgent != undefined ? navigator.userAgent.toLowerCase().replace(/-/g, '') : ''; b0 = b.replace(/^.*(firefox|kmeleon|safari|msie|opera).*$/, '$1'); if (b == b0 || b0 == '') b0 = 'unknown'; params = 'p=' + HeatMapPage + '&x=' + (x + scrollx) + '&y=' + (y + scrolly) + '&w=' + w + '&b=' + b0 + '&zid=' + zid + '&zoffsetHeight=' + zoffsetHeight + '&zoffsetWidth=' + zoffsetWidth + '&zoffsetTop=' + zoffsetTop + '&zoffsetLeft=' + zoffsetLeft + '&c=' + c + '&thisip=38.107.191.90&href=' + escape(href) + '&random=' + Date(); ref = ''; hit = ''; // ################## CONTACT THE click.php SCRIPT AND LOG CLICK ##################### var sent = false; if (HeatMapServer.substring(0, 4) != 'http') { var xmlhttp = false; try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (oc) { xmlhttp = null; } } if (!xmlhttp && typeof XMLHttpRequest != undefined) xmlhttp = new XMLHttpRequest(); if (xmlhttp) { xmlhttp.open('GET', HeatMapServer + '?' + params, true); xmlhttp.setRequestHeader('Connection', 'close'); xmlhttp.send(null); sent = true; } } if (sent == false) { var HeatMapImg = new Image(); HeatMapImg.src = HeatMapServer + '?' + params; } } // ####################### END OF TRY { } ######################### catch(e) { } return true; } // ####################### END OF FUNCTION ######################### function initHeatMap() { if (qsParm['guidemap']) { if ((qsParm['screensize']+1) > 5) { } else { qsParm['screensize'] = 1024; qsParm['browsertype'] = 'ff'; } window.resizeTo(qsParm['screensize'],700); alert('Old Guide Deleted... New Guide Begun'); var elementArray = new Array(); var nea = new Array(); var df = 1; var df2 = 1; var gheight = 500; var params2 = 'page=' + HeatMapPage + '&delf=1&screensize=' + qsParm['screensize'] + '&browsertype=' + qsParm['browsertype'] + '&url2=' + qsParm['url2'] + '&data='; if (document.all) { elementArray = document.all; } else { elementArray = document.getElementsByTagName("*"); } for (var i = 0; i < elementArray.length; i++) { if (elementArray[i].getAttribute('id')) { var el = findPosl(elementArray[i]); var et = findPost(elementArray[i]); var ew = elementArray[i].offsetWidth; var eh = elementArray[i].offsetHeight; params2 += elementArray[i].getAttribute('id') + '|' + el + '|' + et + '|' + ew + '|' + eh + '||'; if ((et + eh) > gheight) { gheight = (et + eh); } } else { var id = elementArray[i].tagName; var el = findPosl(elementArray[i]); var et = findPost(elementArray[i]); var ew = elementArray[i].offsetWidth; var eh = elementArray[i].offsetHeight; id = id.toLowerCase(); if ((et + eh) > gheight) { gheight = (et + eh); } if (id == "a") { if (nea['a'] >= 1) nea['a'] += 1; else nea['a'] = 1; var show = nea['a']; } if (id == "p") { if (nea['p'] >= 1) nea['p'] += 1; else nea['p'] = 1; var show = nea['p']; } if (id == "b") { if (nea['b'] >= 1) nea['b'] += 1; else nea['b'] = 1; var show = nea['b']; } if (id == "u") { if (nea['u'] >= 1) nea['u'] += 1; else nea['u'] = 1; var show = nea['u']; } if (id == "i") { if (nea['i'] >= 1) nea['i'] += 1; else nea['i'] = 1; var show = nea['i']; } if (id == "s") { if (nea['s'] >= 1) nea['s'] += 1; else nea['s'] = 1; var show = nea['s']; } if (id == "tr") { if (nea['tr'] >= 1) nea['tr'] += 1; else nea['tr'] = 1; var show = nea['tr']; } if (id == "th") { if (nea['th'] >= 1) nea['th'] += 1; else nea['th'] = 1; var show = nea['th']; } if (id == "br") { if (nea['br'] >= 1) nea['br'] += 1; else nea['br'] = 1; var show = nea['br']; } if (id == "td") { if (nea['td'] >= 1) nea['td'] += 1; else nea['td'] = 1; var show = nea['td']; } if (id == "ul") { if (nea['ul'] >= 1) nea['ul'] += 1; else nea['ul'] = 1; var show = nea['ul']; } if (id == "li") { if (nea['li'] >= 1) nea['li'] += 1; else nea['li'] = 1; var show = nea['li']; } if (id == "h1") { if (nea['h1'] >= 1) nea['h1'] += 1; else nea['h1'] = 1; var show = nea['h1']; } if (id == "h2") { if (nea['h2'] >= 1) nea['h2'] += 1; else nea['h2'] = 1; var show = nea['h2']; } if (id == "h3") { if (nea['h3'] >= 1) nea['h3'] += 1; else nea['h3'] = 1; var show = nea['h3']; } if (id == "h4") { if (nea['h4'] >= 1) nea['h4'] += 1; else nea['h4'] = 1; var show = nea['h4']; } if (id == "hr") { if (nea['hr'] >= 1) nea['hr'] += 1; else nea['hr'] = 1; var show = nea['hr']; } if (id == "img") { if (nea['img'] >= 1) nea['img'] += 1; else nea['img'] = 1; var show = nea['img']; } if (id == "div") { if (nea['div'] >= 1) nea['div'] += 1; else nea['div'] = 1; var show = nea['div']; } if (id == "html") { if (nea['html'] >= 1) nea['html'] += 1; else nea['html'] = 1; var show = nea['html']; } if (id == "body") { if (nea['body'] >= 1) nea['body'] += 1; else nea['body'] = 1; var show = nea['body']; } if (id == "font") { if (nea['font'] >= 1) nea['font'] += 1; else nea['font'] = 1; var show = nea['font']; } if (id == "text") { if (nea['text'] >= 1) nea['text'] += 1; else nea['text'] = 1; var show = nea['text']; } if (id == "span") { if (nea['span'] >= 1) nea['span'] += 1; else nea['span'] = 1; var show = nea['span']; } if (id == "head") { if (nea['head'] >= 1) nea['head'] += 1; else nea['head'] = 1; var show = nea['head']; } if (id == "link") { if (nea['link'] >= 1) nea['link'] += 1; else nea['link'] = 1; var show = nea['link']; } if (id == "form") { if (nea['form'] >= 1) nea['form'] += 1; else nea['form'] = 1; var show = nea['form']; } if (id == "meta") { if (nea['meta'] >= 1) nea['meta'] += 1; else nea['meta'] = 1; var show = nea['meta']; } if (id == "param") { if (nea['param'] >= 1) nea['param'] += 1; else nea['param'] = 1; var show = nea['param']; } if (id == "table") { if (nea['table'] >= 1) nea['table'] += 1; else nea['table'] = 1; var show = nea['table']; } if (id == "image") { if (nea['image'] >= 1) nea['image'] += 1; else nea['image'] = 1; var show = nea['image']; } if (id == "tbody") { if (nea['tbody'] >= 1) nea['tbody'] += 1; else nea['tbody'] = 1; var show = nea['tbody']; } if (id == "title") { if (nea['title'] >= 1) nea['title'] += 1; else nea['title'] = 1; var show = nea['title']; } if (id == "embed") { if (nea['embed'] >= 1) nea['embed'] += 1; else nea['embed'] = 1; var show = nea['embed']; } if (id == "input") { if (nea['input'] >= 1) nea['input'] += 1; else nea['input'] = 1; var show = nea['input']; } if (id == "radio") { if (nea['radio'] >= 1) nea['radio'] += 1; else nea['radio'] = 1; var show = nea['radio']; } if (id == "script") { if (nea['script'] >= 1) nea['script'] += 1; else nea['script'] = 1; var show = nea['script']; } if (id == "object") { if (nea['object'] >= 1) nea['object'] += 1; else nea['object'] = 1; var show = nea['object']; } if (id == "iframe") { if (nea['iframe'] >= 1) nea['iframe'] += 1; else nea['iframe'] = 1; var show = nea['iframe']; } if (id == "select") { if (nea['select'] >= 1) nea['select'] += 1; else nea['select'] = 1; var show = nea['select']; } if (id == "button") { if (nea['button'] >= 1) nea['button'] += 1; else nea['button'] = 1; var show = nea['button']; } if (id == "submit") { if (nea['submit'] >= 1) nea['submit'] += 1; else nea['submit'] = 1; var show = nea['submit']; } if (id == "checkbox") { if (nea['checkbox'] >= 1) nea['checkbox'] += 1; else nea['checkbox'] = 1; var show = nea['checkbox']; } if (id == "label") { if (nea['label'] >= 1) nea['label'] += 1; else nea['label'] = 1; var show = nea['label']; } if (id == "map") { if (nea['map'] >= 1) nea['map'] += 1; else nea['map'] = 1; var show = nea['map']; } if (id == "area") { if (nea['area'] >= 1) nea['area'] += 1; else nea['area'] = 1; var show = nea['area']; } if (document.all) { id = id + '-' + show; elementArray[i].id = id; params2 += id + '|' + el + '|' + et + '|' + ew + '|' + eh + '||'; } else { id = id + '-' + show; elementArray[i].setAttribute("ID",id); params2 += id + '|' + el + '|' + et + '|' + ew + '|' + eh + '||'; } } if (df > 80) { var HeatMapImg2 = new Image(); HeatMapImg2.src = HeatMapGuide + '?' + params2; params2 = 'page=' + HeatMapPage + '&url2=' + qsParm['url2'] + '&data='; alert('Elements Logged...'+df2+' so far. WAIT a second or two then click OK'); var df = 1; } else { var df = df + 1; var df2 = df2 + 1; } } var HeatMapImg2 = new Image(); HeatMapImg2.src = HeatMapGuide + '?' + 'gheight=' + gheight + '&' + params2; alert('Elements Logged...'+df2+' total.'); alert('Finished.'); alert("The Guide to your site has been created based on the way the page looks to you right now. To view your heat maps properly, you must be using the same browser you are using now. The heat maps and webpage underlays will all be shown for this page at the same width your browser window is now. \n\nIf you want to view your heat maps with a different browser or at a different width, you need to use that browser and then come back and recreate the guide."); document.location = 'http://www.trading-pattern.com/heatmap/index.php'; } else { var elementArray = new Array(); var nea = new Array(); if (document.all) { elementArray = document.all; } else { elementArray = document.getElementsByTagName("*"); } for (var i = 0; i < elementArray.length; i++) { var two = '1268563976'; two = two - 1186000000; var editlink = elementArray[i].getAttribute('href'); if (editlink) { editlink = editlink.replace("qwerty",two); } if (elementArray[i].getAttribute('id')) { } else { var id = elementArray[i].tagName; var el = findPosl(elementArray[i]); var et = findPost(elementArray[i]); var ew = elementArray[i].offsetWidth; var eh = elementArray[i].offsetHeight; id = id.toLowerCase(); if (id == "a") { if (nea['a'] >= 1) nea['a'] += 1; else nea['a'] = 1; var show = nea['a']; } if (id == "p") { if (nea['p'] >= 1) nea['p'] += 1; else nea['p'] = 1; var show = nea['p']; } if (id == "b") { if (nea['b'] >= 1) nea['b'] += 1; else nea['b'] = 1; var show = nea['b']; } if (id == "u") { if (nea['u'] >= 1) nea['u'] += 1; else nea['u'] = 1; var show = nea['u']; } if (id == "i") { if (nea['i'] >= 1) nea['i'] += 1; else nea['i'] = 1; var show = nea['i']; } if (id == "s") { if (nea['s'] >= 1) nea['s'] += 1; else nea['s'] = 1; var show = nea['s']; } if (id == "tr") { if (nea['tr'] >= 1) nea['tr'] += 1; else nea['tr'] = 1; var show = nea['tr']; } if (id == "th") { if (nea['th'] >= 1) nea['th'] += 1; else nea['th'] = 1; var show = nea['th']; } if (id == "br") { if (nea['br'] >= 1) nea['br'] += 1; else nea['br'] = 1; var show = nea['br']; } if (id == "td") { if (nea['td'] >= 1) nea['td'] += 1; else nea['td'] = 1; var show = nea['td']; } if (id == "ul") { if (nea['ul'] >= 1) nea['ul'] += 1; else nea['ul'] = 1; var show = nea['ul']; } if (id == "li") { if (nea['li'] >= 1) nea['li'] += 1; else nea['li'] = 1; var show = nea['li']; } if (id == "h1") { if (nea['h1'] >= 1) nea['h1'] += 1; else nea['h1'] = 1; var show = nea['h1']; } if (id == "h2") { if (nea['h2'] >= 1) nea['h2'] += 1; else nea['h2'] = 1; var show = nea['h2']; } if (id == "h3") { if (nea['h3'] >= 1) nea['h3'] += 1; else nea['h3'] = 1; var show = nea['h3']; } if (id == "h4") { if (nea['h4'] >= 1) nea['h4'] += 1; else nea['h4'] = 1; var show = nea['h4']; } if (id == "hr") { if (nea['hr'] >= 1) nea['hr'] += 1; else nea['hr'] = 1; var show = nea['hr']; } if (id == "img") { if (nea['img'] >= 1) nea['img'] += 1; else nea['img'] = 1; var show = nea['img']; } if (id == "div") { if (nea['div'] >= 1) nea['div'] += 1; else nea['div'] = 1; var show = nea['div']; } if (id == "html") { if (nea['html'] >= 1) nea['html'] += 1; else nea['html'] = 1; var show = nea['html']; } if (id == "body") { if (nea['body'] >= 1) nea['body'] += 1; else nea['body'] = 1; var show = nea['body']; } if (id == "font") { if (nea['font'] >= 1) nea['font'] += 1; else nea['font'] = 1; var show = nea['font']; } if (id == "text") { if (nea['text'] >= 1) nea['text'] += 1; else nea['text'] = 1; var show = nea['text']; } if (id == "span") { if (nea['span'] >= 1) nea['span'] += 1; else nea['span'] = 1; var show = nea['span']; } if (id == "head") { if (nea['head'] >= 1) nea['head'] += 1; else nea['head'] = 1; var show = nea['head']; } if (id == "link") { if (nea['link'] >= 1) nea['link'] += 1; else nea['link'] = 1; var show = nea['link']; } if (id == "form") { if (nea['form'] >= 1) nea['form'] += 1; else nea['form'] = 1; var show = nea['form']; } if (id == "meta") { if (nea['meta'] >= 1) nea['meta'] += 1; else nea['meta'] = 1; var show = nea['meta']; } if (id == "param") { if (nea['param'] >= 1) nea['param'] += 1; else nea['param'] = 1; var show = nea['param']; } if (id == "table") { if (nea['table'] >= 1) nea['table'] += 1; else nea['table'] = 1; var show = nea['table']; } if (id == "image") { if (nea['image'] >= 1) nea['image'] += 1; else nea['image'] = 1; var show = nea['image']; } if (id == "tbody") { if (nea['tbody'] >= 1) nea['tbody'] += 1; else nea['tbody'] = 1; var show = nea['tbody']; } if (id == "title") { if (nea['title'] >= 1) nea['title'] += 1; else nea['title'] = 1; var show = nea['title']; } if (id == "embed") { if (nea['embed'] >= 1) nea['embed'] += 1; else nea['embed'] = 1; var show = nea['embed']; } if (id == "input") { if (nea['input'] >= 1) nea['input'] += 1; else nea['input'] = 1; var show = nea['input']; } if (id == "radio") { if (nea['radio'] >= 1) nea['radio'] += 1; else nea['radio'] = 1; var show = nea['radio']; } if (id == "script") { if (nea['script'] >= 1) nea['script'] += 1; else nea['script'] = 1; var show = nea['script']; } if (id == "object") { if (nea['object'] >= 1) nea['object'] += 1; else nea['object'] = 1; var show = nea['object']; } if (id == "iframe") { if (nea['iframe'] >= 1) nea['iframe'] += 1; else nea['iframe'] = 1; var show = nea['iframe']; } if (id == "select") { if (nea['select'] >= 1) nea['select'] += 1; else nea['select'] = 1; var show = nea['select']; } if (id == "button") { if (nea['button'] >= 1) nea['button'] += 1; else nea['button'] = 1; var show = nea['button']; } if (id == "submit") { if (nea['submit'] >= 1) nea['submit'] += 1; else nea['submit'] = 1; var show = nea['submit']; } if (id == "checkbox") { if (nea['checkbox'] >= 1) nea['checkbox'] += 1; else nea['checkbox'] = 1; var show = nea['checkbox']; } if (id == "label") { if (nea['label'] >= 1) nea['label'] += 1; else nea['label'] = 1; var show = nea['label']; } if (id == "map") { if (nea['map'] >= 1) nea['map'] += 1; else nea['map'] = 1; var show = nea['map']; } if (id == "area") { if (nea['area'] >= 1) nea['area'] += 1; else nea['area'] = 1; var show = nea['area']; } if (document.all) { id = id + '-' + show; elementArray[i].id = id; if (editlink != document.getElementById(id).href) { document.getElementById(id).setAttribute('href', ''+editlink); } } else { id = id + '-' + show; elementArray[i].setAttribute("ID",id); elementArray[i].href = editlink; } } } if (qsParm['norun']) { } else { var HeatMapImg3 = new Image(); HeatMapImg3.src = 'http://www.trading-pattern.com/heatmap/click.php?nowlink=' + two + '&p=' + HeatMapPage + '&hit=1&thisip=38.107.191.90&ref=' + escape(document.referrer) + '&'; var ref = ''; var hit = ''; startclicklog(); } } } // This begins the actual recording of clicks, after // the elements have all been identified. function startclicklog() { if (HeatMapPage == '' || HeatMapServer == '') return false; if (typeof document.onmousedown == 'function') { currentFunc = document.onmousedown; document.onmousedown = function(e) { catchHeatMap(e); return currentFunc(e); } } else { document.onmousedown = catchHeatMap; } // Add onfocus event on iframes (mostly ads) - Does NOT work with Gecko-powered browsers, because onfocus doesn't exist on iframes iFrames = document.getElementsByTagName('iframe'); for (i = 0; i < iFrames.length; i++) { if (typeof iFrames[i].onfocus == 'function') { currentFunc = iFrames[i].onfocus; iFrames[i].onfocus = function(e) { catchHeatMap(e); return currentFunc(e); } } else { iFrames[i].onfocus = catchHeatMap; } } } // Find the top or Y coordinate of an element function findPost(obj) { var curtop = 0; if (obj.offsetParent) { curtop = obj.offsetTop; while (obj = obj.offsetParent) { curtop += obj.offsetTop; } } return curtop; } // Find the left or X coordinate of an element function findPosl(obj) { var curleft = 0; if (obj.offsetParent) { curleft = obj.offsetLeft; while (obj = obj.offsetParent) { curleft += obj.offsetLeft; } } return curleft; } function findlink(el) { var tagName = 'A'; var parent = el.parentNode; if (el.tagName != 'IMG') { var df = el.href; } if (!df&&parent) { if (parent.tagName==tagName) return parent.href; else return findlink(parent); } else { return df; } } // Downloaded from the internet, this function takes all // the refrerences of window.onload in a page and puts their // contents into an anonymous function so that they all // execute when the page is finished loading. // We have to do this // to overcome the fact that you can only use wondow.onload // once in a page, and we *need* to use it in this script. If it // is already in another script, only one of the scripts // will execute when the page loads (one call overwrites the other). // Seems to work, I'll find the credit and give it. function makeDoubleDelegate(function1, function2) { return function() { if (function2) function2(); if (function1) function1(); } }