/**
 * Survey Callout
 * Version 3.1
*/

//alert("on page load cookie reads: " + document.cookie);

var surveyStatus;
if (sessionIdneeded) {
var sessionId = readCookie(calloutSessionId);
}

var currentPageCount = 0;
if (readCookie(trackedStatusCookie) != null)
{
	currentPageCount = parseInt(readCookie(pageCountCookie));  // Grab the cookie for number of pages viewed
}

var surveyObj; // Reference to Survey Object

function init() {
//trackUser();
}

function openSurvey() {
var targetUrl = document.getElementById(formName).action + "&" + sessionIdName + "=" + sessionId + "&" + pageId + "=" + readCookie(pageId) + "&" + recontactDateName + "=" + recontactDate + "&" + pageCountName + "=" + currentPageCount;
window.open(targetUrl, "_blank", "width=" + widthOfPopUp + ", height=" + heightOfPopUp + ", scrollbars=yes, resizable=1");
closeSurvey();
}

function closeSurvey() {
surveyObj.fadeSurvey();
//setCookie(surveyCookie,"none",cookieExpires);
}

function buildSurveyCallout(tempUrl) {
var url = tempUrl;

// Build the form
formCallout = document.createElement('form');
formCallout.setAttribute('name', formName);
formCallout.setAttribute('id', formName);
formCallout.setAttribute('target', '_new');
formCallout.setAttribute('method', 'post');
formCallout.setAttribute('action', url);

// Overall container

surveyCallout = document.createElement('div');
surveyCallout.setAttribute('id', 'survey_callout');

// Outside Box

surveyCalloutBox = document.createElement('div');
surveyCalloutBox.setAttribute('id', 'survey_callout_box');

// Inside Box

surveyInnerBox = document.createElement('div');
surveyInnerBox.setAttribute('id', 'inner_box');

// Logo container and Logo

surveyLogoDiv = document.createElement('div');
surveyLogoDiv.setAttribute('id', 'survey_logo');
clientLogo = document.createElement('img');
clientLogo.setAttribute('src', imagePath + logo);
clientLogo.setAttribute('width', logoWidth);
clientLogo.setAttribute('height', logoHeight);
clientLogo.setAttribute('alt', logoAlt);
surveyLogoDiv.appendChild(clientLogo);

// Callout Body

calloutHeader = document.createElement('h3');
calloutHeaderCopy = document.createTextNode(calloutHeaderText);
calloutHeader.appendChild(calloutHeaderCopy);
calloutBody = document.createElement('p');
calloutBody.innerHTML = calloutText;
surveyLinkP = document.createElement('p');
surveyLinkP.setAttribute('class', 'survey_nav');
surveyLinkConfirm = document.createElement('a');
surveyLinkConfirm.setAttribute('href', 'javascript: openSurvey();');
surveyLinkConfirm.setAttribute('onclick', 'recordResponse(\'confirm\')');
surveyLinkConfirmImage = document.createElement('img');
surveyLinkConfirmImage.setAttribute('src', imagePath + confirmButton);
surveyLinkConfirmImage.setAttribute('alt', confirmButtonAlt);
surveyLinkConfirmImage.setAttribute('width', confirmButtonWidth);
surveyLinkConfirmImage.setAttribute('height', confirmButtonHeight);
surveyLinkConfirmImage.setAttribute('border', '0');
surveyLinkConfirm.appendChild(surveyLinkConfirmImage);
surveyLinkSpacer = document.createTextNode(' ');
surveyLinkCancel = document.createElement('a');
surveyLinkCancel.setAttribute('href', 'javascript: closeSurvey();');
surveyLinkCancel.setAttribute('onclick', 'recordResponse(\'cancel\')');
surveyLinkCancelImage = document.createElement('img');
surveyLinkCancelImage.setAttribute('src', imagePath + cancelButton);
surveyLinkCancelImage.setAttribute('alt', cancelButtonAlt);
surveyLinkCancelImage.setAttribute('width', cancelButtonWidth);
surveyLinkCancelImage.setAttribute('height', cancelButtonHeight);
surveyLinkCancelImage.setAttribute('border', '0');
surveyLinkCancel.appendChild(surveyLinkCancelImage);
surveyLinkP.appendChild(surveyLinkConfirm);
surveyLinkP.appendChild(surveyLinkSpacer);
surveyLinkP.appendChild(surveyLinkCancel);

// Background shadows

surveyLinkShadowRight = document.createElement('div');
surveyLinkShadowRight.setAttribute('id', 'survey_callout_box_right');
surveyLinkShadowBottom = document.createElement('div');
surveyLinkShadowBottom.setAttribute('id', 'survey_callout_box_btm');

//Build Everything

surveyInnerBox.appendChild(surveyLogoDiv);
surveyInnerBox.appendChild(calloutHeader);
surveyInnerBox.appendChild(calloutBody);
surveyInnerBox.appendChild(surveyLinkP);
surveyCalloutBox.appendChild(surveyInnerBox);
surveyCallout.appendChild(surveyCalloutBox);
surveyCallout.appendChild(surveyLinkShadowRight);
surveyCallout.appendChild(surveyLinkShadowBottom);
formCallout.appendChild(surveyCallout);

// Attach to page
document.getElementById("surveyTarget").appendChild(formCallout);
}

function trackUser() {
//disable function 11/20/07
return null;
var tracked = readCookie(trackedStatusCookie); // grab the tracked status

	if (!readCookie(calloutResponse)) {
	setCookie(calloutResponse,"ignored", cookieExpires);
	}
	if (readCookie(trackedStatusCookie) == null) {
	setCookie(trackedStatusCookie, true, cookieExpires);
	var initialRandom = Math.floor(Math.random()*xGroup);
	var preRandom = Math.floor(Math.random()*yGroup);
	var postRandom = Math.floor(Math.random()*zGroup);

		if (initialRandom == xGroup-1) {
		
		//alert("we have now set tracked to true: " + readCookie(trackedStatusCookie) );
			if (preRandom == yGroup-1) {
			setCookie(surveyCookie,"pre", cookieExpires);
			//launchSurvey();
			} else {
				if (postRandom == zGroup-1) {
				setCookie(surveyCookie,"post",cookieExpires);
				}
				else {
				setCookie(surveyCookie,"none",cookieExpires);
				}	
			}
		} else {
		setCookie(trackedStatusCookie, false, cookieExpires);
		setCookie(surveyCookie, "none", cookieExpires);
		}
	} else {
	//alert("already tracked");
	//launchSurvey();
	}
	launchSurvey();
}

function recordDateTime() {
setCookie(surveyDateTime,currentDate,cookieExpires);
}

function recordResponse(responseValue) {
setCookie(calloutResponse,responseValue,cookieExpires);
}

function recordSessionId() {
setCookie(calloutSessionId,sessionId,cookieExpires);
}

function launchSurvey()
{
	
	surveyStatus = readCookie(surveyCookie);
	//alert(readCookie(pageId) + "  " + surveyStatus + "  " + pageIdTrigger);
	
	//alert(currentPageCount);
	currentPageCount++;
	
	switch(surveyStatus)
	{
		case "pre":
			if (currentPageCount >= numOfPagesToViewForFindDoc && readCookie(pageId) == pageIdTrigger)
			{
	 			setCookie(surveyCookie,"none",cookieExpires);
	 			setCookie(pageCountCookie, currentPageCount, cookieExpires);
	 			buildSurveyCallout(postSurveyUrl);
				surveyObj = new Survey(timerMax, timerCalloutMax, 'survey_callout', surveyDistance);
			}
			else
			{
				setCookie(surveyCookie,"none",cookieExpires);
				setCookie(pageCountCookie, currentPageCount, cookieExpires);
				buildSurveyCallout(preSurveyUrl);
				surveyObj = new Survey(timerMax, timerCalloutMax, 'survey_callout', surveyDistance);
			}
			//recordDateTime();
			//recordSessionId();
			break;    
		case "post":
			setCookie(pageCountCookie, currentPageCount, cookieExpires);
			/*if (readCookie(pageId) == pageIdTrigger)
			{
				currentPageCount = numOfPagesToView;
				setCookie(pageCountCookie, currentPageCount, cookieExpires);
			}
			else if (currentPageCount)
			{
				//currentPageCount++;
				//setCookie(pageCountCookie, currentPageCount, cookieExpires);
			}
			else
			{
				//currentPageCount = 1;
				//setCookie(pageCountCookie, currentPageCount, cookieExpires);
			}
			*/
	 		if (currentPageCount >= numOfPagesToViewForFindDoc && readCookie(pageId) == pageIdTrigger)
	 		{
	 			setCookie(surveyCookie,"none",cookieExpires);
	 			buildSurveyCallout(postSurveyUrl);
				surveyObj = new Survey(timerMax, timerCalloutMax, 'survey_callout', surveyDistance);
	 			//recordDateTime();
	 			//recordSessionId();
			}
			else if (currentPageCount >= numOfPagesToView)
	 		{
	 			setCookie(surveyCookie,"none",cookieExpires);
	 			buildSurveyCallout(postSurveyUrl);
				surveyObj = new Survey(timerMax, timerCalloutMax, 'survey_callout', surveyDistance);
	 			//recordDateTime();
	 			//recordSessionId();
			}
	 		break;
		default:
			//alert("hows?");
			//setCookie(surveyCookie,"none",cookieExpires);
			break;
	}
}


function setCookie(cookieName, cookieValue, nDays)
{
	var today = new Date();
	var expire = new Date();
	
	if (nDays==null || nDays==0)
	{
		nDays=1;
	}
	expire.setTime(today.getTime() + 3600000*24*nDays);
	document.cookie = cookieName + "=" + escape(cookieValue) + ";expires=" + expire.toGMTString() + ";path=/";
	// comment out below to stop alerting

	var nameEQ = cookieName + "=";
	var ca = document.cookie.split(';');
	
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		//if (c.indexOf(nameEQ) == 0) alert(nameEQ + " has been set.  (value: " + c.substring(nameEQ.length,c.length) + ")");
	}
	//alert("current cookie reads: " + document.cookie);
}

function readCookie(name) {
//document.write(document.cookie + "<br /><br />");
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function get(name) {
	var q = unescape(location.search.substring(1)).split(/[=&]/);
	for (var j=0; j<q.length; j++) {
		if (q[j] == name) {
			return q[j+1];
		}
	}
	return null;
}

//window.onload = trackUser;