| var versionRequest; | |
| function isOutOfDate(newVersionNumber) { | |
| return JSUNIT_VERSION < newVersionNumber; | |
| } | |
| function sendRequestForLatestVersion(url) { | |
| versionRequest = createXmlHttpRequest(); | |
| if (versionRequest) { | |
| versionRequest.onreadystatechange = requestStateChanged; | |
| versionRequest.open("GET", url, true); | |
| versionRequest.send(null); | |
| } | |
| } | |
| function createXmlHttpRequest() { | |
| if (window.XMLHttpRequest) | |
| return new XMLHttpRequest(); | |
| else if (window.ActiveXObject) | |
| return new ActiveXObject("Microsoft.XMLHTTP"); | |
| } | |
| function requestStateChanged() { | |
| if (versionRequest && versionRequest.readyState == 4) { | |
| if (versionRequest.status == 200) { | |
| var latestVersion = versionRequest.responseText; | |
| if (isOutOfDate(latestVersion)) | |
| versionNotLatest(latestVersion); | |
| else | |
| versionLatest(); | |
| } else | |
| versionCheckError(); | |
| } | |
| } | |
| function checkForLatestVersion(url) { | |
| setLatestVersionDivHTML("Checking for newer version..."); | |
| try { | |
| sendRequestForLatestVersion(url); | |
| } catch (e) { | |
| setLatestVersionDivHTML("An error occurred while checking for a newer version: " + e.message); | |
| } | |
| } | |
| function versionNotLatest(latestVersion) { | |
| setLatestVersionDivHTML('<font color="red">A newer version of JsUnit, version ' + latestVersion + ', is available.</font>'); | |
| } | |
| function versionLatest() { | |
| setLatestVersionDivHTML("You are running the latest version of JsUnit."); | |
| } | |
| function setLatestVersionDivHTML(string) { | |
| document.getElementById("versionCheckDiv").innerHTML = string; | |
| } | |
| function versionCheckError() { | |
| setLatestVersionDivHTML("An error occurred while checking for a newer version."); | |
| } |