var nn_undefined; function nn_isNull(object) { return nn_undefined == object || object == null; } var nn_THREE_YEARS_IN_MILLIS = (1000 * 60 * 60 * 24 * 365 * 3); var nn_waitForCookieFunctor = null; /* public */ function nn_Cookie(name) { /* public */ this.setCookie = nn_Cookie_setCookie; this.getCookie = nn_Cookie_getCookie; this.expireCookie = nn_Cookie_expireCookie; this.registerCallbackForWhenCookieExists = nn_Cookie_registerCallbackForWhenCookieExists; /* private */ this.m_name = name; } /* private */ function nn_Cookie_getExpirationDate(expireDate) { if (!nn_isNull(expireDate)) { return expireDate; } else { return new Date(new Date().getTime() + nn_THREE_YEARS_IN_MILLIS); } } /* private */ function nn_Cookie_getExpirationDateAsString(expireDate) { return nn_Cookie_getExpirationDate(expireDate).toGMTString(); } /* public */ function nn_Cookie_setCookie(name, value, expireDate, domain) { var cookieDescription = name + "=" + escape(value); cookieDescription += "; path=/"; cookieDescription += "; expires=" + nn_Cookie_getExpirationDateAsString(expireDate); if (!nn_isNull(domain)) { cookieDescription += "; domain=" + escape(domain); } document.cookie = cookieDescription; } /* public */ function nn_Cookie_getCookie(name) { var key = name + "="; var startOfCookie = document.cookie.indexOf("; " + key); if (-1 != startOfCookie) { startOfCookie += 2; } else if (0 == document.cookie.indexOf(key)) { startOfCookie = 0; } else { return null; } var endOfCookie = document.cookie.indexOf(";", startOfCookie); if (endOfCookie == -1) { endOfCookie = document.cookie.length; } var value = document.cookie.substring(startOfCookie + key.length, endOfCookie); return unescape(value); } /* public */ function nn_Cookie_expireCookie(name, domain) { var expiredTime = new Date(new Date().getTime() - 1); nn_Cookie_setCookie(name, "", expiredTime, domain); } /* public */ function nn_Cookie_registerCallbackForWhenCookieExists(callback) { nn_waitForCookieFunctor = new nn_WaitForCookieFunctor(this.m_name, callback); nn_waitForCookieFunctor.execute(); } /* private */ function nn_WaitForCookieFunctor(cookieName, callback) { /* public */ this.execute = nn_WaitForCookieFunctor_execute; /* private */ this.m_cookieName = cookieName; this.m_callback = callback; } /* private */ function nn_WaitForCookieFunctor_execute() { nn_waitForCookieFunctor = this; if (!nn_isNull(nn_Cookie_getCookie(this.m_cookieName))) { this.m_callback(); } else { setTimeout("nn_waitForCookieFunctor.execute()", 500); } } new nn_Cookie("V").registerCallbackForWhenCookieExists(display_survey); function display_survey() { var visitorCookie = new nn_Cookie("V"); var visitorId = parseInt(visitorCookie.getCookie("V")); var panelistRatio = 2048; if ((visitorId % panelistRatio) == 0) { var request_url = "/survey/display_survey.html?c=122&r=" + escape("Not Your Business!"); document.write(""); } }