﻿// JavaScript Document

function callInProgress(xmlhttp){
	switch (xmlhttp.readyState) {
	case 1: case 2: case 3:
		return true;
		break;
	default:
		return false;
		break;
	}
}

Ajax.Responders.register({
	onCreate:
		function(request){
			request['timeoutId'] = window.setTimeout(
				function() {
					if (callInProgress(request.transport)) {
						request.transport.abort();
						if (request.options['onFailure']) {
							request.options['onFailure'](request.transport, request.json);
						}
					}
				}, 8000 // Eight seconds
			);
		},
	onComplete:
		function(request) {
			window.clearTimeout(request['timeoutId']);
		}
});