﻿/* Written by Greg Thatcher, http://www.GregThatcher.com */
    /* Channel, Cast Member, Cast Member, Top, Left, Bottom, Right */
    var theirChannelIndex = 0;
    var theirCastMemberNumberIndex = 1;
    var theirCastMemberNameIndex = 2;
    var theirTopIndex = 3;
    var theirLeftIndex = 4;
    var theirBottomIndex = 5;
    var theirRightIndex = 6;

    var channelOffsets =
 [
    [-1 , 0 , 0],
    [-1 , 0 , 0],
    [-1 , 0 , 0],
    [-1 , 0 , 0],
    [-1 , 0 , 0],
    [-1 , 0 , 0],
    [-1 , 0 , 0],
    [-1 , 0 , 0],
    [-1 , 0 , 0],
    [-1 , 0 , 0],
 ];
    
    var animation=
 [
    [ // Frame 186 -- head stationary, my turn
    [37 , 35 , "A53" , 23 , 390 , 111 , 443],
    [38 , 47 , "A67" , 23 , 200 , 111 , 253],
    [39 , 46 , "A66" , -215 , 230 , 23 , 264],
    [40 , 63 , "A87" , -215 , 379 , 23 , 413],
    [41 , 30 , "A46" , 0 , 238 , 108 , 408],
    [42 , 32 , "A48" , 26 , 288 , 49 , 358],
    [16 , 62 , "A86" , 40 , 59 , 90 , 210],
    [17 , 14 , "A26" , 57 , 88 , 73 , 151]
    ],
    
    [ // Frame 186 -- head stationary, your turn
    [37 , 35 , "A53" , 23 , 390 , 111 , 443],
    [38 , 47 , "A67" , 23 , 200 , 111 , 253],
    [39 , 46 , "A66" , -215 , 230 , 23 , 264],
    [40 , 63 , "A87" , -215 , 379 , 23 , 413],
    [41 , 30 , "A46" , 0 , 238 , 108 , 408],
    [42 , 32 , "A48" , 26 , 288 , 49 , 358],
    [16 , 62 , "A86" , 40 , 59 , 90 , 210],
    [17 , 13 , "A25" , 57 , 82 , 73 , 156]
    ],

    [ // head stationary, your win
    [37 , 35 , "A53" , 23 , 390 , 111 , 443],
    [38 , 47 , "A67" , 23 , 200 , 111 , 253],
    [39 , 46 , "A66" , -215 , 230 , 23 , 264],
    [40 , 63 , "A87" , -215 , 379 , 23 , 413],
    [41 , 30 , "A46" , 0 , 238 , 108 , 408],
    [42 , 32 , "A48" , 26 , 288 , 49 , 358],
    [16 , 62 , "A86" , 40 , 59 , 90 , 210],
    [17 , 16 , "A28" , 55 , 97 , 69 , 142]
    ],
    
    [ // head stationary, I turn
    [37 , 35 , "A53" , 23 , 390 , 111 , 443],
    [38 , 47 , "A67" , 23 , 200 , 111 , 253],
    [39 , 46 , "A66" , -215 , 230 , 23 , 264],
    [40 , 63 , "A87" , -215 , 379 , 23 , 413],
    [41 , 30 , "A46" , 0 , 238 , 108 , 408],
    [42 , 32 , "A48" , 26 , 288 , 49 , 358],
    [16 , 62 , "A86" , 40 , 59 , 90 , 210],
    [17 , 15 , "A27" , 55 , 85 , 73 , 154]
    ],
    
    [ /* Frame 220 Start right arm peg pickup */
    [ 37 , 35 , "A53" , 23 , 430 , 111 , 483], 
    [ 38 , 49 , "A71" , 208 , 223 , 299 , 293],
    [ 39 , 46 , "A66" , -30 , 270 , 208 , 304],
    [ 40 , 63 , "A87" , -215 , 419 , 23 , 453],
    [ 41 , 30 , "A46" , 0 , 276 , 108 , 446],
    [ 42 , 31 , "A47", 26 , 325 , 46 , 397]
    ],
    
    [ /* Frame 221 */
    [ 37 , 35 , "A53" , 23 , 430 , 111 , 483], 
    [ 38 , 50 , "A72" , 208 , 223 , 295 , 293],
    [ 39 , 46 , "A66" , -30 , 270 , 208 , 304],
    [ 40 , 63 , "A87" , -215 , 419 , 23 , 453],
    [ 41 , 30 , "A46" , 0 , 276 , 108 , 446],
    [ 42 , 31 , "A47" , 26 , 325 , 46 , 397]
    ],

    [/* Frame 222 */
    [ 37 , 35 , "A53" , 23 , 430 , 111 , 483], 
    [ 38 , 51 , "A73" , 208 , 217 , 297 , 293],
    [ 39 , 46 , "A66" , -30 , 270 , 208 , 304],
    [ 40 , 63 , "A87" , -215 , 419 , 23 , 453],
    [ 41 , 30 , "A46" , 0 , 276 , 108 , 446],
    //[ 43 , 23 , "A37" , 290 , 265 , 315 , 279],
    [ 42 , 31 , "A47" , 26 , 325 , 46 , 397]
    ],

    [ /* Frame 223 */
    [ 37 , 35 , "A53" , 23 , 430 , 111 , 483], 
    [ 38 , 52 , "A74" , 208 , 243 , 314 , 293],
    [ 39 , 46 , "A66" , -30 , 270 , 208 , 304],
    [ 40 , 63 , "A87" , -215 , 419 , 23 , 453],
    [ 41 , 30 , "A46" , 0 , 276 , 108 , 446],
    //[ 43 , 23 , "A37" , 290 , 265 , 315 , 279],
    [ 42 , 31 , "A47" , 26 , 325 , 46 , 397],
    ],

    [/* Frame 224 */
    [ 37 , 35 , "A53" , 23 , 430 , 111 , 483], 
    [ 38 , 53 , "A75" , 208 , 233 , 295 , 293],
    [ 39 , 46 , "A66" , -30 , 270 , 208 , 304],
    [ 40 , 63 , "A87" , -215 , 419 , 23 , 453],
    [ 41 , 30 , "A46" , 0 , 276 , 108 , 446],
    [ 42 , 31 , "A47" , 26 , 325 , 46 , 397]
    ],

    [ /* Frame 225 */
    [ 37 , 35 , "A53" , 23 , 430 , 111 , 483],
    [ 38 , 56 , "A78" , 208 , 224 , 281 , 293],
    [ 39 , 46 , "A66" , -30 , 270 , 208 , 304],
    [ 40 , 63 , "A87" , -215 , 419 , 23 , 453],
    [ 41 , 30 , "A46" , 0 , 276 , 108 , 446],
    [ 42 , 31 , "A47" , 26 , 325 , 46 , 397]
    ],
    
    [/* Frame 226 */
    [ 37 , 35 , "A53" , 23 , 426 , 111 , 479],
    [ 38 , 56 , "A78" , 208 , 220 , 281 , 289],
    [ 39 , 46 , "A66" , -30 , 266 , 208 , 300],
    [ 40 , 63 , "A87" , -215 , 415 , 23 , 449],
    [ 41 , 30 , "A46" , 0 , 272 , 108 , 442],
    [ 42 , 31 , "A47" , 26 , 321 , 46 , 393]
    ],

    [ /* Frame 227  End right arm peg pickup */
    [ 37 , 35 , "A53" , 23 , 422 , 111 , 475],
    [ 38 , 56 , "A78" , 208 , 216 , 281 , 285],
    [ 39 , 46 , "A66" , -30 , 262 , 208 , 296],
    [ 40 , 63 , "A87" , -215 , 411 , 23 , 445],
    [ 41 , 30 , "A46" , 0 , 268 , 108 , 438],
    [ 42 , 31 , "A47" , 26 , 317 , 46 , 389]
    ],
    [ /* Frame 233  */
        [ 37 , 35 , "A53" , 23 , 406 , 111 , 459],
        [ 38 , 52 , "A74" , 208 , 219 , 314 , 269],
        [ 39 , 46 , "A66" , -30 , 246 , 208 , 280],
        [ 40 , 63 , "A87" , -215 , 395 , 23 , 429],
        [ 41 , 30 , "A46" , 0 , 252 , 108 , 422],
        [ 42 , 31 , "A47" , 26 , 301 , 46 , 373],
        //[ 43 , 23 , "A37" , 290 , 241 , 315 , 255],
        // [ 44 , 28 , "A44" , 307 , 245 , 323 , 263]
     ],
     
    [/* Frame 234 */
        [ 37 , 35 , "A53" , 23 , 406 , 111 , 459],
        [ 38 , 48 , "A68" , 208 , 216 , 292 , 269],
        [ 39 , 46 , "A66" , -30 , 246 , 208 , 280],
        [ 40 , 63 , "A87" , -215 , 395 , 23 , 429],
        [ 41 , 30 , "A46" , 0 , 252 , 108 , 422],
        [ 42 , 31 , "A47" , 26 , 301 , 46 , 373],
        //[ 43 , 23 , "A37" , 290 , 241 , 315 , 255],
        // [ 44 , 28 , "A44" , 307 , 245 , 323 , 263]
     ],
       
     [ /* Frame 235 */
        [ 37 , 35 , "A53" , 23 , 406 , 111 , 459],
        [ 38 , 47 , "A67" , 208 , 216 , 296 , 269],
        [ 39 , 46 , "A66" , -30 , 246 , 208 , 280],
        [ 40 , 63 , "A87" , -215 , 395 , 23 , 429],
        [ 41 , 30 , "A46" , 0 , 252 , 108 , 422],
        [ 42 , 31 , "A47" , 26 , 301 , 46 , 373],
        //[ 43 , 23 , "A37" , 290 , 241 , 315 , 255],
        // [ 44 , 28 , "A44" , 307 , 245 , 323 , 263]
      ],
      
      [ /* End right arm put down peg */
        [ 37 , 35 , "A53" , 23 , 430 , 111 , 483],
        [ 38 , 47 , "A67" , 23 , 240 , 111 , 293],
        [ 39 , 46 , "A66" , -215 , 270 , 23 , 304],
        [ 40 , 63 , "A87" , -215 , 419 , 23 , 453],
        [ 41 , 30 , "A46" , 0 , 276 , 108 , 446],
        [ 42 , 31 , "A47" , 26 , 325 , 46 , 397],
        //[ 43 , 23 , "A37" , 290 , 265 , 315 , 279],
        //[ 44 , 28 , "A44" , 307 , 269 , 323 , 287]
      ],
    
    /* Push Shuttle from Monster Right*/
    [// -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 452 */
        [ 37 , 35 , "A53" , 23 , 330 , 111 , 383],
        [ 38 , 47 , "A67" , 84 , 140 , 172 , 193],
        [ 39 , 46 , "A66" , -154 , 170 , 84 , 204],
        [ 40 , 63 , "A87" , -215 , 319 , 23 , 353],
        [ 41 , 30 , "A46" , 0 , 178 , 108 , 348],
        [ 42 , 31 , "A47" , 26 , 227 , 46 , 299],
    ],

    [// -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 453 */
        [ 37 , 35 , "A53" , 23 , 330 , 111 , 383],
        [ 38 , 47 , "A67" , 114 , 140 , 202 , 193],
        [ 39 , 46 , "A66" , -124 , 170 , 114 , 204],
        [ 40 , 63 , "A87" , -215 , 319 , 23 , 353],
        [ 41 , 30 , "A46" , 0 , 178 , 108 , 348],
        [ 42 , 31 , "A47" , 26 , 227 , 46 , 299],
    ],

    [ //-1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 454 */
        [ 37 , 35 , "A53" , 23 , 330 , 111 , 383],
        [ 38 , 47 , "A67" , 144 , 140 , 232 , 193],
        [ 39 , 46 , "A66" , -94 , 170 , 144 , 204],
        [ 40 , 63 , "A87" , -215 , 319 , 23 , 353],
        [ 41 , 30 , "A46" , 0 , 178 , 108 , 348],
        [ 42 , 31 , "A47" , 26 , 227 , 46 , 299],
    ],

    [// -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 455 */
        [ 37 , 35 , "A53" , 23 , 330 , 111 , 383],
        [ 38 , 47 , "A67" , 175 , 140 , 263 , 193],
        [ 39 , 46 , "A66" , -63 , 170 , 175 , 204],
        [ 40 , 63 , "A87" , -215 , 319 , 23 , 353],
        [ 41 , 30 , "A46" , 0 , 178 , 108 , 348],
        [ 42 , 31 , "A47" , 26 , 227 , 46 , 299],
    ],

    [// -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 456 */
        [ 37 , 35 , "A53" , 23 , 330 , 111 , 383],
        [ 38 , 47 , "A67" , 205 , 140 , 293 , 193],
        [ 39 , 46 , "A66" , -33 , 170 , 205 , 204],
        [ 40 , 63 , "A87" , -215 , 319 , 23 , 353],
        [ 41 , 30 , "A46" , 0 , 178 , 108 , 348],
        [ 42 , 31 , "A47" , 26 , 227 , 46 , 299],
    ],

    [// -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 457 */
        [ 37 , 35 , "A53" , 23 , 330 , 111 , 383],
        [ 38 , 43 , "A63" , 205 , 164 , 321 , 219],
        [ 39 , 46 , "A66" , -33 , 170 , 205 , 204],
        [ 40 , 63 , "A87" , -215 , 319 , 23 , 353],
        [ 41 , 30 , "A46" , 0 , 178 , 108 , 348],
        [ 42 , 31 , "A47" , 26 , 227 , 46 , 299],
    ],
    
    [// -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 458 */
         [ 37 , 35 , "A53" , 23 , 330 , 111 , 383],
         [ 38 , 43 , "A63" , 205 , 164 , 321 , 219],
         [ 39 , 46 , "A66" , -33 , 170 , 205 , 204],
         [ 40 , 63 , "A87" , -215 , 319 , 23 , 353],
         [ 41 , 30 , "A46" , 0 , 178 , 108 , 348],
         [ 42 , 31 , "A47" , 26 , 227 , 46 , 299],
    ],         
         
    [// -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 459 */
        [ 37 , 35 , "A53" , 23 , 336 , 111 , 389],
        [ 38 , 43 , "A63" , 205 , 170 , 321 , 225],
        [ 39 , 46 , "A66" , -33 , 176 , 205 , 210],
        [ 40 , 63 , "A87" , -215 , 325 , 23 , 359],
        [ 41 , 30 , "A46" , 0 , 184 , 108 , 354],
        [ 42 , 31 , "A47" , 26 , 233 , 46 , 305],
    ],

    [// -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 460 */
        [ 37 , 35 , "A53" , 23 , 342 , 111 , 395],
        [ 38 , 43 , "A63" , 205 , 176 , 321 , 231],
        [ 39 , 46 , "A66" , -33 , 182 , 205 , 216],
        [ 40 , 63 , "A87" , -215 , 331 , 23 , 365],
        [ 41 , 30 , "A46" , 0 , 190 , 108 , 360],
        [ 42 , 31 , "A47" , 26 , 239 , 46 , 311]

    ],
    
    // Push Shuttle from Monster left
    
    [// -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 430 */
        [37 , 35 , "A53" , 84 , 445 , 172 , 498],
        [38 , 47 , "A67" , 23 , 255 , 111 , 308],
        [39 , 46 , "A66" , -215 , 285 , 23 , 319],
        [40 , 63 , "A87" , -154 , 434 , 84 , 468],
        [41 , 30 , "A46" , 0 , 293 , 108 , 463],
        [42 , 31 , "A47" , 26 , 342 , 46 , 414]
     ],
    
     [//-1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 431 */
        [37 , 35 , "A53" , 114 , 445 , 202 , 498],
         [38 , 47 , "A67" , 23 , 255 , 111 , 308],
         [39 , 46 , "A66" , -215 , 285 , 23 , 319],
         [40 , 63 , "A87" , -124 , 434 , 114 , 468],
         [41 , 30 , "A46" , 0 , 293 , 108 , 463],
         [42 , 31 , "A47" , 26 , 342 , 46 , 414]
     ],
 
     [// -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 432 */
         [37 , 35 , "A53" , 144 , 445 , 232 , 498],
         [38 , 47 , "A67" , 23 , 255 , 111 , 308],
         [39 , 46 , "A66" , -215 , 285 , 23 , 319],
         [40 , 63 , "A87" , -94 , 434 , 144 , 468],
         [41 , 30 , "A46" , 0 , 293 , 108 , 463],
         [42 , 31 , "A47" , 26 , 342 , 46 , 414]
     ],
  
     [//-1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 433 */
         [37 , 35 , "A53" , 175 , 445 , 263 , 498],
         [38 , 47 , "A67" , 23 , 255 , 111 , 308],
         [39 , 46 , "A66" , -215 , 285 , 23 , 319],
         [40 , 63 , "A87" , -63 , 434 , 175 , 468],
         [41 , 30 , "A46" , 0 , 293 , 108 , 463],
         [42 , 31 , "A47" , 26 , 342 , 46 , 414]
     ],
  
     [//-1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 434 */
         [37 , 35 , "A53" , 205 , 446 , 293 , 499],
         [38 , 47 , "A67" , 23 , 255 , 111 , 308],
         [39 , 46 , "A66" , -215 , 285 , 23 , 319],
         [40 , 63 , "A87" , -33 , 435 , 205 , 469],
         [41 , 30 , "A46" , 0 , 293 , 108 , 463],
         [42 , 31 , "A47" , 26 , 342 , 46 , 414]
     ],
  
     [//-1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 435 */
         [37 , 40 , "A58" , 205 , 446 , 311 , 496],
         [38 , 47 , "A67" , 23 , 255 , 111 , 308],
         [39 , 46 , "A66" , -215 , 285 , 23 , 319],
         [40 , 63 , "A87" , -33 , 435 , 205 , 469],
         [41 , 30 , "A46" , 0 , 293 , 108 , 463],
         [42 , 31 , "A47" , 26 , 342 , 46 , 414]
     ],
  
     [//-1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 436 */
         [37 , 55 , "A77" , 205 , 420 , 321 , 475],
         [38 , 47 , "A67" , 23 , 255 , 111 , 308],
         [39 , 46 , "A66" , -215 , 285 , 23 , 319],
         [40 , 63 , "A87" , -33 , 435 , 205 , 469],
         [41 , 30 , "A46" , 0 , 293 , 108 , 463],
         [42 , 31 , "A47" , 26 , 342 , 46 , 414]
     ],
  
     [//-1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 437 */
         [37 , 55 , "A77" , 205 , 414 , 321 , 469],
         [38 , 47 , "A67" , 23 , 249 , 111 , 302],
         [39 , 46 , "A66" , -215 , 279 , 23 , 313],
         [40 , 63 , "A87" , -33 , 429 , 205 , 463],
         [41 , 30 , "A46" , 0 , 287 , 108 , 457],
         [42 , 31 , "A47" , 26 , 336 , 46 , 408]
     ],
  
     [//-1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 438 */
         [37 , 55 , "A77" , 205 , 408 , 321 , 463],
         [38 , 47 , "A67" , 23 , 243 , 111 , 296],
         [39 , 46 , "A66" , -215 , 273 , 23 , 307],
         [40 , 63 , "A87" , -33 , 423 , 205 , 457],
         [41 , 30 , "A46" , 0 , 281 , 108 , 451],
         [42 , 31 , "A47" , 26 , 330 , 46 , 402]
     ],
     
    // Move Left Arm Down to pick up peg
 [// -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 323 */
 	[37 , 35 , "A53" , 97 , 370 , 185 , 423],
 	[38 , 47 , "A67" , 23 , 180 , 111 , 233,]
 	[39 , 46 , "A66" , -215 , 210 , 23 , 244],
 	[40 , 63 , "A87" , -128 , 359 , 110 , 393],
 	[41 , 30 , "A46" , 0 , 216 , 108 , 386],
 	[42 , 31 , "A47" , 26 , 265 , 46 , 337],
 ],
 [// -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 324 */
 	[37 , 35 , "A53" , 134 , 370 , 222 , 423],
 	[38 , 47 , "A67" , 23 , 180 , 111 , 233],
 	[39 , 46 , "A66" , -215 , 210 , 23 , 244],
 	[40 , 63 , "A87" , -91 , 359 , 147 , 393],
 	[41 , 30 , "A46" , 0 , 216 , 108 , 386],
 	[42 , 31 , "A47" , 26 , 265 , 46 , 337],
 ],
 [// -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 325 */
 	[37 , 35 , "A53" , 171 , 370 , 259 , 423],
 	[38 , 47 , "A67" , 23 , 180 , 111 , 233],
 	[39 , 46 , "A66" , -215 , 210 , 23 , 244],
 	[40 , 63 , "A87" , -54 , 359 , 184 , 393],
 	[41 , 30 , "A46" , 0 , 216 , 108 , 386],
 	[42 , 31 , "A47" , 26 , 265 , 46 , 337],
 ],
 [// -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 326 */
 	[37 , 35 , "A53" , 208 , 370 , 296 , 423],
 	[38 , 47 , "A67" , 23 , 180 , 111 , 233],
 	[39 , 46 , "A66" , -215 , 210 , 23 , 244],
 	[40 , 63 , "A87" , -30 , 359 , 208 , 393],
 	[41 , 30 , "A46" , 0 , 216 , 108 , 386],
 	[42 , 31 , "A47" , 26 , 265 , 46 , 337],
 ],
 [// -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 327 */
 	[37 , 36 , "A54" , 208 , 370 , 292 , 423],
 	[38 , 47 , "A67" , 23 , 180 , 111 , 233],
 	[39 , 46 , "A66" , -215 , 210 , 23 , 244],
 	[40 , 63 , "A87" , -30 , 359 , 208 , 393],
 	[41 , 30 , "A46" , 0 , 216 , 108 , 386],
 	[42 , 31 , "A47" , 26 , 265 , 46 , 337],
 ],
 [// -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 328 */
 	[37 , 37 , "A55" , 208 , 370 , 299 , 440],
 	[38 , 47 , "A67" , 23 , 180 , 111 , 233],
 	[39 , 46 , "A66" , -215 , 210 , 23 , 244],
 	[40 , 63 , "A87" , -30 , 359 , 208 , 393],
 	[41 , 30 , "A46" , 0 , 216 , 108 , 386],
 	[42 , 31 , "A47" , 26 , 265 , 46 , 337],
 ],


    // Left Arm drop peg
 [// -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 329 */
    [ 37 , 38 , "A56" , 208 , 370 , 295 , 440],
    [38 , 47 , "A67" , 23 , 180 , 111 , 233],
    [39 , 46 , "A66" , -215 , 210 , 23 , 244],
    [40 , 63 , "A87" , -30 , 359 , 208 , 393],
    [41 , 30 , "A46" , 0 , 216 , 108 , 386],
    [42 , 31 , "A47" , 26 , 265 , 46 , 337],
    //[43 , 23 , "A37" , 290 , 385 , 315 , 399],
    //[44 , 28 , "A44" , 307 , 389 , 323 , 407],
 ],
 [// -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 330 */
    [ 37 , 39 , "A57" , 208 , 370 , 297 , 446],
    [38 , 47 , "A67" , 23 , 180 , 111 , 233],
    [39 , 46 , "A66" , -215 , 210 , 23 , 244],
    [40 , 63 , "A87" , -30 , 359 , 208 , 393],
    [41 , 30 , "A46" , 0 , 216 , 108 , 386],
    [42 , 31 , "A47" , 26 , 265 , 46 , 337],
    //[43 , 23 , "A37" , 290 , 385 , 315 , 399],
    //[44 , 28 , "A44" , 307 , 389 , 323 , 407],
 ],
 [// -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 331 */
    [ 37 , 40 , "A58" , 208 , 370 , 314 , 420],
    [38 , 47 , "A67" , 23 , 180 , 111 , 233],
    [39 , 46 , "A66" , -215 , 210 , 23 , 244],
    [40 , 63 , "A87" , -30 , 359 , 208 , 393],
    [41 , 30 , "A46" , 0 , 216 , 108 , 386],
    [42 , 31 , "A47" , 26 , 265 , 46 , 337],
    //[43 , 23 , "A37" , 290 , 385 , 315 , 399],
    //[44 , 28 , "A44" , 307 , 389 , 323 , 407],
 ],
 [// -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 332 */
    [ 37 , 41 , "A61" , 208 , 370 , 295 , 430],
    [38 , 47 , "A67" , 23 , 180 , 111 , 233],
    [39 , 46 , "A66" , -215 , 210 , 23 , 244],
    [40 , 63 , "A87" , -30 , 359 , 208 , 393],
    [41 , 30 , "A46" , 0 , 216 , 108 , 386],
    [42 , 31 , "A47" , 26 , 265 , 46 , 337],
 ],
 [// -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 333 */
    [ 37 , 44 , "A64" , 208 , 370 , 281 , 439],
    [38 , 47 , "A67" , 23 , 180 , 111 , 233],
    [39 , 46 , "A66" , -215 , 210 , 23 , 244],
    [40 , 63 , "A87" , -30 , 359 , 208 , 393],
    [41 , 30 , "A46" , 0 , 216 , 108 , 386],
    [42 , 31 , "A47" , 26 , 265 , 46 , 337],
 ],
 [// -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 334 */
    [ 37 , 44 , "A64" , 208 , 374 , 281 , 443],
    [38 , 47 , "A67" , 23 , 184 , 111 , 237],
    [39 , 46 , "A66" , -215 , 214 , 23 , 248],
    [40 , 63 , "A87" , -30 , 363 , 208 , 397],
    [41 , 30 , "A46" , 0 , 220 , 108 , 390],
    [42 , 31 , "A47" , 26 , 269 , 46 , 341],
 ],
 [// -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 335 */
    [37 , 44 , "A64" , 208 , 378 , 281 , 447],
    [38 , 47 , "A67" , 23 , 188 , 111 , 241],
    [39 , 46 , "A66" , -215 , 218 , 23 , 252],
    [40 , 63 , "A87" , -30 , 367 , 208 , 401],
    [41 , 30 , "A46" , 0 , 224 , 108 , 394],
    [42 , 31 , "A47" , 26 , 273 , 46 , 345],     
 ],
 
 // Left arm put down peg
 [ // -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 341 */
    [37 , 40 , "A58" , 208 , 394 , 314 , 444],
    [38 , 47 , "A67" , 23 , 204 , 111 , 257],
    [39 , 46 , "A66" , -215 , 234 , 23 , 268],
    [40 , 63 , "A87" , -30 , 383 , 208 , 417],
    [41 , 30 , "A46" , 0 , 240 , 108 , 410],
    [42 , 31 , "A47" , 26 , 289 , 46 , 361],
    //[43 , 23 , "A37" , 290 , 409 , 315 , 423],
    //[44 , 28 , "A44" , 307 , 413 , 323 , 431]
 ],
 [ // -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 342 */
    [37 , 36 , "A54" , 208 , 394 , 292 , 447],
    [38 , 47 , "A67" , 23 , 204 , 111 , 257],
    [39 , 46 , "A66" , -215 , 234 , 23 , 268],
    [40 , 63 , "A87" , -30 , 383 , 208 , 417],
    [41 , 30 , "A46" , 0 , 240 , 108 , 410],
    [42 , 31 , "A47" , 26 , 289 , 46 , 361],
    //[43 , 23 , "A37" , 290 , 409 , 315 , 423],
    //[44 , 28 , "A44" , 307 , 413 , 323 , 431]
 ],
 [ // -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 343 */
    [37 , 35 , "A53" , 208 , 394 , 296 , 447],
    [38 , 47 , "A67" , 23 , 204 , 111 , 257],
    [39 , 46 , "A66" , -215 , 234 , 23 , 268],
    [40 , 63 , "A87" , -30 , 383 , 208 , 417],
    [41 , 30 , "A46" , 0 , 240 , 108 , 410],
    [42 , 31 , "A47" , 26 , 289 , 46 , 361],
    //[43 , 23 , "A37" , 290 , 409 , 315 , 423],
    //[44 , 28 , "A44" , 307 , 413 , 323 , 431]
 ],
 [ // -1 , -1 , -1 , 0 , 0 , 0 , 0,	/* Frame 344 */ /* Frame 345 */
    [37 , 35 , "A53" , 23 , 346 , 111 , 399],
    [38 , 47 , "A67" , 23 , 156 , 111 , 209],
    [39 , 46 , "A66" , -215 , 186 , 23 , 220],
    [40 , 63 , "A87" , -215 , 335 , 23 , 369],
    [41 , 30 , "A46" , 0 , 192 , 108 , 362],
    [42 , 31 , "A47" , 26 , 241 , 46 , 313],
    //[43 , 23 , "A37" , 290 , 361 , 315 , 375],
    //[44 , 28 , "A44" , 307 , 365 , 323 , 383]
 ]
];
    
    var theRightArmPickupPegStartFrame = 4;
    var theRightArmPickupAndGrabPeg = 8;
    var theRightArmPickupPegEndFrame = 9;
    var theRightArmPutDownPegStartFrame = 12;
    var theRightArmPutDownPegEndFrame = 14;
    
    var theStartPushRightFrame = 16+4;
    var theEndPushRightFrame = 24;
    
    var theStartPushLeftFrame = 25+4;
    var theEndPushLeftFrame = 33;

    var theLeftArmPickupPegStartFrame = 37;
    var theLeftArmPickupAndGrabPeg = 43;
    var theLeftArmPickupPegEndFrame = 44;
    var theLeftArmPutDownPegStartFrame = 47;
    var theLeftArmPutDownPegEndFrame = 49;
    
    var theMaxNumSprites = 14;

function clearChannelOffsets ()
{
    var index;
    for (index in channelOffsets)
    {
        channelOffsets[index][0] = -1;
    }
}
function AddChannelOffset (channel, xOffset, yOffset)
{
    var index;
    for (index in channelOffsets)
    {
        if (channelOffsets[index][0] == -1)
        {
            channelOffsets[index][0] = channel;
            channelOffsets[index][1] = xOffset;
            channelOffsets[index][2] = yOffset;            
            return;
        }
    }
}
function CheckChannelXOffset(channel)
{
    var xOffset = 0;
    var index;
    for (index in channelOffsets)
    {
        if (channelOffsets[index][0] == channel)
        {
            return channelOffsets[index][1];
        }
    }
    
    return xOffset;
}
function CheckChannelYOffset(channel)
{
    var yOffset = 0;
    var index;
    for (index in channelOffsets)
    {
        if (channelOffsets[index][0] == channel)
        {
            return channelOffsets[index][2];
        }
    }
    return yOffset;
}

var theirImages = new Object();
function GetCachedImage(url)
{
    if (theirImages[url] == null)
    {
        theirImages[url] = new Image();
        theirImages[url].src = url;
    }
    return theirImages[url].src;
    
}

function PreLoadImages ()
{
    var arrayLength = animation.length;
    var i;
    var currentFrameArray;
    var newImage;
    var newHTML;
    
    for (i = 0; i < arrayLength; i++)
    {
        var currentFrameArray = animation[i];
        var numChannels = currentFrameArray.length;
        for (j = 0; j < numChannels; j++)
        {
            if (currentFrameArray[j] != null)
            {
                newImage = currentFrameArray[j][theirCastMemberNameIndex] + '.gif';
                GetCachedImage('../../Games/Shuttles/art/monster/' + newImage);
            }
        }
    }
}   

var theCurrentStage = 1;

function GetSpriteByIndex (index)
{
    var sprite;
    
    if (theCurrentStage == 1)
    {
        sprite = document.getElementById("sprite" + index);
    }
    else
    {
        sprite = document.getElementById("sprite2_" + index);
    }
    
    return sprite;
}

function showFrame (frame, xOffset, yOffset)
{
    var currentSprite = 0;
/*
    if (theCurrentStage == 1)
    {
        theCurrentStage = 2;
    }
    else
    {
        theCurrentStage = 1;
    }
    //theCurrentStage = 1;
*/
    xOffset = (xOffset == null) ? 0 : xOffset;
    yOffset = (yOffset == null) ? 0 : yOffset;
        
    var currentFrameArray = animation[frame];
    for (channel in currentFrameArray)
    {
        var sprite = GetSpriteByIndex(currentSprite);
        // anti-bugging
        if (currentFrameArray[channel] == null)
        {
            return;
        }
        var newImage = currentFrameArray[channel][theirCastMemberNameIndex] + '.gif';
        var newHTML = '<img src="' + GetCachedImage('../../Games/Shuttles/art/monster/' + newImage) + '" alt=""  />';
        var oldInnerText = sprite.innerHTML;
        if (oldInnerText.indexOf(newImage) < 0)
        {
            sprite.innerHTML = newHTML;
        }
        sprite.style.visibility = "visible";
        var newTop =  currentFrameArray[channel][theirTopIndex]  + yOffset  + CheckChannelYOffset(currentFrameArray[channel][theirChannelIndex]);
        var newLeft = currentFrameArray[channel][theirLeftIndex] + xOffset  + CheckChannelXOffset(currentFrameArray[channel][theirChannelIndex]);
        sprite.style.top =  newTop + "px";
        sprite.style.left =  newLeft + "px";
        sprite.style.zIndex = currentFrameArray[channel][theirChannelIndex] + 200;
        currentSprite++;
    }
    for (; currentSprite < theMaxNumSprites; currentSprite++)
    {
        var sprite = GetSpriteByIndex(currentSprite);       
        sprite.innerHTML = '';
        sprite.style.visibility = "hidden";
    }
    
    // we set channel offsets before calling showFrame, and then reset when done
    clearChannelOffsets ();

/*
    var stage1 = document.getElementById("stage_1");
    var stage2 = document.getElementById("stage_2");

    
    if (theCurrentStage == 1)
    {
        stage1.style.zIndex = 250;
        stage2.style.zIndex = 25;
        stage1.style.visibility = "visible";
        stage2.style.visibility = "hidden";
        
    }
    else
    {
        stage2.style.zIndex = 250;
        stage1.style.zIndex = 25;
        stage2.style.visibility = "visible";
        stage1.style.visibility = "hidden";
        
    }
*/
}    

function showFrames (currentFrame, endFrame, speed)
{
    if (currentFrame <= endFrame)
    {
        
        showFrame(currentFrame);
        currentFrame++;
        var functionCall = "showFrames(" + currentFrame + "," + endFrame+ "," + speed  + ")";
        // alert (functionCall);
        setTimeout(functionCall, speed);
    }
}

function showFrame2 (frame)
{
    var currentSprite = 0;
    var innerHTML = "";

    var currentFrameArray = animation[frame];
    var sprite = 0;
    for (channel in currentFrameArray)
    {
        var zIndex = (currentFrameArray[channel][theirChannelIndex] + 200);
        innerHTML += '<div id = "sprite' + sprite + '" style="position: absolute; visibility: visible; top:'
        + currentFrameArray[channel][theirTopIndex] + 'px; left:' + currentFrameArray[channel][theirLeftIndex]
        + 'px; z-index:' + zIndex + ';">' +
        '<img src="../../Games/Shuttles/art/monster/' + currentFrameArray[channel][theirCastMemberNameIndex] + '.gif" alt=""  />' +       
        '</div>';
        sprite++;
    }        
    var monsterDiv = document.getElementById("monster");
    monsterDiv.innerHTML = innerHTML;
    //alert (innerHTML);
}

function monsterSaysItsComputerMove()
{
    showFrame(0);
}
function monsterSaysComputerWon()
{
    showFrame(2);
}

function monsterSaysItsYourMove()
{
    showFrame(1);
}
function monsterSaysYouWon()
{
    showFrame(3);
}
    
function ButtonDoTest_onclick() 
{
    // showFrames(0, 3, 1000);    
    
    // showFrames(theRightArmPickupPegStartFrame, theRightArmPickupPegEndFrame, 1000);    
    // showFrames(theRightArmPutDownPegStartFrame, theRightArmPutDownPegEndFrame, 1000);    
    // showFrames(theRightArmPickupPegStartFrame, theRightArmPutDownPegEndFrame, 2000);    
    
    // showFrames(theStartPushRightFrame, theEndPushRightFrame, 1000);    
    
    showFrames(theStartPushLeftFrame, theEndPushLeftFrame, 1000);    
    
    // showFrames(theLeftArmPickupPegStartFrame, theLeftArmPickupPegEndFrame, 1000);    
    // showFrames(theLeftArmPutDownPegStartFrame, theLeftArmPutDownPegEndFrame, 1000);    
    // showFrames(theLeftArmPickupPegStartFrame, theLeftArmPutDownPegEndFrame, 1000);    
    
    
}


