function attachCrossDomainAnalytics(domains) {num_domains = domains.length;if (num_domains == 0) return;var list = "a,img";var links = getElementsByTagNames(list,document);var num_links = links.length;for(var i = 0; i < num_links; i++) {curr_link = links[i];for(var j = 0; j < num_domains; j++) {if(curr_link.href){if(curr_link.nodeName.toUpperCase() == "IMG"){addExternalTrackingToParent(curr_link,domains[j]);} else {if(curr_link.href.indexOf(domains[j]) > -1) {addEvent(curr_link,'click',trackExternalLink);}}} else if (curr_link.src) {addExternalTrackingToParent(curr_link,domains[j]);}}}var forms = document.getElementsByTagName("form");var num_forms = forms.length;for(var i = 0; i < num_forms; i++) {curr_form = forms[i];for(var j = 0; j < num_domains; j++) {if(curr_form.action.indexOf(domains[j]) > -1) {addEvent(curr_form,'submit',trackExternalForm);}}}return true;}function addExternalTrackingToParent(curr_link,externalDomain){if(curr_link.parentNode.nodeName.toUpperCase() == "A"){if(curr_link.parentNode.href){if(curr_link.parentNode.href.indexOf(externalDomain) > -1) {addEvent(curr_link,'click',trackExternalLink);}} else {return;}} else {return;}return true;}function getElementsByTagNames(list, obj) {if (!obj) var obj = document;var tagNames = list.split(',');var resultArray = new Array();for (var i=0;i<tagNames.length;i++) {var tags = obj.getElementsByTagName(tagNames[i]);for (var j=0;j<tags.length;j++) {resultArray.push(tags[j]);}}return resultArray;}function attachLinkTracking(){var list = "a,img";var links = getElementsByTagNames(list,document);var num_links = links.length;for(var i = 0; i < num_links; i++) {curr_link = links[i];addEvent(curr_link,'click',trackLink);}}function trackLink(e) {if (!e) var e = window.event;e.cancelBubble = true;if (e.stopPropagation) e.stopPropagation();if (!globalTracker) return;var url;var lName;if(e.target ? e.target.nodeName.toUpperCase()=='A' : e.srcElement.nodeName.toUpperCase()=='A'){if(e.target ? e.target.href : e.srcElement.href) {url = e.target ? e.target.href : e.srcElement.href;} else {return;}lName = trackLinkName(e);} else {var parentLinkDetails = trackParentLink(e);if(parentLinkDetails){url = parentLinkDetails[0];lName = parentLinkDetails[1];} else {return;}}var url_start = url.indexOf("://") + 3;url = url.substring(url_start);if(url == '') return;var linkTracker = location.pathname.charAt(location.pathname.length-1) == "/" ?  "/link-tracking/" + location.host + location.pathname + lName + '/'  + url : "/link-tracking/" + location.host + location.pathname + "/" + lName + '/'  + url;globalTracker._trackPageview(linkTracker);}function trackParentLink(e){if(e.target ? e.target.parentNode.nodeName.toUpperCase() == "A" : e.srcElement.parentNode.nodeName.toUpperCase() == "A"){var url;var lName;var parentLink = new Array();if(e.target ? e.target.parentNode.href : e.srcElement.parentNode.href){url = e.target ? e.target.parentNode.href : e.srcElement.parentNode.href;} else {return;}if(e.target ? e.target.parentNode.title : e.srcElement.parentNode.title){lName = e.target ? e.target.parentNode.title : e.srcElement.parentNode.title;} else {if(e.target ? e.target.alt : e.srcElement.alt){lName = e.target ? e.target.alt : e.srcElement.alt;} else if(e.target ? e.target.innerHTML : e.srcElement.innerHTML){lName = e.target ? e.target.innerHTML : e.srcElement.innerHTML;} else {lName = 'unknown';}}parentLink[0] = url;parentLink[1] = lName;return parentLink;} else {return;}}function trackLinkName(e){var lName;if(e.target ? getElementsByTagNames("img",e.target).length>0 : getElementsByTagNames("img",e.srcElement).length>0){if(e.target ? getElementsByTagNames("img",e.target)[0].alt : getElementsByTagNames("img",e.srcElement)[0].alt){lName = e.target ? getElementsByTagNames("img",e.target)[0].alt : getElementsByTagNames("img",e.srcElement)[0].alt;} else {if(e.target ? e.target.title : e.srcElement.title) {lName = e.target ? e.target.title : e.srcElement.title;} else {lName = 'unknown';}}} else {if(e.target ? e.target.title : e.srcElement.title) {lName = e.target ? e.target.title : e.srcElement.title;} else if (e.target ? e.target.innerHTML : e.srcElement.innerHTML) {lName = e.target ? e.target.innerHTML : e.srcElement.innerHTML;} else {lName = 'unknown';}}return lName;}function trackExternalLink(e) {if (!e) var e = window.event;if (!globalTracker) return;var url;if(e.target ? e.target.nodeName.toUpperCase()=='A' : e.srcElement.nodeName.toUpperCase()=='A'){if(e.target ? e.target.href : e.srcElement.href) {url = e.target ? e.target.href : e.srcElement.href;} else {return;}} else if (e.target ? e.target.nodeName.toUpperCase()=='IMG' : e.srcElement.nodeName.toUpperCase()=='IMG') {if(e.target ? e.target.parentNode.nodeName.toUpperCase() == "A" : e.srcElement.parentNode.nodeName.toUpperCase() == "A"){if(e.target ? e.target.parentNode.href : e.srcElement.parentNode.href){url = e.target ? e.target.parentNode.href : e.srcElement.parentNode.href;} else {return;}} else {return;}} else {return;}if(url == '') return;if(e.target ? e.target.nodeName.toUpperCase()=='A' : e.srcElement.nodeName.toUpperCase()=='A'){trackExternalAnchorLink(e,url);} else if (e.target ? e.target.nodeName.toUpperCase()=='IMG' : e.srcElement.nodeName.toUpperCase()=='IMG') {var targetNode = e.target ? e.target.parentNode : e.srcElement.parentNode;trackExternalImageLink(e,targetNode);} else {}stopEvent(e);}function trackExternalAnchorLink(e,url){if(e.target ? e.target.target : e.srcElement.target){if(e.target ? e.target.target=='_blank' : e.srcElement.target=='_blank'){var href = e.target ? e.target.href : e.srcElement.href;window.open(globalTracker._getLinkerUrl(href));} else {globalTracker._link(url);}} else {globalTracker._link(url);}stopEvent(e);}function trackExternalImageLink(e,targetElement){if(targetElement.nodeName.toUpperCase()=='A'){if(targetElement.target){if(targetElement.target=='_blank'){window.open(globalTracker._getLinkerUrl(targetElement.href));} else {globalTracker._link(targetElement.href);}} else {globalTracker._link(targetElement.href);}} else {return;}stopEvent(e);}function stopEvent(e) {if( e.stopPropagation ) { e.stopPropagation(); }e.cancelBubble = true;if( e.preventDefault ) { e.preventDefault(); }e.returnValue = false;}function addEvent(obj, type, fn){if(obj.attachEvent) {obj['e'+type+fn] = fn;obj[type+fn] = function(){obj['e'+type+fn] (window.event);};obj.attachEvent( 'on'+type, obj[type+fn] );} else {obj.addEventListener(type, fn, false);}return true;}function attachFormTracking() {var elements = getElementsByTagNames("input,select,textarea");var num_elements = elements.length;for(var i = 0; i < num_elements; i++) {curr_element = elements[i];if (curr_element.type == 'image') {addEvent(curr_element,'click',trackFormChange);} else {addEvent(curr_element,'change',trackFormChange);}}return true;}function trackFormChange(e) {if (!globalTracker) return;var action = e.target ? e.target.form.action : e.srcElement.form.action;var name = e.target ? e.target.name : e.srcElement.name;var type = e.target ? e.target.type : e.srcElement.type;var alt = e.target ? e.target.alt : e.srcElement.alt;name = type == 'image' ? alt : name;if(!name){name = 'unknown';} else if (name == '') {name = 'unknown';}var curr_url = location.href;var url_start = curr_url.indexOf("://") + 3;var url_stop = curr_url.indexOf("?") == -1 ? 1000 : curr_url.indexOf("?");curr_url = curr_url.substring(url_start, url_stop);var pageview = "/form-tracking/" + curr_url + "/" + document.title + "/" + name;globalTracker._trackPageview(pageview);}function trackExternalForm(e) {if (!globalTracker) return;var tar = e.currentTarget ? e.currentTarget : e.srcElement;globalTracker._linkByPost(tar);}