1 // Customer: Library of Congress
2 // Version : DHTML Trigger 2.1
3 var popUpURL = "//www.foreseeresults.com/survey/display"; // base URL to the survey
4 var ckAlreadyShown = triggerParms["ascookie"]; // name of the persistent/session cookie
5 var ckLoyaltyCount = triggerParms["lfcookie"]; // name of the loyalty count cookie
9 var winOptions = "width= 1,height= 1,top= 4000,left= 4000,resizable=yes,scrollbars=yes";
10 var persistentExpires = new Date(); // persistent cookie expiration
11 persistentExpires.setTime(persistentExpires.getTime() + (triggerParms["rw"]*60*1000));
12 function ForeCStdGetCookie (name) {
14 var alen = arg.length;
15 var clen = document.cookie.length;
19 if (document.cookie.substring(i, j) == arg) {
20 return ForeCStdGetCookieVal (j);
22 i = document.cookie.indexOf(" ", i) + 1;
29 function fsr_IEshowWindow() {
30 if (eval("document.all.fsr_window").filters.revealTrans.status == 0) {
31 eval("document.all.fsr_window").filters.revealTrans.transition = 23 ;
32 eval("document.all.fsr_window").filters.revealTrans.Apply();
33 eval("document.all.fsr_window").style.visibility = 'visible';
34 eval("document.all.fsr_window").filters.revealTrans.Play();
36 eval("document.all.fsr_window").style.visibility = 'visible';
39 function fsr_hideWindow() {
40 if (fsr_browser=="fsr_ie"){
41 if (eval("document.all.fsr_window").filters.revealTrans.status == 0) {
42 eval("document.all.fsr_window").filters.revealTrans.transition = 23;
43 eval("document.all.fsr_window").filters.revealTrans.Apply();
44 eval("document.all.fsr_window").style.visibility = 'hidden';
45 eval("document.all.fsr_window").filters.revealTrans.Play();
47 eval("document.all.fsr_window").style.visibility = 'hidden';
50 document.getElementById("fsr_window").style.visibility = 'hidden';
53 function fsr_showWindow() {
54 document.getElementById("fsr_window").style.visibility = 'visible';
56 function ForeCStdSetCookie (name, value) {
57 var argv = ForeCStdSetCookie.arguments;
58 var argc = ForeCStdSetCookie.arguments.length;
59 var expires = (argc > 2) ? argv[2] : null;
60 var path = (argc > 3) ? argv[3] : null;
61 var domain = (argc > 4) ? argv[4] : null;
62 var secure = (argc > 5) ? argv[5] : false;
63 document.cookie = name + "=" + escape (value) +
64 ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
65 ((path == null) ? "" : ("; path=" + path)) +
66 ((domain == null) ? "" : ("; domain=" + domain)) +
67 ((secure == true) ? "; secure" : "");
69 function ForeCStdGetCookieVal(offset) {
70 var endstr = document.cookie.indexOf (";", offset);
72 endstr = document.cookie.length;
74 return unescape(document.cookie.substring(offset, endstr));
76 function specialEscape(str) {
80 for(i = 0; (found = str.indexOf('+', found)) != -1; ) {
81 translated += str.substring(i, found) + "%2B";
85 translated += str.substring(i, str.length);
89 var myPopUp = window.open(fullURL, 'survey',winOptions);
90 if ( myPopUp && myPopUp.open && !myPopUp.closed) {
91 if (triggerParms["pu"] == 1){
99 if(navigator.platform.indexOf("Win32") >= 0){
105 function currentLocationExcluded() {
106 var parentURLPath = window.location.pathname;//location path
107 for(key in excludeList) {
108 if(parentURLPath.indexOf(excludeList[key]) != -1) {
116 if(triggerParms["dt"] == 1) {
119 if(currentLocationExcluded()) {
122 var stickyCounter = ForeCStdGetCookie(ckLoyaltyCount); // check counter cookie
123 var alreadyShown = ForeCStdGetCookie(ckAlreadyShown); // check if we already have shown survey
125 var randNum = Math.random();
127 if (stickyCounter == null) {
129 ForeCStdSetCookie(ckLoyaltyCount, pageCount, null,'/',triggerParms["domain"]);
130 stickyCounter = ForeCStdGetCookie(ckLoyaltyCount);
132 if (stickyCounter != null) {
133 pageCount = stickyCounter;
134 if(pageCount >= triggerParms["lf"]) {
135 if(alreadyShown == null) {
136 if (triggerParms["rso"] == 1 && triggerParms["aro"] == 1) {
137 triggerParms["sp"] = 100.0; // Update Ssample percentage
139 if(randNum <= triggerParms["sp"]) {
140 var fsr_mac= checkMAC();
141 fsr_browser="fsr_nn6";
143 fsr_browser = "fsr_ie";
145 if(document.layers) {
146 fsr_browser = "fsr_nn";
148 fullURL = popUpURL + "?" + "width=" + triggerParms["width"] +
149 "&height=" + triggerParms["height"] +
150 "&cid=" + specialEscape(escape(triggerParms["cid"])) + "&mid=" + specialEscape(escape(triggerParms["mid"]));
151 if ((triggerParms["omb"] ) != null) {
152 fullURL += "&omb=" + escape(triggerParms["omb"]);
154 if ((triggerParms["cmetrics"] ) != null) {
155 fullURL += "&cmetrics=" + escape(triggerParms["cmetrics"]);
157 if (triggerParms["olpu"] == 1) {
158 fullURL += "&olpu=1";
160 if (triggerParms["rso"] == 1) {
161 fullURL += "&rso=1&rct=" + triggerParms["rct"] + "&rds=" + triggerParms["rds"] + "&mrd=" + triggerParms["mrd"] + "&rws=" + triggerParms["rw"];
163 if (triggerParms["capturePageView"] == 1) {
164 triggerParms["cpp_3"] = "PageView:"+ pageCount; // customer parameter 3 - Page View
166 if ((triggerParms["midexp"] ) != null) {
167 fullURL += "&ndc=1&fsexp=5256000&midexp=" + triggerParms["midexp"];
169 var customerParams = "";
170 for(paramKey in triggerParms) {
171 if(paramKey.substring(0,3) == "cpp"){
172 fullURL += "&" + paramKey + "=" + escape(triggerParms[paramKey]);
176 fullURL+= "&cpp_4=" + escape("popupStats:window=normal browser="+fsr_browser+" mac="+ fsr_mac);
177 if (triggerParms["rso"] != 1) {
178 if(triggerParms["npc"] == 1) {
179 ForeCStdSetCookie(ckAlreadyShown, 'true',null,'/',triggerParms["domain"]);
181 ForeCStdSetCookie(ckAlreadyShown, 'true', persistentExpires,'/',triggerParms["domain"]);
184 var myPopUp = window.open(fullURL, 'survey',winOptions);
185 if ( myPopUp && myPopUp.open && !myPopUp.closed) {
186 if (triggerParms["pu"] == 1){
189 myPopUp.focus(); //focusing on survey window
192 if (fsr_mac==false && (fsr_browser != "fsr_nn") && (triggerParms["dhtml"] == 1)) {
194 fullURL+= "&cpp_4=" + escape("popupStats:window=dhtml browser="+fsr_browser+" mac="+ fsr_mac);
195 fsr_sw = screen.width;
196 fsr_sh = screen.height;
197 fsr_left = (fsr_sw -triggerParms["dhtmlWidth"])/2;
198 fsr_top =Math.min((fsr_sh - triggerParms["dhtmlHeight"])/2,150);
199 document.write( "<div id=\"fsr_window\" style=\"position:absolute; width:1px; height:1px; z-index:1; left:"+fsr_left+"px; top:"+fsr_top+"px; visibility: hidden; filter:revealTrans(Duration=0.5, Transition=23);\" >"
200 +"<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"#CCCCCC\"><tr><td>"
201 +"<iframe id=\"cframe\" src="+"\""+triggerParms["dhtmlURL"]+"?fullURL="+fullURL+"\" width="+triggerParms["dhtmlWidth"]+" height="+triggerParms["dhtmlHeight"]+"></iframe>"
202 +"</td></tr></table>"
203 +"</td></tr></table></div>");
204 if (fsr_browser == "fsr_ie") {
215 ForeCStdSetCookie(ckLoyaltyCount, pageCount, null,'/',triggerParms["domain"]);
227 var arrRegExp = new Array(2);
229 arrRegExp[0] = /^10\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/
230 arrRegExp[1] = /^140\.147\.131\.[0-9]{1,3}$/
231 //arrRegExp[2] = /^172\.16\.[0-9]{1,3}\.[0-9]{1,3}$/
232 //arrRegExp[3] = /^172\.16\.[0-9]{1,3}\.[0-9]{1,3}$/
233 //arrRegExp[4] = /^172\.17\.[0-9]{1,3}\.[0-9]{1,3}$/
234 //arrRegExp[5] = /^172\.18\.[0-9]{1,3}\.[0-9]{1,3}$/
235 //arrRegExp[6] = /^172\.19\.[0-9]{1,3}\.[0-9]{1,3}$/
236 //arrRegExp[7] = /^172\.20\.[0-9]{1,3}\.[0-9]{1,3}$/
237 //arrRegExp[8] = /^172\.21\.[0-9]{1,3}\.[0-9]{1,3}$/
238 //arrRegExp[9] = /^172\.22\.[0-9]{1,3}\.[0-9]{1,3}$/
239 //arrRegExp[10] = /^172\.23\.[0-9]{1,3}\.[0-9]{1,3}$/
240 //arrRegExp[11] = /^172\.24\.[0-9]{1,3}\.[0-9]{1,3}$/
241 //arrRegExp[12] = /^172\.25\.[0-9]{1,3}\.[0-9]{1,3}$/
242 //arrRegExp[13] = /^172\.26\.[0-9]{1,3}\.[0-9]{1,3}$/
243 //arrRegExp[14] = /^172\.27\.[0-9]{1,3}\.[0-9]{1,3}$/
244 //arrRegExp[15] = /^172\.28\.[0-9]{1,3}\.[0-9]{1,3}$/
245 //arrRegExp[16] = /^172\.29\.[0-9]{1,3}\.[0-9]{1,3}$/
246 //arrRegExp[17] = /^172\.30\.[0-9]{1,3}\.[0-9]{1,3}$/
247 //arrRegExp[18] = /^172\.31\.[0-9]{1,3}\.[0-9]{1,3}$/
250 for(var i = 0; i < arrRegExp.length; i++){
251 if(arrRegExp[i].test(strIP)){