Function-definition is not allowed PROBLEM

Hi
I'm having this error
error: a function-definition is not allowed here before '{' token
This is the code..where am i wrong?

Thanks!

#define MD 10 // Enable Pin for motor 1
#define MS 11 // Enable Pin for motor 2

#define I1 8 // Control pin 1 for motor 1
#define I2 9 // Control pin 2 for motor 1
#define I3 12 // Control pin 1 for motor 2
#define I4 13 // Control pin 2 for motor 2

void setup() {

Serial.begin(9600);

pinMode(MS, OUTPUT);
pinMode(MD, OUTPUT);

pinMode(I1, OUTPUT);
pinMode(I2, OUTPUT);
pinMode(I3, OUTPUT);
pinMode(I4, OUTPUT);
}

void spegni()
{
digitalWrite(I1, LOW);
digitalWrite(I2, LOW);
digitalWrite(I3, LOW);
digitalWrite(I4, LOW);
}

void dritto()
{

//DIREZIONE DRITTA 5S

analogWrite(MS, 255); // Run in full speed
analogWrite(MD, 255); // Run in full speed

digitalWrite(I1, HIGH);
digitalWrite(I2, LOW);
digitalWrite(I3, HIGH);
digitalWrite(I4, LOW);

delay(5000);

}

void giraDX()
{
//GIRA A DX
void destra() {
analogWrite(MS, 255); //
analogWrite(MD, 255); //

digitalWrite(I1, HIGH);
digitalWrite(I2, LOW);
digitalWrite(I3, LOW;
digitalWrite(I4, HIGH);
delay(2000);
}

void giraSX()
{
analogWrite(MS, 255); // Run in full speed
analogWrite(MD, 0); // Don't run

digitalWrite(I1, LOW);
digitalWrite(I2, HIGH);
digitalWrite(I3, HIGH);
digitalWrite(I4, LOW);

delay(2000);

}

//DIREZIONE RETRO 5S
void retro()
{
analogWrite(MS, 255); // Run in full speed
analogWrite(MD, 255); // Run in full speed

digitalWrite(I1, LOW);
digitalWrite(I2, HIGH);
digitalWrite(I3, LOW);
digitalWrite(I4, HIGH);

delay(5000);

}

void loop()
{
if(Serial.available ())

{
scelta=Serial.read()

switch int(scelta)
{
case 1:
dritto();
spegni():
break;

case 2:
retro();
spegni():
break;

case 3:
giraDX();
spegni():
break;

case 4:
giraSX();
spegni():
break;
}

}

}

    void destra() {What are you trying to do here ?
What you are actually doing is to define a function but you cannot do that inside another function such as giraDX()