Javascript Settimeout Function

Anybody have any clue why this javascript function doesnt hide an object once its called?

<script language="JavaScript">
function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();

function sndReq(action, uid, arg, column, table) {
    http.open('get','includes/backend.php?action='+action+'&uid='+uid+'&arg='+arg+'&column='+column+'&table='+table);
    http.onreadystatechange = handleResponse;
    http.send(null);
}

function handleResponse() {
    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();

        if(response.indexOf('|' != -1)) {
            update = response.split('|');
            document.getElementById(update[0]).innerHTML = update[1];
            x = setTimeout(document.getElementById(update[0]).style.visibility = 'hidden',1000);
        }
    }
}
</script>