/*
   name - name of the cookie
   value - value of the cookie
   [expires] - expiration date of the cookie
     (defaults to end of current session)
   [path] - path for which the cookie is valid
     (defaults to path of calling document)
   [domain] - domain for which the cookie is valid
     (defaults to domain of calling document)
   [secure] - Boolean value indicating if the cookie transmission requires
     a secure transmission
   * an argument defaults when it is assigned null as a placeholder
   * a null placeholder is not required for trailing omitted arguments
*/

function setCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
  document.cookie = curCookie;
}

/*
  name - name of the desired cookie
  return string containing value of specified cookie or null
  if cookie does not exist
*/

function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}


/*
   name - name of the cookie
   [path] - path of the cookie (must be same as path used to create cookie)
   [domain] - domain of the cookie (must be same as domain used to
     create cookie)
   path and domain default if assigned null or omitted if no explicit
     argument proceeds
*/

function deleteCookie(name, path, domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}

function secondsBetween(date1, date2) {
    // The number of milliseconds in one second
    var oneSecond = 1000
    // Convert both dates to milliseconds
    var date1_ms = date1.getTime()
    var date2_ms = date2.getTime()
    // Calculate the difference in milliseconds
    var difference_ms = Math.abs(date1_ms - date2_ms)
    // Convert to seconds and return
    return Math.round(difference_ms/oneSecond)
}

function popSurvey() {
	var surveyPopped = getCookie('surveyPopped');
	var siteEntryDate = new Date(getCookie('siteEntryDate'));
	var currentDate = new Date();
	
	var timeBetween = secondsBetween(currentDate, siteEntryDate)

	if (surveyPopped != 1 && timeBetween > 30) {
		clearTimeout(surveyTimer);
		setCookie('surveyPopped', 1, exp);
		//REMOVE SURVEY POPUP exitSurvey();
	} else {
		surveyTimer = window.setTimeout("popSurvey()", 1000);
	}
}

function setupSurvey() {
	exp = new Date(2008, 01, 01);
	checkCookie = getCookie('surveyPopped');
	if (checkCookie == null) {
		rightNow = new Date();
		setCookie('siteEntryDate', rightNow, exp);
		setCookie('surveyPopped', 0, exp);
		surveyTimer = window.setTimeout("popSurvey()", 1000);
	} else if (checkCookie == 0) {
		surveyTimer = window.setTimeout("popSurvey()", 1000);
	}
}

function exitSurvey() {
	height = 450;
	width = 375;
	leftPixel = (screen.width / 2) - (width / 2);
	topPixel = (screen.height / 2) - (height / 2);
	window.open ("/exitsurvey.aspx","exitSurvey","width="+width+", height="+height+", scrollbars=1,status=no,left="+leftPixel+",top="+topPixel);
}

setupSurvey();
