home *** CD-ROM | disk | FTP | other *** search
/ Neil's C++ Stuff / 2015-03-neilstuff.zip / cpp / tyk.js < prev    next >
Text File  |  2015-03-14  |  4KB  |  105 lines

  1. //****************************************************************************
  2. //****************************************************************************
  3. // Client JS for "Test Your Knowledge" Form
  4. //****************************************************************************
  5. //****************************************************************************
  6.  
  7.   var js_iseed  = 0, js_iseed1 = 0, js_iseed2 = 0, formnum = 0;
  8.   var answ = new Array(6);
  9.   var scratch = "", j = 0, k = 0;
  10.   var goodmsg = "Right on!";
  11.   var badmsg = "Try again!";
  12.   var childbub=0; // child bubble
  13.   var bTime;    // bubble timer ID
  14.   var bubblei=0;// desired bubble
  15.   var bubblecfg = false;
  16.   var bmsg=0;   // index of current bubble:
  17.   var mdata;
  18.  
  19.     function config_bubble() { }
  20.  
  21.   function tyk(question, ans1, ans2, ans3, ans4, cans, explanation)
  22.   {
  23.     formnum++;
  24.     answ[0]=ans1; answ[1]=ans2; answ[2]=ans3; answ[3]=ans4; answ[4]=cans;
  25.     for (var i = 0; i < 10; i++)
  26.     {
  27.       j = random(5);
  28.       if (j > 4) alert("ack!");
  29.       scratch = answ[j];
  30.       answ[j] = "";
  31.       k = j;
  32.       while (answ[k] == "")
  33.         k = random(5);
  34.       answ[j] = answ[k];
  35.       answ[k] = scratch;
  36.     }
  37.     for (var i = 0; i < 5; i++)
  38.       if (answ[i] == cans) k = i;
  39.     document.write
  40.     (
  41.       "<CENTER><TABLE BORDER=0 CELLBORDER=0 CELLSPACING=0 CELLPADDING=0>"+
  42.       "<TD ALIGN=CENTER>"+
  43.       "<TABLE WIDTH=570 BORDER=0 CELLBORDER=0 CELLSPACING=0 CELLPADDING=0>"+
  44.       "<TR><TD COLSPAN=3 WIDTH=570 HEIGHT=54>"+
  45.       "<IMG SRC=tyk_gfx/top_title.GIF WIDTH=570 HEIGHT=54></TD></TR>"+
  46.       "<TR><TD WIDTH=32 HEIGHT=135>"+
  47.       "<IMG SRC=tyk_gfx/left_q.GIF WIDTH=32 HEIGHT=135></TD>"+
  48.       "<TD WIDTH=505 HEIGHT=135 BGCOLOR=FFFFFF>"+
  49.       "<IMG SRC=tyk_gfx/blank.GIF WIDTH=505 HEIGHT=1><BR>"+
  50.       "<FORM NAME=ex" + formnum + ">" + question + "</TD>" +
  51.       "<TD WIDTH=33 HEIGHT=135>"+
  52.       "<IMG SRC=tyk_gfx/right_q.GIF WIDTH=32 HEIGHT=135></TD></TR>"+
  53.       "<TR><TD COLSPAN=3 WIDTH=570 HEIGHT=12>"+
  54.       "<IMG SRC=tyk_gfx/middle_div.GIF WIDTH=570 HEIGHT=12></TR></TABLE>"+
  55.       "<TABLE WIDTH=570 BORDER=0 CELLBORDER=0 CELLSPACING=0 CELLPADDING=0>"+
  56.       "<TR><TD ROWSPAN=2 WIDTH=42 HEIGHT=200>"+
  57.       "<IMG SRC=tyk_gfx/left_bot.GIF WIDTH=42 HEIGHT=200></TD>"+
  58.       "<TD WIDTH=496 HEIGHT=182 BGCOLOR=FFFFFF>"
  59.     );
  60.  
  61.     for (var i = 0; i < 5; i++)
  62.       document.write("<INPUT TYPE=RADIO NAME=exchc>" + answ[i] + "<BR>");
  63.  
  64.     document.write
  65.     (
  66.       "<CENTER><INPUT TYPE=BUTTON VALUE='Am I Right?' ONCLICK=\"(document.ex" + formnum + ".exchc[" + k + "].checked)?alert('" + goodmsg
  67.     );
  68.  
  69.     if (explanation != "") { document.write("\\n\\n" + explanation); }
  70.  
  71.     document.write
  72.     (
  73.       "'):alert(badmsg);\"></CENTER></FORM></TD>" +
  74.       "<TD ROWSPAN=2 WIDTH=32 HEIGHT=200>"+
  75.       "<IMG SRC=tyk_gfx/right_bot.GIF WIDTH=32 HEIGHT=200></TD></TR>"+
  76.       "<TR><TD WIDTH=496 VALIGN=BOTTOM BGCOLOR=FFFFFF>"+
  77.       "<IMG SRC=tyk_gfx/middle_bot.GIF WIDTH=496 HEIGHT=9></TD></TR>"+
  78.       "<TR><TD COLSPAN=3 WIDTH=570 HEIGHT=9>"+
  79.       "<IMG SRC=tyk_gfx/bottom.GIF WIDTH=570 HEIGHT=9></TD></TR></TABLE>" +
  80.       "</TD></TABLE></CENTER>"
  81.     );
  82.   }
  83.  
  84.   // ripped this function from a script on www.javascripts.com, can't remember
  85.   // the original script or author, sorry
  86.   function random(n)
  87.   {
  88.     var js_mult1=3141
  89.     var js_mult2=5821
  90.     var js_m1=100000000
  91.     var js_m2=10000
  92.  
  93.     if (js_iseed == 0)
  94.     {
  95.        now = new Date()
  96.        js_iseed = now.getHours() + now.getMinutes() * 60 + now.getSeconds() * 3600
  97.     }
  98.  
  99.     js_iseed1 = js_iseed / js_m2
  100.     js_iseed2 = js_iseed % js_m2
  101.     var tmp = (((js_iseed2 * js_mult1 + js_iseed1 * js_mult2) % js_m2) * js_m2 + (js_iseed2 * js_mult2)) % js_m1
  102.     js_iseed = (tmp + 1) % js_m1
  103.     return (Math.floor((js_iseed/js_m1) * n))
  104.    }
  105.