Problema pulsador para led con delay

Hola, soy nuevo en esto y hace muy poco adquiri mi arduino decimila usb.
Mi duda es la suguiente: comenze a programar y hice unos cuantos programas muy basicos, pero aun no puedo con este, (que para mi gusto es bastante basico tambien):

Al presionar un pulsador el led quede encendido por 5 seg. y luego se apague hasta que apriete nevamente el pulsador en cualquier momento.

Trate de hacerlo de la siguiente forma:

int pulsador = 7;
int led = 13;
int var = 0;

void setup(){
pinMode(led, OUTPUT);
pinMode(pulsador, INPUT);
}

void loop(){
var = digitalRead(pulsador);
digitalWrite(led, var);
delay(5000);
}

El problema es que el led empieza encendido y no hace nada =/
si pueidran ayudarme porfavor.

Trátelo como así:

int pulsador = 7;
int led = 13;
int estado = (-1);

unsigned long tiempo = 0L;

void setup(){
pinMode(led, OUTPUT);
pinMode(pulsador, INPUT);
}

void loop(){
int var;
var = digitalRead(pulsador);
if ((estado != var) && ((millis() - tiempo) >= 5000)) {
digitalWrite(led, var);
estado = var;
tiempo = millis();
}
}

En su programa, el estado del LED no cambia excepto después de que "delay(5000)" termine. Si no se apriete el pulsado en el instante entre el otro "delay(5000)", no va a efectuar un cambio.