﻿// JScript File


function addOnload(newFunction) {
	var oldOnload = window.onload;
	
	if (typeof oldOnload == "function") {
		window.onload = function() {
			if (oldOnload) {
				oldOnload();
			}
			newFunction();
		}
	}
	else {
		window.onload = newFunction;
	} 
}

function getXmlHttpObject(handler)
{ 
	var objXMLHttp=null;
	
	if (window.XMLHttpRequest)
		objXMLHttp=new XMLHttpRequest();
	else if (window.ActiveXObject){ // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }	
	return objXMLHttp;
}



function getElementsByClass() {
	var args = arguments;
	var classElements = new Array();
	if(args.length > 0) {
		var node = document.documentElement;
		var tag = "*";
		var argMax = args.length
		
		if ( args.length >= 2 ) {
		    
			if ( typeof args[args.length-1] == "string" && typeof args[args.length-2] != "string") {
				node = args[args.length-2];
				tag = args[args.length-1];
				
				argMax -= 2;
        	    //alert("root node is " + node.tagName);
			}
		    else if ( typeof args[args.length-1] != "string" ) {
			    node = args[args.length-1];
			    argMax--;
	            //alert("root node is " + node.tagName);
		    }
		}
		
		var els = node.getElementsByTagName(tag);
		var elsLen = els.length;
		for (i = 0; i < els.length; i++) {
			var hasAllClasses = true;
			for(var j=0; j<argMax; j++) {
				if ( !els[i].className.match(new RegExp("\\b"+args[j],"i")) ) {
					hasAllClasses = false;
				}
			}
			
			if ( hasAllClasses )
				classElements[classElements.length] = els[i];
		}
	}
	
	//alert(classElements.length + " elements returned");
	return classElements;
}

