if( typeof( XMLHttpRequest ) == 'undefined' ) var XMLHttpRequest = function() { var request = null; try { request = new ActiveXObject('Msxml2.XMLHTTP'); } catch(e) { try { request = new ActiveXObject('Microsoft.XMLHTTP'); } catch(ee) {} } return request; } function NeoAjaxRequest( url, callback ) { var request = new XMLHttpRequest(); var async = typeof(callback) == 'function'; if( async ) { request.onreadystatechange = function() { if( request.readyState == 4 ) callback( request.responseText ); } } var fileUrl = location.href; fileUrl = fileUrl.substr( 0, fileUrl.lastIndexOf( '/' ) ); url = fileUrl + '/' + url; request.open( 'POST', url, async ); request.send( 'dummy' ); if( !async ) return request.responseText; } function UploadProgressTrackerWrapper() { this.SetUploadId = function( uploadId, callback ) { return NeoAjaxRequest( 'neoAjax/SetUploadId.axd?UploadId=' + uploadId, callback ); } this.GetUploadStatus = function( uploadId, sizeUnit, callback ) { return NeoAjaxRequest( 'neoAjax/GetUploadStatus.axd?UploadId=' + uploadId + '&SizeUnit=' + sizeUnit, callback ); } }