/* --------------------------------------------------------------------------------------
 * swap.js
 * base common.js version 1.42
 * @20090224
-------------------------------------------------------------------------------------- */
var VCOMN;
if (!VCOMN) {
  VCOMN = {};
}

/* --------------------------------------------------------------------------------------
 * Event Observe
 *   EventObserve
-------------------------------------------------------------------------------------- */
VCOMN.EventObserve = function(elem, name, func, cap) {
  if(elem.addEventListener){
    elem.addEventListener(name, func, cap);
  }else if(elem.attachEvent){
    elem.attachEvent('on' + name, func);
  }
};

/* --------------------------------------------------------------------------------------
 * Swap Images
 *   swapImage
-------------------------------------------------------------------------------------- */
VCOMN.swapImage = function(parent) {
  if (!parent || !parent.getElementsByTagName) {
    parent = document;
  }
  if (!VCOMN.swapImages) {
    VCOMN.swapImages = [];
  }
  var imgs = parent.getElementsByTagName('img');

  for(var i=0; i<imgs.length; i++){
    if (VCOMN.hasClass(imgs[i], 'swap')) {
      // FileName Split.
      var tempSrc = imgs[i].src;
      var paths = tempSrc.split('/');
      var fileNameFull = paths[paths.length - 1];
      var names = fileNameFull.split('.');
      var extension = names.pop();
      var fileName = names.join('.');
      if (fileName.match(/_on$/)) {
        continue;
      }
      fileName = fileName.replace(/_off$/, '');
      var onFileNameFull = fileName + '_on' + '.' + extension;

      // submit 'On' and 'Off' fileName split.
      imgs[i].offSrc = imgs[i].src;
      imgs[i].onSrc = imgs[i].src.replace(fileNameFull, onFileNameFull);

      // Events.
      imgs[i].onmouseover = function(){
        this.src = this.onSrc;
      }
      imgs[i].onmouseout = function(){
        this.src = this.offSrc;
      }
      VCOMN.swapImages[VCOMN.swapImages.length] = imgs[i];
    }
  }
}

/* get element */
VCOMN.getElement = function(elem) {
  if (typeof elem == 'string') {
    elem = document.getElementById(elem);
  }
  return elem;
}

/* check className */
VCOMN.hasClass = function(id, className) {
  var elem = VCOMN.getElement(id);
  if (!elem) return false;
  var elementClassName = elem.className;
  if (elementClassName.length == 0) return false;
  if (elementClassName == className ||
    elementClassName.match(new RegExp("(^|\\s)" + className + "(\\s|$)")))
    return true;
  return false;
}

VCOMN.EventObserve(window, 'load', VCOMN.swapImage, false);

