/*
   encapsulates all functions needed for ulap
*/

function createUlapPersister()
{
   clearTimeout(persisterInterval);
   
   //alert(useFlash + " " + (typeof(SWFObject)));
   if ((useFlash == "Y") && (typeof(SWFObject) != "undefined") ) {
      var qsParams = getQsParams();
      var so = new SWFObject("/flash/ulap/persister.swf", "oPersist", "1", "1", "7", "#FFFFFF");
      so.addParam("allowScriptAccess", "always");
      so.addVariable("doExpressInstall", false);   
      // stuff from current session
      so.addVariable("lcid", lcid);
      
      if (typeof(qsParams['reset']) != "undefined") {
         so.addVariable("forceReset", "true");
         eraseCookie("ulap_v1_uid");
         eraseCookie("ulap_v1_count");
         eraseCookie("ulap_v1_seen");
         eraseCookie("ulap_v1_sesscount");
      }

      if (typeof(qsParams['forceShow']) != "undefined") {
         so.addVariable("forceShow", "true");
      }
      
      so.addVariable("showSurvey", ulapOdds());

      
      if (readCookie("ulap_v1_uid")) {
         so.addVariable("uid", readCookie("ulap_v1_uid"));
         so.addVariable("counter", readCookie("ulap_v1_count"));
         so.addVariable("alreadySeen", readCookie("ulap_v1_seen"));
         so.addVariable("sessionCounter", readCookie("ulap_v1_sesscount"));
      } else {
         so.addVariable("uid", ulapGenerateUID());
         so.addVariable("counter", 0);
         so.addVariable("alreadySeen", false);        
         so.addVariable("sessionCounter", 0);
      }

      so.write("gPersister");
   }

}

function ulapWriteCookie(uid, count, seen, sessionCounter) {
   createCookie("ulap_v1_uid", uid, 245);
   createCookie("ulap_v1_count", count, 245);
   createCookie("ulap_v1_seen", seen, 245);
   createCookie("ulap_v1_sesscount", sessionCounter, 0);
}

function ulapOdds() {return false;} 
/*function ulapOdds() {
   var randomNumber = Math.round(Math.random() * 24);    // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
   
   if (randomNumber <= 9) {
      // 40%
      return true;
   } else {
      return false;
   }
   
} */

function ulapGenerateUID() {
   var mostly_uid = new Date().getTime();
   var other_uid;

   var randoms = Math.random();
      randoms = randoms * 10000;
   other_uid = Math.round(randoms);
   
   return mostly_uid + "" + other_uid;
}

//AttachEvent(window, "load", createUlapPersister);
//createUlapPersister();
//var persisterInterval = window.setTimeout("createUlapPersister()",1000); 