1function ZFAdvLead() { 2} 3ZFAdvLead.utmPValObj = ZFAdvLead.utmPValObj || {}; 4 5ZFAdvLead.utmPNameArr = new Array('utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'referrername', 'field1', 'field2', 'field3'); ZFAdvLead.utmcustPNameArr = new Array('referrername', 'field1', 'field2', 'field3'); ZFAdvLead.isSameDomian = false; 6 7ZFAdvLead.prototype.zfautm_sC = function (paramName, path, domain, secure) { 8 var value = ZFAdvLead.utmPValObj[paramName]; 9 if (typeof value !== "undefined" && value !== null) { 10 var cookieStr = paramName + "=" + encodeURIComponent(value); 11 var exdate = new Date(); 12 exdate.setDate(exdate.getDate() + 30); 13 cookieStr += "; expires=" + exdate.toGMTString(); 14 cookieStr += "; path=/"; 15 if (domain) { 16 cookieStr += "; domain=" + encodeURIComponent(domain); 17 } 18 if (secure) { 19 cookieStr += "; secure"; 20 } 21 document.cookie = cookieStr; 22 } 23}; 24ZFAdvLead.prototype.zfautm_ini = function () { 25 this.zfautm_bscPCap(); 26 var url_search = document.location.search; 27 for (var i = 0; i < ZFAdvLead.utmcustPNameArr.length; i++) { 28 var zf_pN = ZFAdvLead.utmcustPNameArr[i]; 29 var zf_pV; 30 if (zf_pN == 'referrername') { 31 zf_pV = (document.URL || '').slice(0, 1500); 32 } else { 33 zf_pV = this.zfautm_gP(url_search, zf_pN); 34 if (zf_pV == undefined || zf_pV == '') { 35 zf_pV = this.zfautm_gC(zf_pN); 36 } 37 } 38 if (typeof zf_pV !== "undefined" && zf_pV !== null & zf_pV != "") { 39 ZFAdvLead.utmPValObj[zf_pN] = zf_pV; 40 } 41 } 42 for (var pkey in ZFAdvLead.utmPValObj) { 43 this.zfautm_sC(pkey); 44 } 45}; 46ZFAdvLead.prototype.zfautm_bscPCap = function () { 47 var trafSrc = this.zfautm_calcTrafSrc(); 48 if (trafSrc.source != "") { 49 ZFAdvLead.utmPValObj.utm_source = trafSrc.source; 50 } 51 if (trafSrc.medium != "") { 52 ZFAdvLead.utmPValObj.utm_medium = trafSrc.medium; 53 } 54 if (trafSrc.campaign != "") { 55 ZFAdvLead.utmPValObj.utm_campaign = trafSrc.campaign; 56 } 57 if (trafSrc.term != "") { 58 ZFAdvLead.utmPValObj.utm_term = trafSrc.term; 59 } 60 if (trafSrc.content != "") { 61 ZFAdvLead.utmPValObj.utm_content = trafSrc.content; 62 } 63} 64ZFAdvLead.prototype.zfautm_calcTrafSrc = function () { 65 var u1 = '', u2 = '', u3 = '', u4 = '', u5 = ''; 66 var search_engines = [['bing', 'q'], ['google', 'q'], ['yahoo', 'q'], ['baidu', 'q'], ['yandex', 'q'], ['ask', 'q']]; //List of search engines 67 var ref = document.referrer; 68 ref = ref.substr(ref.indexOf('//') + 2); 69 ref_domain = ref; 70 ref_path = '/'; 71 ref_search = ''; 72 73 // Checks for campaign parameters 74 var url_search = document.location.search; 75 if (url_search.indexOf('utm_source') > -1 || url_search.indexOf('utm_medium') > -1 || url_search.indexOf('utm_campaign') > -1 || url_search.indexOf('utm_term') > -1 || url_search.indexOf('utm_content') > -1) { 76 u1 = this.zfautm_gP(url_search, 'utm_source'); 77 u2 = this.zfautm_gP(url_search, 'utm_medium'); 78 u3 = this.zfautm_gP(url_search, 'utm_campaign'); 79 u4 = this.zfautm_gP(url_search, 'utm_term'); 80 u5 = this.zfautm_gP(url_search, 'utm_content'); 81 } else if (this.zfautm_gP(url_search, 'gclid')) { 82 u1 = 'Google Ads'; 83 u2 = 'cpc'; 84 u3 = '(not set)'; 85 if (!ZFAdvLead.utmcustPNameArr.includes('gclid')) { 86 ZFAdvLead.utmcustPNameArr.push('gclid'); 87 } 88 } else if (ref) { 89 var r_u1 = this.zfautm_gC('utm_source'); 90 var r_u2 = this.zfautm_gC('utm_medium'); 91 var r_u3 = this.zfautm_gC('utm_campaign'); 92 var r_u4 = this.zfautm_gC('utm_term'); 93 var r_u5 = this.zfautm_gC('utm_content'); 94 if (typeof r_u1 === "undefined" && typeof r_u2 === "undefined" && typeof r_u3 === "undefined" && typeof r_u4 === "undefined" && typeof r_u5 === "undefined") { 95 // separate domain, path and query parameters 96 if (ref.indexOf('/') > -1) { 97 ref_domain = ref.substr(0, ref.indexOf('/')); 98 ref_path = ref.substr(ref.indexOf('/')); 99 if (ref_path.indexOf('?') > -1) { 100 ref_search = ref_path.substr(ref_path.indexOf('?')); 101 ref_path = ref_path.substr(0, ref_path.indexOf('?')); 102 } 103 } 104 u2 = 'referral'; 105 u1 = ref_domain; 106 // Extract term for organic source 107 for (var i = 0; i < search_engines.length; i++) { 108 if (ref_domain.indexOf(search_engines[i][0]) > -1) { 109 u2 = 'organic'; 110 u1 = search_engines[i][0]; 111 u4 = this.zfautm_gP(ref_search, search_engines[i][1]) || '(not provided)'; 112 break; 113 } 114 } 115 } else { 116 if (typeof r_u1 !== "undefined") { 117 u1 = r_u1; 118 } 119 if (typeof r_u2 !== "undefined") { 120 u2 = r_u2; 121 } 122 if (typeof r_u3 !== "undefined") { 123 u3 = r_u3; 124 } 125 if (typeof r_u4 !== "undefined") { 126 u4 = r_u4; 127 } 128 if (typeof r_u5 !== "undefined") { 129 u5 = r_u5; 130 } 131 } 132 } else { 133 var r_u1 = this.zfautm_gC('utm_source'); 134 var r_u2 = this.zfautm_gC('utm_medium'); 135 var r_u3 = this.zfautm_gC('utm_campaign'); 136 var r_u4 = this.zfautm_gC('utm_term'); 137 var r_u5 = this.zfautm_gC('utm_content'); 138 if (typeof r_u1 === "undefined" && typeof r_u2 === "undefined" && typeof r_u3 === "undefined" && typeof r_u4 === "undefined" && typeof r_u5 === "undefined") { 139 var locRef = document.URL; 140 locRef = locRef.substr(locRef.indexOf('//') + 2); 141 if (locRef.indexOf('/') > -1) { 142 locRef = locRef.substr(0, locRef.indexOf('/')); 143 } 144 u1 = locRef; 145 u2 = 'referral'; 146 } else { 147 if (typeof r_u1 !== "undefined") { 148 u1 = r_u1; 149 } 150 if (typeof r_u2 !== "undefined") { 151 u2 = r_u2; 152 } 153 if (typeof r_u3 !== "undefined") { 154 u3 = r_u3; 155 } 156 if (typeof r_u4 !== "undefined") { 157 u4 = r_u4; 158 } 159 if (typeof r_u5 !== "undefined") { 160 u5 = r_u5; 161 } 162 } 163 } 164 return { 165 'source': u1, 166 'medium': u2, 167 'campaign': u3, 168 'term': u4, 169 'content': u5 170 }; 171} 172ZFAdvLead.prototype.zfautm_gP = function (s, q) { 173 try { 174 var match = s.match('[?&]' + q + '=([^&]+)'); 175 return match ? decodeURIComponent(match[1]) : ''; 176 } catch (e) { 177 return ''; 178 } 179} 180ZFAdvLead.prototype.zfautm_gC = function (cookieName) { 181 var cookieArr = document.cookie.split('; '); 182 for (var i = 0; i < cookieArr.length; i++) { 183 var cookieVals = cookieArr[i].split('=');
184 if (cookieVals[0] === cookieName && cookieVals[1]) { 185 return decodeURIComponent(cookieVals[1]); 186 } 187 } 188}; 189ZFAdvLead.prototype.zfautm_gC_enc = function (cookieName) { 190 var cookieArr = document.cookie.split('; '); 191 for (var i = 0; i < cookieArr.length; i++) { 192 var cookieVals = cookieArr[i].split('='); 193 if (cookieVals[0] === cookieName && cookieVals[1]) { 194 return cookieVals[1]; 195 } 196 } 197}; 198ZFAdvLead.prototype.zfautm_iframeSprt = function () { 199 var zf_frame = document.getElementsByTagName("iframe"); 200 for (var i = 0; i < zf_frame.length; ++i) { 201 if ((zf_frame[i].src).indexOf('formperma') > 0) { 202 var zf_src = zf_frame[i].src; 203 for (var prmIdx = 0; prmIdx < ZFAdvLead.utmPNameArr.length; prmIdx++) { 204 var utmPm = ZFAdvLead.utmPNameArr[prmIdx]; 205 utmPm = (ZFAdvLead.isSameDomian && (ZFAdvLead.utmcustPNameArr.indexOf(utmPm) == -1)) ? "zf_" + utmPm : utmPm; 206 var utmVal = this.zfautm_gC_enc(ZFAdvLead.utmPNameArr[prmIdx]); 207 if (typeof utmVal !== "undefined") { 208 if (utmVal != "") { 209 if (zf_src.indexOf('?') > 0) { 210 zf_src = zf_src + '&' + utmPm + '=' + utmVal; 211 } else { 212 zf_src = zf_src + '?' + utmPm + '=' + utmVal; 213 } 214 } 215 } 216 } 217 if (zf_frame[i].src.length < zf_src.length) { 218 zf_frame[i].src = zf_src; 219 } 220 } 221 } 222}; 223ZFAdvLead.prototype.zfautm_DHtmlSprt = function () { 224 var zf_formsArr = document.forms; 225 for (var frmInd = 0; frmInd < zf_formsArr.length; frmInd++) { 226 var zf_form_act = zf_formsArr[frmInd].action; 227 if (zf_form_act && zf_form_act.indexOf('formperma') > 0) { 228 for (var prmIdx = 0; prmIdx < ZFAdvLead.utmPNameArr.length; prmIdx++) { 229 var utmPm = ZFAdvLead.utmPNameArr[prmIdx]; 230 var utmVal = this.zfautm_gC(ZFAdvLead.utmPNameArr[prmIdx]); 231 if (typeof utmVal !== "undefined") { 232 if (utmVal != "") { 233 var fieldObj = zf_formsArr[frmInd][utmPm]; 234 if (fieldObj) { 235 fieldObj.value = utmVal; 236 } 237 } 238 } 239 } 240 } 241 } 242}; 243ZFAdvLead.prototype.zfautm_jsEmbedSprt = function (id) { 244 document.getElementById('zforms_iframe_id').removeAttribute("onload"); 245 var jsEmbdFrm = document.getElementById("zforms_iframe_id"); 246 var embdSrc = jsEmbdFrm.src; 247 for (var prmIdx = 0; prmIdx < ZFAdvLead.utmPNameArr.length; prmIdx++) { 248 var utmPm = ZFAdvLead.utmPNameArr[prmIdx]; 249 utmPm = (ZFAdvLead.isSameDomian && (ZFAdvLead.utmcustPNameArr.indexOf(utmPm) == -1)) ? "zf_" + utmPm : utmPm; 250 var utmVal = this.zfautm_gC_enc(ZFAdvLead.utmPNameArr[prmIdx]); 251 if (typeof utmVal !== "undefined") { 252 if (utmVal != "") { 253 if (embdSrc.indexOf('?') > 0) { 254 embdSrc = embdSrc + '&' + utmPm + '=' + utmVal; 255 } else { 256 embdSrc = embdSrc + '?' + utmPm + '=' + utmVal; 257 } 258 } 259 } 260 } 261 jsEmbdFrm.src = embdSrc; 262}; 263var zfutm_zfAdvLead = new ZFAdvLead(); 264zfutm_zfAdvLead.zfautm_ini(); 265if (document.readyState == "complete") { 266 zfutm_zfAdvLead.zfautm_iframeSprt(); 267 zfutm_zfAdvLead.zfautm_DHtmlSprt(); 268} else { 269 window.addEventListener('load', function () { 270 zfutm_zfAdvLead.zfautm_iframeSprt(); 271 zfutm_zfAdvLead.zfautm_DHtmlSprt(); 272 }, false); 273}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.