/***************************************************
* Class Conversion                                 *
*                                                  *
* Methods: fromDecimal                             *
*            Input: (number Integer, base Integer) *
*            Output: (String)                      *
*          toDecimal                               *
*            Input: (number String, base Integer)  *
*            Output: (Integer)                     *
***************************************************/

function Conversion()
{
  this.fromDecimal = function(number, base)
  {
    var digits = new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F');
    var exponent, result;
    switch (base)
    {
      case 2: case 8: case 16:
        exponent = Math.log(base) / Math.log(2);
        result = '';
        while (number > 0)
        {
          result = digits[number & (base - 1)] + result;
          number >>= exponent;
        }
        return result;
      default:
        return undefined;
    }
  };

  this.toDecimal = function(number, base)
  {
    switch (base)
    {
      case 2: case 8: case 16:
        return parseInt(number, base);
      default:
        return undefined;
    }
  };
}

