allora sto usando questa funzione per selezionare/deselezionare una serie checkbox con un'unica checkbox

(credit Shawn Olson & http://www.shawnolson.net)

function checkUncheckAll(theElement) {
var theForm = theElement.form, z = 0;
for(z=0; z<theForm.length;z++){
if(theForm[z].type == 'checkbox' && theForm[z].name != 'checkall'){
theForm[z].checked = theElement.checked;
}
}
}

che viene richiamata così
<input type="checkbox" name="checkall" onclick="checkUncheckAll(this);"/>select/unselect</form>


ora la sto usando in una versione modificata che prende come argomenti i valori di inizio e fine ciclo perchè ho una tabella di checkbox e volevo una chekbox seleziona/deseleziona tutto alla fine di ogni riga... (la tabella è generata dinamicamente con php)

ora vorrei modificare la funzione perché agisse in base all'id della checkbox (se l'id è uguale a 'var' ecc... ) questo mi serve per poter selezionare le checkbox della tabella anche per colonne, cioè in cima ad ogni colonna vorrei una checkbox che agisse su tutte le checkbox di quella colonna...
ho fatto un po' di tentativi ma nessuno ha funzionato... confesso che sto andando un po' alla cieca perché ho appena iniziato a conoscere javascript...

avete qualche suggerimento? o anche altri esempi utili?