if(typeof window.addEvent == "function" && typeof $$ == "function"){
	window.addEvent("domready",function(){
		$$("table[id^=table-classify]").each(function(elm){
			var settings_raw=elm.id.split("_");
			var settings=new Array();
			for(var i=0,l=settings_raw.length;i<l;i++){
				var temp_settings=settings_raw[i].split("-");
				if(!temp_settings[1])temp_settings[1]=true;
				settings[temp_settings[0]]=temp_settings[1];
			}
			if(settings["row"] == true)settings["row"]=2;
			var pos;
			for(pos=0,l=elm.childNodes.length;pos<l;pos++){
				if(elm.childNodes[pos].tagName && elm.childNodes[pos].tagName.toLowerCase() == "tbody")break;
			}
			var tbody_elm=elm.childNodes[pos];
			var pos=-1;
			var first_row=true;
			var last_tr_elm=false;
			for(var i=0,l=tbody_elm.childNodes.length;i<l;i++){
				var tr_elm=tbody_elm.childNodes[i];
				if(tr_elm && tr_elm.tagName){
					if(tr_elm.tagName.toLowerCase() == "tr"){
						pos++;
					}
					if(pos == settings["th"]){
						for(var x=0;x<tr_elm.childNodes.length;x++){
							var old_elm=tr_elm.childNodes[x];
							if(old_elm.tagName && old_elm.tagName.toLowerCase() == "td"){
								new Element("th").setHTML(old_elm.innerHTML).injectBefore(old_elm);
								old_elm.remove();
								//tr_elm.childNodes[x].tagName="th";
							}
						}
					}
					if(settings["classify"]){
						var first_cell=true;
						for(var x=0;x<tr_elm.childNodes.length;x++){
							if(tr_elm.childNodes[x].tagName && (tr_elm.childNodes[x].tagName.toLowerCase() == "td" || tr_elm.childNodes[x].tagName.toLowerCase() == "th")){
								var td_elm=tr_elm.childNodes[x];
								if(first_cell){
									td_elm.className+=" classify-left";
									first_cell=false;
								}
								if(first_row)td_elm.className+=" classify-top";
							}
						}
						if(td_elm)td_elm.className+=" classify-right";
					}
					if(settings["row"] > 0){
						for(var x=0;x<tr_elm.childNodes.length;x++){
							var td_elm=tr_elm.childNodes[x];
							if(td_elm.tagName && (td_elm.tagName.toLowerCase() == "td" || td_elm.tagName.toLowerCase() == "th")){
								td_elm.className+=" classify-row-"+(pos%settings["row"]);
							}
						}
					}
					first_row=false;
					last_tr_elm=tr_elm;
				}
			}
			if(settings["classify"]){
				if(last_tr_elm)for(var x=0;x<last_tr_elm.childNodes.length;x++){
					var td_elm=last_tr_elm.childNodes[x];
					if(td_elm.tagName && (td_elm.tagName.toLowerCase() == "td" || td_elm.tagName.toLowerCase() == "th")){
						td_elm.className+=" classify-bottom";
					}
				}
			}
		});
	});
}
else alert("Mootools must be included for this function.");