﻿// JScript File
/*------------------------------------------------------------------------------
Excerpts from the jsUtilities Library
Version:        2.1
Homepage:       http://www.easy-designs.net/code/jsUtilities/
License:        Creative Commons Attribution-ShareAlike 2.0 License
                http://creativecommons.org/licenses/by-sa/2.0/
Note:           If you change or improve on this script, please let us know.
------------------------------------------------------------------------------*/
if(Array.prototype.push==null){
  Array.prototype.push=function(item) {this[this.length] = item;return this.length;};
};

// ---------------------------------------------------------------------
//                  function.apply (if unsupported)
//           Courtesy of Aaron Boodman - http://youngpup.net
// ---------------------------------------------------------------------
if (!Function.prototype.apply){
  Function.prototype.apply=function(oScope, args) {
    var sarg=[];
    var rtrn, call;
    if (!oScope) oScope=window;
    if (!args) args=[];
    for (var i=0; i<args.length; i++) {sarg[i]="args["+i+"]";};
    call="oScope.__applyTemp__("+sarg.join(",")+");";
    oScope.__applyTemp__=this;
    rtrn=eval(call);
    oScope.__applyTemp__=null;
	return rtrn;
  };
};

function inArray(needle){for (var i=0; i<this.length; i++){if (this[i]===needle) {return i;}}return false;}
function addClass(theClass){if (this.className!=''){this.className+=' '+theClass;} else {this.className=theClass;}}

function lastChildContainingText(){
  var testChild=this.lastChild;
  var contentCntnr=['p','li','dd'];
  while (testChild.nodeType!=1){testChild=testChild.previousSibling;} 
  var tag=testChild.tagName.toLowerCase();
  var tagInArr=inArray.apply(contentCntnr,[tag]);
  if (!tagInArr&&tagInArr!==0){testChild=lastChildContainingText.apply(testChild);}
  return testChild;
}