According to Imam Al-Ghazali there are three types of fasting:
One is of the average Muslim (one who submits to the Will of Allah Almighty), he fasts only from food, drink, and marital relations.
The second is the fasting of the Mu’min (believer) – he fasts from everything that is forbidden – bad language, bad thoughts, looking at bad things, listening to bad things, etc.
The third and most supreme type of fasting:
It is that of the Muhsin (one who has perfected his faith in Allah Almighty) – and this is fasting from everything other than Allah. To such a person, a Knower of Allah, nothing in the world exists besides Allah. Wherever he looks, he sees Allah, whenever he thinks, he thinks of Allah!