function filterWebSearchables(objectId, scope, type, callId, wsListId) {    if (futureFilterCalls[wsListId + "_" + type] != callId) {        // filterWebSearchablesHandler() has been called again since this        // timeout was set, so ignore as another timeout will be along        // shortly        return;    }    var object = document.getElementById(objectId);    var value = object.value;    var filterAction = document.getElementById('filterAction' + '_' + wsListId + '_' + type).value;        if ( (value != null) || (tags != null && tags.length > 1)) {        function filterCallBack(cbResult) {            var callId = cbResult[0];            var filteredList = cbResult.slice(1);            if (currentFilterCallbacks[wsListId + "_" + type] != callId) {                // we've started another call since this one started, so                // ignore this one                return;            }            do_filtering(filteredList, type, wsListId);        }        $(wsListId + '_' + type + '_spinner').style.visibility = 'visible';        currentFilterCallbacks[wsListId + "_" + type] = callId;        var tagList = null;                /*  			We need to transform our map into a proper Array         */        tagList = new Array();        if(tags['favourites_' + wsListId] != null && tags['favourites_' + wsListId] != '') {			tagList[tagList.length]=tags['favourites_' + wsListId];		} if(tags['aspects_' + wsListId] != null && tags['aspect_' + wsListId] != '') {			tagList[tagList.length]=tags['aspects_' + wsListId];		}		        /*  filterAction toggles favourites off and on */        AjaxServices.filterWebSearchables(scope, type, tagList, object.value, filterAction,                                           callId++, filterCallBack);    } else {        showAll(wsListId, type);    }    futureFilterCalls[wsListId + "_" + type] = 0;}
5150	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5150/a4b3b9d540585bda85da6333cb003a6bb652f10e/imdwr.js/buggy/intermine/webapp/main/resources/webapp/js/imdwr.js