function getElementsByClass(node,searchClass,tag) {
var classElements = new Array();
var els = node.getElementsByTagName(tag);
var elsLen = els.length;
var pattern = new RegExp("\\b"+searchClass+"\\b");
for (i = 0, j = 0; i < elsLen; i++) {
 if ( pattern.test(els[i].className) ) {
 classElements[j] = els[i];
 j++;
 }
}

return classElements;
}
        /*
        Debug Functions for checking the group and item order
        */
        function getGroupOrder() {
                var sections = document.getElementsByClassName('section');
                var alerttext = '';
		var order = Sortable.serialize('group1');
                return order;
        }

	function ShadeCheck(){
	var i;
	var divs = getElementsByClass(document.getElementById('group1'),'lineitem','div');
	var reserves = getElementsByClass(document.getElementById('group3'),'lineitem','div');
	for (i = 0; i < divs.length; i++){
		var div = divs[i];
		if (div.id.indexOf('i') == 0 && div.style) {
			div.style.color = "#000000";
			div.style.backgroundColor = "#FFFFFF";
		}
		if (i==25){
			i=divs.length;
		}
	}
	for (i = 25; i < divs.length; i++) {
		var div = divs[i];
		if (div.id.indexOf('i') == 0 && div.style) {
			div.style.backgroundColor = "#CCCCCC";
			div.style.color = "#4A4A4A";
		}
	}
	for (i = 0; i < reserves.length; i++) {
		var div = reserves[i];
		if (div.id.indexOf('i') == 0 && div.style) {
			div.style.backgroundColor = "#FFFFFF";
			div.style.color = "#000000";
		}
	}

	}

	function MakeSortables() {
	ShadeCheck();
	// <![CDATA[
	Sortable.create('group1',{tag:'div',dropOnEmpty: true, containment: sections, constraint: false,
	onUpdate:function(){
		ShadeCheck();
	}
});
	Sortable.create('group3',{tag:'div',dropOnEmpty: true, containment: sections, constraint: false,
	onUpdate:function(){
		ShadeCheck();
	}
});
	Sortable.create('page',{tag:'div',only:'section'});
	// ]]>
	}
