addEvent = function(obj, evType, fn, useCapture) {
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, useCapture);
    return true;
  } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  }
}

document.getElementsByClassName = function(className) {
  var children = document.getElementsByTagName('*') || document.all;
  var elements = new Array();
  for (var i = 0, child; child = children[i]; i++) {  
    var classNames = child.className.split(' ');
    for (var j = 0; j < classNames.length; j++) {
      if (classNames[j] == className) {
        elements.push(child);
        break;
      }
    }
  }  
  return elements;
}


initRollovers = function() {
  if (!document.getElementById) return
  var aPreLoad = new Array();
  var sTempSrc;
  var aImages = new Array();
  aImages = document.getElementsByClassName('roll');
  for (var i = 0, aImage; aImage = aImages[i]; i++) {
    var src = aImage.getAttribute('src');
    if (src.lastIndexOf('_roll') < 1) {
      var ftype = src.substring(src.lastIndexOf('.'), src.length);
      var hsrc = src.replace(ftype, '_roll' + ftype);
      aImage.setAttribute('hsrc', hsrc);

      aPreLoad[i] = new Image();
      aPreLoad[i].src = hsrc;

      aImage.onmouseover = function() {
	sTempSrc = this.getAttribute('src');
	this.setAttribute('src', this.getAttribute('hsrc'));
      }
      aImage.onmouseout = function() {
	if (!sTempSrc) sTempSrc = this.getAttribute('src').replace('_roll'+ftype, ftype);
	this.setAttribute('src', sTempSrc);
      }

    }
  }
}


function number_format(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}
