/**
* check occurrence of third-party event with growing interval
* <hh user=constructor>
* <hh user=param>{Number} t start period of check
* <hh user=param>{Number} i number of checks
* <hh user=param>{Number} m multiplier of period increment
* <hh user=param>{Function} checkOccur event handler
* <hh user=param>{Function} check event condition
*/
var Tout = function(h){
var th = this;
(function(){
if((h.dat = h.check() )) //wait of positive result, then occcurense
h.occur();
else if(h.i-- >0) //next slower step
th.ww = setTimeout(arguments.callee, (h.t *= h.m) );
})();
};
new Tout({t:320, i:6, m: 1.6 //параметры замедления опросов
,check: function(){
//проверяем, выполнено ли событие
}
,occur: function(){
//дождались и выполнили коллбек
}
});