Rev 1422 | Blame | Compare with Previous | Last modification | View Log | RSS feed
/*Copyright (c) 2004-2006, The Dojo FoundationAll Rights Reserved.Licensed under the Academic Free License version 2.1 or above OR themodified BSD license. For more information on Dojo licensing, see:http://dojotoolkit.org/community/licensing.shtml*/dojo.provide("dojo.html.common");dojo.require("dojo.lang.common");dojo.require("dojo.dom");dojo.lang.mixin(dojo.html, dojo.dom);dojo.html.body = function () {dojo.deprecated("dojo.html.body() moved to dojo.body()", "0.5");return dojo.body();};dojo.html.getEventTarget = function (evt) {if (!evt) {evt = dojo.global().event || {};}var t = (evt.srcElement ? evt.srcElement : (evt.target ? evt.target : null));while ((t) && (t.nodeType != 1)) {t = t.parentNode;}return t;};dojo.html.getViewport = function () {var _window = dojo.global();var _document = dojo.doc();var w = 0;var h = 0;if (dojo.render.html.mozilla) {w = _document.documentElement.clientWidth;h = _window.innerHeight;} else {if (!dojo.render.html.opera && _window.innerWidth) {w = _window.innerWidth;h = _window.innerHeight;} else {if (!dojo.render.html.opera && dojo.exists(_document, "documentElement.clientWidth")) {var w2 = _document.documentElement.clientWidth;if (!w || w2 && w2 < w) {w = w2;}h = _document.documentElement.clientHeight;} else {if (dojo.body().clientWidth) {w = dojo.body().clientWidth;h = dojo.body().clientHeight;}}}}return {width:w, height:h};};dojo.html.getScroll = function () {var _window = dojo.global();var _document = dojo.doc();var top = _window.pageYOffset || _document.documentElement.scrollTop || dojo.body().scrollTop || 0;var left = _window.pageXOffset || _document.documentElement.scrollLeft || dojo.body().scrollLeft || 0;return {top:top, left:left, offset:{x:left, y:top}};};dojo.html.getParentByType = function (node, type) {var _document = dojo.doc();var parent = dojo.byId(node);type = type.toLowerCase();while ((parent) && (parent.nodeName.toLowerCase() != type)) {if (parent == (_document["body"] || _document["documentElement"])) {return null;}parent = parent.parentNode;}return parent;};dojo.html.getAttribute = function (node, attr) {node = dojo.byId(node);if ((!node) || (!node.getAttribute)) {return null;}var ta = typeof attr == "string" ? attr : new String(attr);var v = node.getAttribute(ta.toUpperCase());if ((v) && (typeof v == "string") && (v != "")) {return v;}if (v && v.value) {return v.value;}if ((node.getAttributeNode) && (node.getAttributeNode(ta))) {return (node.getAttributeNode(ta)).value;} else {if (node.getAttribute(ta)) {return node.getAttribute(ta);} else {if (node.getAttribute(ta.toLowerCase())) {return node.getAttribute(ta.toLowerCase());}}}return null;};dojo.html.hasAttribute = function (node, attr) {return dojo.html.getAttribute(dojo.byId(node), attr) ? true : false;};dojo.html.getCursorPosition = function (e) {e = e || dojo.global().event;var cursor = {x:0, y:0};if (e.pageX || e.pageY) {cursor.x = e.pageX;cursor.y = e.pageY;} else {var de = dojo.doc().documentElement;var db = dojo.body();cursor.x = e.clientX + ((de || db)["scrollLeft"]) - ((de || db)["clientLeft"]);cursor.y = e.clientY + ((de || db)["scrollTop"]) - ((de || db)["clientTop"]);}return cursor;};dojo.html.isTag = function (node) {node = dojo.byId(node);if (node && node.tagName) {for (var i = 1; i < arguments.length; i++) {if (node.tagName.toLowerCase() == String(arguments[i]).toLowerCase()) {return String(arguments[i]).toLowerCase();}}}return "";};if (dojo.render.html.ie && !dojo.render.html.ie70) {if (window.location.href.substr(0, 6).toLowerCase() != "https:") {(function () {var xscript = dojo.doc().createElement("script");xscript.src = "javascript:'dojo.html.createExternalElement=function(doc, tag){ return doc.createElement(tag); }'";dojo.doc().getElementsByTagName("head")[0].appendChild(xscript);})();}} else {dojo.html.createExternalElement = function (doc, tag) {return doc.createElement(tag);};}dojo.html._callDeprecated = function (inFunc, replFunc, args, argName, retValue) {dojo.deprecated("dojo.html." + inFunc, "replaced by dojo.html." + replFunc + "(" + (argName ? "node, {" + argName + ": " + argName + "}" : "") + ")" + (retValue ? "." + retValue : ""), "0.5");var newArgs = [];if (argName) {var argsIn = {};argsIn[argName] = args[1];newArgs.push(args[0]);newArgs.push(argsIn);} else {newArgs = args;}var ret = dojo.html[replFunc].apply(dojo.html, args);if (retValue) {return ret[retValue];} else {return ret;}};dojo.html.getViewportWidth = function () {return dojo.html._callDeprecated("getViewportWidth", "getViewport", arguments, null, "width");};dojo.html.getViewportHeight = function () {return dojo.html._callDeprecated("getViewportHeight", "getViewport", arguments, null, "height");};dojo.html.getViewportSize = function () {return dojo.html._callDeprecated("getViewportSize", "getViewport", arguments);};dojo.html.getScrollTop = function () {return dojo.html._callDeprecated("getScrollTop", "getScroll", arguments, null, "top");};dojo.html.getScrollLeft = function () {return dojo.html._callDeprecated("getScrollLeft", "getScroll", arguments, null, "left");};dojo.html.getScrollOffset = function () {return dojo.html._callDeprecated("getScrollOffset", "getScroll", arguments, null, "offset");};