Ci sono tanti plugin jQuery e non, perchè vuoi ricreare la ruota?
Ad ogni modo non ho testato il tuo codice, ma a primo impatto mi salta all'occhio questo errore:
setInterval("slider(contatore)", 3000);Nella funzione "setInterval" così come nella "setTimeout" non puoi passare parametri alle funzioni, se non creando una funzione anonima, es:
setInterval( function(){ slider(contatore); }, 3000);