// JavaScript Document


var Class = {

  create: function() {

    return function() { 

      this.initialize.apply(this, arguments);

    }

  }

}



Object.extend = function(destination, source) {

  for (property in source) {

    destination[property] = source[property];

  }

  return destination;

}



Function.prototype.bind = function(object) {

  var __method = this;

  return function() {

    return __method.apply(object, arguments);

  }

}



function $() {

  var elements = new Array();



  for (var i = 0; i < arguments.length; i++) {

    var element = arguments[i];

    if (typeof element == 'string')

      element = document.getElementById(element);



    if (arguments.length == 1) 

      return element;



    elements.push(element);

  }



  return elements;

}



//-------------------------





//-------------------------



if (!window.Element) {

  var Element = new Object();

}



Object.extend(Element, {

  remove: function(element) {

    element = $(element);

    element.parentNode.removeChild(element);

  },



  hasClassName: function(element, className) {

    element = $(element);

    if (!element)

      return;

    var a = element.className.split(' ');

    for (var i = 0; i < a.length; i++) {

      if (a[i] == className)

        return true;

    }

    return false;

  },



 

  // removes whitespace-only text node children

  cleanWhitespace: function(element) {

    element = $(element);

    for (var i = 0; i < element.childNodes.length; i++) {

      var node = element.childNodes[i];

      if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) 

        Element.remove(node);

    }

  }

});

