function Split(string, delimiter) {
var elements = new Array();
var numElements = 0;
var token;
var index = 0;
var nextIndex = -1;
index = string.indexOf(delimiter);
while (string != "") {
if (string.charAt(0) == delimiter) {
elements[numElements++] = "";
string = string.substring(1);
} else {
nextIndex = string.indexOf(delimiter);
if (nextIndex == -1) {
elements[numElements++] = string;
string = "";
} else {
elements[numElements++] = string.substring(0, nextIndex)
string = string.substring(nextIndex + 1)
}
}
}
return elements;
}
function GetCookie(key) {
var i;
var cookies = Split(document.cookie, ";");
for (i = 0; i < cookies.length; i++) {
if (cookies[i].substring(0, 1) == " ") cookies[i] = cookies[i].substring(1, cookies[i].length);
// Make the cookies case insensitive, like ASP
if (unescape(cookies[i].substring(0, key.length + 1).toUpperCase()) == key.toUpperCase() + "=") {
return unescape(cookies[i].substring(cookies[i].indexOf("=") + 1, cookies[i].length));
}
}
if (key == "BASEUSERSURL") {
return "/"; 
}
return null;
}
function SetCookie(key, value) {
document.cookie = key.toString().toUpperCase() + '=' + escape(value.toString()) + '; path=/';
}
function ClearCookie(key) {
document.cookie = key.toString().toUpperCase() + '=0; expires=Fri, 02-Jan-1970 00:00:00 GMT; path=/';
}
// Sets the cookie with the given expiration date (in days).
// If the bOverRide flag is true, override the existing cookie (if the cookie already exists).
// If it is false, and the cookie already exists, don't ovverride the existing cookie.
// If the cookie doesn't exist in either case, set a new one.
//
function SetExpiresCookie(key, value, daysTillExpiration, bOverRide) 
{
//if don't override and the cookie exists - don't do anything
if(!bOverRide && GetCookie(key)) {	
return;
} else {
//if the cookies doesn't exist - want to set regardless of bOverRide	
//	The cookie was not found
//	make sure daysTillExpiration is valid and a number
if (! daysTillExpiration ) {
daysTillExpiration = 0;
} else {
//	Get the current date
var currentDate = new Date();
//	Add the number of days
var expireTime = currentDate.getTime() + ( 1000 * 60 * 60 * 24 * daysTillExpiration);
var expireDate = new Date(expireTime);
}
// Set the cookie
var setCookieStr = key.toString().toUpperCase() + '=' + escape(value.toString()) + '; path=/;';
if (daysTillExpiration > 0) {
setCookieStr = setCookieStr + 'expires=' + expireDate.toGMTString() + ';';
}
document.cookie = setCookieStr;
}
}
//	Get and Set Cookie
//	This function tests to see if the cookie is there, and if it is not, it sets it
//	has an expiration date (in days)
function GetAndSetCookie(key, value, daysTillExpiration)
{
SetExpiresCookie(key, value, daysTillExpiration, false);
}

var showSurvey;
var survey = 1;
function setInterceptorCookie(randomPercent)
{
if ((showSurvey == null) || (showSurvey==""))
{
var randNum = Math.random();
randNum = randNum * 100;
randNum = Math.round( randNum );
if ( randNum <= randomPercent )
{
showSurvey = "TRUE";
}
}
}
var exit = true;
// you will maybe want to set up some cookie beforehand
// which will determine whether or not to popup the survey for this user
// that will let you control the randomness of the survey
// set this cookie and then check it in the following function
function setupInterceptor()
{
if (GetCookie("HSP_TYPE") != null && GetCookie("HSP_TYPE") != "null") {
exit = false;
}
if (GetCookie("CD_FORM") != null && GetCookie("CD_FORM") != "null") {
exit = false;
}
if (GetCookie("TRIAL_SIGNUP") != null && GetCookie("TRIAL_SIGNUP") != "null") {
exit = false;
}
}
function leave(servername)
{
if (GetCookie("TRIAL_SIGNUP") != null && GetCookie("TRIAL_SIGNUP") != "null") {
exit = false;
}
// check to see if the exit variable is true
if (exit) {
if (survey == 1)
{
window.open('/~site/ContactInfo/intro_to_CD.ffhtml?INTERCEPTOR=Y','ContactInfoForm','width=570,height=620,left=100,top=100,scrollbars=yes',true);
}
else
{
window.open('http://'+servername+'/~site/Interceptor/leave_signup_popup.ffhtml', 'Interceptor', 'width=549,height=316,left=100,top=100,scrollbars=no');
}
}
}
function cancelPopup()
{	
exit=false;
}	
function cancelAllPopups()
{
var thisFrame = self;
while (window.top != thisFrame) {
thisFrame.cancelPopup();
thisFrame = thisFrame.parent;
}
// finally, cancel popup on the top frame
window.top.cancelPopup();	
}
function focusUserName(bNetscape) {
if (bNetscape)
{
if (document.layers["LoginForm"].document.forms[0])
{
if (document.layers["LoginForm"].document.forms[0].elements["USERNAME"].value=="")
{
document.layers["LoginForm"].document.forms[0].elements["USERNAME"].focus();
}
}
}
else
{
if ((document.formUserName) && (document.formUserName.USERNAME.value==""))
{
document.formUserName.USERNAME.focus();
}
}
}
function checkLoggedIn() {
var mission = GetCookie("MISSION");
if (mission != null && mission != '' && mission != 'undefined')
{
// If we are in the frameset, we can assume that the user has some how gotten here by accident.
// We should just redirect to the welcome page
if ((parent != this) && (this.parent != null)) {
location.href = mission;
} else {
location.href = "/LoggedIn.html";
}
}
return;
}
function exitInterceptor() {
if (parent != self) {
if (parent.cancelAllPopups) {
parent.cancelAllPopups();
}
}
}
