// my attempt to read the order in this table UGH
function saveTableOrder(){
	// reorder hidden input boxes in first column of table
	var tr = document.getElementById('editedRecords').rows;
	var td = null;
	var count = 1;
	for (var rowNum = 0; rowNum < tr.length; ++rowNum) { // start rowNum at 1 if first row is heading
		td = tr[rowNum].cells;
		td[0].childNodes[0].value = count++;
	}
	// submit this form to the server to be saved.
	submitQueryToServer('dragTableForm' ,'application.php','response',1);
}
function deleteRow(recordId){
	hideDiv(recordId);
	getResponse('application.php?doAction=addServiceItemDelete&rowId='+recordId,'feedBack');
	oldRow = document.getElementById(recordId);
	oldRow.parentNode.removeChild(oldRow);
}

var current = null;
var dragTarget = null;
var dragState = false;

function toggleCurrent(row) {
	if(current) current.className = current.className.replace(/\bactive\b/g, ' ');
	(current = row).className += ' active';
}
function toggleTarget(row) {
	if(dragTarget) dragTarget.className = dragTarget.className.replace(/\btarget\b/g, ' ');
	dragTarget = row;
	if(row) row.className += ' target';
}
function cancelEvent(e) {
	try {
		e.preventDefault();
		e.stopPropagation();
	}
	catch (exception) {
		e.returnValue = false;
	}
	return false;
}
function getRow(e) {
	var target = e.target;
	while(target && !/^tr$/i.test(target.nodeName)) {
		target = target.parentNode;
	}
	if(!target || !target.className || target.className.indexOf('draggable') == -1) return;
	return target;
}

if(!document.addEventListener) { // IIIEEEE!!!
	document.addEventListener = function(type, handler) {
		document.attachEvent('on'+type, function(e) {
			e.target = e.srcElement;
			return handler(e);
		});
	}
}
document.addEventListener('mousedown', 
	function(e){
		var target = getRow(e);
		if(target) {
			toggleCurrent(target);
			dragState = true;
			return cancelEvent(e);
		}
	},
	false);
document.addEventListener('mousemove', 
	function(e){
		if(!dragState) return;
		toggleTarget(getRow(e));
		return cancelEvent(e);
		},
	false);
document.addEventListener('mouseup', 
	function(e) {
		if(dragState && current && dragTarget) {
			dragTarget.parentNode.insertBefore(current, dragTarget);
		saveTableOrder();
		}
		dragState = false;
		toggleTarget(false);
	},
	false);

