//*******************************************************************************
// CONSTANTS
//*******************************************************************************
// site specific pages
var site_google = "UA-3724738-2";
var site_mainPage = "index.asp";
var site_homePage = "index.asp";

var site_surveyPage = "survey.asp";
var site_thankYouPage = "walk_challenge_goals.asp";
var site_regPage = "walk_challenge.asp";

var img_waiting = "<center><img src='/images/waiting.gif' border='0'></center>";

// pages
var pg_login = 1;
var pg_logout = 2;
var pg_forgotpassword = 3;
var pg_errormessage = 4;
var pg_forgotpasswordconfirm = 5;
var pg_login1 = 6;
var pg_login2 = 7;

var pg_register = 8;

var pg_homepage_product = 9;
var pg_newsletter = 10;
var pg_newsletterthankyou = 11;

var pg_referfriend = 12;
var pg_referfriendthankyou = 13;

var pg_expertlogin = 14;
var pg_expertsignup = 15;

var pg_tellus = 16;

var pg_viewuserinfo = 17;
var pg_edituserinfo = 18;

var pg_couponoffers = 19;
var pg_printcoupons = 20;

var pg_testimonial = 21;

var pg_buyonline = 22;

var pg_thankyou = 23;
var pg_wtb = 24;

var pg_survey = 25;

var pg_testimonials = 26;
var pg_resources = 27;
var pg_faq= 28;
var pg_prod_overview= 29;
var pg_scratchoff= 30;
var pg_prize = 31;
var pg_coupon = 32;
var pg_printcoupon = 33;
//*******************************************************************************
// VARIABLES
//*******************************************************************************
// core variables
var url_site = "http://" + window.location.hostname + "/sys/";
var ajax_url = url_site + "ajaxcalls/";
var api_url = url_site + "apicalls/";

// page array
var pageArray;

// browser width and heigth
var winW;
var winH;

// DIV objects
var div_login;
var div_forgot;
var div_error;
var div_user;
var div_userinfo;
var div_edituser;
var div_invite;
var div_coupon;
var div_results;
var div_thankyou;
var div_winner;
var div_profile;
var div_rewards;
var div_welcome;
var div_homepage_product;
var div_newsletter, div_survey;
var div_couponoffers, div_printcoupons;
var div_testimonial, div_buyonline;
var div_prodoverview, div_wtb, div_testimonials, div_resources, div_faq;
var div_scratchoff;

// overlay flags
var overlayVisible = false;
var errorVisible = false;


// api retrun data
var api_results; 

// system ready flag
var systemReady = false;

// XML return data
var rp_XMLDoc;
var rp_RootNode;
var rp_ResultCode;
var rp_ResultMessage;
var rp_CookiesEnabled;
var rp_CookiesErrorDisplayed = false;


//*******************************************************************************
// INITIALIZATION calls
//*******************************************************************************
//***********************************************
// initSystem
//***********************************************
function initSystem()
{
	if (!systemReady)
	{
		// load the google analytic's code
		loadGoogleCode();

		// get the browser resolution
		getBrowserResolution();

		// setup the system page array
		setupPageArray();

		// set window resize event handle
		window.onresize= windowResized;

		// set system flag
		systemReady = true;
	}
	else
	{
	  alert("System is MOT ready!");
	}
	
	// check cookie
	if (!checkCookiesAreEnabled())
	{
		showCookieErrorMessage();
		return false;
	}

	// return success
	return true;
}




//*******************************************************************************
// COOKIE calls
//*******************************************************************************
//***********************************************
// checkCookiesAreEnabled
//***********************************************
function checkCookiesAreEnabled()
{
  setCookie("CookieTest","Enabled");
  rp_CookiesEnabled = false;

  var allcookies = document.cookie;
  var pos = allcookies.indexOf("CookieTest=");
  if (pos != -1) 
  {
    if (readCookie("CookieTest") == "Enabled")
    {
      rp_CookiesEnabled = true;
    }
  }

  return rp_CookiesEnabled;
}  
//***********************************************
// showCookieErrorMessage
//***********************************************
function showCookieErrorMessage()
{
  if (!rp_CookiesErrorDisplayed)
  {
    showErrorMessage("Cookies must be enabled in order to access this site!");
    rp_CookiesErrorDisplayed = true;
  }
}
//***********************************************
// showCookies
//***********************************************
function showCookies() 
{
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) 
	{
    alert(ca[i]);
	}
}
//***********************************************
// clearCookie
//***********************************************
function clearCookies() 
{
  // set cookies
  setCookie("rp_userid","");
  setCookie("rp_keycode","");
}
//***********************************************
// readCookie
//***********************************************
function readCookie(name) 
{
	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);
    }
	}

	// cookie does not exist
	return "";
}
//***********************************************
// setCookie
//***********************************************
function setCookie(name,value) 
{
//  document.cookie = name + "=" + value + "; path=/; domain=" + window.location.hostname + ";";
  document.cookie = name + "=" + value + ";";
}





//*******************************************************************************
// GOOGLE Analytics
//*******************************************************************************
//***********************************************
// loadGoogleCode
//***********************************************
function loadGoogleCode()
{
  // load google analytic code - a method to alleviate the need to modify client sites
/*
  if (site_google != "")
  {
    document.write(unescape("%3Cscript src='http://www.google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
  }
*/
}
//***********************************************
// trackPageView
//***********************************************
function trackPageView(pg)
{
  if (site_google != "")
  {
    var pageTracker = _gat._getTracker(site_google);
    pageTracker._initData();
    pageTracker._trackPageview(pg);
  }
}





//*******************************************************************************
// PAGE ARRAYS
//*******************************************************************************
//***********************************************
// setupPageArray
//***********************************************
function setupPageArray()
{
	pageArray = new Array();

	// add page
	addPage(pg_login,"ajax_loginform","api_loginuser","div_login",div_login,0,0,"api_ProcessLogin","login_form");
	addPage(pg_logout,"","api_logoutuser","",null,0,0,"api_ProcessLogout","");
	addPage(pg_forgotpassword,"ajax_forgotpasswordform","api_forgotpassword","div_forgot",div_forgot,0,0,"api_ProcessPassword","forgotpassword_form");
	addPage(pg_errormessage,"ajax_errormessageform","","div_error",div_error, -1, -1,"","");
	addPage(pg_forgotpasswordconfirm,"ajax_forgotpasswordconfirmform","","div_forgot",div_forgot,0,0,"","");
	addPage(pg_login1,"ajax_loginform","api_loginuser","div_login",div_login,0,0,"api_ProcessLogin","login_form1");
	addPage(pg_login2,"ajax_loginform","api_loginuser","div_login",div_login,0,0,"api_ProcessLogin","login_form2");

	addPage(pg_register,"ajax_registerform","api_register","div_user",div_user,0,0,"api_ProcessRegister","user_form");

	addPage(pg_homepage_product,"ajax_homepage_product","","div_homepage_product",div_homepage_product,0,0,"","");
	addPage(pg_newsletter,"ajax_newsletterform","api_newsletter","div_newsletter",div_newsletter,0,0,"api_ProcessNewsletter","newsletter_form");
	addPage(pg_newsletterthankyou,"ajax_newsletterthankyouform","","div_newsletter",div_newsletter,0,0,"","");
	
	addPage(pg_referfriend,"ajax_tellafriendform","api_tellafriend","div_invite",div_invite,0,0,"api_ProcessTellAFriend","refer_form");
	addPage(pg_referfriendthankyou,"ajax_tellafriendthankyouform","api_tellafriend","div_invite",div_invite,0,0,"api_ProcessTellAFriend","refer_form");

	addPage(pg_expertlogin,"","api_expertlogin","div_user",div_user,0,0,"api_ProcessexpertLogin","expert_login_form");
	addPage(pg_expertsignup,"","api_expertsignup","div_user",div_user,0,0,"api_ProcessExpertSignup","expert_signup_form");

	addPage(pg_tellus,"","api_tellus","div_user",div_user,0,0,"api_ProcessTellUs","tellus_form");

	addPage(pg_viewuserinfo,"ajax_viewuserinfo","","div_userinfo",div_userinfo,0,0,"","");
	addPage(pg_edituserinfo,"ajax_edituserinfo","api_edituserinfo","div_edituser",div_edituser,0,0,"api_ProcessEditUserInfo","edituser_form");

	addPage(pg_couponoffers,"ajax_couponform","api_redeemcoupon","div_couponoffers",div_couponoffers,0,0,"api_ProcessPrintCoupon","");
	addPage(pg_printcoupons,"ajax_printcoupons","api_redeemcoupon","div_printcoupons",div_printcoupons,0,0,"api_ProcessPrintCoupon","");

	addPage(pg_testimonial,"ajax_testimonial","","div_testimonial",div_testimonial,0,0,"","");

	addPage(pg_buyonline,"ajax_buyonline","","div_buyonline",div_buyonline,0,0,"","");

	addPage(pg_thankyou,"ajax_thankyouform","","div_thankyou",div_thankyou,0,0,"","");

	addPage(pg_wtb,"ajax_wtb","","div_wtb",div_wtb,0,0,"","");

	addPage(pg_survey,"ajax_profileform","api_submitprofile","div_survey",div_survey,0,0,"api_ProcessSurvey","profile_form");

	addPage(pg_testimonials,"ajax_testimonials","","div_testimonials",div_testimonials,0,0,"","");
	addPage(pg_resources,"ajax_resources","","div_resources",div_resources,0,0,"","");
	addPage(pg_faq,"ajax_faq","","div_faq",div_faq,0,0,"","");
	addPage(pg_prod_overview,"ajax_prod_overview","","div_prodoverview",div_prodoverview,0,0,"","");
	addPage(pg_scratchoff,"ajax_scratchoffform","","div_scratchoff",div_scratchoff,0,0,"","");
	addPage(pg_prize,"ajax_prizeform","","div_scratchoff",div_scratchoff,0,0,"","");
	addPage(pg_printcoupon,"ajax_printcouponform","","div_scratchoff",div_scratchoff,0,0,"","");

}
//***********************************************
// addPage
//***********************************************
function addPage(pg, ajax, api, divname, div, top, left, api_processor, form)
{
	var tmpObject;
	tmpObject = new Object();
	tmpObject.page = pg;
	tmpObject.ajax = ajax;
	tmpObject.api = api;
	tmpObject.div = div;
	tmpObject.divname = divname;
	tmpObject.top = top;
	tmpObject.left = left;
	tmpObject.http = null;
	tmpObject.api_processor = api_processor;
	tmpObject.form = form;
	pageArray.push(tmpObject);
}


//*******************************************************************************
// OBJECT CALLS
//*******************************************************************************
//***********************************************
// showObject
//***********************************************
function showObject(obj,x,y)
{
  // set the div properties
  if (document.layers)
  {
    obj.style.left = x;
    obj.style.top = y;
  }
  else 
  {
    obj.style.left = x + "px";
    obj.style.top = y + "px";  
  }

  // show the DIV
  obj.style.visibility = "visible";
}
//***********************************************
// hideObject
//***********************************************
function hideObject(obj)
{
  obj.style.visibility = "hidden";
}
//***********************************************
// getObject
//***********************************************
function getObject(objectId) 
{
  // cross-browser function to get an object's style object given its
  if(document.getElementById && document.getElementById(objectId)) 
  {
    // W3C DOM
    return document.getElementById(objectId);
  } 
  else if (document.all && document.all(objectId)) 
  {
    // MSIE 4 DOM
    return document.all(objectId);
  } 
  else if (document.layers && document.layers[objectId]) 
  {
    // NN 4 DOM.. note: this won't find nested layers
    return document.layers[objectId];
  } 
  else 
  {
    return false;
  }
} 




//*******************************************************************************
// HTTP CALLS
//*******************************************************************************
//***********************************************
// getHTTPObject
//***********************************************
function getHTTPObject()
{
	if (typeof(XMLHttpRequest)!='undefined')
	{
		return new XMLHttpRequest();
	}

	var axO=['Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.4.0','Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP', 'Microsoft.XMLHTTP'], i;
	for(i=0;i<axO.length;i++)
	{
		try
		{
			return new ActiveXObject(axO[i]);
		}
		catch(e)
		{
		}
	}
	return null;
}
//***********************************************
// redirectPage
//***********************************************
function redirectPage(newPage)
{
  location.href = newPage;
}
//***********************************************
// redirectIFramePage
//***********************************************
function redirectIFramePage(newPage)
{
  parent.location.href = newPage;
}
//***********************************************
// openPage
//***********************************************
function openPage(newPage)
{
  window.open(newPage);
}




//*******************************************************************************
// PAGE CALLS
//*******************************************************************************
//***********************************************
// getPageObject
//***********************************************
function getPageObject(pg)
{
	// make sure we are fully loaded
	if (!systemReady)
	{
		alert("System is NOT ready!");
		return;
	}

	// find page object
	var p;
	for (p = 0; p < pageArray.length; p++)
	{
		if (pageArray[p].page == pg)
		{
      // get the page
			getAjaxPage(p);
			return false;
		}
	}
  
  // end the call - page not found
	showErrorMessage("PAGE '" + pg + "' has not yet been implemented!");
  return false;
}
//***********************************************
// getAjaxPage
//***********************************************
function getAjaxPage(p) 
{
	// show loading object
	pageArray[p].div = getObject(pageArray[p].divname);
	pageArray[p].div.style.visibility = "visible";
	pageArray[p].div.innerHTML = img_waiting;
	showObject(pageArray[p].div,0,0);

  // get random number
  var rn;
  rn = Math.floor(Math.random()*99999);
  
  //alert(pageArray[p].ajax);
	// get the page
  pageArray[p].http = getHTTPObject(); 
  pageArray[p].http.open("GET", ajax_url + pageArray[p].ajax + ".asp?rn=" + rn, true);
  pageArray[p].http.onreadystatechange = function()
	{
		processHTTP(pageArray[p].ajax,p);
	}
  pageArray[p].http.send(null);

	// return
	return false;
}





//*******************************************************************************
// AJAX PROCESSOR CALLS
//*******************************************************************************
//***********************************************
// processHTTP
//***********************************************
function processHTTP(name,p) 
{
  if (httpCallIsDone(pageArray[p].http.readyState) == true)
  {
    if (pageArray[p].http.status == 200)
    {
      pageArray[p].div.innerHTML = pageArray[p].http.responseText;
			if (pageArray[p].top == -1)
			{
				var sxy = new Array();
				sxy = getScrollXY();
        getBrowserResolution();
	      showObject(pageArray[p].div, ( ((winW-300) / 2) + sxy[0]) , ( ((winH-200) / 2) + sxy[1])  );
			}
			else
			{
		    showObject(pageArray[p].div, pageArray[p].top, pageArray[p].left);
			}
			
			// coupon page
			if ( (pageArray[p].page == pg_couponoffers) || (pageArray[p].page == pg_printcoupons) )
			{
			  var obj;
			  var fnd;
			  fnd = false;
        obj = getObject("coupon_1");
			  if (readCookie("coupon1") == "1")
			  {
  			  fnd = true;
          obj.style.visibility = "visible";
			  }
			  else
			  {
			  	obj.innerHTML = "";
          obj.style.visibility = "hidden";
			  }

        obj = getObject("coupon_2");
			  if (readCookie("coupon2") == "1")
			  {
  			  fnd = true;
          obj.style.visibility = "visible";
			  }
			  else
			  {
			  	obj.innerHTML = "";
          obj.style.visibility = "hidden";
			  }

        obj = getObject("coupon_3");
			  if (readCookie("coupon3") == "1")
			  {
  			  fnd = true;
          obj.style.visibility = "visible";
			  }
			  else
			  {
			  	obj.innerHTML = "";
          obj.style.visibility = "hidden";
			  }

        if (!fnd)
        {
          obj = getObject("no_coupons");
          obj.style.visibility = "visible";
        }
			}

		  // product - wtbpage
		  if (pageArray[p].page == pg_wtb)
		  {
        obj = getObject("div_wtb");
        obj.style.visibility = "hidden";
        if (readCookie("showwtb") == "wtb")
        {
          obj.style.visibility = "visible";
        }
		  }

		  // product - testimonials
		  if (pageArray[p].page == pg_testimonials)
		  {
        obj = getObject("div_testimonials");
        if (obj)
        {
          obj.style.visibility = "hidden";
        }
		  }

		  // product - resources
		  if (pageArray[p].page == pg_resources)
		  {
        obj = getObject("div_resources");
        if (obj)
        {
          obj.style.visibility = "hidden";
        }
		  }

		  // product - faq
		  if (pageArray[p].page == pg_faq)
		  {
        obj = getObject("div_faq");
        if (obj)
        {
          obj.style.visibility = "hidden";
        }
		  }

		  // HIDE product - overview
		  if (pageArray[p].page == pg_prod_overview)
		  {
        obj = getObject("div_prodoverview");
        if (obj)
        {
          if (readCookie("hideOverview") == "true")
          {
            obj.style.visibility = "hidden";
          }
        }
		  }
    }
    else
    {
			if (p != pg_errormessage)
			{
				showErrorMessage("Failed to load data for '" + name + "'");
			}
    }
  }
}
//***********************************************
// httpCallIsDone
//***********************************************
function httpCallIsDone(state) 
{
  if (state == 0)
  {
    window.status = "Connection established";
  }
  else if (state  == 1)
  {
    window.status = "Request received";
  }
  else if (state  == 3)
  {
    window.status = "Answer in process";
  }
  else if (state  == 4) 
  {
    window.status = "Call completed";
    return true;
  }
  return false;
}








//*******************************************************************************
// API CALLS
//*******************************************************************************
//***********************************************
// makeAPICall
//***********************************************
function makeAPICall(pg)
{
	// initialize parameter data
	var form;
	var paramData;
	paramData = "url=apicalls/" + pageArray[pg-1].api + ".asp" + 
	            "&data=userid=" + readCookie("rp_userid") + "||" + 
              "keycode=" + readCookie("rp_keycode") + "||";


  // record page with google
  trackPageView(pageArray[pg-1].api);

	// get the form variables
	if ( (document[pageArray[pg-1].form] != null) && (document[pageArray[pg-1].form] != "undefined") )
	{
	  form = document[pageArray[pg-1].form];
	
	  // get all of the necessary form elements
	  for(i = 0; i < form.elements.length; i++)
	  {

		  if ( (form.elements[i].type == "hidden") || (form.elements[i].type == "text") || (form.elements[i].type == "textarea") || (form.elements[i].type == "password") )
		  {
		    paramData = paramData + form.elements[i].name + "=" + encodeURIComponent(form.elements[i].value) + "||";
		  }
		  else if (form.elements[i].type == "checkbox")
		  {
			  if (form.elements[i].checked)
			  {
  		    paramData = paramData + form.elements[i].name + "=" +  form.elements[i].value + "||";
		    }
		    else
		    {
  		    paramData = paramData + form.elements[i].name + "=0||";
		    }
		  }
		  else if (form.elements[i].type == "radio")
		  {
			  if (form.elements[i].checked)
			  {
				  paramData = paramData + form.elements[i].name + "=" + form.elements[i].value + "||";
			  }
		  }
		  else if (form.elements[i].type == "select-one")
		  {
			  if (form.elements[i].selectedIndex == -1)
			  {
				  paramData = paramData + form.elements[i].name + "=-1" + "||";
			  }
			  else
			  {
				  paramData = paramData + form.elements[i].name + "=" + form.elements[i].options[form.elements[i].selectedIndex].value + "||";
			  }
		  }
		  else if (form.elements[i].type == "select-multiple")
		  {
			  for (var m = 0; m < form.elements[i].options.length; m++) 
			  {
				  if (form.elements[i].options[m].selected)
				  {
					  paramData = paramData + form.elements[i].name + "=" + form.elements[i].options[m].value + "||";
				  }
			  } 
		  }
	  }
  }

//alert(paramData);

 	// setup and execute HTTP call
  pageArray[pg-1].http = getHTTPObject(); 
  pageArray[pg-1].http.open("POST", api_url + pageArray[pg-1].api + ".asp", true);
  pageArray[pg-1].http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  pageArray[pg-1].http.setRequestHeader("Content-length", paramData.length);
  pageArray[pg-1].http.setRequestHeader("Connection", "close");
  pageArray[pg-1].http.onreadystatechange = function()
	{
		processAPI(pageArray[pg-1].api,pg-1);
	}
  pageArray[pg-1].http.send(paramData);
	return false;
}
//***********************************************
// processHTTP
//***********************************************
function processAPI(name,p) 
{
	// is the call done?
  if (httpCallIsDone(pageArray[p].http.readyState) == true)
  {
		// was the call successful?
    if (pageArray[p].http.status == 200)
    {
      // extract result code
      if (!extractResultData(pageArray[p].http.responseText))
			{
				showErrorMessage("Error extracting results '" + name + "'<br><br>Code=" + pageArray[p].http.status);
				return;
			}

      // did the call fail?
      if (rp_ResultCode != "0")
      {
				showErrorMessage(rp_ResultMessage);
        return;
      }

			// process LOGIN USER results
			if ((pageArray[p].api_processor == pageArray[pg_login-1].api_processor) ||
			    (pageArray[p].api_processor == pageArray[pg_login1-1].api_processor) ||
          (pageArray[p].api_processor == pageArray[pg_login2-1].api_processor)	)
      {
				api_ProcessLogin();
			}

			// process LOGOUT results
			if (pageArray[p].api_processor == pageArray[pg_logout-1].api_processor)
			{
				api_ProcessLogout();
			}

			// process FORGOT PASSWORD results
			if (pageArray[p].api_processor == pageArray[pg_forgotpassword-1].api_processor)
			{
				api_ProcessPassword();
			}

			// process REGISTER results
			if (pageArray[p].api_processor == pageArray[pg_register-1].api_processor)
			{
				api_ProcessRegister();
			}

			// process NEWSLETTER results
			if (pageArray[p].api_processor == pageArray[pg_newsletter-1].api_processor)
			{
				api_ProcessNewsletter();
			}

			// process TELL A FRIEND results
			if (pageArray[p].api_processor == pageArray[pg_referfriend-1].api_processor)
			{
				api_ProcessTellAFriend();
			}

			// process TELL US results
			if (pageArray[p].api_processor == pageArray[pg_tellus-1].api_processor)
			{
				api_ProcessTellUs();
			}

			// process EXPERT SIGNUP results
			if (pageArray[p].api_processor == pageArray[pg_expertsignup-1].api_processor)
			{
				api_ProcessExpertSignup();
			}

			// process EXPERT LOGIN results
			if (pageArray[p].api_processor == pageArray[pg_expertlogin-1].api_processor)
			{
				api_ProcessExpertLogin();
			}
			
			// process EDIT USER INFO results
			if (pageArray[p].api_processor == pageArray[pg_edituserinfo-1].api_processor)
			{
				api_ProcessEditUserInfo();
			}

			// process COUPON OFFERS results
			if (pageArray[p].api_processor == pageArray[pg_couponoffers-1].api_processor)
			{
				api_ProcessPrintCoupon();
			}

			// process SURVEY results
			if (pageArray[p].api_processor == pageArray[pg_survey-1].api_processor)
			{
				api_ProcessSurvey();
			}
    }
    else
    {
			showErrorMessage("Failed to load API results for " + name + "<br><br>Code=" + pageArray[p].http.status);
    }
  }
}

//***********************************************
// extractResultData
//***********************************************
function extractResultData(str) 
{
  // store the results as an XML object
  storeResultsAsXML(str);

  // extract the result code and message - must be first child or success/failure
  rp_ResultCode = rp_rootNode.childNodes[0].attributes[0].value;
  rp_ResultMessage = rp_rootNode.childNodes[0].attributes[1].value;

	// return success
	return true;
}

//***********************************************
// storeResultsAsXML
//***********************************************
function storeResultsAsXML(str) 
{
  var doc;
  if (window.ActiveXObject)
  {
    rp_XMLDoc = new ActiveXObject("Microsoft.XMLDOM");
    rp_XMLDoc.async="false";
    rp_XMLDoc.loadXML(str);
  }
  else
  {
    var parser = new DOMParser();
    rp_XMLDoc = parser.parseFromString(str,"text/xml");
  }

  // get the root node
  rp_rootNode = rp_XMLDoc.documentElement;
}
//***********************************************
// api_ProcessSurvey
//***********************************************
function api_ProcessSurvey() 
{
  redirectPage(site_thankYouPage);
}
//***********************************************
// api_ProcessLogin
//***********************************************
function api_ProcessLogin() 
{
  // get the root node
  var l = rp_rootNode.childNodes[1];
  
  // extract the userid
  node = l.childNodes[0];
  setCookie("rp_userid",node.childNodes[0].nodeValue);

  // extract the keycode
  node = l.childNodes[1];
  setCookie("rp_keycode",node.childNodes[0].nodeValue);

  // extract the sweepstakes id
  node = l.childNodes[2];
  setCookie("rp_sweepsid",node.childNodes[0].nodeValue);
 
  // extract the first name
  node = l.childNodes[5];
  setCookie("rp_first_name",node.childNodes[0].nodeValue);

  // set entry point
  setCookie("rp_entry","login");
  
  // extract the profile status and redirect accordingly
  node = l.childNodes[4];
  if (node.childNodes[0].nodeValue == "0")
  {
    redirectPage(site_thankYouPage);
  }
  else
  {
    redirectPage(site_surveyPage);
  }
}
//***********************************************
// api_ProcessLogout
//***********************************************
function api_ProcessLogout() 
{
  // set cookies
  clearCookies();

  // show the login page
  redirectPage(site_homePage);
}
//***********************************************
// api_ProcessNewsletter
//***********************************************
function api_ProcessNewsletter() 
{
  getPageObject(pg_newsletterthankyou);
}
//***********************************************
// api_ProcessTellAFriend
//***********************************************
function api_ProcessTellAFriend() 
{
  getPageObject(pg_referfriendthankyou);
}
//***********************************************
// api_ProcessEditUserInfo
//***********************************************
function api_ProcessEditUserInfo() 
{
  alert("Your information has been updated.\n\nThank you!");
}

//***********************************************
// api_ProcessExpertLogin
//***********************************************
function api_ProcessExpertLogin() 
{
  // get root node
  var l = rp_rootNode.childNodes[1];

  // extract the userid 
  var node = l.childNodes[0];
  setCookie("rp_userid",node.childNodes[0].nodeValue);

  // extract the keycode 
  node = l.childNodes[1];
  setCookie("rp_keycode",node.childNodes[0].nodeValue);

  // extract the first name
  node = l.childNodes[2];
  setCookie("rp_first_name",node.childNodes[0].nodeValue);

  // redirect to thank you page
  setCookie("expert","1");
//  redirectPage(site_thankYouPage );

  // extract the profile status and redirect accordingly
  node = l.childNodes[3];
  if (node.childNodes[0].nodeValue == "0")
  {
    redirectPage(site_thankYouPage);
  }
  else
  {
    redirectPage(site_surveyPage);
  }
}
//***********************************************
// api_ProcessExpertSignup
//***********************************************
function api_ProcessExpertSignup() 
{
  // get root node
  var l = rp_rootNode.childNodes[1];

  // extract the userid 
  var node = l.childNodes[0];
  setCookie("rp_userid",node.childNodes[0].nodeValue);

  // extract the keycode 
  node = l.childNodes[1];
  setCookie("rp_keycode",node.childNodes[0].nodeValue);

  // extract the first name
  node = l.childNodes[2];
  setCookie("rp_first_name",node.childNodes[0].nodeValue);

  // redirect to thank you page
  setCookie("expert","1");
  redirectPage(site_surveyPage);
}
//***********************************************
// api_ProcessTellUs
//***********************************************
function api_ProcessTellUs() 
{
  // get root node
  var l = rp_rootNode.childNodes[1];

  // extract the userid 
  var node = l.childNodes[0];
  setCookie("rp_userid",node.childNodes[0].nodeValue);

  // extract the keycode 
  node = l.childNodes[1];
  setCookie("rp_keycode",node.childNodes[0].nodeValue);

  // extract the first name
  node = l.childNodes[2];
  setCookie("rp_first_name",node.childNodes[0].nodeValue);

  // redirect to thank you page
  setCookie("tellus","1");
  redirectPage(site_surveyPage);
}
//***********************************************
// api_ProcessPassword
//***********************************************
function api_ProcessPassword() 
{
	getPageObject(pg_forgotpasswordconfirm);
}
//***********************************************
// api_ProcessRegister
//***********************************************
function api_ProcessRegister() 
{
  // get root node
  var l = rp_rootNode.childNodes[1];

  // extract the userid 
  var node = l.childNodes[0];
  setCookie("rp_userid",node.childNodes[0].nodeValue);

  // extract the keycode 
  node = l.childNodes[1];
  setCookie("rp_keycode",node.childNodes[0].nodeValue);

  // extract the first name
  node = l.childNodes[2];
  setCookie("rp_first_name",node.childNodes[0].nodeValue);

  // redirect to thank you page
  redirectPage(site_surveyPage);
}
//***********************************************
// api_ProcessPrintCoupon
//***********************************************
function api_ProcessPrintCoupon() 
{
  // get root node
  var l = rp_rootNode.childNodes[1];

  // reset available cookie status
  
  // extract the link
  var node = l.childNodes[0];
  redirectPage(unescape(node.childNodes[0].nodeValue));
}



//*******************************************************************************
// FUNCTION CALLS
//*******************************************************************************
//***********************************************
// redeemCoupon
//***********************************************
function redeemCoupon(id) 
{
  if ( (readCookie("rp_userid") != "") && (readCookie("rp_keycode") != "") )
  {
    setCookie("couponid",id);
    makeAPICall(pg_couponoffers);
  }
  else
  {
    redirectPage(site_regPage);
  }
}


//*******************************************************************************
// UTILITY CALLS
//*******************************************************************************
//***********************************************
// getBrowserResolution
//***********************************************
function getBrowserResolution() 
{
	if (parseInt(navigator.appVersion)>3) 
	{
		if (navigator.appName=="Netscape") 
		{
			winW = window.innerWidth;
			winH = window.innerHeight;
		}
		if (navigator.appName.indexOf("Microsoft")!=-1) 
		{
		  if (document.layers)
		  {
			  winW = document.body.offsetWidth;
			  winH = document.body.offsetHeight;
		  }
		  else
		  {
			  winW = document.body.clientWidth;
			  winH = document.body.clientHeight;
		  }
		}
	}
}
//***********************************************
// getScrollXY
//***********************************************
function getScrollXY() 
{
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) 
	{
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } 
	else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) 
	{
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } 
	else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) )
  {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}



//*******************************************************************************
// ERROR MESSAGE CALLS
//*******************************************************************************
//***********************************************
// showErrorMessage
//***********************************************
function showErrorMessage(msg)
{
  alert(msg);
}
//***********************************************
// hideErrorMessage
//***********************************************
function hideErrorMessage()
{
	// hide the error div
	var errorDiv 
	errorDiv = getObject("div_error");
	errorDiv.style.visibility = "hidden";

  // clear error message
  setCookie("error_message","");

	// set error flag
	errorVisible = false;

	// hide the overlay
	hideOverlay();
}





//*******************************************************************************
// OVERLAY CALLS
//*******************************************************************************
//***********************************************
//  showOverlay
//***********************************************
function showOverlay()
{
	var sxy = new Array();
	sxy = getScrollXY();

	// get the browser resolution
	getBrowserResolution();

	document.getElementById('overlay').style.display='block';
	document.getElementById('overlay').style.filter='alpha(opacity=50)';
	document.getElementById('overlay').style.width = winW + "px";			
	document.getElementById('overlay').style.height = winH  + "px";			

	// set overlay flag
	overlayVisible = true;
}
//***********************************************
// hideOverlay
//***********************************************
function hideOverlay()
{
  document.getElementById('overlay').style.display='none';

	// set overlay flag
	overlayVisible = false;
}
//***********************************************
// windowResized
//***********************************************
function windowResized()
{
	// adjust the width and height of the overlay
	if (overlayVisible)
	{
		showOverlay();
	}

	// adjust the width and height of the error
	if (errorVisible)
	{
		var sxy = new Array();
		sxy = getScrollXY();
    showObject(pageArray[pg_errormessage-1].div, ( ((winW-300) / 2) + sxy[0]) , ( ((winH-200) / 2) + sxy[1])  );
	}
}

//***********************************************
// scratchOffWon
//***********************************************
function scratchOffWon()
{
  getPageObject(pg_prize);
}
//***********************************************
// scratchOffLost
//***********************************************
function scratchOffLost()
{
  getPageObject(pg_printcoupon);
}
