home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 June / Chip_2004-06_cd2.bin / officexp / download / info_soubory / surveytrigger.js < prev    next >
Text File  |  2004-04-27  |  7KB  |  163 lines

  1. function triggerInit()
  2. {
  3.     var MiliDay = 86400000;
  4.     var maturity = 1;
  5.     var curDate = new Date();
  6.     var visits = fetchcookieval(CookieDef);
  7.     var parts = visits.split('_');
  8.     if(null == visits || parts.length != 2 || isNaN(parts[0]))
  9.     {
  10.         setcookieval(CookieDef, '1_' + (curDate.getTime()/MiliDay - Exp));
  11.         return false;
  12.     }
  13.     else
  14.     {
  15.         var origDate = parseInt(parts[1]);
  16.         visits = parseInt(parts[0]);//alert(visits + ";" + maturity + ";" + (curDate.getTime()/MiliDay - Exp) + ";" + origDate);
  17.         if
  18.         (
  19.             ((!isNaN(Freq)) && (Freq > 0)) && ((visits >= maturity) && ((curDate.getTime()/MiliDay - Exp) >= origDate) && (Math.floor(Math.random() * Freq) == 0))
  20.         )
  21.         {
  22.             setcookieval(CookieDef, visits+1 + '_' + curDate.getTime()/MiliDay);
  23.             return true;
  24.         }
  25.         else
  26.         {
  27.             setcookieval(CookieDef, visits+1 + '_' + parts[1]);
  28.             return false;
  29.         }
  30.     }
  31. }
  32.  
  33. function fireTrigger(SurveyURL)
  34. {
  35.     if(triggerInit())
  36.     {
  37.         //if((navigator.userAgent.indexOf("MSIE") == -1 || navigator.userAgent.indexOf("Windows") == -1 || navigator.appVersion.substring(0,1) < 4)){return;}
  38.         var sSiteID = '', sSiteRegionID = '', sReferringURL = '', P0 = '', P1 = '', P2 = '', P3 = '', P4 = '', P5 = '', P6 = '', P7 = '', P8 = '', P9 = '';        
  39.         if(fireTrigger.arguments.length > 1){sSiteID = fireTrigger.arguments[1];}
  40.         if(fireTrigger.arguments.length > 2){sSiteRegionID = fireTrigger.arguments[2];}
  41.         if(fireTrigger.arguments.length > 3){sReferringURL = fireTrigger.arguments[3];}
  42.         if(fireTrigger.arguments.length > 4){P0 = fireTrigger.arguments[4];}
  43.         if(fireTrigger.arguments.length > 5){P1 = fireTrigger.arguments[5];}
  44.         if(fireTrigger.arguments.length > 6){P2 = fireTrigger.arguments[6];}
  45.         if(typeof(dialogstate) != "undefined")
  46.         {
  47.             P3 = dialogstate.replace("<DialogState dialogID="","").substring(0,dialogstate.replace("<DialogState dialogID="","").indexOf("""))
  48.             var re = /\d+" sessionID="/
  49.             P4 = dialogstate.replace("<DialogState dialogID="","").replace(re,"").substring(0,dialogstate.replace("<DialogState dialogID="","").replace(re,"").indexOf("""))
  50.         }
  51.         if(fireTrigger.arguments.length > 9){P5 = fireTrigger.arguments[9];}
  52.         if(fireTrigger.arguments.length > 10){P6 = fireTrigger.arguments[10];}
  53.         
  54.         var cv;
  55.         var dg = "";
  56.         var p1 = "guid=";
  57.         var p2 = "&guid=";
  58.         var gl = 32;    
  59.         cv = fetchcookieval("MC1").toLowerCase();
  60.         if(cv == "blank") cv = fetchcookieval("MC2").toLowerCase();
  61.         if(cv != "blank")    {
  62.             if(cv.substr(0,p1.length) == p1) { dg = cv.substr(p1.length, gl); }
  63.             else if(cv.indexOf(p2) > -1){ dg = cv.substr(cv.indexOf(p2) + p2.length, gl); }
  64.         }
  65.         P6 = dg;
  66.         
  67.         if(fireTrigger.arguments.length > 11){P7 = fireTrigger.arguments[11];}
  68.         if(fireTrigger.arguments.length > 12){P8 = fireTrigger.arguments[12];}
  69.         if(fireTrigger.arguments.length > 13){P9 = fireTrigger.arguments[13];}    
  70.         
  71.         var fullURL = SurveyURL + '&site=' + sSiteID + '&SurveyStyle=' + SurveyStyle + '&siteregion=' + sSiteRegionID + '&url=' + sReferringURL + '&p0=' + P0 + '&p1=' + P1 + '&p2=' + P2 + '&p3=' + P3 + '&p4=' + P4 + '&p5=' + P5 + '&p6=' + P6 + '&p7=' + P7 + '&p8=' + P8 + '&p9=' + P9;
  72.         
  73.         if (EmailStyle == 1)
  74.         {
  75.             fullURL = fullURL + '&emailsurveyid=' + EmailSurveyID + '&sessionid=-1';
  76.             /*
  77.             var emailaddress = window.prompt(IntroText, "");
  78.             if (emailaddress == null || emailaddress == "")
  79.             {
  80.                 //TODO: handle null?
  81.             }
  82.             else
  83.             {
  84.                 // put the responding window invisible place and just close it.        
  85.                 if (emailaddress.length > 256)
  86.                     emailaddress = emailaddress.substring(0, 256);
  87.                 var tempwindow = window.open(fullURL + "&emailaddress=" + emailaddress + "&sessionid=-1&INVITEACTION=PERSIST", '', 'height=100,width=100,menubar=no,location=no,toolbar=no,status=no,left=' + (screen.width + 500) + ',top=' + (screen.height + 500)); 
  88.                 //tempwindow.close();                
  89.             }
  90.             return;
  91.             */
  92.         }
  93.         if (DisplayIntroPage != '1')
  94.             fullURL = fullURL + '&showpage=1';
  95.         //TODO: change "full screen" or "embedded" as it appears in surveytrigger.config    
  96.         if (SurveyStyle == null){        
  97.             SurveyStyle = "popup";
  98.         }
  99.         SurveyStyle = SurveyStyle.toLowerCase();
  100.         if (SurveyStyle == 'full screen'){        
  101.             window.open(fullURL, '_blank', 'resizable=yes,scrollbars=yes,menubar=no,location=no,toolbar=no,status=no,left=0,top=0,height=' + (screen.height-5)+ ',width=' + (screen.width-5));
  102.         }
  103.         else if (SurveyStyle == "embedded")
  104.             window.location.href=fullURL;
  105.         else if (EmailStyle == 1)
  106.             window.open(fullURL, '_blank', 'resizable=yes,scrollbars=yes,menubar=no,location=no,toolbar=no,status=no,left=0,top=0,height=300,width=500');
  107.         else
  108.             window.open(fullURL, '_blank', 'resizable=yes,scrollbars=yes,menubar=no,location=no,toolbar=no,status=no,left=0,top=0,height=500,width=725');
  109.     }
  110. }
  111.  
  112. function ShowSurveyWindow(SurveyURL)
  113. {
  114.     var sSiteID = '', sSiteRegionID = '', sReferringURL = '', P0 = '', P1 = '', P2 = '', P3 = '', P4 = '', P5 = '', P6 = '', P7 = '', P8 = '', P9 = '';    
  115.     if(ShowSurveyWindow.arguments.length > 1){sSiteID = ShowSurveyWindow.arguments[1];}
  116.     if(ShowSurveyWindow.arguments.length > 2){sSiteRegionID = ShowSurveyWindow.arguments[2];}
  117.     if(ShowSurveyWindow.arguments.length > 3){sReferringURL = ShowSurveyWindow.arguments[3];}
  118.     if(ShowSurveyWindow.arguments.length > 4){P0 = ShowSurveyWindow.arguments[4];}
  119.     if(ShowSurveyWindow.arguments.length > 5){P1 = ShowSurveyWindow.arguments[5];}
  120.     if(ShowSurveyWindow.arguments.length > 6){P2 = ShowSurveyWindow.arguments[6];}
  121.     if(ShowSurveyWindow.arguments.length > 7){P3 = ShowSurveyWindow.arguments[7];}
  122.     if(ShowSurveyWindow.arguments.length > 8){P4 = ShowSurveyWindow.arguments[8];}
  123.     if(ShowSurveyWindow.arguments.length > 9){P5 = ShowSurveyWindow.arguments[9];}
  124.     //if(ShowSurveyWindow.arguments.length > 10){P6 = ShowSurveyWindow.arguments[10];}    
  125.     var cv;
  126.     var dg = "";
  127.     var p1 = "guid=";
  128.     var p2 = "&guid=";
  129.     var gl = 32;    
  130.     cv = fetchcookieval("MC1").toLowerCase();
  131.     if(cv == "blank") cv = fetchcookieval("MC2").toLowerCase();
  132.     if(cv != "blank")    {
  133.         if(cv.substr(0,p1.length) == p1) { dg = cv.substr(p1.length, gl); }
  134.         else if(cv.indexOf(p2) > -1){ dg = cv.substr(cv.indexOf(p2) + p2.length, gl); }
  135.     }
  136.     P6 = dg;
  137.             
  138.     if(ShowSurveyWindow.arguments.length > 11){P7 = ShowSurveyWindow.arguments[11];}
  139.     if(ShowSurveyWindow.arguments.length > 12){P8 = ShowSurveyWindow.arguments[12];}
  140.     if(ShowSurveyWindow.arguments.length > 13){P9 = ShowSurveyWindow.arguments[13];}
  141.     // NOTE: if added more or less Pi parameter, remember to change SurveyDataManager::DefaultPParameterLength, now is 10 (P0-P9)
  142.     
  143.     
  144.     var fullURL = SurveyURL + '&site=' + sSiteID + '&siteregion=' + sSiteRegionID + '&url=' + sReferringURL + '&p0=' + P0 + '&p1=' + P1 + '&p2=' + P2 + '&p3=' + P3 + '&p4=' + P4 + '&p5=' + P5 + '&p6=' + P6 + '&p7=' + P7 + '&p8=' + P8 + '&p9=' + P9;
  145.     
  146.     if (DisplayIntroPage == '0')
  147.         fulURL = fullURL + '&showpage=1';
  148.  
  149.     //TODO: change "full screen" or "embedded" as it appears in surveytrigger.config            
  150.     if (SurveyStyle == null){        
  151.             SurveyStyle = "popup";
  152.         }
  153.     SurveyStyle = SurveyStyle.toLowerCase();
  154.     if (SurveyStyle == 'full screen'){        
  155.         window.open(fullURL, '_blank', 'resizable=yes,scrollbars=yes,menubar=no,location=no,toolbar=no,status=no,fullscreen=yes');
  156.     }
  157.     else if (SurveyStyle == "embedded")
  158.         window.location.href=fullURL;
  159.     else
  160.         window.open(fullURL, '_blank', 'resizable=yes,scrollbars=yes,menubar=no,location=no,toolbar=no,status=no,left=0,top=0,height=500,width=725');
  161.     if (window.event != null) window.event.cancelBubble = true;
  162.     //return false;
  163. }