basta questo
codice:
function analyzeQs(s){
var Qs=new Array(),l=s.indexOf('?');
if(l){
s=s.substring(l+1)
var arrQs=s.split('&');
for(i=0;i<arrQs.length;i++){
var v=arrQs[i].split('=');
Qs[v[0]]=v[1];
}
}
return Qs;
}
function menuInit(){
var Qs=analyzeQs(self.location.href);
if(Qs['cat']){
var mLnks=document.getElementById('menu').getElementsByTagName('a');
for(var k=0;k<mLnks.length;k++){
var lQs=analyzeQs(mLnks[k].href);
if(lQs['cat']==Qs['cat'] && (!lQs['sub'] || (lQs['sub']==Qs['sub'])))
mLnks[k].className="current";
}
}
}
window.onload=menuInit;
specifica un id="menu" per l' elemento che contiene i link da valutare
i link stessi non necessitano di alcun onclick,
quello che lo script confronta tra location e i singoli indirizzi e' la presenza in querystring di cat=quellochevuoi e sub=quellochevuoi
ciao