          /*
           * Base 10 Logarithm
           */
          function doLog(num) {
              var x = parseFloat(num);
              var t = Math.log(x);
              return t / Math.LN10;
          }

          /*
           * Bounder points system.
           */
          function special_score(score, ratio, remaining_lives, minScore) {
              /*
               * score * (ratio^remaining_lives) rounded down.
               */
              not_rounded = Math.floor(score * Math.pow(ratio, remaining_lives))
              var charNumber = new String(not_rounded)
              charNumber = charNumber.substring(0, charNumber.length - doLog(minScore))
              var rounded = charNumber * minScore
              return rounded
          }

          /*
           * Bounder Regulation Play points system.
           */
          function bounder_sr1(score, remaining_lives) {
              return special_score(score, 1.05, remaining_lives, 10)
          }


          /*
           * Colony Regulation Play points system.
           */
          function colony(credits, minutes) {
            return Math.floor(credits / 10) + parseInt(minutes)
          }


          /*
           * Millionaire Regulation Play points system.
           */
          function millionaire(selling, time, pop, score) {
              return parseInt(selling) + parseInt(time * (parseInt(pop) + parseInt(score)))
          }


          /*
           * Nebulus Regulation Play points system.
           */
          function nebulus(score, lost_lives) {
              return parseInt(score) + 100000 - (lost_lives * 10000)
          }


          /*
           * Basketball points system.
           */
          function basketball(level, wins, diff, home) {
              return ((level - 3) * (wins * 300 + (diff*diff*4) + home*20))
          }

          /*
           * Zona 0 points system.
           */
          function special_score(score, ratio, remaining_lives, minScore) {
              /*
               * score * (ratio^remaining_lives) rounded down.
               */
              not_rounded = Math.floor(score * Math.pow(ratio,
remaining_lives))
              var charNumber = new String(not_rounded)
              charNumber = charNumber.substring(0, charNumber.length -
doLog(minScore))
              var rounded = charNumber * minScore
              return rounded
          }
          
          /*
           * Zona 0 Regulation Play points system.
           */
          function zona(score, remaining_lives) {
              return special_score(score, 1.15, remaining_lives, 1)
          }
          
          /*
           * Penetrator points system.
           */
          function special_score(score, ratio, remaining_lives, minScore) {
              /*
               * score * (ratio^remaining_lives) rounded down.
               */
              not_rounded = Math.floor(score * Math.pow(ratio,
remaining_lives))
              var charNumber = new String(not_rounded)
              charNumber = charNumber.substring(0, charNumber.length -
doLog(minScore))
              var rounded = charNumber * minScore
              return rounded
          }

          /*
           * Penetrator Regulation Play points system.
           */
          function penetrator(score, remaining_lives) {
              return special_score(score, 1.15, remaining_lives, 10)
          }
          
          /*
           * Tapper points system.
           */
          function special_score(score, ratio, remaining_lives, minScore) {
              /*
               * score * (ratio^remaining_lives) rounded down.
               */
              not_rounded = Math.floor(score * Math.pow(ratio,
remaining_lives))
              var charNumber = new String(not_rounded)
              charNumber = charNumber.substring(0, charNumber.length -
doLog(minScore))
              var rounded = charNumber * minScore
              return rounded
          }

          /*
           * Tapper Regulation Play points system.
           */
          function tapper(score, remaining_lives) {
              return special_score(score, 1.15, remaining_lives, 10)
          }
          
          /*
           * Daley Thompson's Decathlon points system.
           */
          function special_score(score, ratio, remaining_lives, minScore) {
              /*
               * score * (ratio^remaining_lives) rounded down.
               */
              not_rounded = Math.floor(score * Math.pow(ratio,
remaining_lives))
              var charNumber = new String(not_rounded)
              charNumber = charNumber.substring(0, charNumber.length -
doLog(minScore))
              var rounded = charNumber * minScore
              return rounded
          }

          /*
           * Daley Thompson's Decathlon Regulation Play points system.
           */
          function daley(score, remaining_lives) {
              return special_score(score, 1.30, remaining_lives, 1)
          }
          
                    /*
           * Earth Shaker points system.
           */
          function special_score(score, ratio, remaining_lives, minScore) {
              /*
               * score * (ratio^remaining_lives) rounded down.
               */
              not_rounded = Math.floor(score * Math.pow(ratio,
remaining_lives))
              var charNumber = new String(not_rounded)
              charNumber = charNumber.substring(0, charNumber.length -
doLog(minScore))
              var rounded = charNumber * minScore
              return rounded
          }

          /*
           * Earth Shaker Regulation Play points system.
           */
          function earthshaker(score, remaining_lives) {
              return special_score(score, 1.25, remaining_lives, 1)
          }
          
          /*
           * Solomon's Key points system.
           */
          function special_score(score, ratio, remaining_lives, minScore) {
              /*
               * score * (ratio^remaining_lives) rounded down.
               */
              not_rounded = Math.floor(score * Math.pow(ratio, remaining_lives))
              var charNumber = new String(not_rounded)
              charNumber = charNumber.substring(0, charNumber.length - doLog(minScore))
              var rounded = charNumber * minScore
              return rounded
          }

          /*
           * Solomon's Key Regulation Play points system.
           */
          function solomonskey(score, remaining_lives) {
              return special_score(score, 1.20, remaining_lives, 1)
          }

