всё, я всё исправил, и убрал всё ненужное, и более универсализировал функцию $catch, чтобы ею можно было бы проверять изменения разных переменных, и для теста написал часики, серверные))
<html><body>
<script type='text/javascript'>var AJAX={
connect:function(){
this.data='';
this.onget=function(){};
this.open=function(type,value){
AJAX.createCONN(type,value,this);
$catch(this.onget,'data',this)}
},
createCONN:function(head,value,obj){
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4){
obj.data=xmlhttp.getResponseHeader('Date')/*decodeURI(xmlhttp.getResponseHeader('riseup').replace(/.*\:(.*)/,'$1')); это должно быть в нормальном виде, но для примера уберём))*/
}
}
xmlhttp.open("HEAD","index.php",true);
xmlhttp.setRequestHeader('riseup',encodeURI(head)+':'+encodeURI(value));
xmlhttp.send(null);
}
}
function $catch(func,name,obj){
obj=obj || window
p1=obj[name];
setTimeout(function(){
if(p1==obj[name]){
setTimeout(arguments.callee,0)
}else{return func.call(obj)
}},0)}
</script>
<div style='border:1px gray solid;color:gray;width:200px;text-align:center;font-family:Tahoma;font-size:11px;' id='serverClock'></div>
<script type="text/javascript">
var stop=true;
var onlineClock=new AJAX.connect();
onlineClock.onget=function(){document.getElementById('serverClock').innerHTML=this.data}
function go(){setTimeout(function(){if(!stop){onlineClock.open();setTimeout(arguments.callee,1000)}},0)}
</script>
<input type='button' value='on server clock' onclick='if(stop){this.value=this.value.replace("on","off");stop--;go()}else{this.value=this.value.replace("off","on");stop++;}'>
</body></html>
от такой polling на head-ах, но это как дополнение, в основном оно будет пользоваться для одноразовой загрузки пакета каких-то данных
P.S. насчёт Ослика я сам вижу что не кросс-браузерно, но там куда я это поставлю это не играет роли, так как там уже есть некоторые модули которые не работают в ИЕ, и да это, я и сам знаю что это не очень прелестно)))
P.P.S а насчёт утечек объясни по-подробней, а то это очень важно, и где оно может проявиться, а если можешь то ссылку кинь на такую инфу))