/*-------- COLUMN MAKER -----------*/
/* http://www.chriscassell.net/log/2005/02/17/splitting_lists.html
	thanks Chris Cassell!
	
	Changed the global scope and made the script object-oriented
	
	*/



var Columnize = function()  {
  
  	  var columnize = function (src, type) {

		  var origList = src;
		  var origClass = src.className;
		
		  var leftList = document.createElement(type);
		  var rightList = document.createElement(type);
		  var container = document.createElement('div');
		  var clearer = document.createElement('div');
		
		  var items = origList.getElementsByTagName('LI');
		
		  var itemsLength = items.length/2;
		  for (i = 0; i < itemsLength; i++)
			{
			leftList.appendChild(items[0]);
			}
		
		  itemsLength = items.length;
		  for (i = 0; i < itemsLength; i++)
			{
			rightList.appendChild(items[0]);
			}
		  container.appendChild(leftList);
		  container.appendChild(rightList);
		
		  leftList.className = 'left' + ' ' + origClass;
		  rightList.className = 'right' + ' ' + origClass;
		  container.className = 'twocol';
		  clearer.className = 'clearer';
		 
		 if (type == 'ol')
			{
			rightList.setAttribute('start', leftList.getElementsByTagName('LI').length + 1 );
			}
		  
		  origList.parentNode.replaceChild(container, origList);
		  container.appendChild(clearer);
	  }
  
	  
	  var init = function(whichclass, type) {
	 
	 	var uls = document.getElementsByTagName(type);
	  	var re = new RegExp('\\b' + whichclass + '\\b');
	  	var toModify = [];
	  	
	  	for (var x=0; x<uls.length; x++)
	  		if (re.test(uls[x].className)) {
	  			toModify.push(uls[x]);
	  		}
	  	
	  	for (var i=0; i < toModify.length; i++)
			columnize(toModify[i], type.toLowerCase());
		}
  
  	return init;
  	
  }();
  

/*

<script type="text/javascript">
	var columns = Columnize('clients', 'ul');
</script>

*/