non posso credere che se cambi
var bool=(val=="")?true:false;
in
var bool=(val!="")?true:false;

non va al contrario!

chiaramente nulla ti vieta di invertire i valori

var bool=(val=="")?true:false;
diventa
var bool=(val=="")?false:true;