se provi a fare come hai detto con l'if, che succede?

Prova, falsh potrebbe anche capire cos'è flag al volo.
E' da provare però.