theRows = new Array();
full = new Array();
cloak = new Array();
visits = new Array();
ids = new Array();

function sortNumber(a, b){
return a - b
}
function clone() {
	var theClone = new Array();
	for(var i=0;i<this.length;i++)
		theClone[i] = this[i];
	return theClone;
}
Array.prototype.clone = clone;

function populateArrays() {
	var rows = document.getElementById('myLinks').getElementsByTagName('tr');
	for(var i=0;i<rows.length;i++) {
		ids[i] = parseInt(rows[i].firstChild.firstChild.id);
		full[i] = rows[i].firstChild.nextSibling.innerHTML;
		visits[i] = parseInt(rows[i].lastChild.previousSibling.previousSibling.innerHTML);
		cloak[i] = rows[i].lastChild.previousSibling.innerHTML;
	}
	for(var i=0;i<rows.length;i++)
		theRows[i] = rows[i].cloneNode(true);
}
function sortShrunk() {
	if(ids.length < 1 || full.length < 1 || cloak.length < 1 || visits.length < 1) populateArrays();
	var temp = ids.clone();
	temp.sort(sortNumber);
	if(s=='s' && d==1) {
		temp.reverse();
		d=0;
	} else {
		s='s';
		d=1;
	}
	reWrite(temp, ids);
}
function sortFull() {
	if(ids.length < 1 || full.length < 1 || cloak.length < 1 || visits.length < 1) populateArrays();
	var temp = full.clone();
	temp.sort();
	if(s=='f' && d==1) {
		temp.reverse();
		d=0;
	} else {
		s='f';
		d=1;
	}
	reWrite(temp, full);
}
function sortVisits() {
	if(ids.length < 1 || full.length < 1 || cloak.length < 1 || visits.length < 1) populateArrays();
	var temp = visits.clone();
	temp.sort(sortNumber);
	if(s=='v' && d==1) {
		temp.reverse();
		d=0;
	} else {
		s='v';
		d=1;
	}
	reWrite(temp, visits);
}
function sortCloak() {
	if(ids.length < 1 || full.length < 1 || cloak.length < 1 || visits.length < 1) populateArrays();
	var temp = cloak.clone();
	temp.sort();
	if(s=='c' && d==1) {
		temp.reverse();
		d=0;
	} else {
		s='c';
		d=1;
	}
	reWrite(temp, cloak);
}
function reWrite(temp, check) {
	var swap = new Array();
	var done = new Array();
	for(var i=0;i<temp.length;i++)
		done[i] = false;

	for(var i=0;i<temp.length;i++) {
		for(var j=0;j<temp.length;j++)
			if(check[j] == temp[i] && !done[j]) {
				swap[i] = j;
				done[j] = true;
				break;
			}
	}
	
	var tb = document.getElementById('myLinks');
	tb.innerHTML='';
	for(var i=0;i<swap.length;i++) {
		theRows[swap[i]].className=(i%2)?"bb":"gb";
		tb.appendChild(theRows[swap[i]]);
	}
}

