function strPercentageToNum(ln)
{
  var ln2;
  ln2 = new String(ln);

  chr = '';
  result = '';

  for (i=0; i<ln2.length; i++) {
    chr = ln2.charAt(i);

    if(chr == "%") { 
      continue;
    } 
    else {
      result += chr;
    }
  }
  return result;       
}

function strDollarsToNum(ln)
{
  var ln2;
  ln2 = new String(ln);

  chr = '';
  result = '';

  for (i=0; i<ln2.length; i++) {
    chr = ln2.charAt(i);

    if( chr == "," || chr == "$" ) { 
      continue;
    } 
    else {
      result += chr;
    }
  }

  return result;       
}

function strNumToDollars(ln, dec)
{
  var ln2;
  ln2 = new String(ln);
  ln2 = strDollarsToNum(ln2);

  var first = '';
  var last = '';

  var pos = ln2.indexOf(".");
  if(pos == -1) {
    first = ln2;
    if(dec=="0") last = '';
    else last  = '.00';
  } 
  else {
    first = ln2.substring(0, pos); 
    last  = ln2.substring(pos, ln2.length);

    if(dec=="0") {
      last = '';
    }
    else {    
     if(last.length < 3) {
      if(last.length==2) {
        last += "0";
      }
      if(last.length==1) {
        last += "00";
      }   
     }
    }
  }
  if(!first) {
     first += "0";
  }

  result = '';
  j 	 = 0;  

  for (i=first.length; i>0; i--) {
//    result = first.substring(i-1,i) + result;

    result = first.charAt(i-1) + result;
    j+=1;
    if(j>2 && i>1) { 
      if(first.charAt(0)!="-") {
        result = "," + result; 
      } else if (i>2) {
        result = "," + result; 
      }
      j = 0;      
    }

  }

  result = "$" + result + last;  

  return result;       
}

function doFixPerc(input, dec) 
{
  if( !input ) {
    if(dec=="0") input="0";
    else input = "0.00";
  }

  input = strPercentageToNum(input);

  if( isNaN(parseFloat(input)) ) {
    alert("Only numbers allowed for input values.");
    if(dec=="0") return "0";   
    else return "0.00";
  }
  if( input < 0 ) {
    alert("Please enter positive values.");
    if(dec=="0") return "0";
    else return "0.00";
  }

  var first = '';
  var last = '';

  var pos = input.indexOf(".");
  if(pos == -1) {
    first = input;
    if(dec=="0") last  = '';
    else last = '.00';
  } 
  else {
    first = input.substring(0, pos); 
    last  = input.substring(pos, input.length);

    if(last.length < 3) {
      if(last.length==2) {
        last += "0";
      }
      if(last.length==1) {
        last += "00";
      }   
    }
  }
  if(!first) {
     first += "0";
  }

  return first + last;
}

function doAdjust(what, type, dec) 
{
  var value = what.value;
  var v = new String(value);

  if(type==0) {
    value  = doFixPerc(value, dec) + "%";
  }
  if(type==1) {
    if( !value ) {
      if(dec=="0") value = "0";
      else value = "0.00";
    }

    MM = 0;
    if(	v.substring(v.length-2, v.length) == "MM" ||
	v.substring(v.length-2, v.length) == "mm" ) {
	v = v.substring(0, v.length-2);
	v += "000000";
	value = parseInt(v);
	MM = 1;
    }

    if( !MM && (v.substring(v.length-1, v.length) == "M" ||
	v.substring(v.length-1, v.length) == "m")) {
	v = v.substring(0, v.length-1);
	v += "000";
	value = parseInt(v);
    }

    value = strDollarsToNum(value);

    if( isNaN(value) ) {
      alert("Only numbers allowed for input values.");
      if(dec=="0") value = "0";
      else value = "0.00";
    }
    if( value < 0 ) {
      alert("Please enter positive values.");
      if(dec=="0") value = "0";
      else value = "0.00";
    }
    value  = strNumToDollars(value, dec);
  }

  what.value	= value;
}

