New file |
0,0 → 1,245 |
/* |
Copyright (c) 2004-2006, The Dojo Foundation |
All Rights Reserved. |
|
Licensed under the Academic Free License version 2.1 or above OR the |
modified BSD license. For more information on Dojo licensing, see: |
|
http://dojotoolkit.org/community/licensing.shtml |
*/ |
|
if (typeof window == "undefined") { |
dojo.raise("attempt to use adobe svg hostenv when no window object"); |
} |
dojo.debug = function () { |
if (!djConfig.isDebug) { |
return; |
} |
var args = arguments; |
var isJUM = dj_global["jum"]; |
var s = isJUM ? "" : "DEBUG: "; |
for (var i = 0; i < args.length; ++i) { |
s += args[i]; |
} |
if (isJUM) { |
jum.debug(s); |
} else { |
dojo.hostenv.println(s); |
} |
}; |
dojo.render.name = navigator.appName; |
dojo.render.ver = parseFloat(navigator.appVersion, 10); |
switch (navigator.platform) { |
case "MacOS": |
dojo.render.os.osx = true; |
break; |
case "Linux": |
dojo.render.os.linux = true; |
break; |
case "Windows": |
dojo.render.os.win = true; |
break; |
default: |
dojo.render.os.linux = true; |
break; |
} |
dojo.render.svg.capable = true; |
dojo.render.svg.support.builtin = true; |
dojo.render.svg.moz = ((navigator.userAgent.indexOf("Gecko") >= 0) && (!((navigator.appVersion.indexOf("Konqueror") >= 0) || (navigator.appVersion.indexOf("Safari") >= 0)))); |
dojo.render.svg.adobe = (window.parseXML != null); |
dojo.hostenv.startPackage("dojo.hostenv"); |
dojo.hostenv.println = function (s) { |
try { |
var ti = document.createElement("text"); |
ti.setAttribute("x", "50"); |
ti.setAttribute("y", (25 + 15 * document.getElementsByTagName("text").length)); |
ti.appendChild(document.createTextNode(s)); |
document.documentElement.appendChild(ti); |
} |
catch (e) { |
} |
}; |
dojo.hostenv.name_ = "svg"; |
dojo.hostenv.setModulePrefix = function (module, prefix) { |
}; |
dojo.hostenv.getModulePrefix = function (module) { |
}; |
dojo.hostenv.getTextStack = []; |
dojo.hostenv.loadUriStack = []; |
dojo.hostenv.loadedUris = []; |
dojo.hostenv.modules_ = {}; |
dojo.hostenv.modulesLoadedFired = false; |
dojo.hostenv.modulesLoadedListeners = []; |
dojo.hostenv.getText = function (uri, cb, data) { |
if (!cb) { |
var cb = function (result) { |
window.alert(result); |
}; |
} |
if (!data) { |
window.getUrl(uri, cb); |
} else { |
window.postUrl(uri, data, cb); |
} |
}; |
dojo.hostenv.getLibaryScriptUri = function () { |
}; |
dojo.hostenv.loadUri = function (uri) { |
}; |
dojo.hostenv.loadUriAndCheck = function (uri, module) { |
}; |
dojo.hostenv.loadModule = function (moduleName) { |
var a = moduleName.split("."); |
var currentObj = window; |
var s = []; |
for (var i = 0; i < a.length; i++) { |
if (a[i] == "*") { |
continue; |
} |
s.push(a[i]); |
if (!currentObj[a[i]]) { |
dojo.raise("dojo.require('" + moduleName + "'): module does not exist."); |
} else { |
currentObj = currentObj[a[i]]; |
} |
} |
return; |
}; |
dojo.hostenv.startPackage = function (moduleName) { |
var a = moduleName.split("."); |
var currentObj = window; |
var s = []; |
for (var i = 0; i < a.length; i++) { |
if (a[i] == "*") { |
continue; |
} |
s.push(a[i]); |
if (!currentObj[a[i]]) { |
currentObj[a[i]] = {}; |
} |
currentObj = currentObj[a[i]]; |
} |
return; |
}; |
if (window.parseXML) { |
window.XMLSerialzer = function () { |
function nodeToString(n, a) { |
function fixText(s) { |
return String(s).replace(/\&/g, "&").replace(/>/g, ">").replace(/</g, "<"); |
} |
function fixAttribute(s) { |
return fixText(s).replace(/\"/g, """); |
} |
switch (n.nodeType) { |
case 1: |
var name = n.nodeName; |
a.push("<" + name); |
for (var i = 0; i < n.attributes.length; i++) { |
if (n.attributes.item(i).specified) { |
a.push(" " + n.attributes.item(i).nodeName.toLowerCase() + "=\"" + fixAttribute(n.attributes.item(i).nodeValue) + "\""); |
} |
} |
if (n.canHaveChildren || n.hasChildNodes()) { |
a.push(">"); |
for (var i = 0; i < n.childNodes.length; i++) { |
nodeToString(n.childNodes.item(i), a); |
} |
a.push("</" + name + ">\n"); |
} else { |
a.push(" />\n"); |
} |
break; |
case 3: |
a.push(fixText(n.nodeValue)); |
break; |
case 4: |
a.push("<![CDA" + "TA[\n" + n.nodeValue + "\n]" + "]>"); |
break; |
case 7: |
a.push(n.nodeValue); |
if (/(^<\?xml)|(^<\!DOCTYPE)/.test(n.nodeValue)) { |
a.push("\n"); |
} |
break; |
case 8: |
a.push("<!-- " + n.nodeValue + " -->\n"); |
break; |
case 9: |
case 11: |
for (var i = 0; i < n.childNodes.length; i++) { |
nodeToString(n.childNodes.item(i), a); |
} |
break; |
default: |
a.push("<!--\nNot Supported:\n\n" + "nodeType: " + n.nodeType + "\nnodeName: " + n.nodeName + "\n-->"); |
} |
} |
this.serializeToString = function (node) { |
var a = []; |
nodeToString(node, a); |
return a.join(""); |
}; |
}; |
window.DOMParser = function () { |
this.parseFromString = function (s) { |
return parseXML(s, window.document); |
}; |
}; |
window.XMLHttpRequest = function () { |
var uri = null; |
var method = "POST"; |
var isAsync = true; |
var cb = function (d) { |
this.responseText = d.content; |
try { |
this.responseXML = parseXML(this.responseText, window.document); |
} |
catch (e) { |
} |
this.status = "200"; |
this.statusText = "OK"; |
if (!d.success) { |
this.status = "500"; |
this.statusText = "Internal Server Error"; |
} |
this.onload(); |
this.onreadystatechange(); |
}; |
this.onload = function () { |
}; |
this.readyState = 4; |
this.onreadystatechange = function () { |
}; |
this.status = 0; |
this.statusText = ""; |
this.responseBody = null; |
this.responseStream = null; |
this.responseXML = null; |
this.responseText = null; |
this.abort = function () { |
return; |
}; |
this.getAllResponseHeaders = function () { |
return []; |
}; |
this.getResponseHeader = function (n) { |
return null; |
}; |
this.setRequestHeader = function (nm, val) { |
}; |
this.open = function (meth, url, async) { |
method = meth; |
uri = url; |
}; |
this.send = function (data) { |
var d = data || null; |
if (method == "GET") { |
getURL(uri, cb); |
} else { |
postURL(uri, data, cb); |
} |
}; |
}; |
} |
dojo.requireIf((djConfig["isDebug"] || djConfig["debugAtAllCosts"]), "dojo.debug"); |
|