HTML-Dojo

 view release on metacpan or  search on metacpan

lib/HTML/Dojo/src.pm  view on Meta::CPAN

	}
	return {name_:"(unset)", version_:"(unset)", getName:function () {
		return this.name_;
	}, getVersion:function () {
		return this.version_;
	}, getText:function (uri) {
		dojo.unimplemented("getText", "uri=" + uri);
	}};
})();
dojo.hostenv.getBaseScriptUri = function () {
	if (djConfig.baseScriptUri.length) {
		return djConfig.baseScriptUri;
	}
	var uri = new String(djConfig.libraryScriptUri || djConfig.baseRelativePath);
	if (!uri) {
		dojo.raise("Nothing returned by getLibraryScriptUri(): " + uri);
	}
	var lastslash = uri.lastIndexOf("/");
	djConfig.baseScriptUri = djConfig.baseRelativePath;
	return djConfig.baseScriptUri;
};


__CPAN_FILE__ src/dom.xd.js
/*
	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
*/



dojo.hostenv.packageLoaded({depends:[["provide", "dojo.dom"]], definePackage:function (dojo) {
	dojo.provide("dojo.dom");
	dojo.dom.ELEMENT_NODE = 1;
	dojo.dom.ATTRIBUTE_NODE = 2;
	dojo.dom.TEXT_NODE = 3;
	dojo.dom.CDATA_SECTION_NODE = 4;
	dojo.dom.ENTITY_REFERENCE_NODE = 5;
	dojo.dom.ENTITY_NODE = 6;
	dojo.dom.PROCESSING_INSTRUCTION_NODE = 7;
	dojo.dom.COMMENT_NODE = 8;
	dojo.dom.DOCUMENT_NODE = 9;
	dojo.dom.DOCUMENT_TYPE_NODE = 10;
	dojo.dom.DOCUMENT_FRAGMENT_NODE = 11;
	dojo.dom.NOTATION_NODE = 12;
	dojo.dom.dojoml = "http://www.dojotoolkit.org/2004/dojoml";
	dojo.dom.xmlns = {svg:"http://www.w3.org/2000/svg", smil:"http://www.w3.org/2001/SMIL20/", mml:"http://www.w3.org/1998/Math/MathML", cml:"http://www.xml-cml.org", xlink:"http://www.w3.org/1999/xlink", xhtml:"http://www.w3.org/1999/xhtml", xul:"http:...
	dojo.dom.isNode = function (wh) {
		if (typeof Element == "function") {
			try {
				return wh instanceof Element;
			}
			catch (e) {
			}
		} else {
			return wh && !isNaN(wh.nodeType);
		}
	};
	dojo.dom.getUniqueId = function () {
		var _document = dojo.doc();
		do {
			var id = "dj_unique_" + (++arguments.callee._idIncrement);
		} while (_document.getElementById(id));
		return id;
	};
	dojo.dom.getUniqueId._idIncrement = 0;
	dojo.dom.firstElement = dojo.dom.getFirstChildElement = function (parentNode, tagName) {
		var node = parentNode.firstChild;
		while (node && node.nodeType != dojo.dom.ELEMENT_NODE) {
			node = node.nextSibling;
		}
		if (tagName && node && node.tagName && node.tagName.toLowerCase() != tagName.toLowerCase()) {
			node = dojo.dom.nextElement(node, tagName);
		}
		return node;
	};
	dojo.dom.lastElement = dojo.dom.getLastChildElement = function (parentNode, tagName) {
		var node = parentNode.lastChild;
		while (node && node.nodeType != dojo.dom.ELEMENT_NODE) {
			node = node.previousSibling;
		}
		if (tagName && node && node.tagName && node.tagName.toLowerCase() != tagName.toLowerCase()) {
			node = dojo.dom.prevElement(node, tagName);
		}
		return node;
	};
	dojo.dom.nextElement = dojo.dom.getNextSiblingElement = function (node, tagName) {
		if (!node) {
			return null;
		}
		do {
			node = node.nextSibling;
		} while (node && node.nodeType != dojo.dom.ELEMENT_NODE);
		if (node && tagName && tagName.toLowerCase() != node.tagName.toLowerCase()) {
			return dojo.dom.nextElement(node, tagName);
		}
		return node;
	};
	dojo.dom.prevElement = dojo.dom.getPreviousSiblingElement = function (node, tagName) {
		if (!node) {
			return null;
		}
		if (tagName) {
			tagName = tagName.toLowerCase();
		}
		do {
			node = node.previousSibling;
		} while (node && node.nodeType != dojo.dom.ELEMENT_NODE);
		if (node && tagName && tagName.toLowerCase() != node.tagName.toLowerCase()) {
			return dojo.dom.prevElement(node, tagName);
		}
		return node;
	};
	dojo.dom.moveChildren = function (srcNode, destNode, trim) {
		var count = 0;
		if (trim) {

lib/HTML/Dojo/src.pm  view on Meta::CPAN

	this.xdHasCalledPreload = true;
};


__CPAN_FILE__ src/lang.xd.js
/*
	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
*/



dojo.hostenv.packageLoaded({depends:[["provide", "dojo.lang"], ["require", "dojo.lang.common"]], definePackage:function (dojo) {
	dojo.provide("dojo.lang");
	dojo.require("dojo.lang.common");
	dojo.deprecated("dojo.lang", "replaced by dojo.lang.common", "0.5");
}});


__CPAN_FILE__ src/dom.js
/*
	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
*/



dojo.provide("dojo.dom");
dojo.dom.ELEMENT_NODE = 1;
dojo.dom.ATTRIBUTE_NODE = 2;
dojo.dom.TEXT_NODE = 3;
dojo.dom.CDATA_SECTION_NODE = 4;
dojo.dom.ENTITY_REFERENCE_NODE = 5;
dojo.dom.ENTITY_NODE = 6;
dojo.dom.PROCESSING_INSTRUCTION_NODE = 7;
dojo.dom.COMMENT_NODE = 8;
dojo.dom.DOCUMENT_NODE = 9;
dojo.dom.DOCUMENT_TYPE_NODE = 10;
dojo.dom.DOCUMENT_FRAGMENT_NODE = 11;
dojo.dom.NOTATION_NODE = 12;
dojo.dom.dojoml = "http://www.dojotoolkit.org/2004/dojoml";
dojo.dom.xmlns = {svg:"http://www.w3.org/2000/svg", smil:"http://www.w3.org/2001/SMIL20/", mml:"http://www.w3.org/1998/Math/MathML", cml:"http://www.xml-cml.org", xlink:"http://www.w3.org/1999/xlink", xhtml:"http://www.w3.org/1999/xhtml", xul:"http:/...
dojo.dom.isNode = function (wh) {
	if (typeof Element == "function") {
		try {
			return wh instanceof Element;
		}
		catch (e) {
		}
	} else {
		return wh && !isNaN(wh.nodeType);
	}
};
dojo.dom.getUniqueId = function () {
	var _document = dojo.doc();
	do {
		var id = "dj_unique_" + (++arguments.callee._idIncrement);
	} while (_document.getElementById(id));
	return id;
};
dojo.dom.getUniqueId._idIncrement = 0;
dojo.dom.firstElement = dojo.dom.getFirstChildElement = function (parentNode, tagName) {
	var node = parentNode.firstChild;
	while (node && node.nodeType != dojo.dom.ELEMENT_NODE) {
		node = node.nextSibling;
	}
	if (tagName && node && node.tagName && node.tagName.toLowerCase() != tagName.toLowerCase()) {
		node = dojo.dom.nextElement(node, tagName);
	}
	return node;
};
dojo.dom.lastElement = dojo.dom.getLastChildElement = function (parentNode, tagName) {
	var node = parentNode.lastChild;
	while (node && node.nodeType != dojo.dom.ELEMENT_NODE) {
		node = node.previousSibling;
	}
	if (tagName && node && node.tagName && node.tagName.toLowerCase() != tagName.toLowerCase()) {
		node = dojo.dom.prevElement(node, tagName);
	}
	return node;
};
dojo.dom.nextElement = dojo.dom.getNextSiblingElement = function (node, tagName) {
	if (!node) {
		return null;
	}
	do {
		node = node.nextSibling;
	} while (node && node.nodeType != dojo.dom.ELEMENT_NODE);
	if (node && tagName && tagName.toLowerCase() != node.tagName.toLowerCase()) {
		return dojo.dom.nextElement(node, tagName);
	}
	return node;
};
dojo.dom.prevElement = dojo.dom.getPreviousSiblingElement = function (node, tagName) {
	if (!node) {
		return null;
	}
	if (tagName) {
		tagName = tagName.toLowerCase();
	}
	do {
		node = node.previousSibling;
	} while (node && node.nodeType != dojo.dom.ELEMENT_NODE);
	if (node && tagName && tagName.toLowerCase() != node.tagName.toLowerCase()) {
		return dojo.dom.prevElement(node, tagName);
	}
	return node;
};
dojo.dom.moveChildren = function (srcNode, destNode, trim) {
	var count = 0;
	if (trim) {

lib/HTML/Dojo/src.pm  view on Meta::CPAN

		var flags = {format:["###-###-####", "(###) ###-####", "(###) ### ####", "###.###.####", "###/###-####", "### ### ####", "###-###-#### x#???", "(###) ###-#### x#???", "(###) ### #### x#???", "###.###.#### x#???", "###/###-#### x#???", "### ### ####...
		return dojo.validate.isNumberFormat(value, flags);
	};
	dojo.validate.us.isSocialSecurityNumber = function (value) {
		var flags = {format:["###-##-####", "### ## ####", "#########"]};
		return dojo.validate.isNumberFormat(value, flags);
	};
	dojo.validate.us.isZipCode = function (value) {
		var flags = {format:["#####-####", "##### ####", "#########", "#####"]};
		return dojo.validate.isNumberFormat(value, flags);
	};
}});


__CPAN_FILE__ src/validate/common.js
/*
	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
*/



dojo.provide("dojo.validate.common");
dojo.require("dojo.regexp");
dojo.validate.isText = function (value, flags) {
	flags = (typeof flags == "object") ? flags : {};
	if (/^\s*$/.test(value)) {
		return false;
	}
	if (typeof flags.length == "number" && flags.length != value.length) {
		return false;
	}
	if (typeof flags.minlength == "number" && flags.minlength > value.length) {
		return false;
	}
	if (typeof flags.maxlength == "number" && flags.maxlength < value.length) {
		return false;
	}
	return true;
};
dojo.validate.isInteger = function (value, flags) {
	var re = new RegExp("^" + dojo.regexp.integer(flags) + "$");
	return re.test(value);
};
dojo.validate.isRealNumber = function (value, flags) {
	var re = new RegExp("^" + dojo.regexp.realNumber(flags) + "$");
	return re.test(value);
};
dojo.validate.isCurrency = function (value, flags) {
	var re = new RegExp("^" + dojo.regexp.currency(flags) + "$");
	return re.test(value);
};
dojo.validate._isInRangeCache = {};
dojo.validate.isInRange = function (value, flags) {
	value = value.replace(dojo.lang.has(flags, "separator") ? flags.separator : ",", "", "g").replace(dojo.lang.has(flags, "symbol") ? flags.symbol : "$", "");
	if (isNaN(value)) {
		return false;
	}
	flags = (typeof flags == "object") ? flags : {};
	var max = (typeof flags.max == "number") ? flags.max : Infinity;
	var min = (typeof flags.min == "number") ? flags.min : -Infinity;
	var dec = (typeof flags.decimal == "string") ? flags.decimal : ".";
	var cache = dojo.validate._isInRangeCache;
	var cacheIdx = value + "max" + max + "min" + min + "dec" + dec;
	if (typeof cache[cacheIdx] != "undefined") {
		return cache[cacheIdx];
	}
	var pattern = "[^" + dec + "\\deE+-]";
	value = value.replace(RegExp(pattern, "g"), "");
	value = value.replace(/^([+-]?)(\D*)/, "$1");
	value = value.replace(/(\D*)$/, "");
	pattern = "(\\d)[" + dec + "](\\d)";
	value = value.replace(RegExp(pattern, "g"), "$1.$2");
	value = Number(value);
	if (value < min || value > max) {
		cache[cacheIdx] = false;
		return false;
	}
	cache[cacheIdx] = true;
	return true;
};
dojo.validate.isNumberFormat = function (value, flags) {
	var re = new RegExp("^" + dojo.regexp.numberFormat(flags) + "$", "i");
	return re.test(value);
};
dojo.validate.isValidLuhn = function (value) {
	var sum, parity, curDigit;
	if (typeof value != "string") {
		value = String(value);
	}
	value = value.replace(/[- ]/g, "");
	parity = value.length % 2;
	sum = 0;
	for (var i = 0; i < value.length; i++) {
		curDigit = parseInt(value.charAt(i));
		if (i % 2 == parity) {
			curDigit *= 2;
		}
		if (curDigit > 9) {
			curDigit -= 9;
		}
		sum += curDigit;
	}
	return !(sum % 10);
};


__CPAN_FILE__ src/validate/us.js
/*
	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

lib/HTML/Dojo/src.pm  view on Meta::CPAN


		http://dojotoolkit.org/community/licensing.shtml
*/



dojo.hostenv.packageLoaded({depends:[["require", "dojo.validate"], ["kwCompoundRequire", {common:["dojo.validate.check", "dojo.validate.datetime", "dojo.validate.de", "dojo.validate.jp", "dojo.validate.us", "dojo.validate.web"]}], ["provide", "dojo.v...
	dojo.require("dojo.validate");
	dojo.kwCompoundRequire({common:["dojo.validate.check", "dojo.validate.datetime", "dojo.validate.de", "dojo.validate.jp", "dojo.validate.us", "dojo.validate.web"]});
	dojo.provide("dojo.validate.*");
}});


__CPAN_FILE__ src/validate/common.xd.js
/*
	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
*/



dojo.hostenv.packageLoaded({depends:[["provide", "dojo.validate.common"], ["require", "dojo.regexp"]], definePackage:function (dojo) {
	dojo.provide("dojo.validate.common");
	dojo.require("dojo.regexp");
	dojo.validate.isText = function (value, flags) {
		flags = (typeof flags == "object") ? flags : {};
		if (/^\s*$/.test(value)) {
			return false;
		}
		if (typeof flags.length == "number" && flags.length != value.length) {
			return false;
		}
		if (typeof flags.minlength == "number" && flags.minlength > value.length) {
			return false;
		}
		if (typeof flags.maxlength == "number" && flags.maxlength < value.length) {
			return false;
		}
		return true;
	};
	dojo.validate.isInteger = function (value, flags) {
		var re = new RegExp("^" + dojo.regexp.integer(flags) + "$");
		return re.test(value);
	};
	dojo.validate.isRealNumber = function (value, flags) {
		var re = new RegExp("^" + dojo.regexp.realNumber(flags) + "$");
		return re.test(value);
	};
	dojo.validate.isCurrency = function (value, flags) {
		var re = new RegExp("^" + dojo.regexp.currency(flags) + "$");
		return re.test(value);
	};
	dojo.validate._isInRangeCache = {};
	dojo.validate.isInRange = function (value, flags) {
		value = value.replace(dojo.lang.has(flags, "separator") ? flags.separator : ",", "", "g").replace(dojo.lang.has(flags, "symbol") ? flags.symbol : "$", "");
		if (isNaN(value)) {
			return false;
		}
		flags = (typeof flags == "object") ? flags : {};
		var max = (typeof flags.max == "number") ? flags.max : Infinity;
		var min = (typeof flags.min == "number") ? flags.min : -Infinity;
		var dec = (typeof flags.decimal == "string") ? flags.decimal : ".";
		var cache = dojo.validate._isInRangeCache;
		var cacheIdx = value + "max" + max + "min" + min + "dec" + dec;
		if (typeof cache[cacheIdx] != "undefined") {
			return cache[cacheIdx];
		}
		var pattern = "[^" + dec + "\\deE+-]";
		value = value.replace(RegExp(pattern, "g"), "");
		value = value.replace(/^([+-]?)(\D*)/, "$1");
		value = value.replace(/(\D*)$/, "");
		pattern = "(\\d)[" + dec + "](\\d)";
		value = value.replace(RegExp(pattern, "g"), "$1.$2");
		value = Number(value);
		if (value < min || value > max) {
			cache[cacheIdx] = false;
			return false;
		}
		cache[cacheIdx] = true;
		return true;
	};
	dojo.validate.isNumberFormat = function (value, flags) {
		var re = new RegExp("^" + dojo.regexp.numberFormat(flags) + "$", "i");
		return re.test(value);
	};
	dojo.validate.isValidLuhn = function (value) {
		var sum, parity, curDigit;
		if (typeof value != "string") {
			value = String(value);
		}
		value = value.replace(/[- ]/g, "");
		parity = value.length % 2;
		sum = 0;
		for (var i = 0; i < value.length; i++) {
			curDigit = parseInt(value.charAt(i));
			if (i % 2 == parity) {
				curDigit *= 2;
			}
			if (curDigit > 9) {
				curDigit -= 9;
			}
			sum += curDigit;
		}
		return !(sum % 10);
	};
}});


__CPAN_FILE__ src/validate/web.xd.js
/*
	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:

lib/HTML/Dojo/src.pm  view on Meta::CPAN

	if (trim) {
		txt = txt.replace(/^\s+|\s+$/g, "");
	}
	var tn = dojo.doc().createElement("div");
	tn.style.visibility = "hidden";
	dojo.body().appendChild(tn);
	var tableType = "none";
	if ((/^<t[dh][\s\r\n>]/i).test(txt.replace(/^\s+/))) {
		txt = "<table><tbody><tr>" + txt + "</tr></tbody></table>";
		tableType = "cell";
	} else {
		if ((/^<tr[\s\r\n>]/i).test(txt.replace(/^\s+/))) {
			txt = "<table><tbody>" + txt + "</tbody></table>";
			tableType = "row";
		} else {
			if ((/^<(thead|tbody|tfoot)[\s\r\n>]/i).test(txt.replace(/^\s+/))) {
				txt = "<table>" + txt + "</table>";
				tableType = "section";
			}
		}
	}
	tn.innerHTML = txt;
	if (tn["normalize"]) {
		tn.normalize();
	}
	var parent = null;
	switch (tableType) {
	  case "cell":
		parent = tn.getElementsByTagName("tr")[0];
		break;
	  case "row":
		parent = tn.getElementsByTagName("tbody")[0];
		break;
	  case "section":
		parent = tn.getElementsByTagName("table")[0];
		break;
	  default:
		parent = tn;
		break;
	}
	var nodes = [];
	for (var x = 0; x < parent.childNodes.length; x++) {
		nodes.push(parent.childNodes[x].cloneNode(true));
	}
	tn.style.display = "none";
	dojo.html.destroyNode(tn);
	return nodes;
};
dojo.html.placeOnScreen = function (node, desiredX, desiredY, padding, hasScroll, corners, tryOnly) {
	if (desiredX instanceof Array || typeof desiredX == "array") {
		tryOnly = corners;
		corners = hasScroll;
		hasScroll = padding;
		padding = desiredY;
		desiredY = desiredX[1];
		desiredX = desiredX[0];
	}
	if (corners instanceof String || typeof corners == "string") {
		corners = corners.split(",");
	}
	if (!isNaN(padding)) {
		padding = [Number(padding), Number(padding)];
	} else {
		if (!(padding instanceof Array || typeof padding == "array")) {
			padding = [0, 0];
		}
	}
	var scroll = dojo.html.getScroll().offset;
	var view = dojo.html.getViewport();
	node = dojo.byId(node);
	var oldDisplay = node.style.display;
	node.style.display = "";
	var bb = dojo.html.getBorderBox(node);
	var w = bb.width;
	var h = bb.height;
	node.style.display = oldDisplay;
	if (!(corners instanceof Array || typeof corners == "array")) {
		corners = ["TL"];
	}
	var bestx, besty, bestDistance = Infinity, bestCorner;
	for (var cidex = 0; cidex < corners.length; ++cidex) {
		var corner = corners[cidex];
		var match = true;
		var tryX = desiredX - (corner.charAt(1) == "L" ? 0 : w) + padding[0] * (corner.charAt(1) == "L" ? 1 : -1);
		var tryY = desiredY - (corner.charAt(0) == "T" ? 0 : h) + padding[1] * (corner.charAt(0) == "T" ? 1 : -1);
		if (hasScroll) {
			tryX -= scroll.x;
			tryY -= scroll.y;
		}
		if (tryX < 0) {
			tryX = 0;
			match = false;
		}
		if (tryY < 0) {
			tryY = 0;
			match = false;
		}
		var x = tryX + w;
		if (x > view.width) {
			x = view.width - w;
			match = false;
		} else {
			x = tryX;
		}
		x = Math.max(padding[0], x) + scroll.x;
		var y = tryY + h;
		if (y > view.height) {
			y = view.height - h;
			match = false;
		} else {
			y = tryY;
		}
		y = Math.max(padding[1], y) + scroll.y;
		if (match) {
			bestx = x;
			besty = y;
			bestDistance = 0;
			bestCorner = corner;
			break;
		} else {
			var dist = Math.pow(x - tryX - scroll.x, 2) + Math.pow(y - tryY - scroll.y, 2);

lib/HTML/Dojo/src.pm  view on Meta::CPAN

		node = dojo.byId(node, node.ownerDocument);
		var ret = {x:0, y:0};
		var bs = dojo.html.boxSizing;
		if (!boxType) {
			boxType = bs.CONTENT_BOX;
		}
		var nativeBoxType = 2;
		var targetBoxType;
		switch (boxType) {
		  case bs.MARGIN_BOX:
			targetBoxType = 3;
			break;
		  case bs.BORDER_BOX:
			targetBoxType = 2;
			break;
		  case bs.PADDING_BOX:
		  default:
			targetBoxType = 1;
			break;
		  case bs.CONTENT_BOX:
			targetBoxType = 0;
			break;
		}
		var h = dojo.render.html;
		var db = document["body"] || document["documentElement"];
		if (h.ie) {
			with (node.getBoundingClientRect()) {
				ret.x = left - 2;
				ret.y = top - 2;
			}
		} else {
			if (document.getBoxObjectFor) {
				nativeBoxType = 1;
				try {
					var bo = document.getBoxObjectFor(node);
					ret.x = bo.x - dojo.html.sumAncestorProperties(node, "scrollLeft");
					ret.y = bo.y - dojo.html.sumAncestorProperties(node, "scrollTop");
				}
				catch (e) {
				}
			} else {
				if (node["offsetParent"]) {
					var endNode;
					if ((h.safari) && (node.style.getPropertyValue("position") == "absolute") && (node.parentNode == db)) {
						endNode = db;
					} else {
						endNode = db.parentNode;
					}
					if (node.parentNode != db) {
						var nd = node;
						if (dojo.render.html.opera) {
							nd = db;
						}
						ret.x -= dojo.html.sumAncestorProperties(nd, "scrollLeft");
						ret.y -= dojo.html.sumAncestorProperties(nd, "scrollTop");
					}
					var curnode = node;
					do {
						var n = curnode["offsetLeft"];
						if (!h.opera || n > 0) {
							ret.x += isNaN(n) ? 0 : n;
						}
						var m = curnode["offsetTop"];
						ret.y += isNaN(m) ? 0 : m;
						curnode = curnode.offsetParent;
					} while ((curnode != endNode) && (curnode != null));
				} else {
					if (node["x"] && node["y"]) {
						ret.x += isNaN(node.x) ? 0 : node.x;
						ret.y += isNaN(node.y) ? 0 : node.y;
					}
				}
			}
		}
		if (includeScroll) {
			var scroll = dojo.html.getScroll();
			ret.y += scroll.top;
			ret.x += scroll.left;
		}
		var extentFuncArray = [dojo.html.getPaddingExtent, dojo.html.getBorderExtent, dojo.html.getMarginExtent];
		if (nativeBoxType > targetBoxType) {
			for (var i = targetBoxType; i < nativeBoxType; ++i) {
				ret.y += extentFuncArray[i](node, "top");
				ret.x += extentFuncArray[i](node, "left");
			}
		} else {
			if (nativeBoxType < targetBoxType) {
				for (var i = targetBoxType; i > nativeBoxType; --i) {
					ret.y -= extentFuncArray[i - 1](node, "top");
					ret.x -= extentFuncArray[i - 1](node, "left");
				}
			}
		}
		ret.top = ret.y;
		ret.left = ret.x;
		return ret;
	};
	dojo.html.isPositionAbsolute = function (node) {
		return (dojo.html.getComputedStyle(node, "position") == "absolute");
	};
	dojo.html._sumPixelValues = function (node, selectors, autoIsZero) {
		var total = 0;
		for (var x = 0; x < selectors.length; x++) {
			total += dojo.html.getPixelValue(node, selectors[x], autoIsZero);
		}
		return total;
	};
	dojo.html.getMargin = function (node) {
		return {width:dojo.html._sumPixelValues(node, ["margin-left", "margin-right"], (dojo.html.getComputedStyle(node, "position") == "absolute")), height:dojo.html._sumPixelValues(node, ["margin-top", "margin-bottom"], (dojo.html.getComputedStyle(node, ...
	};
	dojo.html.getBorder = function (node) {
		return {width:dojo.html.getBorderExtent(node, "left") + dojo.html.getBorderExtent(node, "right"), height:dojo.html.getBorderExtent(node, "top") + dojo.html.getBorderExtent(node, "bottom")};
	};
	dojo.html.getBorderExtent = function (node, side) {
		return (dojo.html.getStyle(node, "border-" + side + "-style") == "none" ? 0 : dojo.html.getPixelValue(node, "border-" + side + "-width"));
	};
	dojo.html.getMarginExtent = function (node, side) {
		return dojo.html._sumPixelValues(node, ["margin-" + side], dojo.html.isPositionAbsolute(node));
	};
	dojo.html.getPaddingExtent = function (node, side) {
		return dojo.html._sumPixelValues(node, ["padding-" + side], true);
	};
	dojo.html.getPadding = function (node) {
		return {width:dojo.html._sumPixelValues(node, ["padding-left", "padding-right"], true), height:dojo.html._sumPixelValues(node, ["padding-top", "padding-bottom"], true)};
	};
	dojo.html.getPadBorder = function (node) {
		var pad = dojo.html.getPadding(node);
		var border = dojo.html.getBorder(node);
		return {width:pad.width + border.width, height:pad.height + border.height};
	};

lib/HTML/Dojo/src.pm  view on Meta::CPAN

		return node.currentStyle[dojo.html.toCamelCase(property)];
	};
	dojo.html.getComputedStyles = function (node) {
		return node.currentStyle;
	};
} else {
	dojo.html.getComputedStyle = function (node, property, value) {
		node = dojo.byId(node);
		if (!node || !node.style) {
			return value;
		}
		var s = document.defaultView.getComputedStyle(node, null);
		return (s && s[dojo.html.toCamelCase(property)]) || "";
	};
	dojo.html.getComputedStyles = function (node) {
		return document.defaultView.getComputedStyle(node, null);
	};
}
dojo.html.getStyleProperty = function (node, cssSelector) {
	node = dojo.byId(node);
	return (node && node.style ? node.style[dojo.html.toCamelCase(cssSelector)] : undefined);
};
dojo.html.getStyle = function (node, cssSelector) {
	var value = dojo.html.getStyleProperty(node, cssSelector);
	return (value ? value : dojo.html.getComputedStyle(node, cssSelector));
};
dojo.html.setStyle = function (node, cssSelector, value) {
	node = dojo.byId(node);
	if (node && node.style) {
		var camelCased = dojo.html.toCamelCase(cssSelector);
		node.style[camelCased] = value;
	}
};
dojo.html.setStyleText = function (target, text) {
	try {
		target.style.cssText = text;
	}
	catch (e) {
		target.setAttribute("style", text);
	}
};
dojo.html.copyStyle = function (target, source) {
	if (!source.style.cssText) {
		target.setAttribute("style", source.getAttribute("style"));
	} else {
		target.style.cssText = source.style.cssText;
	}
	dojo.html.addClass(target, dojo.html.getClass(source));
};
dojo.html.getUnitValue = function (node, cssSelector, autoIsZero) {
	var s = dojo.html.getComputedStyle(node, cssSelector);
	if ((!s) || ((s == "auto") && (autoIsZero))) {
		return {value:0, units:"px"};
	}
	var match = s.match(/(\-?[\d.]+)([a-z%]*)/i);
	if (!match) {
		return dojo.html.getUnitValue.bad;
	}
	return {value:Number(match[1]), units:match[2].toLowerCase()};
};
dojo.html.getUnitValue.bad = {value:NaN, units:""};
if (dojo.render.html.ie) {
	dojo.html.toPixelValue = function (element, styleValue) {
		if (!styleValue) {
			return 0;
		}
		if (styleValue.slice(-2) == "px") {
			return parseFloat(styleValue);
		}
		var pixelValue = 0;
		with (element) {
			var sLeft = style.left;
			var rsLeft = runtimeStyle.left;
			runtimeStyle.left = currentStyle.left;
			try {
				style.left = styleValue || 0;
				pixelValue = style.pixelLeft;
				style.left = sLeft;
				runtimeStyle.left = rsLeft;
			}
			catch (e) {
			}
		}
		return pixelValue;
	};
} else {
	dojo.html.toPixelValue = function (element, styleValue) {
		return (styleValue && (styleValue.slice(-2) == "px") ? parseFloat(styleValue) : 0);
	};
}
dojo.html.getPixelValue = function (node, styleProperty, autoIsZero) {
	return dojo.html.toPixelValue(node, dojo.html.getComputedStyle(node, styleProperty));
};
dojo.html.setPositivePixelValue = function (node, selector, value) {
	if (isNaN(value)) {
		return false;
	}
	node.style[selector] = Math.max(0, value) + "px";
	return true;
};
dojo.html.styleSheet = null;
dojo.html.insertCssRule = function (selector, declaration, index) {
	if (!dojo.html.styleSheet) {
		if (document.createStyleSheet) {
			dojo.html.styleSheet = document.createStyleSheet();
		} else {
			if (document.styleSheets[0]) {
				dojo.html.styleSheet = document.styleSheets[0];
			} else {
				return null;
			}
		}
	}
	if (arguments.length < 3) {
		if (dojo.html.styleSheet.cssRules) {
			index = dojo.html.styleSheet.cssRules.length;
		} else {
			if (dojo.html.styleSheet.rules) {
				index = dojo.html.styleSheet.rules.length;
			} else {
				return null;
			}
		}
	}
	if (dojo.html.styleSheet.insertRule) {
		var rule = selector + " { " + declaration + " }";
		return dojo.html.styleSheet.insertRule(rule, index);
	} else {
		if (dojo.html.styleSheet.addRule) {
			return dojo.html.styleSheet.addRule(selector, declaration, index);
		} else {
			return null;
		}
	}
};
dojo.html.removeCssRule = function (index) {
	if (!dojo.html.styleSheet) {
		dojo.debug("no stylesheet defined for removing rules");
		return false;
	}
	if (dojo.render.html.ie) {
		if (!index) {
			index = dojo.html.styleSheet.rules.length;
			dojo.html.styleSheet.removeRule(index);
		}
	} else {
		if (document.styleSheets[0]) {
			if (!index) {
				index = dojo.html.styleSheet.cssRules.length;
			}
			dojo.html.styleSheet.deleteRule(index);
		}
	}
	return true;
};

lib/HTML/Dojo/src.pm  view on Meta::CPAN

			return node.currentStyle[dojo.html.toCamelCase(property)];
		};
		dojo.html.getComputedStyles = function (node) {
			return node.currentStyle;
		};
	} else {
		dojo.html.getComputedStyle = function (node, property, value) {
			node = dojo.byId(node);
			if (!node || !node.style) {
				return value;
			}
			var s = document.defaultView.getComputedStyle(node, null);
			return (s && s[dojo.html.toCamelCase(property)]) || "";
		};
		dojo.html.getComputedStyles = function (node) {
			return document.defaultView.getComputedStyle(node, null);
		};
	}
	dojo.html.getStyleProperty = function (node, cssSelector) {
		node = dojo.byId(node);
		return (node && node.style ? node.style[dojo.html.toCamelCase(cssSelector)] : undefined);
	};
	dojo.html.getStyle = function (node, cssSelector) {
		var value = dojo.html.getStyleProperty(node, cssSelector);
		return (value ? value : dojo.html.getComputedStyle(node, cssSelector));
	};
	dojo.html.setStyle = function (node, cssSelector, value) {
		node = dojo.byId(node);
		if (node && node.style) {
			var camelCased = dojo.html.toCamelCase(cssSelector);
			node.style[camelCased] = value;
		}
	};
	dojo.html.setStyleText = function (target, text) {
		try {
			target.style.cssText = text;
		}
		catch (e) {
			target.setAttribute("style", text);
		}
	};
	dojo.html.copyStyle = function (target, source) {
		if (!source.style.cssText) {
			target.setAttribute("style", source.getAttribute("style"));
		} else {
			target.style.cssText = source.style.cssText;
		}
		dojo.html.addClass(target, dojo.html.getClass(source));
	};
	dojo.html.getUnitValue = function (node, cssSelector, autoIsZero) {
		var s = dojo.html.getComputedStyle(node, cssSelector);
		if ((!s) || ((s == "auto") && (autoIsZero))) {
			return {value:0, units:"px"};
		}
		var match = s.match(/(\-?[\d.]+)([a-z%]*)/i);
		if (!match) {
			return dojo.html.getUnitValue.bad;
		}
		return {value:Number(match[1]), units:match[2].toLowerCase()};
	};
	dojo.html.getUnitValue.bad = {value:NaN, units:""};
	if (dojo.render.html.ie) {
		dojo.html.toPixelValue = function (element, styleValue) {
			if (!styleValue) {
				return 0;
			}
			if (styleValue.slice(-2) == "px") {
				return parseFloat(styleValue);
			}
			var pixelValue = 0;
			with (element) {
				var sLeft = style.left;
				var rsLeft = runtimeStyle.left;
				runtimeStyle.left = currentStyle.left;
				try {
					style.left = styleValue || 0;
					pixelValue = style.pixelLeft;
					style.left = sLeft;
					runtimeStyle.left = rsLeft;
				}
				catch (e) {
				}
			}
			return pixelValue;
		};
	} else {
		dojo.html.toPixelValue = function (element, styleValue) {
			return (styleValue && (styleValue.slice(-2) == "px") ? parseFloat(styleValue) : 0);
		};
	}
	dojo.html.getPixelValue = function (node, styleProperty, autoIsZero) {
		return dojo.html.toPixelValue(node, dojo.html.getComputedStyle(node, styleProperty));
	};
	dojo.html.setPositivePixelValue = function (node, selector, value) {
		if (isNaN(value)) {
			return false;
		}
		node.style[selector] = Math.max(0, value) + "px";
		return true;
	};
	dojo.html.styleSheet = null;
	dojo.html.insertCssRule = function (selector, declaration, index) {
		if (!dojo.html.styleSheet) {
			if (document.createStyleSheet) {
				dojo.html.styleSheet = document.createStyleSheet();
			} else {
				if (document.styleSheets[0]) {
					dojo.html.styleSheet = document.styleSheets[0];
				} else {
					return null;
				}
			}
		}
		if (arguments.length < 3) {
			if (dojo.html.styleSheet.cssRules) {
				index = dojo.html.styleSheet.cssRules.length;
			} else {
				if (dojo.html.styleSheet.rules) {
					index = dojo.html.styleSheet.rules.length;
				} else {
					return null;
				}
			}
		}
		if (dojo.html.styleSheet.insertRule) {
			var rule = selector + " { " + declaration + " }";
			return dojo.html.styleSheet.insertRule(rule, index);
		} else {
			if (dojo.html.styleSheet.addRule) {
				return dojo.html.styleSheet.addRule(selector, declaration, index);
			} else {
				return null;
			}
		}
	};
	dojo.html.removeCssRule = function (index) {
		if (!dojo.html.styleSheet) {
			dojo.debug("no stylesheet defined for removing rules");
			return false;
		}
		if (dojo.render.html.ie) {
			if (!index) {
				index = dojo.html.styleSheet.rules.length;
				dojo.html.styleSheet.removeRule(index);
			}
		} else {
			if (document.styleSheets[0]) {
				if (!index) {
					index = dojo.html.styleSheet.cssRules.length;
				}
				dojo.html.styleSheet.deleteRule(index);
			}
		}
		return true;
	};

lib/HTML/Dojo/src.pm  view on Meta::CPAN

	node = dojo.byId(node, node.ownerDocument);
	var ret = {x:0, y:0};
	var bs = dojo.html.boxSizing;
	if (!boxType) {
		boxType = bs.CONTENT_BOX;
	}
	var nativeBoxType = 2;
	var targetBoxType;
	switch (boxType) {
	  case bs.MARGIN_BOX:
		targetBoxType = 3;
		break;
	  case bs.BORDER_BOX:
		targetBoxType = 2;
		break;
	  case bs.PADDING_BOX:
	  default:
		targetBoxType = 1;
		break;
	  case bs.CONTENT_BOX:
		targetBoxType = 0;
		break;
	}
	var h = dojo.render.html;
	var db = document["body"] || document["documentElement"];
	if (h.ie) {
		with (node.getBoundingClientRect()) {
			ret.x = left - 2;
			ret.y = top - 2;
		}
	} else {
		if (document.getBoxObjectFor) {
			nativeBoxType = 1;
			try {
				var bo = document.getBoxObjectFor(node);
				ret.x = bo.x - dojo.html.sumAncestorProperties(node, "scrollLeft");
				ret.y = bo.y - dojo.html.sumAncestorProperties(node, "scrollTop");
			}
			catch (e) {
			}
		} else {
			if (node["offsetParent"]) {
				var endNode;
				if ((h.safari) && (node.style.getPropertyValue("position") == "absolute") && (node.parentNode == db)) {
					endNode = db;
				} else {
					endNode = db.parentNode;
				}
				if (node.parentNode != db) {
					var nd = node;
					if (dojo.render.html.opera) {
						nd = db;
					}
					ret.x -= dojo.html.sumAncestorProperties(nd, "scrollLeft");
					ret.y -= dojo.html.sumAncestorProperties(nd, "scrollTop");
				}
				var curnode = node;
				do {
					var n = curnode["offsetLeft"];
					if (!h.opera || n > 0) {
						ret.x += isNaN(n) ? 0 : n;
					}
					var m = curnode["offsetTop"];
					ret.y += isNaN(m) ? 0 : m;
					curnode = curnode.offsetParent;
				} while ((curnode != endNode) && (curnode != null));
			} else {
				if (node["x"] && node["y"]) {
					ret.x += isNaN(node.x) ? 0 : node.x;
					ret.y += isNaN(node.y) ? 0 : node.y;
				}
			}
		}
	}
	if (includeScroll) {
		var scroll = dojo.html.getScroll();
		ret.y += scroll.top;
		ret.x += scroll.left;
	}
	var extentFuncArray = [dojo.html.getPaddingExtent, dojo.html.getBorderExtent, dojo.html.getMarginExtent];
	if (nativeBoxType > targetBoxType) {
		for (var i = targetBoxType; i < nativeBoxType; ++i) {
			ret.y += extentFuncArray[i](node, "top");
			ret.x += extentFuncArray[i](node, "left");
		}
	} else {
		if (nativeBoxType < targetBoxType) {
			for (var i = targetBoxType; i > nativeBoxType; --i) {
				ret.y -= extentFuncArray[i - 1](node, "top");
				ret.x -= extentFuncArray[i - 1](node, "left");
			}
		}
	}
	ret.top = ret.y;
	ret.left = ret.x;
	return ret;
};
dojo.html.isPositionAbsolute = function (node) {
	return (dojo.html.getComputedStyle(node, "position") == "absolute");
};
dojo.html._sumPixelValues = function (node, selectors, autoIsZero) {
	var total = 0;
	for (var x = 0; x < selectors.length; x++) {
		total += dojo.html.getPixelValue(node, selectors[x], autoIsZero);
	}
	return total;
};
dojo.html.getMargin = function (node) {
	return {width:dojo.html._sumPixelValues(node, ["margin-left", "margin-right"], (dojo.html.getComputedStyle(node, "position") == "absolute")), height:dojo.html._sumPixelValues(node, ["margin-top", "margin-bottom"], (dojo.html.getComputedStyle(node, "...
};
dojo.html.getBorder = function (node) {
	return {width:dojo.html.getBorderExtent(node, "left") + dojo.html.getBorderExtent(node, "right"), height:dojo.html.getBorderExtent(node, "top") + dojo.html.getBorderExtent(node, "bottom")};
};
dojo.html.getBorderExtent = function (node, side) {
	return (dojo.html.getStyle(node, "border-" + side + "-style") == "none" ? 0 : dojo.html.getPixelValue(node, "border-" + side + "-width"));
};
dojo.html.getMarginExtent = function (node, side) {
	return dojo.html._sumPixelValues(node, ["margin-" + side], dojo.html.isPositionAbsolute(node));
};
dojo.html.getPaddingExtent = function (node, side) {
	return dojo.html._sumPixelValues(node, ["padding-" + side], true);
};
dojo.html.getPadding = function (node) {
	return {width:dojo.html._sumPixelValues(node, ["padding-left", "padding-right"], true), height:dojo.html._sumPixelValues(node, ["padding-top", "padding-bottom"], true)};
};
dojo.html.getPadBorder = function (node) {
	var pad = dojo.html.getPadding(node);
	var border = dojo.html.getBorder(node);
	return {width:pad.width + border.width, height:pad.height + border.height};
};

lib/HTML/Dojo/src.pm  view on Meta::CPAN

	modified BSD license. For more information on Dojo licensing, see:

		http://dojotoolkit.org/community/licensing.shtml
*/



dojo.hostenv.packageLoaded({depends:[["provide", "dojo.html.iframe"], ["require", "dojo.html.util"]], definePackage:function (dojo) {
	dojo.provide("dojo.html.iframe");
	dojo.require("dojo.html.util");
	dojo.html.iframeContentWindow = function (iframe_el) {
		var win = dojo.html.getDocumentWindow(dojo.html.iframeContentDocument(iframe_el)) || dojo.html.iframeContentDocument(iframe_el).__parent__ || (iframe_el.name && document.frames[iframe_el.name]) || null;
		return win;
	};
	dojo.html.iframeContentDocument = function (iframe_el) {
		var doc = iframe_el.contentDocument || ((iframe_el.contentWindow) && (iframe_el.contentWindow.document)) || ((iframe_el.name) && (document.frames[iframe_el.name]) && (document.frames[iframe_el.name].document)) || null;
		return doc;
	};
	dojo.html.BackgroundIframe = function (node) {
		if (dojo.render.html.ie55 || dojo.render.html.ie60) {
			var html = "<iframe src='javascript:false'" + " style='position: absolute; left: 0px; top: 0px; width: 100%; height: 100%;" + "z-index: -1; filter:Alpha(Opacity=\"0\");' " + ">";
			this.iframe = dojo.doc().createElement(html);
			this.iframe.tabIndex = -1;
			if (node) {
				node.appendChild(this.iframe);
				this.domNode = node;
			} else {
				dojo.body().appendChild(this.iframe);
				this.iframe.style.display = "none";
			}
		}
	};
	dojo.lang.extend(dojo.html.BackgroundIframe, {iframe:null, onResized:function () {
		if (this.iframe && this.domNode && this.domNode.parentNode) {
			var outer = dojo.html.getMarginBox(this.domNode);
			if (outer.width == 0 || outer.height == 0) {
				dojo.lang.setTimeout(this, this.onResized, 100);
				return;
			}
			this.iframe.style.width = outer.width + "px";
			this.iframe.style.height = outer.height + "px";
		}
	}, size:function (node) {
		if (!this.iframe) {
			return;
		}
		var coords = dojo.html.toCoordinateObject(node, true, dojo.html.boxSizing.BORDER_BOX);
		with (this.iframe.style) {
			width = coords.width + "px";
			height = coords.height + "px";
			left = coords.left + "px";
			top = coords.top + "px";
		}
	}, setZIndex:function (node) {
		if (!this.iframe) {
			return;
		}
		if (dojo.dom.isNode(node)) {
			this.iframe.style.zIndex = dojo.html.getStyle(node, "z-index") - 1;
		} else {
			if (!isNaN(node)) {
				this.iframe.style.zIndex = node;
			}
		}
	}, show:function () {
		if (this.iframe) {
			this.iframe.style.display = "block";
		}
	}, hide:function () {
		if (this.iframe) {
			this.iframe.style.display = "none";
		}
	}, remove:function () {
		if (this.iframe) {
			dojo.html.removeNode(this.iframe, true);
			delete this.iframe;
			this.iframe = null;
		}
	}});
}});


__CPAN_FILE__ src/html/metrics.xd.js
/*
	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
*/



dojo.hostenv.packageLoaded({depends:[["provide", "dojo.html.metrics"], ["require", "dojo.html.layout"]], definePackage:function (dojo) {
	dojo.provide("dojo.html.metrics");
	dojo.require("dojo.html.layout");
	dojo.html.getScrollbar = function () {
		var scroll = document.createElement("div");
		scroll.style.width = "100px";
		scroll.style.height = "100px";
		scroll.style.overflow = "scroll";
		scroll.style.position = "absolute";
		scroll.style.top = "-300px";
		scroll.style.left = "0px";
		var test = document.createElement("div");
		test.style.width = "400px";
		test.style.height = "400px";
		scroll.appendChild(test);
		dojo.body().appendChild(scroll);
		var width = scroll.offsetWidth - scroll.clientWidth;
		dojo.body().removeChild(scroll);
		scroll.removeChild(test);
		scroll = test = null;
		return {width:width};
	};
	dojo.html.getFontMeasurements = function () {
		var heights = {"1em":0, "1ex":0, "100%":0, "12pt":0, "16px":0, "xx-small":0, "x-small":0, "small":0, "medium":0, "large":0, "x-large":0, "xx-large":0};
		if (dojo.render.html.ie) {
			document.documentElement.style.fontSize = "100%";

lib/HTML/Dojo/src.pm  view on Meta::CPAN

		if (trim) {
			txt = txt.replace(/^\s+|\s+$/g, "");
		}
		var tn = dojo.doc().createElement("div");
		tn.style.visibility = "hidden";
		dojo.body().appendChild(tn);
		var tableType = "none";
		if ((/^<t[dh][\s\r\n>]/i).test(txt.replace(/^\s+/))) {
			txt = "<table><tbody><tr>" + txt + "</tr></tbody></table>";
			tableType = "cell";
		} else {
			if ((/^<tr[\s\r\n>]/i).test(txt.replace(/^\s+/))) {
				txt = "<table><tbody>" + txt + "</tbody></table>";
				tableType = "row";
			} else {
				if ((/^<(thead|tbody|tfoot)[\s\r\n>]/i).test(txt.replace(/^\s+/))) {
					txt = "<table>" + txt + "</table>";
					tableType = "section";
				}
			}
		}
		tn.innerHTML = txt;
		if (tn["normalize"]) {
			tn.normalize();
		}
		var parent = null;
		switch (tableType) {
		  case "cell":
			parent = tn.getElementsByTagName("tr")[0];
			break;
		  case "row":
			parent = tn.getElementsByTagName("tbody")[0];
			break;
		  case "section":
			parent = tn.getElementsByTagName("table")[0];
			break;
		  default:
			parent = tn;
			break;
		}
		var nodes = [];
		for (var x = 0; x < parent.childNodes.length; x++) {
			nodes.push(parent.childNodes[x].cloneNode(true));
		}
		tn.style.display = "none";
		dojo.html.destroyNode(tn);
		return nodes;
	};
	dojo.html.placeOnScreen = function (node, desiredX, desiredY, padding, hasScroll, corners, tryOnly) {
		if (desiredX instanceof Array || typeof desiredX == "array") {
			tryOnly = corners;
			corners = hasScroll;
			hasScroll = padding;
			padding = desiredY;
			desiredY = desiredX[1];
			desiredX = desiredX[0];
		}
		if (corners instanceof String || typeof corners == "string") {
			corners = corners.split(",");
		}
		if (!isNaN(padding)) {
			padding = [Number(padding), Number(padding)];
		} else {
			if (!(padding instanceof Array || typeof padding == "array")) {
				padding = [0, 0];
			}
		}
		var scroll = dojo.html.getScroll().offset;
		var view = dojo.html.getViewport();
		node = dojo.byId(node);
		var oldDisplay = node.style.display;
		node.style.display = "";
		var bb = dojo.html.getBorderBox(node);
		var w = bb.width;
		var h = bb.height;
		node.style.display = oldDisplay;
		if (!(corners instanceof Array || typeof corners == "array")) {
			corners = ["TL"];
		}
		var bestx, besty, bestDistance = Infinity, bestCorner;
		for (var cidex = 0; cidex < corners.length; ++cidex) {
			var corner = corners[cidex];
			var match = true;
			var tryX = desiredX - (corner.charAt(1) == "L" ? 0 : w) + padding[0] * (corner.charAt(1) == "L" ? 1 : -1);
			var tryY = desiredY - (corner.charAt(0) == "T" ? 0 : h) + padding[1] * (corner.charAt(0) == "T" ? 1 : -1);
			if (hasScroll) {
				tryX -= scroll.x;
				tryY -= scroll.y;
			}
			if (tryX < 0) {
				tryX = 0;
				match = false;
			}
			if (tryY < 0) {
				tryY = 0;
				match = false;
			}
			var x = tryX + w;
			if (x > view.width) {
				x = view.width - w;
				match = false;
			} else {
				x = tryX;
			}
			x = Math.max(padding[0], x) + scroll.x;
			var y = tryY + h;
			if (y > view.height) {
				y = view.height - h;
				match = false;
			} else {
				y = tryY;
			}
			y = Math.max(padding[1], y) + scroll.y;
			if (match) {
				bestx = x;
				besty = y;
				bestDistance = 0;
				bestCorner = corner;
				break;
			} else {
				var dist = Math.pow(x - tryX - scroll.x, 2) + Math.pow(y - tryY - scroll.y, 2);

lib/HTML/Dojo/src.pm  view on Meta::CPAN

	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
*/



dojo.provide("dojo.html.iframe");
dojo.require("dojo.html.util");
dojo.html.iframeContentWindow = function (iframe_el) {
	var win = dojo.html.getDocumentWindow(dojo.html.iframeContentDocument(iframe_el)) || dojo.html.iframeContentDocument(iframe_el).__parent__ || (iframe_el.name && document.frames[iframe_el.name]) || null;
	return win;
};
dojo.html.iframeContentDocument = function (iframe_el) {
	var doc = iframe_el.contentDocument || ((iframe_el.contentWindow) && (iframe_el.contentWindow.document)) || ((iframe_el.name) && (document.frames[iframe_el.name]) && (document.frames[iframe_el.name].document)) || null;
	return doc;
};
dojo.html.BackgroundIframe = function (node) {
	if (dojo.render.html.ie55 || dojo.render.html.ie60) {
		var html = "<iframe src='javascript:false'" + " style='position: absolute; left: 0px; top: 0px; width: 100%; height: 100%;" + "z-index: -1; filter:Alpha(Opacity=\"0\");' " + ">";
		this.iframe = dojo.doc().createElement(html);
		this.iframe.tabIndex = -1;
		if (node) {
			node.appendChild(this.iframe);
			this.domNode = node;
		} else {
			dojo.body().appendChild(this.iframe);
			this.iframe.style.display = "none";
		}
	}
};
dojo.lang.extend(dojo.html.BackgroundIframe, {iframe:null, onResized:function () {
	if (this.iframe && this.domNode && this.domNode.parentNode) {
		var outer = dojo.html.getMarginBox(this.domNode);
		if (outer.width == 0 || outer.height == 0) {
			dojo.lang.setTimeout(this, this.onResized, 100);
			return;
		}
		this.iframe.style.width = outer.width + "px";
		this.iframe.style.height = outer.height + "px";
	}
}, size:function (node) {
	if (!this.iframe) {
		return;
	}
	var coords = dojo.html.toCoordinateObject(node, true, dojo.html.boxSizing.BORDER_BOX);
	with (this.iframe.style) {
		width = coords.width + "px";
		height = coords.height + "px";
		left = coords.left + "px";
		top = coords.top + "px";
	}
}, setZIndex:function (node) {
	if (!this.iframe) {
		return;
	}
	if (dojo.dom.isNode(node)) {
		this.iframe.style.zIndex = dojo.html.getStyle(node, "z-index") - 1;
	} else {
		if (!isNaN(node)) {
			this.iframe.style.zIndex = node;
		}
	}
}, show:function () {
	if (this.iframe) {
		this.iframe.style.display = "block";
	}
}, hide:function () {
	if (this.iframe) {
		this.iframe.style.display = "none";
	}
}, remove:function () {
	if (this.iframe) {
		dojo.html.removeNode(this.iframe, true);
		delete this.iframe;
		this.iframe = null;
	}
}});


__CPAN_DIR__ src/html/images
__CPAN_FILE__ src/html/images/shadowBL.png
‰PNG

���
IHDR���������ľ‹���gAMA��ÖØÔOX2���tEXtSoftware�Adobe ImageReadyqÉe<���¢IDATxÚ4ŽÉà DÙ²ô!‘ôóÿ—D•HÂÖçŠ"
c<ã1zß÷ ”òZë~ƒµ¿_ðèj­ÍÓ8Î4	8Õ¯Šˆ˜|ñ¨ÈŽ!U¦nêHs ^ýS\ŸNÖÚãGD8ÁÃÏpGY–å)¥˜qœ%	“Ãdœ÷¾ÄÓ4M"ʺ§ÿͲNÛ‚Þ¶­çÙæy.LeYxSß_�=5bËd5...
__CPAN_FILE__ src/html/images/shadowTR.png
‰PNG

���
IHDR���������ľ‹���gAMA��ÖØÔOX2���tEXtSoftware�Adobe ImageReadyqÉe<���±IDATxڏ„ D¡(bÔ%‘xïä]=ÉXùt§’4˜×IÑÇq¸û¾yš&VJ±è”R;ÏSîŠZk£h‡²¥”.„`ö}':"òè`Î˲<1Ƽm[™ç™;˜+Œ‚þ3ƤZ+
à®ëbçKB`挑òµÖ*@Í{_%Y̨×Z‹Y�>x{ài>¨×„ñ&ÉnЄ]^`Ä´,œõ0ä...
__CPAN_FILE__ src/html/images/shadowBR.png
‰PNG

���
IHDR���������ľ‹���gAMA��ÖØÔOX2���tEXtSoftware�Adobe ImageReadyqÉe<���¡IDATxÚ4OIà ŸÌúÑ<sE¥„҄՝‰Z¤‘1³Øèu]"r*¥v Oô¬{ïýcqiZë†Ú‰‰ƒ*(b­UÍ	qÁÙŒ1Šr΄ ™)„³�Â霻sBô^–åâØŠK'ÉZ+ÇÕ”ÒÀwÂä`ìoáZJiÞûcœLà÷„3K'ÉÂܶM¾�œ„Ùïæ?...
__CPAN_FILE__ src/html/images/shadowR.png
‰PNG

���
IHDR���������ã�ïC���gAMA��ÖØÔOX2���tEXtSoftware�Adobe ImageReadyqÉe<���'IDATxÚbLII)g``øÄßüû÷ï
ý†……å#H À�´®@ßÙ@����IEND®B`‚
__CPAN_FILE__ src/html/images/shadowB.png
‰PNG

���
IHDR��Ð������¡òdµ���gAMA��ÖØÔOX2���tEXtSoftware�Adobe ImageReadyqÉe<��hIDATxÚìÝ1nÃ0Ð
ðQ}ŒÜ¸èÐ¥C<°Éœ%†àˆß:¶>éÔA˨mû¾ß¾�€jZÇñvñÚ���pFtum� ¡-"îÚ��ËiÇG][6�ê¼Y7~�N‹Aç¾s~Õlè�°˜íñûŸ6�Àr®7Ù.9æì²åÌ–yí•k“è²§[;îkÈ6e6ôϯm@�Å<w ÿj�,§ê ¸ò�½j¶•³[;ßÚ3gS{Ʀف>J¨[¶DÙBmË];s_£èÚ£³�“yî@ÿÑ�(ÇŽÞ|×o^ú&[ùç§÷jM1@¿ŠAG½¾Énmµå¸¶M��KØ_ßÚ��...
__CPAN_FILE__ src/html/images/shadowL.png
‰PNG

���
IHDR���������ã�ïC���gAMA��ÖØÔOX2���tEXtSoftware�Adobe ImageReadyqÉe<���&IDATxÚbLHHfeeåÿÿÿ¿0ƒ(ˆfddñ¹€4@€�³¢
ªÙZu����IEND®B`‚
__CPAN_FILE__ src/html/images/shadowTL.png
‰PNG

���
IHDR���������ľ‹���gAMA��ÖØÔOX2���tEXtSoftware�Adobe ImageReadyqÉe<���¡IDATxÚ,ŽA„0ëÔe[•.¸óÀÿÄqA°Îª‡(QÆv‚eY°ï;rÎVkEçyÂçû¾·m³yží8Ž(ø¯RŠ=Ï’ຮv][kIpHfÆ.Ýéð}ßc,Zf	>€qš&WµG‰‹º›øòØîÕ¿êÕ5“‚æ7=¶;«@Sù¹ä	è)챹âÒO€�¨´9êuÈ...
__CPAN_FILE__ src/html/images/shadowT.png
‰PNG

���
IHDR���������8•A���gAMA��ÖØÔOX2���tEXtSoftware�Adobe ImageReadyqÉe<���*IDATxÚbHOOçdb``àbúóç?ˆ%Â"LÿÿÿqÁb\��±7²™“)����IEND®B`‚
__CPAN_DIR__ src/event
__CPAN_FILE__ src/event/browser.js
/*
	Copyright (c) 2004-2006, The Dojo Foundation
	All Rights Reserved.

lib/HTML/Dojo/src.pm  view on Meta::CPAN

					ao.adviceObj = args[2];
					ao.adviceFunc = args[3];
				} else {
					if ((dl.isString(args[0])) && (dl.isFunction(args[1])) && (dl.isObject(args[2]))) {
						ao.adviceType = args[0];
						ao.srcObj = dj_global;
						var tmpName = dl.nameAnonFunc(args[1], dj_global, searchForNames);
						ao.srcFunc = tmpName;
						ao.adviceObj = args[2];
						ao.adviceFunc = args[3];
					} else {
						if ((dl.isString(args[0])) && (dl.isObject(args[1])) && (dl.isString(args[2])) && (dl.isFunction(args[3]))) {
							ao.srcObj = args[1];
							ao.srcFunc = args[2];
							var tmpName = dl.nameAnonFunc(args[3], dj_global, searchForNames);
							ao.adviceObj = dj_global;
							ao.adviceFunc = tmpName;
						} else {
							if (dl.isObject(args[1])) {
								ao.srcObj = args[1];
								ao.srcFunc = args[2];
								ao.adviceObj = dj_global;
								ao.adviceFunc = args[3];
							} else {
								if (dl.isObject(args[2])) {
									ao.srcObj = dj_global;
									ao.srcFunc = args[1];
									ao.adviceObj = args[2];
									ao.adviceFunc = args[3];
								} else {
									ao.srcObj = ao.adviceObj = ao.aroundObj = dj_global;
									ao.srcFunc = args[1];
									ao.adviceFunc = args[2];
									ao.aroundFunc = args[3];
								}
							}
						}
					}
				}
			}
			break;
		  case 6:
			ao.srcObj = args[1];
			ao.srcFunc = args[2];
			ao.adviceObj = args[3];
			ao.adviceFunc = args[4];
			ao.aroundFunc = args[5];
			ao.aroundObj = dj_global;
			break;
		  default:
			ao.srcObj = args[1];
			ao.srcFunc = args[2];
			ao.adviceObj = args[3];
			ao.adviceFunc = args[4];
			ao.aroundObj = args[5];
			ao.aroundFunc = args[6];
			ao.once = args[7];
			ao.delay = args[8];
			ao.rate = args[9];
			ao.adviceMsg = args[10];
			ao.maxCalls = (!isNaN(parseInt(args[11]))) ? args[11] : -1;
			break;
		}
		if (dl.isFunction(ao.aroundFunc)) {
			var tmpName = dl.nameAnonFunc(ao.aroundFunc, ao.aroundObj, searchForNames);
			ao.aroundFunc = tmpName;
		}
		if (dl.isFunction(ao.srcFunc)) {
			ao.srcFunc = dl.getNameInObj(ao.srcObj, ao.srcFunc);
		}
		if (dl.isFunction(ao.adviceFunc)) {
			ao.adviceFunc = dl.getNameInObj(ao.adviceObj, ao.adviceFunc);
		}
		if ((ao.aroundObj) && (dl.isFunction(ao.aroundFunc))) {
			ao.aroundFunc = dl.getNameInObj(ao.aroundObj, ao.aroundFunc);
		}
		if (!ao.srcObj) {
			dojo.raise("bad srcObj for srcFunc: " + ao.srcFunc);
		}
		if (!ao.adviceObj) {
			dojo.raise("bad adviceObj for adviceFunc: " + ao.adviceFunc);
		}
		if (!ao.adviceFunc) {
			dojo.debug("bad adviceFunc for srcFunc: " + ao.srcFunc);
			dojo.debugShallow(ao);
		}
		return ao;
	}
	this.connect = function () {
		if (arguments.length == 1) {
			var ao = arguments[0];
		} else {
			var ao = interpolateArgs(arguments, true);
		}
		if (dojo.lang.isString(ao.srcFunc) && (ao.srcFunc.toLowerCase() == "onkey")) {
			if (dojo.render.html.ie) {
				ao.srcFunc = "onkeydown";
				this.connect(ao);
			}
			ao.srcFunc = "onkeypress";
		}
		if (dojo.lang.isArray(ao.srcObj) && ao.srcObj != "") {
			var tmpAO = {};
			for (var x in ao) {
				tmpAO[x] = ao[x];
			}
			var mjps = [];
			dojo.lang.forEach(ao.srcObj, function (src) {
				if ((dojo.render.html.capable) && (dojo.lang.isString(src))) {
					src = dojo.byId(src);
				}
				tmpAO.srcObj = src;
				mjps.push(dojo.event.connect.call(dojo.event, tmpAO));
			});
			return mjps;
		}
		var mjp = dojo.event.MethodJoinPoint.getForMethod(ao.srcObj, ao.srcFunc);
		if (ao.adviceFunc) {
			var mjp2 = dojo.event.MethodJoinPoint.getForMethod(ao.adviceObj, ao.adviceFunc);
		}
		mjp.kwAddAdvice(ao);

lib/HTML/Dojo/src.pm  view on Meta::CPAN

					catch (e) {
						evt = window.event;
					}
					if (evt) {
						args.push(dojo.event.browser.fixEvent(evt, this));
					}
				} else {
					for (var x = 0; x < arguments.length; x++) {
						if ((x == 0) && (dojo.event.browser.isEvent(arguments[x]))) {
							args.push(dojo.event.browser.fixEvent(arguments[x], this));
						} else {
							args.push(arguments[x]);
						}
					}
				}
				return joinpoint.run.apply(joinpoint, args);
			};
		}
		obj[funcName].__preJoinArity = origArity;
	}
	return joinpoint;
};
dojo.lang.extend(dojo.event.MethodJoinPoint, {squelch:false, unintercept:function () {
	this.object[this.methodname] = this.methodfunc;
	this.before = [];
	this.after = [];
	this.around = [];
}, disconnect:dojo.lang.forward("unintercept"), run:function () {
	var obj = this.object || dj_global;
	var args = arguments;
	var aargs = [];
	for (var x = 0; x < args.length; x++) {
		aargs[x] = args[x];
	}
	var unrollAdvice = function (marr) {
		if (!marr) {
			dojo.debug("Null argument to unrollAdvice()");
			return;
		}
		var callObj = marr[0] || dj_global;
		var callFunc = marr[1];
		if (!callObj[callFunc]) {
			dojo.raise("function \"" + callFunc + "\" does not exist on \"" + callObj + "\"");
		}
		var aroundObj = marr[2] || dj_global;
		var aroundFunc = marr[3];
		var msg = marr[6];
		var maxCount = marr[7];
		if (maxCount > -1) {
			if (maxCount == 0) {
				return;
			}
			marr[7]--;
		}
		var undef;
		var to = {args:[], jp_:this, object:obj, proceed:function () {
			return callObj[callFunc].apply(callObj, to.args);
		}};
		to.args = aargs;
		var delay = parseInt(marr[4]);
		var hasDelay = ((!isNaN(delay)) && (marr[4] !== null) && (typeof marr[4] != "undefined"));
		if (marr[5]) {
			var rate = parseInt(marr[5]);
			var cur = new Date();
			var timerSet = false;
			if ((marr["last"]) && ((cur - marr.last) <= rate)) {
				if (dojo.event._canTimeout) {
					if (marr["delayTimer"]) {
						clearTimeout(marr.delayTimer);
					}
					var tod = parseInt(rate * 2);
					var mcpy = dojo.lang.shallowCopy(marr);
					marr.delayTimer = setTimeout(function () {
						mcpy[5] = 0;
						unrollAdvice(mcpy);
					}, tod);
				}
				return;
			} else {
				marr.last = cur;
			}
		}
		if (aroundFunc) {
			aroundObj[aroundFunc].call(aroundObj, to);
		} else {
			if ((hasDelay) && ((dojo.render.html) || (dojo.render.svg))) {
				dj_global["setTimeout"](function () {
					if (msg) {
						callObj[callFunc].call(callObj, to);
					} else {
						callObj[callFunc].apply(callObj, args);
					}
				}, delay);
			} else {
				if (msg) {
					callObj[callFunc].call(callObj, to);
				} else {
					callObj[callFunc].apply(callObj, args);
				}
			}
		}
	};
	var unRollSquelch = function () {
		if (this.squelch) {
			try {
				return unrollAdvice.apply(this, arguments);
			}
			catch (e) {
				dojo.debug(e);
			}
		} else {
			return unrollAdvice.apply(this, arguments);
		}
	};
	if ((this["before"]) && (this.before.length > 0)) {
		dojo.lang.forEach(this.before.concat(new Array()), unRollSquelch);
	}
	var result;
	try {
		if ((this["around"]) && (this.around.length > 0)) {
			var mi = new dojo.event.MethodInvocation(this, obj, args);

lib/HTML/Dojo/src.pm  view on Meta::CPAN

						ao.adviceObj = args[2];
						ao.adviceFunc = args[3];
					} else {
						if ((dl.isString(args[0])) && (dl.isFunction(args[1])) && (dl.isObject(args[2]))) {
							ao.adviceType = args[0];
							ao.srcObj = dj_global;
							var tmpName = dl.nameAnonFunc(args[1], dj_global, searchForNames);
							ao.srcFunc = tmpName;
							ao.adviceObj = args[2];
							ao.adviceFunc = args[3];
						} else {
							if ((dl.isString(args[0])) && (dl.isObject(args[1])) && (dl.isString(args[2])) && (dl.isFunction(args[3]))) {
								ao.srcObj = args[1];
								ao.srcFunc = args[2];
								var tmpName = dl.nameAnonFunc(args[3], dj_global, searchForNames);
								ao.adviceObj = dj_global;
								ao.adviceFunc = tmpName;
							} else {
								if (dl.isObject(args[1])) {
									ao.srcObj = args[1];
									ao.srcFunc = args[2];
									ao.adviceObj = dj_global;
									ao.adviceFunc = args[3];
								} else {
									if (dl.isObject(args[2])) {
										ao.srcObj = dj_global;
										ao.srcFunc = args[1];
										ao.adviceObj = args[2];
										ao.adviceFunc = args[3];
									} else {
										ao.srcObj = ao.adviceObj = ao.aroundObj = dj_global;
										ao.srcFunc = args[1];
										ao.adviceFunc = args[2];
										ao.aroundFunc = args[3];
									}
								}
							}
						}
					}
				}
				break;
			  case 6:
				ao.srcObj = args[1];
				ao.srcFunc = args[2];
				ao.adviceObj = args[3];
				ao.adviceFunc = args[4];
				ao.aroundFunc = args[5];
				ao.aroundObj = dj_global;
				break;
			  default:
				ao.srcObj = args[1];
				ao.srcFunc = args[2];
				ao.adviceObj = args[3];
				ao.adviceFunc = args[4];
				ao.aroundObj = args[5];
				ao.aroundFunc = args[6];
				ao.once = args[7];
				ao.delay = args[8];
				ao.rate = args[9];
				ao.adviceMsg = args[10];
				ao.maxCalls = (!isNaN(parseInt(args[11]))) ? args[11] : -1;
				break;
			}
			if (dl.isFunction(ao.aroundFunc)) {
				var tmpName = dl.nameAnonFunc(ao.aroundFunc, ao.aroundObj, searchForNames);
				ao.aroundFunc = tmpName;
			}
			if (dl.isFunction(ao.srcFunc)) {
				ao.srcFunc = dl.getNameInObj(ao.srcObj, ao.srcFunc);
			}
			if (dl.isFunction(ao.adviceFunc)) {
				ao.adviceFunc = dl.getNameInObj(ao.adviceObj, ao.adviceFunc);
			}
			if ((ao.aroundObj) && (dl.isFunction(ao.aroundFunc))) {
				ao.aroundFunc = dl.getNameInObj(ao.aroundObj, ao.aroundFunc);
			}
			if (!ao.srcObj) {
				dojo.raise("bad srcObj for srcFunc: " + ao.srcFunc);
			}
			if (!ao.adviceObj) {
				dojo.raise("bad adviceObj for adviceFunc: " + ao.adviceFunc);
			}
			if (!ao.adviceFunc) {
				dojo.debug("bad adviceFunc for srcFunc: " + ao.srcFunc);
				dojo.debugShallow(ao);
			}
			return ao;
		}
		this.connect = function () {
			if (arguments.length == 1) {
				var ao = arguments[0];
			} else {
				var ao = interpolateArgs(arguments, true);
			}
			if (dojo.lang.isString(ao.srcFunc) && (ao.srcFunc.toLowerCase() == "onkey")) {
				if (dojo.render.html.ie) {
					ao.srcFunc = "onkeydown";
					this.connect(ao);
				}
				ao.srcFunc = "onkeypress";
			}
			if (dojo.lang.isArray(ao.srcObj) && ao.srcObj != "") {
				var tmpAO = {};
				for (var x in ao) {
					tmpAO[x] = ao[x];
				}
				var mjps = [];
				dojo.lang.forEach(ao.srcObj, function (src) {
					if ((dojo.render.html.capable) && (dojo.lang.isString(src))) {
						src = dojo.byId(src);
					}
					tmpAO.srcObj = src;
					mjps.push(dojo.event.connect.call(dojo.event, tmpAO));
				});
				return mjps;
			}
			var mjp = dojo.event.MethodJoinPoint.getForMethod(ao.srcObj, ao.srcFunc);
			if (ao.adviceFunc) {
				var mjp2 = dojo.event.MethodJoinPoint.getForMethod(ao.adviceObj, ao.adviceFunc);
			}
			mjp.kwAddAdvice(ao);

lib/HTML/Dojo/src.pm  view on Meta::CPAN

						catch (e) {
							evt = window.event;
						}
						if (evt) {
							args.push(dojo.event.browser.fixEvent(evt, this));
						}
					} else {
						for (var x = 0; x < arguments.length; x++) {
							if ((x == 0) && (dojo.event.browser.isEvent(arguments[x]))) {
								args.push(dojo.event.browser.fixEvent(arguments[x], this));
							} else {
								args.push(arguments[x]);
							}
						}
					}
					return joinpoint.run.apply(joinpoint, args);
				};
			}
			obj[funcName].__preJoinArity = origArity;
		}
		return joinpoint;
	};
	dojo.lang.extend(dojo.event.MethodJoinPoint, {squelch:false, unintercept:function () {
		this.object[this.methodname] = this.methodfunc;
		this.before = [];
		this.after = [];
		this.around = [];
	}, disconnect:dojo.lang.forward("unintercept"), run:function () {
		var obj = this.object || dj_global;
		var args = arguments;
		var aargs = [];
		for (var x = 0; x < args.length; x++) {
			aargs[x] = args[x];
		}
		var unrollAdvice = function (marr) {
			if (!marr) {
				dojo.debug("Null argument to unrollAdvice()");
				return;
			}
			var callObj = marr[0] || dj_global;
			var callFunc = marr[1];
			if (!callObj[callFunc]) {
				dojo.raise("function \"" + callFunc + "\" does not exist on \"" + callObj + "\"");
			}
			var aroundObj = marr[2] || dj_global;
			var aroundFunc = marr[3];
			var msg = marr[6];
			var maxCount = marr[7];
			if (maxCount > -1) {
				if (maxCount == 0) {
					return;
				}
				marr[7]--;
			}
			var undef;
			var to = {args:[], jp_:this, object:obj, proceed:function () {
				return callObj[callFunc].apply(callObj, to.args);
			}};
			to.args = aargs;
			var delay = parseInt(marr[4]);
			var hasDelay = ((!isNaN(delay)) && (marr[4] !== null) && (typeof marr[4] != "undefined"));
			if (marr[5]) {
				var rate = parseInt(marr[5]);
				var cur = new Date();
				var timerSet = false;
				if ((marr["last"]) && ((cur - marr.last) <= rate)) {
					if (dojo.event._canTimeout) {
						if (marr["delayTimer"]) {
							clearTimeout(marr.delayTimer);
						}
						var tod = parseInt(rate * 2);
						var mcpy = dojo.lang.shallowCopy(marr);
						marr.delayTimer = setTimeout(function () {
							mcpy[5] = 0;
							unrollAdvice(mcpy);
						}, tod);
					}
					return;
				} else {
					marr.last = cur;
				}
			}
			if (aroundFunc) {
				aroundObj[aroundFunc].call(aroundObj, to);
			} else {
				if ((hasDelay) && ((dojo.render.html) || (dojo.render.svg))) {
					dj_global["setTimeout"](function () {
						if (msg) {
							callObj[callFunc].call(callObj, to);
						} else {
							callObj[callFunc].apply(callObj, args);
						}
					}, delay);
				} else {
					if (msg) {
						callObj[callFunc].call(callObj, to);
					} else {
						callObj[callFunc].apply(callObj, args);
					}
				}
			}
		};
		var unRollSquelch = function () {
			if (this.squelch) {
				try {
					return unrollAdvice.apply(this, arguments);
				}
				catch (e) {
					dojo.debug(e);
				}
			} else {
				return unrollAdvice.apply(this, arguments);
			}
		};
		if ((this["before"]) && (this.before.length > 0)) {
			dojo.lang.forEach(this.before.concat(new Array()), unRollSquelch);
		}
		var result;
		try {
			if ((this["around"]) && (this.around.length > 0)) {
				var mi = new dojo.event.MethodInvocation(this, obj, args);

lib/HTML/Dojo/src.pm  view on Meta::CPAN

				}
				var treeNode = source.getTreeNode();
				if (treeNode) {
					result = _this.controller.createChild(targetParent, targetIndex, treeNode, true);
				} else {
					result = true;
				}
			}
			if (result instanceof dojo.Deferred) {
				var isSuccess = result.fired == 0;
				if (!isSuccess) {
					_this.handleDropError(source, targetParent, targetIndex, result);
				}
				return isSuccess;
			} else {
				return result;
			}
		};
		return handler;
	}, handleDropError:function (source, parent, index, result) {
		dojo.debug("TreeDropTargetV3.handleDropError: DND error occured");
		dojo.debugShallow(result);
	}});
}});


__CPAN_FILE__ src/dnd/HtmlDragMove.js
/*
	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
*/



dojo.provide("dojo.dnd.HtmlDragMove");
dojo.require("dojo.dnd.*");
dojo.declare("dojo.dnd.HtmlDragMoveSource", dojo.dnd.HtmlDragSource, {onDragStart:function () {
	var dragObj = new dojo.dnd.HtmlDragMoveObject(this.dragObject, this.type);
	if (this.constrainToContainer) {
		dragObj.constrainTo(this.constrainingContainer);
	}
	return dragObj;
}, onSelected:function () {
	for (var i = 0; i < this.dragObjects.length; i++) {
		dojo.dnd.dragManager.selectedSources.push(new dojo.dnd.HtmlDragMoveSource(this.dragObjects[i]));
	}
}});
dojo.declare("dojo.dnd.HtmlDragMoveObject", dojo.dnd.HtmlDragObject, {onDragStart:function (e) {
	dojo.html.clearSelection();
	this.dragClone = this.domNode;
	if (dojo.html.getComputedStyle(this.domNode, "position") != "absolute") {
		this.domNode.style.position = "relative";
	}
	var left = parseInt(dojo.html.getComputedStyle(this.domNode, "left"));
	var top = parseInt(dojo.html.getComputedStyle(this.domNode, "top"));
	this.dragStartPosition = {x:isNaN(left) ? 0 : left, y:isNaN(top) ? 0 : top};
	this.scrollOffset = dojo.html.getScroll().offset;
	this.dragOffset = {y:this.dragStartPosition.y - e.pageY, x:this.dragStartPosition.x - e.pageX};
	this.containingBlockPosition = {x:0, y:0};
	if (this.constrainToContainer) {
		this.constraints = this.getConstraints();
	}
	dojo.event.connect(this.domNode, "onclick", this, "_squelchOnClick");
}, onDragEnd:function (e) {
}, setAbsolutePosition:function (x, y) {
	if (!this.disableY) {
		this.domNode.style.top = y + "px";
	}
	if (!this.disableX) {
		this.domNode.style.left = x + "px";
	}
}, _squelchOnClick:function (e) {
	dojo.event.browser.stopEvent(e);
	dojo.event.disconnect(this.domNode, "onclick", this, "_squelchOnClick");
}});


__CPAN_FILE__ src/dnd/__package__.js
/*
	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
*/



dojo.kwCompoundRequire({common:["dojo.dnd.DragAndDrop"], browser:["dojo.dnd.HtmlDragAndDrop"], dashboard:["dojo.dnd.HtmlDragAndDrop"]});
dojo.provide("dojo.dnd.*");


__CPAN_FILE__ src/dnd/HtmlDragMove.xd.js
/*
	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
*/



dojo.hostenv.packageLoaded({depends:[["provide", "dojo.dnd.HtmlDragMove"], ["require", "dojo.dnd.*"]], definePackage:function (dojo) {
	dojo.provide("dojo.dnd.HtmlDragMove");
	dojo.require("dojo.dnd.*");
	dojo.declare("dojo.dnd.HtmlDragMoveSource", dojo.dnd.HtmlDragSource, {onDragStart:function () {
		var dragObj = new dojo.dnd.HtmlDragMoveObject(this.dragObject, this.type);
		if (this.constrainToContainer) {
			dragObj.constrainTo(this.constrainingContainer);
		}
		return dragObj;
	}, onSelected:function () {
		for (var i = 0; i < this.dragObjects.length; i++) {
			dojo.dnd.dragManager.selectedSources.push(new dojo.dnd.HtmlDragMoveSource(this.dragObjects[i]));
		}
	}});
	dojo.declare("dojo.dnd.HtmlDragMoveObject", dojo.dnd.HtmlDragObject, {onDragStart:function (e) {
		dojo.html.clearSelection();
		this.dragClone = this.domNode;
		if (dojo.html.getComputedStyle(this.domNode, "position") != "absolute") {
			this.domNode.style.position = "relative";
		}
		var left = parseInt(dojo.html.getComputedStyle(this.domNode, "left"));
		var top = parseInt(dojo.html.getComputedStyle(this.domNode, "top"));
		this.dragStartPosition = {x:isNaN(left) ? 0 : left, y:isNaN(top) ? 0 : top};
		this.scrollOffset = dojo.html.getScroll().offset;
		this.dragOffset = {y:this.dragStartPosition.y - e.pageY, x:this.dragStartPosition.x - e.pageX};
		this.containingBlockPosition = {x:0, y:0};
		if (this.constrainToContainer) {
			this.constraints = this.getConstraints();
		}
		dojo.event.connect(this.domNode, "onclick", this, "_squelchOnClick");
	}, onDragEnd:function (e) {
	}, setAbsolutePosition:function (x, y) {
		if (!this.disableY) {
			this.domNode.style.top = y + "px";
		}
		if (!this.disableX) {
			this.domNode.style.left = x + "px";
		}
	}, _squelchOnClick:function (e) {
		dojo.event.browser.stopEvent(e);
		dojo.event.disconnect(this.domNode, "onclick", this, "_squelchOnClick");
	}});
}});


__CPAN_FILE__ src/dnd/HtmlDragAndDrop.js
/*
	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
*/



dojo.provide("dojo.dnd.HtmlDragAndDrop");
dojo.require("dojo.dnd.HtmlDragManager");
dojo.require("dojo.dnd.DragAndDrop");
dojo.require("dojo.html.*");
dojo.require("dojo.html.display");
dojo.require("dojo.html.util");
dojo.require("dojo.html.selection");
dojo.require("dojo.html.iframe");
dojo.require("dojo.lang.extras");
dojo.require("dojo.lfx.*");
dojo.require("dojo.event.*");
dojo.declare("dojo.dnd.HtmlDragSource", dojo.dnd.DragSource, {dragClass:"", onDragStart:function () {
	var dragObj = new dojo.dnd.HtmlDragObject(this.dragObject, this.type);
	if (this.dragClass) {
		dragObj.dragClass = this.dragClass;
	}
	if (this.constrainToContainer) {
		dragObj.constrainTo(this.constrainingContainer || this.domNode.parentNode);
	}
	return dragObj;
}, setDragHandle:function (node) {
	node = dojo.byId(node);
	dojo.dnd.dragManager.unregisterDragSource(this);
	this.domNode = node;
	dojo.dnd.dragManager.registerDragSource(this);

lib/HTML/Dojo/src.pm  view on Meta::CPAN

		} else {
			this.onSetSelectedAnyTime();
		}
	}, setTime:function (date) {
		if (date) {
			this.selectedTime.anyTime = false;
			this.setDateTime(dojo.date.toRfc3339(date));
		} else {
			this.selectedTime.anyTime = true;
		}
		this.initData();
		this.initUI();
	}, setDateTime:function (rfcDate) {
		this.storedTime = rfcDate;
	}, onClearSelectedHour:function (evt) {
		this.clearSelectedHour();
	}, onClearSelectedMinute:function (evt) {
		this.clearSelectedMinute();
	}, onClearSelectedAmPm:function (evt) {
		this.clearSelectedAmPm();
	}, onClearSelectedAnyTime:function (evt) {
		this.clearSelectedAnyTime();
		if (this.selectedTime.anyTime) {
			this.selectedTime.anyTime = false;
			this.time = dojo.widget.TimePicker.util.fromRfcDateTime("", this.useDefaultMinutes);
			this.initUI();
		}
	}, clearSelectedHour:function () {
		var hourNodes = this.hourContainerNode.getElementsByTagName("td");
		for (var i = 0; i < hourNodes.length; i++) {
			dojo.html.setClass(hourNodes.item(i), "");
		}
	}, clearSelectedMinute:function () {
		var minuteNodes = this.minuteContainerNode.getElementsByTagName("td");
		for (var i = 0; i < minuteNodes.length; i++) {
			dojo.html.setClass(minuteNodes.item(i), "");
		}
	}, clearSelectedAmPm:function () {
		var amPmNodes = this.amPmContainerNode.getElementsByTagName("td");
		for (var i = 0; i < amPmNodes.length; i++) {
			dojo.html.setClass(amPmNodes.item(i), "");
		}
	}, clearSelectedAnyTime:function () {
		dojo.html.setClass(this.anyTimeContainerNode, "anyTimeContainer");
	}, onSetSelectedHour:function (evt) {
		this.onClearSelectedAnyTime();
		this.onClearSelectedHour();
		this.setSelectedHour(evt);
		this.onSetTime();
	}, setSelectedHour:function (evt) {
		if (evt && evt.target) {
			if (evt.target.nodeType == dojo.dom.ELEMENT_NODE) {
				var eventTarget = evt.target;
			} else {
				var eventTarget = evt.target.parentNode;
			}
			dojo.event.browser.stopEvent(evt);
			dojo.html.setClass(eventTarget, this.classNames.selectedTime);
			this.selectedTime["hour"] = eventTarget.innerHTML;
		} else {
			if (!isNaN(evt)) {
				var hourNodes = this.hourContainerNode.getElementsByTagName("td");
				if (hourNodes.item(evt)) {
					dojo.html.setClass(hourNodes.item(evt), this.classNames.selectedTime);
					this.selectedTime["hour"] = hourNodes.item(evt).innerHTML;
				}
			}
		}
		this.selectedTime.anyTime = false;
	}, onSetSelectedMinute:function (evt) {
		this.onClearSelectedAnyTime();
		this.onClearSelectedMinute();
		this.setSelectedMinute(evt);
		this.selectedTime.anyTime = false;
		this.onSetTime();
	}, setSelectedMinute:function (evt) {
		if (evt && evt.target) {
			if (evt.target.nodeType == dojo.dom.ELEMENT_NODE) {
				var eventTarget = evt.target;
			} else {
				var eventTarget = evt.target.parentNode;
			}
			dojo.event.browser.stopEvent(evt);
			dojo.html.setClass(eventTarget, this.classNames.selectedTime);
			this.selectedTime["minute"] = eventTarget.innerHTML;
		} else {
			if (!isNaN(evt)) {
				var minuteNodes = this.minuteContainerNode.getElementsByTagName("td");
				if (minuteNodes.item(evt)) {
					dojo.html.setClass(minuteNodes.item(evt), this.classNames.selectedTime);
					this.selectedTime["minute"] = minuteNodes.item(evt).innerHTML;
				}
			}
		}
	}, onSetSelectedAmPm:function (evt) {
		this.onClearSelectedAnyTime();
		this.onClearSelectedAmPm();
		this.setSelectedAmPm(evt);
		this.selectedTime.anyTime = false;
		this.onSetTime();
	}, setSelectedAmPm:function (evt) {
		var eventTarget = evt.target;
		if (evt && eventTarget) {
			if (eventTarget.nodeType != dojo.dom.ELEMENT_NODE) {
				eventTarget = eventTarget.parentNode;
			}
			dojo.event.browser.stopEvent(evt);
			this.selectedTime.amPm = eventTarget.id;
			dojo.html.setClass(eventTarget, this.classNames.selectedTime);
		} else {
			evt = evt ? 0 : 1;
			var amPmNodes = this.amPmContainerNode.getElementsByTagName("td");
			if (amPmNodes.item(evt)) {
				this.selectedTime.amPm = amPmNodes.item(evt).id;
				dojo.html.setClass(amPmNodes.item(evt), this.classNames.selectedTime);
			}
		}
	}, onSetSelectedAnyTime:function (evt) {
		this.onClearSelectedHour();
		this.onClearSelectedMinute();
		this.onClearSelectedAmPm();
		this.setSelectedAnyTime();
		this.onSetTime();
	}, setSelectedAnyTime:function (evt) {
		this.selectedTime.anyTime = true;
		dojo.html.setClass(this.anyTimeContainerNode, this.classNames.selectedTime + " " + "anyTimeContainer");
	}, onClick:function (evt) {
		dojo.event.browser.stopEvent(evt);
	}, onSetTime:function () {
		if (this.selectedTime.anyTime) {
			this.time = new Date();
			var tempDateTime = dojo.widget.TimePicker.util.toRfcDateTime(this.time);
			this.setDateTime(tempDateTime.split("T")[0]);
		} else {
			var hour = 12;
			var minute = 0;
			var isAm = false;
			if (this.selectedTime["hour"]) {
				hour = parseInt(this.selectedTime["hour"], 10);
			}
			if (this.selectedTime["minute"]) {
				minute = parseInt(this.selectedTime["minute"], 10);
			}
			if (this.selectedTime["amPm"]) {
				isAm = (this.selectedTime["amPm"].toLowerCase() == "am");
			}
			this.time = new Date();

lib/HTML/Dojo/src.pm  view on Meta::CPAN

		}
		if (dojo.lang.isFunction(arguments[p])) {
			args.push(arguments[p], arguments[p + 1]);
		} else {
			args.push(null, arguments[p]);
		}
		dojo.widget._defineWidget.apply(this, args);
	}
};
dojo.widget.defineWidget.renderers = "html|svg|vml";
dojo.widget._defineWidget = function (widgetClass, renderer, superclasses, init, props) {
	var module = widgetClass.split(".");
	var type = module.pop();
	var regx = "\\.(" + (renderer ? renderer + "|" : "") + dojo.widget.defineWidget.renderers + ")\\.";
	var r = widgetClass.search(new RegExp(regx));
	module = (r < 0 ? module.join(".") : widgetClass.substr(0, r));
	dojo.widget.manager.registerWidgetPackage(module);
	var pos = module.indexOf(".");
	var nsName = (pos > -1) ? module.substring(0, pos) : module;
	props = (props) || {};
	props.widgetType = type;
	if ((!init) && (props["classConstructor"])) {
		init = props.classConstructor;
		delete props.classConstructor;
	}
	dojo.declare(widgetClass, superclasses, init, props);
};


__CPAN_FILE__ src/widget/DropdownDatePicker.js
/*
	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
*/



dojo.provide("dojo.widget.DropdownDatePicker");
dojo.require("dojo.widget.*");
dojo.require("dojo.widget.DropdownContainer");
dojo.require("dojo.widget.DatePicker");
dojo.require("dojo.event.*");
dojo.require("dojo.html.*");
dojo.require("dojo.date.format");
dojo.require("dojo.date.serialize");
dojo.require("dojo.string.common");
dojo.require("dojo.i18n.common");
dojo.requireLocalization("dojo.widget", "DropdownDatePicker", null, "ROOT");
dojo.widget.defineWidget("dojo.widget.DropdownDatePicker", dojo.widget.DropdownContainer, {iconURL:dojo.uri.moduleUri("dojo.widget", "templates/images/dateIcon.gif"), formatLength:"short", displayFormat:"", saveFormat:"", value:"", name:"", displayWe...
	dojo.widget.DropdownDatePicker.superclass.postMixInProperties.apply(this, arguments);
	var messages = dojo.i18n.getLocalization("dojo.widget", "DropdownDatePicker", this.lang);
	this.iconAlt = messages.selectDate;
	if (typeof (this.value) == "string" && this.value.toLowerCase() == "today") {
		this.value = new Date();
	}
	if (this.value && isNaN(this.value)) {
		var orig = this.value;
		this.value = dojo.date.fromRfc3339(this.value);
		if (!this.value) {
			this.value = new Date(orig);
			dojo.deprecated("dojo.widget.DropdownDatePicker", "date attributes must be passed in Rfc3339 format", "0.5");
		}
	}
	if (this.value && !isNaN(this.value)) {
		this.value = new Date(this.value);
	}
}, fillInTemplate:function (args, frag) {
	dojo.widget.DropdownDatePicker.superclass.fillInTemplate.call(this, args, frag);
	var dpArgs = {widgetContainerId:this.widgetId, lang:this.lang, value:this.value, startDate:this.startDate, endDate:this.endDate, displayWeeks:this.displayWeeks, weekStartsOn:this.weekStartsOn, adjustWeeks:this.adjustWeeks, staticDisplay:this.staticD...
	this.datePicker = dojo.widget.createWidget("DatePicker", dpArgs, this.containerNode, "child");
	dojo.event.connect(this.datePicker, "onValueChanged", this, "_updateText");
	dojo.event.connect(this.inputNode, "onChange", this, "_updateText");
	if (this.value) {
		this._updateText();
	}
	this.containerNode.explodeClassName = "calendarBodyContainer";
	this.valueNode.name = this.name;
}, getValue:function () {
	return this.valueNode.value;
}, getDate:function () {
	return this.datePicker.value;
}, setValue:function (rfcDate) {
	this.setDate(rfcDate);
}, setDate:function (dateObj) {
	this.datePicker.setDate(dateObj);
	this._syncValueNode();
}, _updateText:function () {
	this.inputNode.value = this.datePicker.value ? dojo.date.format(this.datePicker.value, {formatLength:this.formatLength, datePattern:this.displayFormat, selector:"dateOnly", locale:this.lang}) : "";
	if (this.value < this.datePicker.startDate || this.value > this.datePicker.endDate) {
		this.inputNode.value = "";
	}
	this._syncValueNode();
	this.onValueChanged(this.getDate());
	this.hideContainer();
}, onValueChanged:function (dateObj) {
}, onInputChange:function () {
	var input = dojo.string.trim(this.inputNode.value);
	if (input) {
		var inputDate = dojo.date.parse(input, {formatLength:this.formatLength, datePattern:this.displayFormat, selector:"dateOnly", locale:this.lang});
		if (!this.datePicker._isDisabledDate(inputDate)) {
			this.setDate(inputDate);
		}
	} else {
		if (input == "") {
			this.datePicker.setDate("");
		}
		this.valueNode.value = input;
	}
	if (input) {
		this._updateText();
	}
}, _syncValueNode:function () {
	var date = this.datePicker.value;
	var value = "";
	switch (this.saveFormat.toLowerCase()) {
	  case "rfc":
	  case "iso":
	  case "":
		value = dojo.date.toRfc3339(date, "dateOnly");
		break;
	  case "posix":
	  case "unix":
		value = Number(date);
		break;

lib/HTML/Dojo/src.pm  view on Meta::CPAN

	}
	this._toggleMenu(this.menuId);
}, _setImageR:function (prefix) {
	this.arrowBackgroundImage.src = dojo.uri.moduleUri("dojo.widget", prefix + "c.gif");
	this.rightImage.src = dojo.uri.moduleUri("dojo.widget", prefix + "r.gif");
}, onKey:function (e) {
	if (!e.key) {
		return;
	}
	var menu = dojo.widget.getWidgetById(this.menuId);
	if (e.key == e.KEY_ENTER || e.key == " ") {
		this.onMouseDown(e);
		this.buttonClick(e);
		dojo.lang.setTimeout(this, "onMouseUp", 75, e);
		dojo.event.browser.stopEvent(e);
	} else {
		if (e.key == e.KEY_DOWN_ARROW && e.altKey) {
			this.rightDown(e);
			this.rightClick(e);
			dojo.lang.setTimeout(this, "rightUp", 75, e);
			dojo.event.browser.stopEvent(e);
		} else {
			if (menu && menu.isShowingNow && e.key == e.KEY_DOWN_ARROW) {
				dojo.event.disconnect(this.domNode, "onblur", this, "onBlur");
			}
		}
	}
}});


__CPAN_FILE__ src/widget/DropdownTimePicker.xd.js
/*
	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
*/



dojo.hostenv.packageLoaded({depends:[["provide", "dojo.widget.DropdownTimePicker"], ["require", "dojo.widget.*"], ["require", "dojo.widget.DropdownContainer"], ["require", "dojo.widget.TimePicker"], ["require", "dojo.event.*"], ["require", "dojo.html...
	dojo.provide("dojo.widget.DropdownTimePicker");
	dojo.require("dojo.widget.*");
	dojo.require("dojo.widget.DropdownContainer");
	dojo.require("dojo.widget.TimePicker");
	dojo.require("dojo.event.*");
	dojo.require("dojo.html.*");
	dojo.require("dojo.date.format");
	dojo.require("dojo.date.serialize");
	dojo.require("dojo.i18n.common");
	dojo.widget.defineWidget("dojo.widget.DropdownTimePicker", dojo.widget.DropdownContainer, {iconURL:dojo.uri.moduleUri("dojo.widget", "templates/images/timeIcon.gif"), formatLength:"short", displayFormat:"", timeFormat:"", saveFormat:"", value:"", na...
		dojo.widget.DropdownTimePicker.superclass.postMixInProperties.apply(this, arguments);
		var messages = dojo.i18n.getLocalization("dojo.widget", "DropdownTimePicker", this.lang);
		this.iconAlt = messages.selectTime;
		if (typeof (this.value) == "string" && this.value.toLowerCase() == "today") {
			this.value = new Date();
		}
		if (this.value && isNaN(this.value)) {
			var orig = this.value;
			this.value = dojo.date.fromRfc3339(this.value);
			if (!this.value) {
				var d = dojo.date.format(new Date(), {selector:"dateOnly", datePattern:"yyyy-MM-dd"});
				var c = orig.split(":");
				for (var i = 0; i < c.length; ++i) {
					if (c[i].length == 1) {
						c[i] = "0" + c[i];
					}
				}
				orig = c.join(":");
				this.value = dojo.date.fromRfc3339(d + "T" + orig);
				dojo.deprecated("dojo.widget.DropdownTimePicker", "time attributes must be passed in Rfc3339 format", "0.5");
			}
		}
		if (this.value && !isNaN(this.value)) {
			this.value = new Date(this.value);
		}
	}, fillInTemplate:function () {
		dojo.widget.DropdownTimePicker.superclass.fillInTemplate.apply(this, arguments);
		var value = "";
		if (this.value instanceof Date) {
			value = this.value;
		} else {
			if (this.value) {
				var orig = this.value;
				var d = dojo.date.format(new Date(), {selector:"dateOnly", datePattern:"yyyy-MM-dd"});
				var c = orig.split(":");
				for (var i = 0; i < c.length; ++i) {
					if (c[i].length == 1) {
						c[i] = "0" + c[i];
					}
				}
				orig = c.join(":");
				value = dojo.date.fromRfc3339(d + "T" + orig);
			}
		}
		var tpArgs = {widgetContainerId:this.widgetId, lang:this.lang, value:value};
		this.timePicker = dojo.widget.createWidget("TimePicker", tpArgs, this.containerNode, "child");
		dojo.event.connect(this.timePicker, "onValueChanged", this, "_updateText");
		if (this.value) {
			this._updateText();
		}
		this.containerNode.style.zIndex = this.zIndex;
		this.containerNode.explodeClassName = "timeContainer";
		this.valueNode.name = this.name;
	}, getValue:function () {
		return this.valueNode.value;
	}, getTime:function () {
		return this.timePicker.storedTime;
	}, setValue:function (rfcDate) {
		this.setTime(rfcDate);
	}, setTime:function (dateObj) {
		var value = "";
		if (dateObj instanceof Date) {
			value = dateObj;
		} else {
			if (this.value) {
				var orig = this.value;
				var d = dojo.date.format(new Date(), {selector:"dateOnly", datePattern:"yyyy-MM-dd"});
				var c = orig.split(":");
				for (var i = 0; i < c.length; ++i) {
					if (c[i].length == 1) {
						c[i] = "0" + c[i];
					}
				}
				orig = c.join(":");
				value = dojo.date.fromRfc3339(d + "T" + orig);
			}
		}
		this.timePicker.setTime(value);
		this._syncValueNode();
	}, _updateText:function () {
		if (this.timePicker.selectedTime.anyTime) {
			this.inputNode.value = "";
		} else {

lib/HTML/Dojo/src.pm  view on Meta::CPAN

		}
	}
	if (this.isEnableY) {
		if (scrollAmount > 0) {
			this._topButtonPressed(evt);
			this._buttonReleased(evt);
		} else {
			if (scrollAmount < 0) {
				this._bottomButtonPressed(evt);
				this._buttonReleased(evt);
			}
		}
	} else {
		if (this.isEnableX) {
			if (scrollAmount > 0) {
				this._rightButtonPressed(evt);
				this._buttonReleased(evt);
			} else {
				if (scrollAmount < 0) {
					this._leftButtonPressed(evt);
					this._buttonReleased(evt);
				}
			}
		}
	}
}, _discardEvent:function (evt) {
	dojo.event.browser.stopEvent(evt);
}, _setFocus:function () {
	if (this.focusNode.focus) {
		this.focusNode.focus();
	}
}, fillInTemplate:function (args, frag) {
	var source = this.getFragNodeRef(frag);
	dojo.html.copyStyle(this.domNode, source);
	var padding = this.domNode.style.padding;
	if (dojo.lang.isString(padding) && padding != "" && padding != "0px" && padding != "0px 0px 0px 0px") {
		this.topBorderNode.style.padding = this.bottomBorderNode.style.padding = padding;
		this.topBorderNode.style.paddingBottom = "0px";
		this.bottomBorderNode.style.paddingTop = "0px";
		this.rightBorderNode.style.paddingRight = this.domNode.style.paddingRight;
		this.leftBorderNode.style.paddingLeft = this.domNode.style.paddingLeft;
		this.domNode.style.padding = "0px 0px 0px 0px";
	}
	var borderWidth = this.domNode.style.borderWidth;
	if (dojo.lang.isString(borderWidth) && borderWidth != "" && borderWidth != "0px" && borderWidth != "0px 0px 0px 0px") {
		this.topBorderNode.style.borderStyle = this.rightBorderNode.style.borderStyle = this.bottomBorderNode.style.borderStyle = this.leftBorderNode.style.borderStyle = this.domNode.style.borderStyle;
		this.topBorderNode.style.borderColor = this.rightBorderNode.style.borderColor = this.bottomBorderNode.style.borderColor = this.leftBorderNode.style.borderColor = this.domNode.style.borderColor;
		this.topBorderNode.style.borderWidth = this.bottomBorderNode.style.borderWidth = borderWidth;
		this.topBorderNode.style.borderBottomWidth = "0px";
		this.bottomBorderNode.style.borderTopWidth = "0px";
		this.rightBorderNode.style.borderRightWidth = this.domNode.style.borderRightWidth;
		this.leftBorderNode.style.borderLeftWidth = this.domNode.style.borderLeftWidth;
		this.domNode.style.borderWidth = "0px 0px 0px 0px";
	}
	this._handleMove = new dojo.widget._SliderDragMoveSource(this.sliderHandleNode);
	this._handleMove.setParent(this);
	if (this.clickSelect) {
		dojo.event.connect(this.constrainingContainerNode, "onmousedown", this, "_onClick");
	}
	if (this.isEnableX) {
		this.setValueX(!isNaN(this.initialValueX) ? this.initialValueX : (!isNaN(this.minimumX) ? this.minimumX : 0));
	}
	if (!this.isEnableX || !this.showButtons) {
		this.rightButtonNode.style.width = "1px";
		this.rightButtonNode.style.visibility = "hidden";
		this.leftButtonNode.style.width = "1px";
		this.leftButtonNode.style.visibility = "hidden";
	}
	if (this.isEnableY) {
		this.setValueY(!isNaN(this.initialValueY) ? this.initialValueY : (!isNaN(this.minimumY) ? this.minimumY : 0));
	}
	if (!this.isEnableY || !this.showButtons) {
		this.bottomButtonNode.style.width = "1px";
		this.bottomButtonNode.style.visibility = "hidden";
		this.topButtonNode.style.width = "1px";
		this.topButtonNode.style.visibility = "hidden";
	}
	if (this.focusNode.addEventListener) {
		this.focusNode.addEventListener("DOMMouseScroll", dojo.lang.hitch(this, "_mouseWheeled"), false);
	}
}, _snapX:function (x) {
	if (x < 0) {
		x = 0;
	} else {
		if (x > this._constraintWidth) {
			x = this._constraintWidth;
		} else {
			var selectedValue = Math.round(x / this._valueSizeX);
			x = Math.round(selectedValue * this._valueSizeX);
		}
	}
	this.sliderHandleNode.style.left = x + "px";
	if (this.flipX) {
		this._clipLeft = x + this._clipXdelta;
	} else {
		this._clipRight = x + this._clipXdelta;
	}
	this.progressBackgroundNode.style.clip = "rect(" + this._clipTop + "px," + this._clipRight + "px," + this._clipBottom + "px," + this._clipLeft + "px)";
}, _calc_valueSizeX:function () {
	var constrainingCtrBox = dojo.html.getContentBox(this.constrainingContainerNode);
	var sliderHandleBox = dojo.html.getContentBox(this.sliderHandleNode);
	if (isNaN(constrainingCtrBox.width) || isNaN(sliderHandleBox.width) || constrainingCtrBox.width <= 0 || sliderHandleBox.width <= 0) {
		return false;
	}
	this._constraintWidth = constrainingCtrBox.width + dojo.html.getPadding(this.constrainingContainerNode).width - sliderHandleBox.width;
	if (this.flipX) {
		this._clipLeft = this._clipRight = constrainingCtrBox.width;
	} else {
		this._clipLeft = this._clipRight = 0;
	}
	this._clipXdelta = sliderHandleBox.width >> 1;
	if (!this.isEnableY) {
		this._clipTop = 0;
		this._clipBottom = constrainingCtrBox.height;
	}
	if (this._constraintWidth <= 0) {
		return false;
	}
	if (this.snapValuesX == 0) {
		this.snapValuesX = this._constraintWidth + 1;
	}
	this._valueSizeX = this._constraintWidth / (this.snapValuesX - 1);
	return true;
}, setValueX:function (value) {
	if (0 == this._valueSizeX) {
		if (this._calc_valueSizeX() == false) {
			dojo.lang.setTimeout(this, "setValueX", 100, value);
			return;
		}
	}
	if (isNaN(value)) {
		value = 0;
	}
	if (value > this.maximumX) {
		value = this.maximumX;
	} else {
		if (value < this.minimumX) {
			value = this.minimumX;
		}
	}
	var pixelPercent = (value - this.minimumX) / (this.maximumX - this.minimumX);
	if (this.flipX) {
		pixelPercent = 1 - pixelPercent;
	}
	this._snapX(pixelPercent * this._constraintWidth);
	this.notifyListeners();
}, getValueX:function () {
	var pixelPercent = dojo.html.getPixelValue(this.sliderHandleNode, "left") / this._constraintWidth;
	if (this.flipX) {
		pixelPercent = 1 - pixelPercent;
	}
	return Math.round(pixelPercent * (this.snapValuesX - 1)) * ((this.maximumX - this.minimumX) / (this.snapValuesX - 1)) + this.minimumX;
}, _snapY:function (y) {
	if (y < 0) {
		y = 0;
	} else {
		if (y > this._constraintHeight) {
			y = this._constraintHeight;
		} else {
			var selectedValue = Math.round(y / this._valueSizeY);
			y = Math.round(selectedValue * this._valueSizeY);
		}
	}
	this.sliderHandleNode.style.top = y + "px";
	if (this.flipY) {
		this._clipTop = y + this._clipYdelta;
	} else {
		this._clipBottom = y + this._clipYdelta;
	}
	this.progressBackgroundNode.style.clip = "rect(" + this._clipTop + "px," + this._clipRight + "px," + this._clipBottom + "px," + this._clipLeft + "px)";
}, _calc_valueSizeY:function () {
	var constrainingCtrBox = dojo.html.getContentBox(this.constrainingContainerNode);
	var sliderHandleBox = dojo.html.getContentBox(this.sliderHandleNode);
	if (isNaN(constrainingCtrBox.height) || isNaN(sliderHandleBox.height) || constrainingCtrBox.height <= 0 || sliderHandleBox.height <= 0) {
		return false;
	}
	this._constraintHeight = constrainingCtrBox.height + dojo.html.getPadding(this.constrainingContainerNode).height - sliderHandleBox.height;
	if (this.flipY) {
		this._clipTop = this._clipBottom = constrainingCtrBox.height;
	} else {
		this._clipTop = this._clipBottom = 0;
	}
	this._clipYdelta = sliderHandleBox.height >> 1;
	if (!this.isEnableX) {
		this._clipLeft = 0;
		this._clipRight = constrainingCtrBox.width;
	}
	if (this._constraintHeight <= 0) {
		return false;
	}
	if (this.snapValuesY == 0) {
		this.snapValuesY = this._constraintHeight + 1;
	}
	this._valueSizeY = this._constraintHeight / (this.snapValuesY - 1);
	return true;
}, setValueY:function (value) {
	if (0 == this._valueSizeY) {
		if (this._calc_valueSizeY() == false) {
			dojo.lang.setTimeout(this, "setValueY", 100, value);
			return;
		}
	}
	if (isNaN(value)) {
		value = 0;
	}
	if (value > this.maximumY) {
		value = this.maximumY;
	} else {
		if (value < this.minimumY) {
			value = this.minimumY;
		}
	}
	var pixelPercent = (value - this.minimumY) / (this.maximumY - this.minimumY);
	if (this.flipY) {
		pixelPercent = 1 - pixelPercent;
	}
	this._snapY(pixelPercent * this._constraintHeight);
	this.notifyListeners();
}, getValueY:function () {
	var pixelPercent = dojo.html.getPixelValue(this.sliderHandleNode, "top") / this._constraintHeight;
	if (this.flipY) {
		pixelPercent = 1 - pixelPercent;
	}
	return Math.round(pixelPercent * (this.snapValuesY - 1)) * ((this.maximumY - this.minimumY) / (this.snapValuesY - 1)) + this.minimumY;
}, _onClick:function (evt) {
	if (this._isDragInProgress) {
		return;
	}
	var parent = dojo.html.getAbsolutePosition(this.constrainingContainerNode, true, dojo.html.boxSizing.MARGIN_BOX);
	var content = dojo.html.getContentBox(this._handleMove.domNode);
	if (this.isEnableX) {
		var x = evt.pageX - parent.x - (content.width >> 1);
		this._snapX(x);
	}
	if (this.isEnableY) {
		var y = evt.pageY - parent.y - (content.height >> 1);
		this._snapY(y);
	}
	this.notifyListeners();
}, notifyListeners:function () {
	this.onValueChanged(this.getValueX(), this.getValueY());
}, onValueChanged:function (x, y) {
}});
dojo.widget.defineWidget("dojo.widget.SliderHorizontal", dojo.widget.Slider, {isEnableX:true, isEnableY:false, initialValue:"", snapValues:"", minimum:"", maximum:"", buttonStyle:"", backgroundSize:"height:10px;width:200px;", backgroundSrc:dojo.uri.m...
	dojo.widget.SliderHorizontal.superclass.postMixInProperties.apply(this, arguments);
	if (!isNaN(parseFloat(this.initialValue))) {
		this.initialValueX = parseFloat(this.initialValue);
	}
	if (!isNaN(parseFloat(this.minimum))) {
		this.minimumX = parseFloat(this.minimum);
	}
	if (!isNaN(parseFloat(this.maximum))) {
		this.maximumX = parseFloat(this.maximum);
	}
	if (!isNaN(parseInt(this.snapValues))) {
		this.snapValuesX = parseInt(this.snapValues);
	}
	if (dojo.lang.isString(this.buttonStyle) && this.buttonStyle != "") {
		this.buttonStyleX = this.buttonStyle;
	}
	if (dojo.lang.isBoolean(this.flip)) {
		this.flipX = this.flip;
	}
}, notifyListeners:function () {
	this.onValueChanged(this.getValueX());
}, getValue:function () {
	return this.getValueX();
}, setValue:function (value) {
	this.setValueX(value);
}, onValueChanged:function (value) {
}});
dojo.widget.defineWidget("dojo.widget.SliderVertical", dojo.widget.Slider, {isEnableX:false, isEnableY:true, initialValue:"", snapValues:"", minimum:"", maximum:"", buttonStyle:"", backgroundSize:"width:10px;height:200px;", backgroundSrc:dojo.uri.mod...
	dojo.widget.SliderVertical.superclass.postMixInProperties.apply(this, arguments);
	if (!isNaN(parseFloat(this.initialValue))) {
		this.initialValueY = parseFloat(this.initialValue);
	}
	if (!isNaN(parseFloat(this.minimum))) {
		this.minimumY = parseFloat(this.minimum);
	}
	if (!isNaN(parseFloat(this.maximum))) {
		this.maximumY = parseFloat(this.maximum);
	}
	if (!isNaN(parseInt(this.snapValues))) {
		this.snapValuesY = parseInt(this.snapValues);
	}
	if (dojo.lang.isString(this.buttonStyle) && this.buttonStyle != "") {
		this.buttonStyleY = this.buttonStyle;
	}
	if (dojo.lang.isBoolean(this.flip)) {
		this.flipY = this.flip;
	}
}, notifyListeners:function () {
	this.onValueChanged(this.getValueY());
}, getValue:function () {
	return this.getValueY();
}, setValue:function (value) {
	this.setValueY(value);
}, onValueChanged:function (value) {
}});
dojo.declare("dojo.widget._SliderDragMoveSource", dojo.dnd.HtmlDragMoveSource, {slider:null, onDragStart:function (evt) {
	this.slider._isDragInProgress = true;
	var dragObj = this.createDragMoveObject();
	this.slider.notifyListeners();
	return dragObj;
}, onDragEnd:function (evt) {
	this.slider._isDragInProgress = false;
	this.slider.notifyListeners();
}, createDragMoveObject:function () {
	var dragObj = new dojo.widget._SliderDragMoveObject(this.dragObject, this.type);
	dragObj.slider = this.slider;
	if (this.dragClass) {
		dragObj.dragClass = this.dragClass;
	}
	return dragObj;
}, setParent:function (slider) {
	this.slider = slider;
}});
dojo.declare("dojo.widget._SliderDragMoveObject", dojo.dnd.HtmlDragMoveObject, {slider:null, onDragMove:function (evt) {
	this.updateDragOffset();
	if (this.slider.isEnableX) {
		var x = this.dragOffset.x + evt.pageX;
		this.slider._snapX(x);
	}
	if (this.slider.isEnableY) {
		var y = this.dragOffset.y + evt.pageY;
		this.slider._snapY(y);
	}
	if (this.slider.activeDrag) {
		this.slider.notifyListeners();
	}
}});


__CPAN_FILE__ src/widget/DropdownDatePicker.xd.js
/*
	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
*/



dojo.hostenv.packageLoaded({depends:[["provide", "dojo.widget.DropdownDatePicker"], ["require", "dojo.widget.*"], ["require", "dojo.widget.DropdownContainer"], ["require", "dojo.widget.DatePicker"], ["require", "dojo.event.*"], ["require", "dojo.html...
	dojo.provide("dojo.widget.DropdownDatePicker");
	dojo.require("dojo.widget.*");
	dojo.require("dojo.widget.DropdownContainer");
	dojo.require("dojo.widget.DatePicker");
	dojo.require("dojo.event.*");
	dojo.require("dojo.html.*");
	dojo.require("dojo.date.format");
	dojo.require("dojo.date.serialize");
	dojo.require("dojo.string.common");
	dojo.require("dojo.i18n.common");
	dojo.widget.defineWidget("dojo.widget.DropdownDatePicker", dojo.widget.DropdownContainer, {iconURL:dojo.uri.moduleUri("dojo.widget", "templates/images/dateIcon.gif"), formatLength:"short", displayFormat:"", saveFormat:"", value:"", name:"", displayW...
		dojo.widget.DropdownDatePicker.superclass.postMixInProperties.apply(this, arguments);
		var messages = dojo.i18n.getLocalization("dojo.widget", "DropdownDatePicker", this.lang);
		this.iconAlt = messages.selectDate;
		if (typeof (this.value) == "string" && this.value.toLowerCase() == "today") {
			this.value = new Date();
		}
		if (this.value && isNaN(this.value)) {
			var orig = this.value;
			this.value = dojo.date.fromRfc3339(this.value);
			if (!this.value) {
				this.value = new Date(orig);
				dojo.deprecated("dojo.widget.DropdownDatePicker", "date attributes must be passed in Rfc3339 format", "0.5");
			}
		}
		if (this.value && !isNaN(this.value)) {
			this.value = new Date(this.value);
		}
	}, fillInTemplate:function (args, frag) {
		dojo.widget.DropdownDatePicker.superclass.fillInTemplate.call(this, args, frag);
		var dpArgs = {widgetContainerId:this.widgetId, lang:this.lang, value:this.value, startDate:this.startDate, endDate:this.endDate, displayWeeks:this.displayWeeks, weekStartsOn:this.weekStartsOn, adjustWeeks:this.adjustWeeks, staticDisplay:this.static...
		this.datePicker = dojo.widget.createWidget("DatePicker", dpArgs, this.containerNode, "child");
		dojo.event.connect(this.datePicker, "onValueChanged", this, "_updateText");
		dojo.event.connect(this.inputNode, "onChange", this, "_updateText");
		if (this.value) {
			this._updateText();
		}
		this.containerNode.explodeClassName = "calendarBodyContainer";
		this.valueNode.name = this.name;
	}, getValue:function () {
		return this.valueNode.value;
	}, getDate:function () {
		return this.datePicker.value;
	}, setValue:function (rfcDate) {
		this.setDate(rfcDate);
	}, setDate:function (dateObj) {
		this.datePicker.setDate(dateObj);
		this._syncValueNode();
	}, _updateText:function () {
		this.inputNode.value = this.datePicker.value ? dojo.date.format(this.datePicker.value, {formatLength:this.formatLength, datePattern:this.displayFormat, selector:"dateOnly", locale:this.lang}) : "";
		if (this.value < this.datePicker.startDate || this.value > this.datePicker.endDate) {
			this.inputNode.value = "";
		}
		this._syncValueNode();
		this.onValueChanged(this.getDate());
		this.hideContainer();
	}, onValueChanged:function (dateObj) {
	}, onInputChange:function () {
		var input = dojo.string.trim(this.inputNode.value);
		if (input) {
			var inputDate = dojo.date.parse(input, {formatLength:this.formatLength, datePattern:this.displayFormat, selector:"dateOnly", locale:this.lang});
			if (!this.datePicker._isDisabledDate(inputDate)) {
				this.setDate(inputDate);
			}
		} else {
			if (input == "") {
				this.datePicker.setDate("");
			}
			this.valueNode.value = input;
		}
		if (input) {
			this._updateText();
		}
	}, _syncValueNode:function () {
		var date = this.datePicker.value;
		var value = "";
		switch (this.saveFormat.toLowerCase()) {
		  case "rfc":
		  case "iso":
		  case "":
			value = dojo.date.toRfc3339(date, "dateOnly");
			break;
		  case "posix":
		  case "unix":
			value = Number(date);
			break;

lib/HTML/Dojo/src.pm  view on Meta::CPAN

			var cells = row.cells;
			var x = Number.MIN_VALUE;
			for (var j = 0; j < cells.length; j++) {
				if (j == 0) {
					x = parseFloat(cells[j].innerHTML);
					xMin = Math.min(xMin, x);
					xMax = Math.max(xMax, x);
				} else {
					var ds = this.series[j - 1];
					var y = parseFloat(cells[j].innerHTML);
					yMin = Math.min(yMin, y);
					yMax = Math.max(yMax, y);
					var o = {x:x, value:y};
					var attrs = cells[j].attributes;
					for (var k = 0; k < attrs.length; k++) {
						var attr = attrs.item(k);
						var bIgnore = false;
						for (var l = 0; l < ignore.length; l++) {
							if (attr.nodeName.toLowerCase() == ignore[l]) {
								bIgnore = true;
								break;
							}
						}
						if (!bIgnore) {
							o[attr.nodeName] = attr.nodeValue;
						}
					}
					ds.add(o);
				}
			}
		}
		return {x:{min:xMin, max:xMax}, y:{min:yMin, max:yMax}};
	}});
	dojo.declare("dojo.widget.Chart.DataSeries", null, function (key, label, plotType, color) {
		this.id = "DataSeries" + dojo.widget.Chart.DataSeries.count++;
		this.key = key;
		this.label = label || this.id;
		this.plotType = plotType || "line";
		this.color = color;
		this.values = [];
	}, {add:function (v) {
		if (v.x == null || v.value == null) {
			dojo.raise("dojo.widget.Chart.DataSeries.add: v must have both an 'x' and 'value' property.");
		}
		this.values.push(v);
	}, clear:function () {
		this.values = [];
	}, createRange:function (len) {
		var idx = this.values.length - 1;
		var length = (len || this.values.length);
		return {"index":idx, "length":length, "start":Math.max(idx - length, 0)};
	}, getMean:function (len) {
		var range = this.createRange(len);
		if (range.index < 0) {
			return 0;
		}
		var t = 0;
		var c = 0;
		for (var i = range.index; i >= range.start; i--) {
			var n = parseFloat(this.values[i].value);
			if (!isNaN(n)) {
				t += n;
				c++;
			}
		}
		t /= Math.max(c, 1);
		return t;
	}, getMovingAverage:function (len) {
		var range = this.createRange(len);
		if (range.index < 0) {
			return 0;
		}
		var t = 0;
		var c = 0;
		for (var i = range.index; i >= range.start; i--) {
			var n = parseFloat(this.values[i].value);
			if (!isNaN(n)) {
				t += n;
				c++;
			}
		}
		t /= Math.max(c, 1);
		return t;
	}, getVariance:function (len) {
		var range = this.createRange(len);
		if (range.index < 0) {
			return 0;
		}
		var t = 0;
		var s = 0;
		var c = 0;
		for (var i = range.index; i >= range.start; i--) {
			var n = parseFloat(this.values[i].value);
			if (!isNaN(n)) {
				t += n;
				s += Math.pow(n, 2);
				c++;
			}
		}
		return (s / c) - Math.pow(t / c, 2);
	}, getStandardDeviation:function (len) {
		return Math.sqrt(this.getVariance(len));
	}, getMax:function (len) {
		var range = this.createRange(len);
		if (range.index < 0) {
			return 0;
		}
		var t = 0;
		for (var i = range.index; i >= range.start; i--) {
			var n = parseFloat(this.values[i].value);
			if (!isNaN(n)) {
				t = Math.max(n, t);
			}
		}
		return t;
	}, getMin:function (len) {
		var range = this.createRange(len);
		if (range.index < 0) {
			return 0;
		}
		var t = 0;
		for (var i = range.index; i >= range.start; i--) {
			var n = parseFloat(this.values[i].value);
			if (!isNaN(n)) {
				t = Math.min(n, t);
			}
		}
		return t;
	}, getMedian:function (len) {
		var range = this.createRange(len);
		if (range.index < 0) {
			return 0;
		}
		var a = [];
		for (var i = range.index; i >= range.start; i--) {
			var n = parseFloat(this.values[i].value);
			if (!isNaN(n)) {
				var b = false;
				for (var j = 0; j < a.length && !b; j++) {
					if (n == a[j]) {
						b = true;
					}
				}
				if (!b) {
					a.push(n);
				}
			}
		}
		a.sort();
		if (a.length > 0) {
			return a[Math.ceil(a.length / 2)];
		}
		return 0;
	}, getMode:function (len) {
		var range = this.createRange(len);
		if (range.index < 0) {
			return 0;
		}
		var o = {};
		var ret = 0;
		var m = 0;
		for (var i = range.index; i >= range.start; i--) {
			var n = parseFloat(this.values[i].value);
			if (!isNaN(n)) {
				if (!o[this.values[i].value]) {
					o[this.values[i].value] = 1;
				} else {
					o[this.values[i].value]++;
				}
			}
		}
		for (var p in o) {
			if (m < o[p]) {
				m = o[p];
				ret = p;
			}
		}
		return parseFloat(ret);
	}});
	dojo.requireIf(dojo.render.svg.capable, "dojo.widget.svg.Chart");
	dojo.requireIf(!dojo.render.svg.capable && dojo.render.vml.capable, "dojo.widget.vml.Chart");
}});


__CPAN_FILE__ src/widget/AnimatedPng.js
/*
	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
*/



dojo.provide("dojo.widget.AnimatedPng");
dojo.require("dojo.widget.*");
dojo.require("dojo.widget.HtmlWidget");
dojo.widget.defineWidget("dojo.widget.AnimatedPng", dojo.widget.HtmlWidget, {isContainer:false, width:0, height:0, aniSrc:"", interval:100, _blankSrc:dojo.uri.moduleUri("dojo.widget", "templates/images/blank.gif"), templateString:"<img class=\"dojoAn...
	this.cellWidth = this.width;
	this.cellHeight = this.height;
	var img = new Image();
	var self = this;
	img.onload = function () {
		self._initAni(img.width, img.height);
	};
	img.src = this.aniSrc;
}, _initAni:function (w, h) {
	this.domNode.src = this._blankSrc;
	this.domNode.width = this.cellWidth;
	this.domNode.height = this.cellHeight;
	this.domNode.style.backgroundImage = "url(" + this.aniSrc + ")";
	this.domNode.style.backgroundRepeat = "no-repeat";
	this.aniCols = Math.floor(w / this.cellWidth);
	this.aniRows = Math.floor(h / this.cellHeight);
	this.aniCells = this.aniCols * this.aniRows;
	this.aniFrame = 0;
	window.setInterval(dojo.lang.hitch(this, "_tick"), this.interval);
}, _tick:function () {
	this.aniFrame++;
	if (this.aniFrame == this.aniCells) {
		this.aniFrame = 0;

lib/HTML/Dojo/src.pm  view on Meta::CPAN

		this.sortInformation = [];
		var row = head.getElementsByTagName("tr")[0];
		var cells = row.getElementsByTagName("td");
		if (cells.length == 0) {
			cells = row.getElementsByTagName("th");
		}
		for (var i = 0; i < cells.length; i++) {
			var o = this.createMetaData({});
			if (dojo.html.hasAttribute(cells[i], "align")) {
				o.align = dojo.html.getAttribute(cells[i], "align");
			}
			if (dojo.html.hasAttribute(cells[i], "valign")) {
				o.valign = dojo.html.getAttribute(cells[i], "valign");
			}
			if (dojo.html.hasAttribute(cells[i], "nosort")) {
				o.noSort = (dojo.html.getAttribute(cells[i], "nosort") == "true");
			}
			if (dojo.html.hasAttribute(cells[i], "sortusing")) {
				var trans = dojo.html.getAttribute(cells[i], "sortusing");
				var f = this.getTypeFromString(trans);
				if (f != null && f != window && typeof (f) == "function") {
					o.sortFunction = f;
				}
			}
			o.label = dojo.html.renderedTextContent(cells[i]);
			if (dojo.html.hasAttribute(cells[i], "field")) {
				o.field = dojo.html.getAttribute(cells[i], "field");
			} else {
				if (o.label.length > 0) {
					o.field = o.label;
				} else {
					o.field = "field" + i;
				}
			}
			if (dojo.html.hasAttribute(cells[i], "format")) {
				o.format = dojo.html.getAttribute(cells[i], "format");
			}
			if (dojo.html.hasAttribute(cells[i], "dataType")) {
				var sortType = dojo.html.getAttribute(cells[i], "dataType");
				if (sortType.toLowerCase() == "html" || sortType.toLowerCase() == "markup") {
					o.sortType = "__markup__";
				} else {
					var type = this.getTypeFromString(sortType);
					if (type) {
						o.sortType = sortType;
						o.dataType = type;
					}
				}
			}
			if (dojo.html.hasAttribute(cells[i], "filterusing")) {
				var trans = dojo.html.getAttribute(cells[i], "filterusing");
				var f = this.getTypeFromString(trans);
				if (f != null && f != window && typeof (f) == "function") {
					o.filterFunction = f;
				}
			}
			this.columns.push(o);
			if (dojo.html.hasAttribute(cells[i], "sort")) {
				var info = {index:i, direction:0};
				var dir = dojo.html.getAttribute(cells[i], "sort");
				if (!isNaN(parseInt(dir))) {
					dir = parseInt(dir);
					info.direction = (dir != 0) ? 1 : 0;
				} else {
					info.direction = (dir.toLowerCase() == "desc") ? 1 : 0;
				}
				this.sortInformation.push(info);
			}
		}
		if (this.sortInformation.length == 0) {
			this.sortInformation.push({index:0, direction:0});
		} else {
			if (this.sortInformation.length > this.maxSortable) {
				this.sortInformation.length = this.maxSortable;
			}
		}
	}, parseData:function (body) {
		if (body.rows.length == 0 && this.columns.length == 0) {
			return;
		}
		var self = this;
		this["__selected__"] = [];
		var arr = this.store.getFromHtml(this.columns, body, function (obj, row) {
			if (typeof (obj[self.valueField]) == "undefined" || obj[self.valueField] == null) {
				obj[self.valueField] = dojo.html.getAttribute(row, "value");
			}
			if (dojo.html.getAttribute(row, "selected") == "true") {
				self["__selected__"].push(obj);
			}
		});
		this.store.setData(arr, true);
		this.render();
		for (var i = 0; i < this["__selected__"].length; i++) {
			this.select(this["__selected__"][i]);
		}
		this.renderSelections();
		delete this["__selected__"];
		this.isInitialized = true;
	}, onSelect:function (e) {
		var row = dojo.html.getParentByType(e.target, "tr");
		if (dojo.html.hasAttribute(row, "emptyRow")) {
			return;
		}
		var body = dojo.html.getParentByType(row, "tbody");
		if (this.multiple) {
			if (e.shiftKey) {
				var startRow;
				var rows = body.rows;
				for (var i = 0; i < rows.length; i++) {
					if (rows[i] == row) {
						break;
					}
					if (this.isRowSelected(rows[i])) {
						startRow = rows[i];
					}
				}
				if (!startRow) {
					startRow = row;
					for (; i < rows.length; i++) {
						if (this.isRowSelected(rows[i])) {
							row = rows[i];

lib/HTML/Dojo/src.pm  view on Meta::CPAN

				if (dojo.html.hasAttribute(rowA, "emptyRow")) {
					return 1;
				}
				if (dojo.html.hasAttribute(rowB, "emptyRow")) {
					return -1;
				}
				var a = self.store.getField(self.getDataByRow(rowA), field);
				var b = self.store.getField(self.getDataByRow(rowB), field);
				var ret = 0;
				if (a > b) {
					ret = 1;
				}
				if (a < b) {
					ret = -1;
				}
				return dir * ret;
			};
		}
		var current = 0;
		var max = Math.min(info.length, this.maxSortable, this.columns.length);
		while (current < max) {
			var direction = (info[current].direction == 0) ? 1 : -1;
			sortFunctions.push(createSortFunction(info[current].index, direction));
			current++;
		}
		return function (rowA, rowB) {
			var idx = 0;
			while (idx < sortFunctions.length) {
				var ret = sortFunctions[idx++](rowA, rowB);
				if (ret != 0) {
					return ret;
				}
			}
			return 0;
		};
	}, createRow:function (obj) {
		var row = document.createElement("tr");
		dojo.html.disableSelection(row);
		if (obj.key != null) {
			row.setAttribute("value", obj.key);
		}
		for (var j = 0; j < this.columns.length; j++) {
			var cell = document.createElement("td");
			cell.setAttribute("align", this.columns[j].align);
			cell.setAttribute("valign", this.columns[j].valign);
			dojo.html.disableSelection(cell);
			var val = this.store.getField(obj.src, this.columns[j].getField());
			if (typeof (val) == "undefined") {
				val = "";
			}
			this.fillCell(cell, this.columns[j], val);
			row.appendChild(cell);
		}
		return row;
	}, fillCell:function (cell, meta, val) {
		if (meta.sortType == "__markup__") {
			cell.innerHTML = val;
		} else {
			if (meta.getType() == Date) {
				val = new Date(val);
				if (!isNaN(val)) {
					var format = this.defaultDateFormat;
					if (meta.format) {
						format = meta.format;
					}
					cell.innerHTML = dojo.date.strftime(val, format);
				} else {
					cell.innerHTML = val;
				}
			} else {
				if ("Number number int Integer float Float".indexOf(meta.getType()) > -1) {
					if (val.length == 0) {
						val = "0";
					}
					var n = parseFloat(val, 10) + "";
					if (n.indexOf(".") > -1) {
						n = dojo.math.round(parseFloat(val, 10), 2);
					}
					cell.innerHTML = n;
				} else {
					cell.innerHTML = val;
				}
			}
		}
	}, prefill:function () {
		this.isInitialized = false;
		var body = this.domNode.tBodies[0];
		while (body.childNodes.length > 0) {
			body.removeChild(body.childNodes[0]);
		}
		if (this.minRows > 0) {
			for (var i = 0; i < this.minRows; i++) {
				var row = document.createElement("tr");
				if (this.alternateRows) {
					dojo.html[((i % 2 == 1) ? "addClass" : "removeClass")](row, this.rowAlternateClass);
				}
				row.setAttribute("emptyRow", "true");
				for (var j = 0; j < this.columns.length; j++) {
					var cell = document.createElement("td");
					cell.innerHTML = "&nbsp;";
					row.appendChild(cell);
				}
				body.appendChild(row);
			}
		}
	}, init:function () {
		this.isInitialized = false;
		var head = this.domNode.getElementsByTagName("thead")[0];
		if (head.getElementsByTagName("tr").length == 0) {
			var row = document.createElement("tr");
			for (var i = 0; i < this.columns.length; i++) {
				var cell = document.createElement("td");
				cell.setAttribute("align", this.columns[i].align);
				cell.setAttribute("valign", this.columns[i].valign);
				dojo.html.disableSelection(cell);
				cell.innerHTML = this.columns[i].label;
				row.appendChild(cell);
				if (!this.columns[i].noSort) {
					dojo.event.connect(cell, "onclick", this, "onSort");
				}
			}

lib/HTML/Dojo/src.pm  view on Meta::CPAN

		var cells = row.cells;
		var x = Number.MIN_VALUE;
		for (var j = 0; j < cells.length; j++) {
			if (j == 0) {
				x = parseFloat(cells[j].innerHTML);
				xMin = Math.min(xMin, x);
				xMax = Math.max(xMax, x);
			} else {
				var ds = this.series[j - 1];
				var y = parseFloat(cells[j].innerHTML);
				yMin = Math.min(yMin, y);
				yMax = Math.max(yMax, y);
				var o = {x:x, value:y};
				var attrs = cells[j].attributes;
				for (var k = 0; k < attrs.length; k++) {
					var attr = attrs.item(k);
					var bIgnore = false;
					for (var l = 0; l < ignore.length; l++) {
						if (attr.nodeName.toLowerCase() == ignore[l]) {
							bIgnore = true;
							break;
						}
					}
					if (!bIgnore) {
						o[attr.nodeName] = attr.nodeValue;
					}
				}
				ds.add(o);
			}
		}
	}
	return {x:{min:xMin, max:xMax}, y:{min:yMin, max:yMax}};
}});
dojo.declare("dojo.widget.Chart.DataSeries", null, function (key, label, plotType, color) {
	this.id = "DataSeries" + dojo.widget.Chart.DataSeries.count++;
	this.key = key;
	this.label = label || this.id;
	this.plotType = plotType || "line";
	this.color = color;
	this.values = [];
}, {add:function (v) {
	if (v.x == null || v.value == null) {
		dojo.raise("dojo.widget.Chart.DataSeries.add: v must have both an 'x' and 'value' property.");
	}
	this.values.push(v);
}, clear:function () {
	this.values = [];
}, createRange:function (len) {
	var idx = this.values.length - 1;
	var length = (len || this.values.length);
	return {"index":idx, "length":length, "start":Math.max(idx - length, 0)};
}, getMean:function (len) {
	var range = this.createRange(len);
	if (range.index < 0) {
		return 0;
	}
	var t = 0;
	var c = 0;
	for (var i = range.index; i >= range.start; i--) {
		var n = parseFloat(this.values[i].value);
		if (!isNaN(n)) {
			t += n;
			c++;
		}
	}
	t /= Math.max(c, 1);
	return t;
}, getMovingAverage:function (len) {
	var range = this.createRange(len);
	if (range.index < 0) {
		return 0;
	}
	var t = 0;
	var c = 0;
	for (var i = range.index; i >= range.start; i--) {
		var n = parseFloat(this.values[i].value);
		if (!isNaN(n)) {
			t += n;
			c++;
		}
	}
	t /= Math.max(c, 1);
	return t;
}, getVariance:function (len) {
	var range = this.createRange(len);
	if (range.index < 0) {
		return 0;
	}
	var t = 0;
	var s = 0;
	var c = 0;
	for (var i = range.index; i >= range.start; i--) {
		var n = parseFloat(this.values[i].value);
		if (!isNaN(n)) {
			t += n;
			s += Math.pow(n, 2);
			c++;
		}
	}
	return (s / c) - Math.pow(t / c, 2);
}, getStandardDeviation:function (len) {
	return Math.sqrt(this.getVariance(len));
}, getMax:function (len) {
	var range = this.createRange(len);
	if (range.index < 0) {
		return 0;
	}
	var t = 0;
	for (var i = range.index; i >= range.start; i--) {
		var n = parseFloat(this.values[i].value);
		if (!isNaN(n)) {
			t = Math.max(n, t);
		}
	}
	return t;
}, getMin:function (len) {
	var range = this.createRange(len);
	if (range.index < 0) {
		return 0;
	}
	var t = 0;
	for (var i = range.index; i >= range.start; i--) {
		var n = parseFloat(this.values[i].value);
		if (!isNaN(n)) {
			t = Math.min(n, t);
		}
	}
	return t;
}, getMedian:function (len) {
	var range = this.createRange(len);
	if (range.index < 0) {
		return 0;
	}
	var a = [];
	for (var i = range.index; i >= range.start; i--) {
		var n = parseFloat(this.values[i].value);
		if (!isNaN(n)) {
			var b = false;
			for (var j = 0; j < a.length && !b; j++) {
				if (n == a[j]) {
					b = true;
				}
			}
			if (!b) {
				a.push(n);
			}
		}
	}
	a.sort();
	if (a.length > 0) {
		return a[Math.ceil(a.length / 2)];
	}
	return 0;
}, getMode:function (len) {
	var range = this.createRange(len);
	if (range.index < 0) {
		return 0;
	}
	var o = {};
	var ret = 0;
	var m = 0;
	for (var i = range.index; i >= range.start; i--) {
		var n = parseFloat(this.values[i].value);
		if (!isNaN(n)) {
			if (!o[this.values[i].value]) {
				o[this.values[i].value] = 1;
			} else {
				o[this.values[i].value]++;
			}
		}
	}
	for (var p in o) {
		if (m < o[p]) {
			m = o[p];
			ret = p;
		}
	}
	return parseFloat(ret);
}});
dojo.requireIf(dojo.render.svg.capable, "dojo.widget.svg.Chart");
dojo.requireIf(!dojo.render.svg.capable && dojo.render.vml.capable, "dojo.widget.vml.Chart");


__CPAN_FILE__ src/widget/Textbox.js
/*
	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
*/



dojo.provide("dojo.widget.Textbox");
dojo.require("dojo.widget.*");
dojo.require("dojo.widget.HtmlWidget");
dojo.require("dojo.widget.Manager");
dojo.require("dojo.widget.Parse");
dojo.require("dojo.xml.Parse");
dojo.require("dojo.lang.array");
dojo.require("dojo.lang.common");
dojo.require("dojo.i18n.common");
dojo.requireLocalization("dojo.widget", "validate", null, "zh-cn,ja,ROOT,fr");
dojo.widget.defineWidget("dojo.widget.Textbox", dojo.widget.HtmlWidget, {className:"", name:"", value:"", type:"", trim:false, uppercase:false, lowercase:false, ucFirst:false, digit:false, htmlfloat:"none", templateString:"<span style='float:${this.h...
	this.textbox.value = this.value;
}, filter:function () {
	if (this.trim) {
		this.textbox.value = this.textbox.value.replace(/(^\s*|\s*$)/g, "");
	}
	if (this.uppercase) {
		this.textbox.value = this.textbox.value.toUpperCase();
	}
	if (this.lowercase) {
		this.textbox.value = this.textbox.value.toLowerCase();
	}
	if (this.ucFirst) {
		this.textbox.value = this.textbox.value.replace(/\b\w+\b/g, function (word) {
			return word.substring(0, 1).toUpperCase() + word.substring(1).toLowerCase();
		});
	}
	if (this.digit) {

lib/HTML/Dojo/src.pm  view on Meta::CPAN

			}
		}
		if (this.isEnableY) {
			if (scrollAmount > 0) {
				this._topButtonPressed(evt);
				this._buttonReleased(evt);
			} else {
				if (scrollAmount < 0) {
					this._bottomButtonPressed(evt);
					this._buttonReleased(evt);
				}
			}
		} else {
			if (this.isEnableX) {
				if (scrollAmount > 0) {
					this._rightButtonPressed(evt);
					this._buttonReleased(evt);
				} else {
					if (scrollAmount < 0) {
						this._leftButtonPressed(evt);
						this._buttonReleased(evt);
					}
				}
			}
		}
	}, _discardEvent:function (evt) {
		dojo.event.browser.stopEvent(evt);
	}, _setFocus:function () {
		if (this.focusNode.focus) {
			this.focusNode.focus();
		}
	}, fillInTemplate:function (args, frag) {
		var source = this.getFragNodeRef(frag);
		dojo.html.copyStyle(this.domNode, source);
		var padding = this.domNode.style.padding;
		if (dojo.lang.isString(padding) && padding != "" && padding != "0px" && padding != "0px 0px 0px 0px") {
			this.topBorderNode.style.padding = this.bottomBorderNode.style.padding = padding;
			this.topBorderNode.style.paddingBottom = "0px";
			this.bottomBorderNode.style.paddingTop = "0px";
			this.rightBorderNode.style.paddingRight = this.domNode.style.paddingRight;
			this.leftBorderNode.style.paddingLeft = this.domNode.style.paddingLeft;
			this.domNode.style.padding = "0px 0px 0px 0px";
		}
		var borderWidth = this.domNode.style.borderWidth;
		if (dojo.lang.isString(borderWidth) && borderWidth != "" && borderWidth != "0px" && borderWidth != "0px 0px 0px 0px") {
			this.topBorderNode.style.borderStyle = this.rightBorderNode.style.borderStyle = this.bottomBorderNode.style.borderStyle = this.leftBorderNode.style.borderStyle = this.domNode.style.borderStyle;
			this.topBorderNode.style.borderColor = this.rightBorderNode.style.borderColor = this.bottomBorderNode.style.borderColor = this.leftBorderNode.style.borderColor = this.domNode.style.borderColor;
			this.topBorderNode.style.borderWidth = this.bottomBorderNode.style.borderWidth = borderWidth;
			this.topBorderNode.style.borderBottomWidth = "0px";
			this.bottomBorderNode.style.borderTopWidth = "0px";
			this.rightBorderNode.style.borderRightWidth = this.domNode.style.borderRightWidth;
			this.leftBorderNode.style.borderLeftWidth = this.domNode.style.borderLeftWidth;
			this.domNode.style.borderWidth = "0px 0px 0px 0px";
		}
		this._handleMove = new dojo.widget._SliderDragMoveSource(this.sliderHandleNode);
		this._handleMove.setParent(this);
		if (this.clickSelect) {
			dojo.event.connect(this.constrainingContainerNode, "onmousedown", this, "_onClick");
		}
		if (this.isEnableX) {
			this.setValueX(!isNaN(this.initialValueX) ? this.initialValueX : (!isNaN(this.minimumX) ? this.minimumX : 0));
		}
		if (!this.isEnableX || !this.showButtons) {
			this.rightButtonNode.style.width = "1px";
			this.rightButtonNode.style.visibility = "hidden";
			this.leftButtonNode.style.width = "1px";
			this.leftButtonNode.style.visibility = "hidden";
		}
		if (this.isEnableY) {
			this.setValueY(!isNaN(this.initialValueY) ? this.initialValueY : (!isNaN(this.minimumY) ? this.minimumY : 0));
		}
		if (!this.isEnableY || !this.showButtons) {
			this.bottomButtonNode.style.width = "1px";
			this.bottomButtonNode.style.visibility = "hidden";
			this.topButtonNode.style.width = "1px";
			this.topButtonNode.style.visibility = "hidden";
		}
		if (this.focusNode.addEventListener) {
			this.focusNode.addEventListener("DOMMouseScroll", dojo.lang.hitch(this, "_mouseWheeled"), false);
		}
	}, _snapX:function (x) {
		if (x < 0) {
			x = 0;
		} else {
			if (x > this._constraintWidth) {
				x = this._constraintWidth;
			} else {
				var selectedValue = Math.round(x / this._valueSizeX);
				x = Math.round(selectedValue * this._valueSizeX);
			}
		}
		this.sliderHandleNode.style.left = x + "px";
		if (this.flipX) {
			this._clipLeft = x + this._clipXdelta;
		} else {
			this._clipRight = x + this._clipXdelta;
		}
		this.progressBackgroundNode.style.clip = "rect(" + this._clipTop + "px," + this._clipRight + "px," + this._clipBottom + "px," + this._clipLeft + "px)";
	}, _calc_valueSizeX:function () {
		var constrainingCtrBox = dojo.html.getContentBox(this.constrainingContainerNode);
		var sliderHandleBox = dojo.html.getContentBox(this.sliderHandleNode);
		if (isNaN(constrainingCtrBox.width) || isNaN(sliderHandleBox.width) || constrainingCtrBox.width <= 0 || sliderHandleBox.width <= 0) {
			return false;
		}
		this._constraintWidth = constrainingCtrBox.width + dojo.html.getPadding(this.constrainingContainerNode).width - sliderHandleBox.width;
		if (this.flipX) {
			this._clipLeft = this._clipRight = constrainingCtrBox.width;
		} else {
			this._clipLeft = this._clipRight = 0;
		}
		this._clipXdelta = sliderHandleBox.width >> 1;
		if (!this.isEnableY) {
			this._clipTop = 0;
			this._clipBottom = constrainingCtrBox.height;
		}
		if (this._constraintWidth <= 0) {
			return false;
		}
		if (this.snapValuesX == 0) {
			this.snapValuesX = this._constraintWidth + 1;
		}
		this._valueSizeX = this._constraintWidth / (this.snapValuesX - 1);
		return true;
	}, setValueX:function (value) {
		if (0 == this._valueSizeX) {
			if (this._calc_valueSizeX() == false) {
				dojo.lang.setTimeout(this, "setValueX", 100, value);
				return;
			}
		}
		if (isNaN(value)) {
			value = 0;
		}
		if (value > this.maximumX) {
			value = this.maximumX;
		} else {
			if (value < this.minimumX) {
				value = this.minimumX;
			}
		}
		var pixelPercent = (value - this.minimumX) / (this.maximumX - this.minimumX);
		if (this.flipX) {
			pixelPercent = 1 - pixelPercent;
		}
		this._snapX(pixelPercent * this._constraintWidth);
		this.notifyListeners();
	}, getValueX:function () {
		var pixelPercent = dojo.html.getPixelValue(this.sliderHandleNode, "left") / this._constraintWidth;
		if (this.flipX) {
			pixelPercent = 1 - pixelPercent;
		}
		return Math.round(pixelPercent * (this.snapValuesX - 1)) * ((this.maximumX - this.minimumX) / (this.snapValuesX - 1)) + this.minimumX;
	}, _snapY:function (y) {
		if (y < 0) {
			y = 0;
		} else {
			if (y > this._constraintHeight) {
				y = this._constraintHeight;
			} else {
				var selectedValue = Math.round(y / this._valueSizeY);
				y = Math.round(selectedValue * this._valueSizeY);
			}
		}
		this.sliderHandleNode.style.top = y + "px";
		if (this.flipY) {
			this._clipTop = y + this._clipYdelta;
		} else {
			this._clipBottom = y + this._clipYdelta;
		}
		this.progressBackgroundNode.style.clip = "rect(" + this._clipTop + "px," + this._clipRight + "px," + this._clipBottom + "px," + this._clipLeft + "px)";
	}, _calc_valueSizeY:function () {
		var constrainingCtrBox = dojo.html.getContentBox(this.constrainingContainerNode);
		var sliderHandleBox = dojo.html.getContentBox(this.sliderHandleNode);
		if (isNaN(constrainingCtrBox.height) || isNaN(sliderHandleBox.height) || constrainingCtrBox.height <= 0 || sliderHandleBox.height <= 0) {
			return false;
		}
		this._constraintHeight = constrainingCtrBox.height + dojo.html.getPadding(this.constrainingContainerNode).height - sliderHandleBox.height;
		if (this.flipY) {
			this._clipTop = this._clipBottom = constrainingCtrBox.height;
		} else {
			this._clipTop = this._clipBottom = 0;
		}
		this._clipYdelta = sliderHandleBox.height >> 1;
		if (!this.isEnableX) {
			this._clipLeft = 0;
			this._clipRight = constrainingCtrBox.width;
		}
		if (this._constraintHeight <= 0) {
			return false;
		}
		if (this.snapValuesY == 0) {
			this.snapValuesY = this._constraintHeight + 1;
		}
		this._valueSizeY = this._constraintHeight / (this.snapValuesY - 1);
		return true;
	}, setValueY:function (value) {
		if (0 == this._valueSizeY) {
			if (this._calc_valueSizeY() == false) {
				dojo.lang.setTimeout(this, "setValueY", 100, value);
				return;
			}
		}
		if (isNaN(value)) {
			value = 0;
		}
		if (value > this.maximumY) {
			value = this.maximumY;
		} else {
			if (value < this.minimumY) {
				value = this.minimumY;
			}
		}
		var pixelPercent = (value - this.minimumY) / (this.maximumY - this.minimumY);
		if (this.flipY) {
			pixelPercent = 1 - pixelPercent;
		}
		this._snapY(pixelPercent * this._constraintHeight);
		this.notifyListeners();
	}, getValueY:function () {
		var pixelPercent = dojo.html.getPixelValue(this.sliderHandleNode, "top") / this._constraintHeight;
		if (this.flipY) {
			pixelPercent = 1 - pixelPercent;
		}
		return Math.round(pixelPercent * (this.snapValuesY - 1)) * ((this.maximumY - this.minimumY) / (this.snapValuesY - 1)) + this.minimumY;
	}, _onClick:function (evt) {
		if (this._isDragInProgress) {
			return;
		}
		var parent = dojo.html.getAbsolutePosition(this.constrainingContainerNode, true, dojo.html.boxSizing.MARGIN_BOX);
		var content = dojo.html.getContentBox(this._handleMove.domNode);
		if (this.isEnableX) {
			var x = evt.pageX - parent.x - (content.width >> 1);
			this._snapX(x);
		}
		if (this.isEnableY) {
			var y = evt.pageY - parent.y - (content.height >> 1);
			this._snapY(y);
		}
		this.notifyListeners();
	}, notifyListeners:function () {
		this.onValueChanged(this.getValueX(), this.getValueY());
	}, onValueChanged:function (x, y) {
	}});
	dojo.widget.defineWidget("dojo.widget.SliderHorizontal", dojo.widget.Slider, {isEnableX:true, isEnableY:false, initialValue:"", snapValues:"", minimum:"", maximum:"", buttonStyle:"", backgroundSize:"height:10px;width:200px;", backgroundSrc:dojo.uri....
		dojo.widget.SliderHorizontal.superclass.postMixInProperties.apply(this, arguments);
		if (!isNaN(parseFloat(this.initialValue))) {
			this.initialValueX = parseFloat(this.initialValue);
		}
		if (!isNaN(parseFloat(this.minimum))) {
			this.minimumX = parseFloat(this.minimum);
		}
		if (!isNaN(parseFloat(this.maximum))) {
			this.maximumX = parseFloat(this.maximum);
		}
		if (!isNaN(parseInt(this.snapValues))) {
			this.snapValuesX = parseInt(this.snapValues);
		}
		if (dojo.lang.isString(this.buttonStyle) && this.buttonStyle != "") {
			this.buttonStyleX = this.buttonStyle;
		}
		if (dojo.lang.isBoolean(this.flip)) {
			this.flipX = this.flip;
		}
	}, notifyListeners:function () {
		this.onValueChanged(this.getValueX());
	}, getValue:function () {
		return this.getValueX();
	}, setValue:function (value) {
		this.setValueX(value);
	}, onValueChanged:function (value) {
	}});
	dojo.widget.defineWidget("dojo.widget.SliderVertical", dojo.widget.Slider, {isEnableX:false, isEnableY:true, initialValue:"", snapValues:"", minimum:"", maximum:"", buttonStyle:"", backgroundSize:"width:10px;height:200px;", backgroundSrc:dojo.uri.mo...
		dojo.widget.SliderVertical.superclass.postMixInProperties.apply(this, arguments);
		if (!isNaN(parseFloat(this.initialValue))) {
			this.initialValueY = parseFloat(this.initialValue);
		}
		if (!isNaN(parseFloat(this.minimum))) {
			this.minimumY = parseFloat(this.minimum);
		}
		if (!isNaN(parseFloat(this.maximum))) {
			this.maximumY = parseFloat(this.maximum);
		}
		if (!isNaN(parseInt(this.snapValues))) {
			this.snapValuesY = parseInt(this.snapValues);
		}
		if (dojo.lang.isString(this.buttonStyle) && this.buttonStyle != "") {
			this.buttonStyleY = this.buttonStyle;
		}
		if (dojo.lang.isBoolean(this.flip)) {
			this.flipY = this.flip;
		}
	}, notifyListeners:function () {
		this.onValueChanged(this.getValueY());
	}, getValue:function () {
		return this.getValueY();
	}, setValue:function (value) {
		this.setValueY(value);
	}, onValueChanged:function (value) {
	}});
	dojo.declare("dojo.widget._SliderDragMoveSource", dojo.dnd.HtmlDragMoveSource, {slider:null, onDragStart:function (evt) {
		this.slider._isDragInProgress = true;
		var dragObj = this.createDragMoveObject();
		this.slider.notifyListeners();
		return dragObj;
	}, onDragEnd:function (evt) {
		this.slider._isDragInProgress = false;
		this.slider.notifyListeners();
	}, createDragMoveObject:function () {
		var dragObj = new dojo.widget._SliderDragMoveObject(this.dragObject, this.type);
		dragObj.slider = this.slider;
		if (this.dragClass) {
			dragObj.dragClass = this.dragClass;
		}
		return dragObj;
	}, setParent:function (slider) {
		this.slider = slider;
	}});
	dojo.declare("dojo.widget._SliderDragMoveObject", dojo.dnd.HtmlDragMoveObject, {slider:null, onDragMove:function (evt) {
		this.updateDragOffset();
		if (this.slider.isEnableX) {
			var x = this.dragOffset.x + evt.pageX;
			this.slider._snapX(x);
		}
		if (this.slider.isEnableY) {
			var y = this.dragOffset.y + evt.pageY;
			this.slider._snapY(y);
		}
		if (this.slider.activeDrag) {
			this.slider.notifyListeners();
		}
	}});
}});


__CPAN_FILE__ src/widget/Parse.xd.js
/*
	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

lib/HTML/Dojo/src.pm  view on Meta::CPAN

			b = true;
			break;
		}
	}
	if (!b) {
		this.selected.push(o);
	}
}, parseColumns:function (node) {
	this.reset();
	var row = node.getElementsByTagName("tr")[0];
	var cells = row.getElementsByTagName("td");
	if (cells.length == 0) {
		cells = row.getElementsByTagName("th");
	}
	for (var i = 0; i < cells.length; i++) {
		var o = {field:null, format:null, noSort:false, sortType:"String", dataType:String, sortFunction:null, label:null, align:"left", valign:"middle", getField:function () {
			return this.field || this.label;
		}, getType:function () {
			return this.dataType;
		}};
		if (dojo.html.hasAttribute(cells[i], "align")) {
			o.align = dojo.html.getAttribute(cells[i], "align");
		}
		if (dojo.html.hasAttribute(cells[i], "valign")) {
			o.valign = dojo.html.getAttribute(cells[i], "valign");
		}
		if (dojo.html.hasAttribute(cells[i], "nosort")) {
			o.noSort = dojo.html.getAttribute(cells[i], "nosort") == "true";
		}
		if (dojo.html.hasAttribute(cells[i], "sortusing")) {
			var trans = dojo.html.getAttribute(cells[i], "sortusing");
			var f = this.getTypeFromString(trans);
			if (f != null && f != window && typeof (f) == "function") {
				o.sortFunction = f;
			}
		}
		if (dojo.html.hasAttribute(cells[i], "field")) {
			o.field = dojo.html.getAttribute(cells[i], "field");
		}
		if (dojo.html.hasAttribute(cells[i], "format")) {
			o.format = dojo.html.getAttribute(cells[i], "format");
		}
		if (dojo.html.hasAttribute(cells[i], "dataType")) {
			var sortType = dojo.html.getAttribute(cells[i], "dataType");
			if (sortType.toLowerCase() == "html" || sortType.toLowerCase() == "markup") {
				o.sortType = "__markup__";
				o.noSort = true;
			} else {
				var type = this.getTypeFromString(sortType);
				if (type) {
					o.sortType = sortType;
					o.dataType = type;
				}
			}
		}
		o.label = dojo.html.renderedTextContent(cells[i]);
		this.columns.push(o);
		if (dojo.html.hasAttribute(cells[i], "sort")) {
			this.sortIndex = i;
			var dir = dojo.html.getAttribute(cells[i], "sort");
			if (!isNaN(parseInt(dir))) {
				dir = parseInt(dir);
				this.sortDirection = (dir != 0) ? 1 : 0;
			} else {
				this.sortDirection = (dir.toLowerCase() == "desc") ? 1 : 0;
			}
		}
	}
}, parseData:function (data) {
	this.data = [];
	this.selected = [];
	for (var i = 0; i < data.length; i++) {
		var o = {};
		for (var j = 0; j < this.columns.length; j++) {
			var field = this.columns[j].getField();
			if (this.columns[j].sortType == "__markup__") {
				o[field] = String(data[i][field]);
			} else {
				var type = this.columns[j].getType();
				var val = data[i][field];
				var t = this.columns[j].sortType.toLowerCase();
				if (type == String) {
					o[field] = val;
				} else {
					if (val != null) {
						o[field] = new type(val);
					} else {
						o[field] = new type();
					}
				}
			}
		}
		if (data[i][this.valueField] && !o[this.valueField]) {
			o[this.valueField] = data[i][this.valueField];
		}
		this.data.push(o);
	}
}, parseDataFromTable:function (tbody) {
	this.data = [];
	this.selected = [];
	var rows = tbody.getElementsByTagName("tr");
	for (var i = 0; i < rows.length; i++) {
		if (dojo.html.getAttribute(rows[i], "ignoreIfParsed") == "true") {
			continue;
		}
		var o = {};
		var cells = rows[i].getElementsByTagName("td");
		for (var j = 0; j < this.columns.length; j++) {
			var field = this.columns[j].getField();
			if (this.columns[j].sortType == "__markup__") {
				o[field] = cells[j].innerHTML;
			} else {
				var type = this.columns[j].getType();
				var val = dojo.html.renderedTextContent(cells[j]);
				if (type == String) {
					o[field] = val;
				} else {
					if (val != null) {
						o[field] = new type(val);
					} else {
						o[field] = new type();

lib/HTML/Dojo/src.pm  view on Meta::CPAN

					return -1;
				}
				return 0;
			};
		}
		data.sort(sort);
		if (this.sortDirection != 0) {
			data.reverse();
		}
	}
	while (body.childNodes.length > 0) {
		body.removeChild(body.childNodes[0]);
	}
	for (var i = 0; i < data.length; i++) {
		var row = document.createElement("tr");
		dojo.html.disableSelection(row);
		if (data[i][this.valueField]) {
			row.setAttribute("value", data[i][this.valueField]);
		}
		if (this.isSelected(data[i])) {
			row.className = this.rowSelectedClass;
			row.setAttribute("selected", "true");
		} else {
			if (this.enableAlternateRows && i % 2 == 1) {
				row.className = this.rowAlternateClass;
			}
		}
		for (var j = 0; j < this.columns.length; j++) {
			var cell = document.createElement("td");
			cell.setAttribute("align", this.columns[j].align);
			cell.setAttribute("valign", this.columns[j].valign);
			dojo.html.disableSelection(cell);
			if (this.sortIndex == j) {
				cell.className = this.columnSelected;
			}
			if (this.columns[j].sortType == "__markup__") {
				cell.innerHTML = data[i][this.columns[j].getField()];
				for (var k = 0; k < cell.childNodes.length; k++) {
					var node = cell.childNodes[k];
					if (node && node.nodeType == dojo.html.ELEMENT_NODE) {
						dojo.html.disableSelection(node);
					}
				}
			} else {
				if (this.columns[j].getType() == Date) {
					var format = this.defaultDateFormat;
					if (this.columns[j].format) {
						format = this.columns[j].format;
					}
					cell.appendChild(document.createTextNode(dojo.date.strftime(data[i][this.columns[j].getField()], format)));
				} else {
					cell.appendChild(document.createTextNode(data[i][this.columns[j].getField()]));
				}
			}
			row.appendChild(cell);
		}
		body.appendChild(row);
		dojo.event.connect(row, "onclick", this, "onUISelect");
	}
	var minRows = parseInt(this.minRows);
	if (!isNaN(minRows) && minRows > 0 && data.length < minRows) {
		var mod = 0;
		if (data.length % 2 == 0) {
			mod = 1;
		}
		var nRows = minRows - data.length;
		for (var i = 0; i < nRows; i++) {
			var row = document.createElement("tr");
			row.setAttribute("ignoreIfParsed", "true");
			if (this.enableAlternateRows && i % 2 == mod) {
				row.className = this.rowAlternateClass;
			}
			for (var j = 0; j < this.columns.length; j++) {
				var cell = document.createElement("td");
				cell.appendChild(document.createTextNode("\xa0"));
				row.appendChild(cell);
			}
			body.appendChild(row);
		}
	}
}, onSelect:function (e) {
}, onUISelect:function (e) {
	var row = dojo.html.getParentByType(e.target, "tr");
	var body = dojo.html.getParentByType(row, "tbody");
	if (this.enableMultipleSelect) {
		if (e.metaKey || e.ctrlKey) {
			if (this.isSelected(this.getObjectFromRow(row))) {
				this.removeFromSelected(this.getObjectFromRow(row));
				row.removeAttribute("selected");
			} else {
				this.setSelectionByRow(row);
				row.setAttribute("selected", "true");
			}
		} else {
			if (e.shiftKey) {
				var startRow;
				var rows = body.getElementsByTagName("tr");
				for (var i = 0; i < rows.length; i++) {
					if (rows[i].parentNode == body) {
						if (rows[i] == row) {
							break;
						}
						if (dojo.html.getAttribute(rows[i], "selected") == "true") {
							startRow = rows[i];
						}
					}
				}
				if (!startRow) {
					startRow = row;
					for (; i < rows.length; i++) {
						if (dojo.html.getAttribute(rows[i], "selected") == "true") {
							row = rows[i];
							break;
						}
					}
				}
				this.resetSelections(body);
				if (startRow == row) {
					row.setAttribute("selected", "true");
					this.setSelectionByRow(row);
				} else {

lib/HTML/Dojo/src.pm  view on Meta::CPAN

				b = true;
				break;
			}
		}
		if (!b) {
			this.selected.push(o);
		}
	}, parseColumns:function (node) {
		this.reset();
		var row = node.getElementsByTagName("tr")[0];
		var cells = row.getElementsByTagName("td");
		if (cells.length == 0) {
			cells = row.getElementsByTagName("th");
		}
		for (var i = 0; i < cells.length; i++) {
			var o = {field:null, format:null, noSort:false, sortType:"String", dataType:String, sortFunction:null, label:null, align:"left", valign:"middle", getField:function () {
				return this.field || this.label;
			}, getType:function () {
				return this.dataType;
			}};
			if (dojo.html.hasAttribute(cells[i], "align")) {
				o.align = dojo.html.getAttribute(cells[i], "align");
			}
			if (dojo.html.hasAttribute(cells[i], "valign")) {
				o.valign = dojo.html.getAttribute(cells[i], "valign");
			}
			if (dojo.html.hasAttribute(cells[i], "nosort")) {
				o.noSort = dojo.html.getAttribute(cells[i], "nosort") == "true";
			}
			if (dojo.html.hasAttribute(cells[i], "sortusing")) {
				var trans = dojo.html.getAttribute(cells[i], "sortusing");
				var f = this.getTypeFromString(trans);
				if (f != null && f != window && typeof (f) == "function") {
					o.sortFunction = f;
				}
			}
			if (dojo.html.hasAttribute(cells[i], "field")) {
				o.field = dojo.html.getAttribute(cells[i], "field");
			}
			if (dojo.html.hasAttribute(cells[i], "format")) {
				o.format = dojo.html.getAttribute(cells[i], "format");
			}
			if (dojo.html.hasAttribute(cells[i], "dataType")) {
				var sortType = dojo.html.getAttribute(cells[i], "dataType");
				if (sortType.toLowerCase() == "html" || sortType.toLowerCase() == "markup") {
					o.sortType = "__markup__";
					o.noSort = true;
				} else {
					var type = this.getTypeFromString(sortType);
					if (type) {
						o.sortType = sortType;
						o.dataType = type;
					}
				}
			}
			o.label = dojo.html.renderedTextContent(cells[i]);
			this.columns.push(o);
			if (dojo.html.hasAttribute(cells[i], "sort")) {
				this.sortIndex = i;
				var dir = dojo.html.getAttribute(cells[i], "sort");
				if (!isNaN(parseInt(dir))) {
					dir = parseInt(dir);
					this.sortDirection = (dir != 0) ? 1 : 0;
				} else {
					this.sortDirection = (dir.toLowerCase() == "desc") ? 1 : 0;
				}
			}
		}
	}, parseData:function (data) {
		this.data = [];
		this.selected = [];
		for (var i = 0; i < data.length; i++) {
			var o = {};
			for (var j = 0; j < this.columns.length; j++) {
				var field = this.columns[j].getField();
				if (this.columns[j].sortType == "__markup__") {
					o[field] = String(data[i][field]);
				} else {
					var type = this.columns[j].getType();
					var val = data[i][field];
					var t = this.columns[j].sortType.toLowerCase();
					if (type == String) {
						o[field] = val;
					} else {
						if (val != null) {
							o[field] = new type(val);
						} else {
							o[field] = new type();
						}
					}
				}
			}
			if (data[i][this.valueField] && !o[this.valueField]) {
				o[this.valueField] = data[i][this.valueField];
			}
			this.data.push(o);
		}
	}, parseDataFromTable:function (tbody) {
		this.data = [];
		this.selected = [];
		var rows = tbody.getElementsByTagName("tr");
		for (var i = 0; i < rows.length; i++) {
			if (dojo.html.getAttribute(rows[i], "ignoreIfParsed") == "true") {
				continue;
			}
			var o = {};
			var cells = rows[i].getElementsByTagName("td");
			for (var j = 0; j < this.columns.length; j++) {
				var field = this.columns[j].getField();
				if (this.columns[j].sortType == "__markup__") {
					o[field] = cells[j].innerHTML;
				} else {
					var type = this.columns[j].getType();
					var val = dojo.html.renderedTextContent(cells[j]);
					if (type == String) {
						o[field] = val;
					} else {
						if (val != null) {
							o[field] = new type(val);
						} else {
							o[field] = new type();

lib/HTML/Dojo/src.pm  view on Meta::CPAN

						return -1;
					}
					return 0;
				};
			}
			data.sort(sort);
			if (this.sortDirection != 0) {
				data.reverse();
			}
		}
		while (body.childNodes.length > 0) {
			body.removeChild(body.childNodes[0]);
		}
		for (var i = 0; i < data.length; i++) {
			var row = document.createElement("tr");
			dojo.html.disableSelection(row);
			if (data[i][this.valueField]) {
				row.setAttribute("value", data[i][this.valueField]);
			}
			if (this.isSelected(data[i])) {
				row.className = this.rowSelectedClass;
				row.setAttribute("selected", "true");
			} else {
				if (this.enableAlternateRows && i % 2 == 1) {
					row.className = this.rowAlternateClass;
				}
			}
			for (var j = 0; j < this.columns.length; j++) {
				var cell = document.createElement("td");
				cell.setAttribute("align", this.columns[j].align);
				cell.setAttribute("valign", this.columns[j].valign);
				dojo.html.disableSelection(cell);
				if (this.sortIndex == j) {
					cell.className = this.columnSelected;
				}
				if (this.columns[j].sortType == "__markup__") {
					cell.innerHTML = data[i][this.columns[j].getField()];
					for (var k = 0; k < cell.childNodes.length; k++) {
						var node = cell.childNodes[k];
						if (node && node.nodeType == dojo.html.ELEMENT_NODE) {
							dojo.html.disableSelection(node);
						}
					}
				} else {
					if (this.columns[j].getType() == Date) {
						var format = this.defaultDateFormat;
						if (this.columns[j].format) {
							format = this.columns[j].format;
						}
						cell.appendChild(document.createTextNode(dojo.date.strftime(data[i][this.columns[j].getField()], format)));
					} else {
						cell.appendChild(document.createTextNode(data[i][this.columns[j].getField()]));
					}
				}
				row.appendChild(cell);
			}
			body.appendChild(row);
			dojo.event.connect(row, "onclick", this, "onUISelect");
		}
		var minRows = parseInt(this.minRows);
		if (!isNaN(minRows) && minRows > 0 && data.length < minRows) {
			var mod = 0;
			if (data.length % 2 == 0) {
				mod = 1;
			}
			var nRows = minRows - data.length;
			for (var i = 0; i < nRows; i++) {
				var row = document.createElement("tr");
				row.setAttribute("ignoreIfParsed", "true");
				if (this.enableAlternateRows && i % 2 == mod) {
					row.className = this.rowAlternateClass;
				}
				for (var j = 0; j < this.columns.length; j++) {
					var cell = document.createElement("td");
					cell.appendChild(document.createTextNode("\xa0"));
					row.appendChild(cell);
				}
				body.appendChild(row);
			}
		}
	}, onSelect:function (e) {
	}, onUISelect:function (e) {
		var row = dojo.html.getParentByType(e.target, "tr");
		var body = dojo.html.getParentByType(row, "tbody");
		if (this.enableMultipleSelect) {
			if (e.metaKey || e.ctrlKey) {
				if (this.isSelected(this.getObjectFromRow(row))) {
					this.removeFromSelected(this.getObjectFromRow(row));
					row.removeAttribute("selected");
				} else {
					this.setSelectionByRow(row);
					row.setAttribute("selected", "true");
				}
			} else {
				if (e.shiftKey) {
					var startRow;
					var rows = body.getElementsByTagName("tr");
					for (var i = 0; i < rows.length; i++) {
						if (rows[i].parentNode == body) {
							if (rows[i] == row) {
								break;
							}
							if (dojo.html.getAttribute(rows[i], "selected") == "true") {
								startRow = rows[i];
							}
						}
					}
					if (!startRow) {
						startRow = row;
						for (; i < rows.length; i++) {
							if (dojo.html.getAttribute(rows[i], "selected") == "true") {
								row = rows[i];
								break;
							}
						}
					}
					this.resetSelections(body);
					if (startRow == row) {
						row.setAttribute("selected", "true");
						this.setSelectionByRow(row);
					} else {

lib/HTML/Dojo/src.pm  view on Meta::CPAN

	this.sortInformation = [];
	var row = head.getElementsByTagName("tr")[0];
	var cells = row.getElementsByTagName("td");
	if (cells.length == 0) {
		cells = row.getElementsByTagName("th");
	}
	for (var i = 0; i < cells.length; i++) {
		var o = this.createMetaData({});
		if (dojo.html.hasAttribute(cells[i], "align")) {
			o.align = dojo.html.getAttribute(cells[i], "align");
		}
		if (dojo.html.hasAttribute(cells[i], "valign")) {
			o.valign = dojo.html.getAttribute(cells[i], "valign");
		}
		if (dojo.html.hasAttribute(cells[i], "nosort")) {
			o.noSort = (dojo.html.getAttribute(cells[i], "nosort") == "true");
		}
		if (dojo.html.hasAttribute(cells[i], "sortusing")) {
			var trans = dojo.html.getAttribute(cells[i], "sortusing");
			var f = this.getTypeFromString(trans);
			if (f != null && f != window && typeof (f) == "function") {
				o.sortFunction = f;
			}
		}
		o.label = dojo.html.renderedTextContent(cells[i]);
		if (dojo.html.hasAttribute(cells[i], "field")) {
			o.field = dojo.html.getAttribute(cells[i], "field");
		} else {
			if (o.label.length > 0) {
				o.field = o.label;
			} else {
				o.field = "field" + i;
			}
		}
		if (dojo.html.hasAttribute(cells[i], "format")) {
			o.format = dojo.html.getAttribute(cells[i], "format");
		}
		if (dojo.html.hasAttribute(cells[i], "dataType")) {
			var sortType = dojo.html.getAttribute(cells[i], "dataType");
			if (sortType.toLowerCase() == "html" || sortType.toLowerCase() == "markup") {
				o.sortType = "__markup__";
			} else {
				var type = this.getTypeFromString(sortType);
				if (type) {
					o.sortType = sortType;
					o.dataType = type;
				}
			}
		}
		if (dojo.html.hasAttribute(cells[i], "filterusing")) {
			var trans = dojo.html.getAttribute(cells[i], "filterusing");
			var f = this.getTypeFromString(trans);
			if (f != null && f != window && typeof (f) == "function") {
				o.filterFunction = f;
			}
		}
		this.columns.push(o);
		if (dojo.html.hasAttribute(cells[i], "sort")) {
			var info = {index:i, direction:0};
			var dir = dojo.html.getAttribute(cells[i], "sort");
			if (!isNaN(parseInt(dir))) {
				dir = parseInt(dir);
				info.direction = (dir != 0) ? 1 : 0;
			} else {
				info.direction = (dir.toLowerCase() == "desc") ? 1 : 0;
			}
			this.sortInformation.push(info);
		}
	}
	if (this.sortInformation.length == 0) {
		this.sortInformation.push({index:0, direction:0});
	} else {
		if (this.sortInformation.length > this.maxSortable) {
			this.sortInformation.length = this.maxSortable;
		}
	}
}, parseData:function (body) {
	if (body.rows.length == 0 && this.columns.length == 0) {
		return;
	}
	var self = this;
	this["__selected__"] = [];
	var arr = this.store.getFromHtml(this.columns, body, function (obj, row) {
		if (typeof (obj[self.valueField]) == "undefined" || obj[self.valueField] == null) {
			obj[self.valueField] = dojo.html.getAttribute(row, "value");
		}
		if (dojo.html.getAttribute(row, "selected") == "true") {
			self["__selected__"].push(obj);
		}
	});
	this.store.setData(arr, true);
	this.render();
	for (var i = 0; i < this["__selected__"].length; i++) {
		this.select(this["__selected__"][i]);
	}
	this.renderSelections();
	delete this["__selected__"];
	this.isInitialized = true;
}, onSelect:function (e) {
	var row = dojo.html.getParentByType(e.target, "tr");
	if (dojo.html.hasAttribute(row, "emptyRow")) {
		return;
	}
	var body = dojo.html.getParentByType(row, "tbody");
	if (this.multiple) {
		if (e.shiftKey) {
			var startRow;
			var rows = body.rows;
			for (var i = 0; i < rows.length; i++) {
				if (rows[i] == row) {
					break;
				}
				if (this.isRowSelected(rows[i])) {
					startRow = rows[i];
				}
			}
			if (!startRow) {
				startRow = row;
				for (; i < rows.length; i++) {
					if (this.isRowSelected(rows[i])) {
						row = rows[i];

lib/HTML/Dojo/src.pm  view on Meta::CPAN

			if (dojo.html.hasAttribute(rowA, "emptyRow")) {
				return 1;
			}
			if (dojo.html.hasAttribute(rowB, "emptyRow")) {
				return -1;
			}
			var a = self.store.getField(self.getDataByRow(rowA), field);
			var b = self.store.getField(self.getDataByRow(rowB), field);
			var ret = 0;
			if (a > b) {
				ret = 1;
			}
			if (a < b) {
				ret = -1;
			}
			return dir * ret;
		};
	}
	var current = 0;
	var max = Math.min(info.length, this.maxSortable, this.columns.length);
	while (current < max) {
		var direction = (info[current].direction == 0) ? 1 : -1;
		sortFunctions.push(createSortFunction(info[current].index, direction));
		current++;
	}
	return function (rowA, rowB) {
		var idx = 0;
		while (idx < sortFunctions.length) {
			var ret = sortFunctions[idx++](rowA, rowB);
			if (ret != 0) {
				return ret;
			}
		}
		return 0;
	};
}, createRow:function (obj) {
	var row = document.createElement("tr");
	dojo.html.disableSelection(row);
	if (obj.key != null) {
		row.setAttribute("value", obj.key);
	}
	for (var j = 0; j < this.columns.length; j++) {
		var cell = document.createElement("td");
		cell.setAttribute("align", this.columns[j].align);
		cell.setAttribute("valign", this.columns[j].valign);
		dojo.html.disableSelection(cell);
		var val = this.store.getField(obj.src, this.columns[j].getField());
		if (typeof (val) == "undefined") {
			val = "";
		}
		this.fillCell(cell, this.columns[j], val);
		row.appendChild(cell);
	}
	return row;
}, fillCell:function (cell, meta, val) {
	if (meta.sortType == "__markup__") {
		cell.innerHTML = val;
	} else {
		if (meta.getType() == Date) {
			val = new Date(val);
			if (!isNaN(val)) {
				var format = this.defaultDateFormat;
				if (meta.format) {
					format = meta.format;
				}
				cell.innerHTML = dojo.date.strftime(val, format);
			} else {
				cell.innerHTML = val;
			}
		} else {
			if ("Number number int Integer float Float".indexOf(meta.getType()) > -1) {
				if (val.length == 0) {
					val = "0";
				}
				var n = parseFloat(val, 10) + "";
				if (n.indexOf(".") > -1) {
					n = dojo.math.round(parseFloat(val, 10), 2);
				}
				cell.innerHTML = n;
			} else {
				cell.innerHTML = val;
			}
		}
	}
}, prefill:function () {
	this.isInitialized = false;
	var body = this.domNode.tBodies[0];
	while (body.childNodes.length > 0) {
		body.removeChild(body.childNodes[0]);
	}
	if (this.minRows > 0) {
		for (var i = 0; i < this.minRows; i++) {
			var row = document.createElement("tr");
			if (this.alternateRows) {
				dojo.html[((i % 2 == 1) ? "addClass" : "removeClass")](row, this.rowAlternateClass);
			}
			row.setAttribute("emptyRow", "true");
			for (var j = 0; j < this.columns.length; j++) {
				var cell = document.createElement("td");
				cell.innerHTML = "&nbsp;";
				row.appendChild(cell);
			}
			body.appendChild(row);
		}
	}
}, init:function () {
	this.isInitialized = false;
	var head = this.domNode.getElementsByTagName("thead")[0];
	if (head.getElementsByTagName("tr").length == 0) {
		var row = document.createElement("tr");
		for (var i = 0; i < this.columns.length; i++) {
			var cell = document.createElement("td");
			cell.setAttribute("align", this.columns[i].align);
			cell.setAttribute("valign", this.columns[i].valign);
			dojo.html.disableSelection(cell);
			cell.innerHTML = this.columns[i].label;
			row.appendChild(cell);
			if (!this.columns[i].noSort) {
				dojo.event.connect(cell, "onclick", this, "onSort");
			}
		}

lib/HTML/Dojo/src.pm  view on Meta::CPAN

					range.moveEnd("character", x);
					range.moveStart("character", x);
					range.select();
				}
			}
		}
		catch (e) {
		}
	}, _spinnerPostMixInProperties:function (args, frag) {
		var inputNode = this.getFragNodeRef(frag);
		var inputSize = dojo.html.getBorderBox(inputNode);
		this.buttonSize = {width:inputSize.height / 2 - 1, height:inputSize.height / 2 - 1};
	}, _spinnerPostCreate:function (args, frag) {
		if (this.textbox.addEventListener) {
			this.textbox.addEventListener("DOMMouseScroll", dojo.lang.hitch(this, "_mouseWheeled"), false);
		} else {
			dojo.event.connect(this.textbox, "onmousewheel", this, "_mouseWheeled");
		}
	}});
	dojo.widget.defineWidget("dojo.widget.IntegerSpinner", [dojo.widget.IntegerTextbox, dojo.widget.Spinner], {delta:"1", postMixInProperties:function (args, frag) {
		dojo.widget.IntegerSpinner.superclass.postMixInProperties.apply(this, arguments);
		this._spinnerPostMixInProperties(args, frag);
	}, postCreate:function (args, frag) {
		dojo.widget.IntegerSpinner.superclass.postCreate.apply(this, arguments);
		this._spinnerPostCreate(args, frag);
	}, adjustValue:function (direction, x) {
		var val = this.getValue().replace(/[^\-+\d]/g, "");
		if (val.length == 0) {
			return;
		}
		var num = Math.min(Math.max((parseInt(val) + (parseInt(this.delta) * direction)), (this.flags.min ? this.flags.min : -Infinity)), (this.flags.max ? this.flags.max : +Infinity));
		val = num.toString();
		if (num >= 0) {
			val = ((this.flags.signed == true) ? "+" : " ") + val;
		}
		if (this.flags.separator.length > 0) {
			for (var i = val.length - 3; i > 1; i -= 3) {
				val = val.substr(0, i) + this.flags.separator + val.substr(i);
			}
		}
		if (val.substr(0, 1) == " ") {
			val = val.substr(1);
		}
		this.setValue(val);
		return val.length;
	}});
	dojo.widget.defineWidget("dojo.widget.RealNumberSpinner", [dojo.widget.RealNumberTextbox, dojo.widget.Spinner], function () {
		dojo.experimental("dojo.widget.RealNumberSpinner");
	}, {delta:"1e1", postMixInProperties:function (args, frag) {
		dojo.widget.RealNumberSpinner.superclass.postMixInProperties.apply(this, arguments);
		this._spinnerPostMixInProperties(args, frag);
	}, postCreate:function (args, frag) {
		dojo.widget.RealNumberSpinner.superclass.postCreate.apply(this, arguments);
		this._spinnerPostCreate(args, frag);
	}, adjustValue:function (direction, x) {
		var val = this.getValue().replace(/[^\-+\.eE\d]/g, "");
		if (!val.length) {
			return;
		}
		var num = parseFloat(val);
		if (isNaN(num)) {
			return;
		}
		var delta = this.delta.split(/[eE]/);
		if (!delta.length) {
			delta = [1, 1];
		} else {
			delta[0] = parseFloat(delta[0].replace(/[^\-+\.\d]/g, ""));
			if (isNaN(delta[0])) {
				delta[0] = 1;
			}
			if (delta.length > 1) {
				delta[1] = parseInt(delta[1]);
			}
			if (isNaN(delta[1])) {
				delta[1] = 1;
			}
		}
		val = this.getValue().split(/[eE]/);
		if (!val.length) {
			return;
		}
		var numBase = parseFloat(val[0].replace(/[^\-+\.\d]/g, ""));
		if (val.length == 1) {
			var numExp = 0;
		} else {
			var numExp = parseInt(val[1].replace(/[^\-+\d]/g, ""));
		}
		if (x <= val[0].length) {
			x = 0;
			numBase += delta[0] * direction;
		} else {
			x = Number.MAX_VALUE;
			numExp += delta[1] * direction;
			if (this.flags.eSigned == false && numExp < 0) {
				numExp = 0;
			}
		}
		num = Math.min(Math.max((numBase * Math.pow(10, numExp)), (this.flags.min ? this.flags.min : -Infinity)), (this.flags.max ? this.flags.max : +Infinity));
		if ((this.flags.exponent == true || (this.flags.exponent != false && x != 0)) && num.toExponential) {
			if (isNaN(this.flags.places) || this.flags.places == Infinity) {
				val = num.toExponential();
			} else {
				val = num.toExponential(this.flags.places);
			}
		} else {
			if (num.toFixed && num.toPrecision) {
				if (isNaN(this.flags.places) || this.flags.places == Infinity) {
					val = num.toPrecision((1 / 3).toString().length - 1);
				} else {
					val = num.toFixed(this.flags.places);
				}
			} else {
				val = num.toString();
			}
		}
		if (num >= 0) {
			if (this.flags.signed == true) {
				val = "+" + val;
			}
		}
		val = val.split(/[eE]/);
		if (this.flags.separator.length > 0) {
			if (num >= 0 && val[0].substr(0, 1) != "+") {
				val[0] = " " + val[0];
			}
			var i = val[0].lastIndexOf(".");
			if (i >= 0) {
				i -= 3;
			} else {
				i = val[0].length - 3;
			}
			for (; i > 1; i -= 3) {
				val[0] = val[0].substr(0, i) + this.flags.separator + val[0].substr(i);
			}
			if (val[0].substr(0, 1) == " ") {
				val[0] = val[0].substr(1);
			}
		}
		if (val.length > 1) {
			if ((this.flags.eSigned == true) && (val[1].substr(0, 1) != "+")) {
				val[1] = "+" + val[1];
			} else {
				if ((!this.flags.eSigned) && (val[1].substr(0, 1) == "+")) {
					val[1] = val[1].substr(1);
				} else {
					if ((!this.flags.eSigned) && (val[1].substr(0, 1) == "-") && (num.toFixed && num.toPrecision)) {
						if (isNaN(this.flags.places)) {
							val[0] = num.toPrecision((1 / 3).toString().length - 1);
						} else {
							val[0] = num.toFixed(this.flags.places).toString();
						}
						val[1] = "0";
					}
				}
			}
			val[0] += "e" + val[1];
		}
		this.setValue(val[0]);
		if (x > val[0].length) {
			x = val[0].length;
		}
		return x;
	}});
	dojo.widget.defineWidget("dojo.widget.TimeSpinner", [dojo.widget.TimeTextbox, dojo.widget.Spinner], function () {
		dojo.experimental("dojo.widget.TimeSpinner");
	}, {postMixInProperties:function (args, frag) {
		dojo.widget.TimeSpinner.superclass.postMixInProperties.apply(this, arguments);
		this._spinnerPostMixInProperties(args, frag);
	}, postCreate:function (args, frag) {
		dojo.widget.TimeSpinner.superclass.postCreate.apply(this, arguments);
		this._spinnerPostCreate(args, frag);
	}, adjustValue:function (direction, x) {
		var val = this.getValue();
		var format = (this.flags.format && this.flags.format.search(/[Hhmst]/) >= 0) ? this.flags.format : "hh:mm:ss t";
		if (direction == 0 || !val.length || !this.isValid()) {
			return;
		}
		if (!this.flags.amSymbol) {
			this.flags.amSymbol = "AM";
		}
		if (!this.flags.pmSymbol) {
			this.flags.pmSymbol = "PM";
		}
		var re = dojo.regexp.time(this.flags);
		var qualifiers = format.replace(/H/g, "h").replace(/[^hmst]/g, "").replace(/([hmst])\1/g, "$1");
		var hourPos = qualifiers.indexOf("h") + 1;
		var minPos = qualifiers.indexOf("m") + 1;
		var secPos = qualifiers.indexOf("s") + 1;
		var ampmPos = qualifiers.indexOf("t") + 1;
		var cursorFormat = format;
		var ampm = "";
		if (ampmPos > 0) {
			ampm = val.replace(new RegExp(re), "$" + ampmPos);
			cursorFormat = cursorFormat.replace(/t+/, ampm.replace(/./g, "t"));
		}
		var hour = 0;
		var deltaHour = 1;
		if (hourPos > 0) {
			hour = val.replace(new RegExp(re), "$" + hourPos);
			if (dojo.lang.isString(this.delta)) {
				deltaHour = this.delta.replace(new RegExp(re), "$" + hourPos);
			}
			if (isNaN(deltaHour)) {
				deltaHour = 1;
			} else {
				deltaHour = parseInt(deltaHour);
			}
			if (hour.length == 2) {
				cursorFormat = cursorFormat.replace(/([Hh])+/, "$1$1");
			} else {
				cursorFormat = cursorFormat.replace(/([Hh])+/, "$1");
			}
			if (isNaN(hour)) {
				hour = 0;
			} else {
				hour = parseInt(hour.replace(/^0(\d)/, "$1"));
			}
		}
		var min = 0;
		var deltaMin = 1;
		if (minPos > 0) {
			min = val.replace(new RegExp(re), "$" + minPos);
			if (dojo.lang.isString(this.delta)) {
				deltaMin = this.delta.replace(new RegExp(re), "$" + minPos);
			}
			if (isNaN(deltaMin)) {
				deltaMin = 1;
			} else {
				deltaMin = parseInt(deltaMin);
			}
			cursorFormat = cursorFormat.replace(/m+/, min.replace(/./g, "m"));
			if (isNaN(min)) {
				min = 0;
			} else {
				min = parseInt(min.replace(/^0(\d)/, "$1"));
			}
		}
		var sec = 0;
		var deltaSec = 1;
		if (secPos > 0) {
			sec = val.replace(new RegExp(re), "$" + secPos);
			if (dojo.lang.isString(this.delta)) {
				deltaSec = this.delta.replace(new RegExp(re), "$" + secPos);
			}
			if (isNaN(deltaSec)) {
				deltaSec = 1;
			} else {
				deltaSec = parseInt(deltaSec);
			}
			cursorFormat = cursorFormat.replace(/s+/, sec.replace(/./g, "s"));
			if (isNaN(sec)) {
				sec = 0;
			} else {
				sec = parseInt(sec.replace(/^0(\d)/, "$1"));
			}
		}
		if (isNaN(x) || x >= cursorFormat.length) {
			x = cursorFormat.length - 1;
		}
		var cursorToken = cursorFormat.charAt(x);
		switch (cursorToken) {
		  case "t":
			if (ampm == this.flags.amSymbol) {
				ampm = this.flags.pmSymbol;
			} else {
				if (ampm == this.flags.pmSymbol) {
					ampm = this.flags.amSymbol;
				}
			}
			break;
		  default:
			if (hour >= 1 && hour < 12 && ampm == this.flags.pmSymbol) {
				hour += 12;
			}
			if (hour == 12 && ampm == this.flags.amSymbol) {
				hour = 0;
			}
			switch (cursorToken) {
			  case "s":
				sec += deltaSec * direction;
				while (sec < 0) {
					min--;
					sec += 60;
				}
				while (sec >= 60) {
					min++;
					sec -= 60;
				}
			  case "m":
				if (cursorToken == "m") {
					min += deltaMin * direction;
				}
				while (min < 0) {
					hour--;
					min += 60;
				}
				while (min >= 60) {
					hour++;
					min -= 60;
				}
			  case "h":
			  case "H":
				if (cursorToken == "h" || cursorToken == "H") {
					hour += deltaHour * direction;
				}
				while (hour < 0) {
					hour += 24;
				}
				while (hour >= 24) {
					hour -= 24;
				}
				break;
			  default:
				return;
			}
			if (hour >= 12) {
				ampm = this.flags.pmSymbol;

lib/HTML/Dojo/src.pm  view on Meta::CPAN

		}
		var c = this.findCenter(pts);
		var z = this.map.getZoomLevel(pts);
		this.map.drawZoomAndCenter(c, z);
	}, initialize:function (args, frag) {
		if (!YMap || !YGeoPoint) {
			dojo.raise("dojo.widget.YahooMap: The Yahoo Map script must be included in order to use this widget.");
		}
		if (this.datasrc) {
			this.parse(dojo.byId(this.datasrc));
		} else {
			if (this.domNode.getElementsByTagName("table")[0]) {
				this.parse(this.domNode.getElementsByTagName("table")[0]);
			}
		}
	}, postCreate:function () {
		while (this.domNode.childNodes.length > 0) {
			this.domNode.removeChild(this.domNode.childNodes[0]);
		}
		if (this.width > 0 && this.height > 0) {
			this.map = new YMap(this.domNode, YAHOO_MAP_REG, new YSize(this.width, this.height));
		} else {
			this.map = new YMap(this.domNode);
		}
		this.setControls();
		this.render();
	}});
}});


__CPAN_FILE__ src/widget/DropdownTimePicker.js
/*
	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
*/



dojo.provide("dojo.widget.DropdownTimePicker");
dojo.require("dojo.widget.*");
dojo.require("dojo.widget.DropdownContainer");
dojo.require("dojo.widget.TimePicker");
dojo.require("dojo.event.*");
dojo.require("dojo.html.*");
dojo.require("dojo.date.format");
dojo.require("dojo.date.serialize");
dojo.require("dojo.i18n.common");
dojo.requireLocalization("dojo.widget", "DropdownTimePicker", null, "ROOT");
dojo.widget.defineWidget("dojo.widget.DropdownTimePicker", dojo.widget.DropdownContainer, {iconURL:dojo.uri.moduleUri("dojo.widget", "templates/images/timeIcon.gif"), formatLength:"short", displayFormat:"", timeFormat:"", saveFormat:"", value:"", nam...
	dojo.widget.DropdownTimePicker.superclass.postMixInProperties.apply(this, arguments);
	var messages = dojo.i18n.getLocalization("dojo.widget", "DropdownTimePicker", this.lang);
	this.iconAlt = messages.selectTime;
	if (typeof (this.value) == "string" && this.value.toLowerCase() == "today") {
		this.value = new Date();
	}
	if (this.value && isNaN(this.value)) {
		var orig = this.value;
		this.value = dojo.date.fromRfc3339(this.value);
		if (!this.value) {
			var d = dojo.date.format(new Date(), {selector:"dateOnly", datePattern:"yyyy-MM-dd"});
			var c = orig.split(":");
			for (var i = 0; i < c.length; ++i) {
				if (c[i].length == 1) {
					c[i] = "0" + c[i];
				}
			}
			orig = c.join(":");
			this.value = dojo.date.fromRfc3339(d + "T" + orig);
			dojo.deprecated("dojo.widget.DropdownTimePicker", "time attributes must be passed in Rfc3339 format", "0.5");
		}
	}
	if (this.value && !isNaN(this.value)) {
		this.value = new Date(this.value);
	}
}, fillInTemplate:function () {
	dojo.widget.DropdownTimePicker.superclass.fillInTemplate.apply(this, arguments);
	var value = "";
	if (this.value instanceof Date) {
		value = this.value;
	} else {
		if (this.value) {
			var orig = this.value;
			var d = dojo.date.format(new Date(), {selector:"dateOnly", datePattern:"yyyy-MM-dd"});
			var c = orig.split(":");
			for (var i = 0; i < c.length; ++i) {
				if (c[i].length == 1) {
					c[i] = "0" + c[i];
				}
			}
			orig = c.join(":");
			value = dojo.date.fromRfc3339(d + "T" + orig);
		}
	}
	var tpArgs = {widgetContainerId:this.widgetId, lang:this.lang, value:value};
	this.timePicker = dojo.widget.createWidget("TimePicker", tpArgs, this.containerNode, "child");
	dojo.event.connect(this.timePicker, "onValueChanged", this, "_updateText");
	if (this.value) {
		this._updateText();
	}
	this.containerNode.style.zIndex = this.zIndex;
	this.containerNode.explodeClassName = "timeContainer";
	this.valueNode.name = this.name;
}, getValue:function () {
	return this.valueNode.value;
}, getTime:function () {
	return this.timePicker.storedTime;
}, setValue:function (rfcDate) {
	this.setTime(rfcDate);
}, setTime:function (dateObj) {
	var value = "";
	if (dateObj instanceof Date) {
		value = dateObj;
	} else {
		if (this.value) {
			var orig = this.value;
			var d = dojo.date.format(new Date(), {selector:"dateOnly", datePattern:"yyyy-MM-dd"});
			var c = orig.split(":");
			for (var i = 0; i < c.length; ++i) {
				if (c[i].length == 1) {
					c[i] = "0" + c[i];
				}
			}
			orig = c.join(":");
			value = dojo.date.fromRfc3339(d + "T" + orig);
		}
	}
	this.timePicker.setTime(value);
	this._syncValueNode();
}, _updateText:function () {
	if (this.timePicker.selectedTime.anyTime) {
		this.inputNode.value = "";
	} else {

lib/HTML/Dojo/src.pm  view on Meta::CPAN

				range.moveEnd("character", x);
				range.moveStart("character", x);
				range.select();
			}
		}
	}
	catch (e) {
	}
}, _spinnerPostMixInProperties:function (args, frag) {
	var inputNode = this.getFragNodeRef(frag);
	var inputSize = dojo.html.getBorderBox(inputNode);
	this.buttonSize = {width:inputSize.height / 2 - 1, height:inputSize.height / 2 - 1};
}, _spinnerPostCreate:function (args, frag) {
	if (this.textbox.addEventListener) {
		this.textbox.addEventListener("DOMMouseScroll", dojo.lang.hitch(this, "_mouseWheeled"), false);
	} else {
		dojo.event.connect(this.textbox, "onmousewheel", this, "_mouseWheeled");
	}
}});
dojo.widget.defineWidget("dojo.widget.IntegerSpinner", [dojo.widget.IntegerTextbox, dojo.widget.Spinner], {delta:"1", postMixInProperties:function (args, frag) {
	dojo.widget.IntegerSpinner.superclass.postMixInProperties.apply(this, arguments);
	this._spinnerPostMixInProperties(args, frag);
}, postCreate:function (args, frag) {
	dojo.widget.IntegerSpinner.superclass.postCreate.apply(this, arguments);
	this._spinnerPostCreate(args, frag);
}, adjustValue:function (direction, x) {
	var val = this.getValue().replace(/[^\-+\d]/g, "");
	if (val.length == 0) {
		return;
	}
	var num = Math.min(Math.max((parseInt(val) + (parseInt(this.delta) * direction)), (this.flags.min ? this.flags.min : -Infinity)), (this.flags.max ? this.flags.max : +Infinity));
	val = num.toString();
	if (num >= 0) {
		val = ((this.flags.signed == true) ? "+" : " ") + val;
	}
	if (this.flags.separator.length > 0) {
		for (var i = val.length - 3; i > 1; i -= 3) {
			val = val.substr(0, i) + this.flags.separator + val.substr(i);
		}
	}
	if (val.substr(0, 1) == " ") {
		val = val.substr(1);
	}
	this.setValue(val);
	return val.length;
}});
dojo.widget.defineWidget("dojo.widget.RealNumberSpinner", [dojo.widget.RealNumberTextbox, dojo.widget.Spinner], function () {
	dojo.experimental("dojo.widget.RealNumberSpinner");
}, {delta:"1e1", postMixInProperties:function (args, frag) {
	dojo.widget.RealNumberSpinner.superclass.postMixInProperties.apply(this, arguments);
	this._spinnerPostMixInProperties(args, frag);
}, postCreate:function (args, frag) {
	dojo.widget.RealNumberSpinner.superclass.postCreate.apply(this, arguments);
	this._spinnerPostCreate(args, frag);
}, adjustValue:function (direction, x) {
	var val = this.getValue().replace(/[^\-+\.eE\d]/g, "");
	if (!val.length) {
		return;
	}
	var num = parseFloat(val);
	if (isNaN(num)) {
		return;
	}
	var delta = this.delta.split(/[eE]/);
	if (!delta.length) {
		delta = [1, 1];
	} else {
		delta[0] = parseFloat(delta[0].replace(/[^\-+\.\d]/g, ""));
		if (isNaN(delta[0])) {
			delta[0] = 1;
		}
		if (delta.length > 1) {
			delta[1] = parseInt(delta[1]);
		}
		if (isNaN(delta[1])) {
			delta[1] = 1;
		}
	}
	val = this.getValue().split(/[eE]/);
	if (!val.length) {
		return;
	}
	var numBase = parseFloat(val[0].replace(/[^\-+\.\d]/g, ""));
	if (val.length == 1) {
		var numExp = 0;
	} else {
		var numExp = parseInt(val[1].replace(/[^\-+\d]/g, ""));
	}
	if (x <= val[0].length) {
		x = 0;
		numBase += delta[0] * direction;
	} else {
		x = Number.MAX_VALUE;
		numExp += delta[1] * direction;
		if (this.flags.eSigned == false && numExp < 0) {
			numExp = 0;
		}
	}
	num = Math.min(Math.max((numBase * Math.pow(10, numExp)), (this.flags.min ? this.flags.min : -Infinity)), (this.flags.max ? this.flags.max : +Infinity));
	if ((this.flags.exponent == true || (this.flags.exponent != false && x != 0)) && num.toExponential) {
		if (isNaN(this.flags.places) || this.flags.places == Infinity) {
			val = num.toExponential();
		} else {
			val = num.toExponential(this.flags.places);
		}
	} else {
		if (num.toFixed && num.toPrecision) {
			if (isNaN(this.flags.places) || this.flags.places == Infinity) {
				val = num.toPrecision((1 / 3).toString().length - 1);
			} else {
				val = num.toFixed(this.flags.places);
			}
		} else {
			val = num.toString();
		}
	}
	if (num >= 0) {
		if (this.flags.signed == true) {
			val = "+" + val;
		}
	}
	val = val.split(/[eE]/);
	if (this.flags.separator.length > 0) {
		if (num >= 0 && val[0].substr(0, 1) != "+") {
			val[0] = " " + val[0];
		}
		var i = val[0].lastIndexOf(".");
		if (i >= 0) {
			i -= 3;
		} else {
			i = val[0].length - 3;
		}
		for (; i > 1; i -= 3) {
			val[0] = val[0].substr(0, i) + this.flags.separator + val[0].substr(i);
		}
		if (val[0].substr(0, 1) == " ") {
			val[0] = val[0].substr(1);
		}
	}
	if (val.length > 1) {
		if ((this.flags.eSigned == true) && (val[1].substr(0, 1) != "+")) {
			val[1] = "+" + val[1];
		} else {
			if ((!this.flags.eSigned) && (val[1].substr(0, 1) == "+")) {
				val[1] = val[1].substr(1);
			} else {
				if ((!this.flags.eSigned) && (val[1].substr(0, 1) == "-") && (num.toFixed && num.toPrecision)) {
					if (isNaN(this.flags.places)) {
						val[0] = num.toPrecision((1 / 3).toString().length - 1);
					} else {
						val[0] = num.toFixed(this.flags.places).toString();
					}
					val[1] = "0";
				}
			}
		}
		val[0] += "e" + val[1];
	}
	this.setValue(val[0]);
	if (x > val[0].length) {
		x = val[0].length;
	}
	return x;
}});
dojo.widget.defineWidget("dojo.widget.TimeSpinner", [dojo.widget.TimeTextbox, dojo.widget.Spinner], function () {
	dojo.experimental("dojo.widget.TimeSpinner");
}, {postMixInProperties:function (args, frag) {
	dojo.widget.TimeSpinner.superclass.postMixInProperties.apply(this, arguments);
	this._spinnerPostMixInProperties(args, frag);
}, postCreate:function (args, frag) {
	dojo.widget.TimeSpinner.superclass.postCreate.apply(this, arguments);
	this._spinnerPostCreate(args, frag);
}, adjustValue:function (direction, x) {
	var val = this.getValue();
	var format = (this.flags.format && this.flags.format.search(/[Hhmst]/) >= 0) ? this.flags.format : "hh:mm:ss t";
	if (direction == 0 || !val.length || !this.isValid()) {
		return;
	}
	if (!this.flags.amSymbol) {
		this.flags.amSymbol = "AM";
	}
	if (!this.flags.pmSymbol) {
		this.flags.pmSymbol = "PM";
	}
	var re = dojo.regexp.time(this.flags);
	var qualifiers = format.replace(/H/g, "h").replace(/[^hmst]/g, "").replace(/([hmst])\1/g, "$1");
	var hourPos = qualifiers.indexOf("h") + 1;
	var minPos = qualifiers.indexOf("m") + 1;
	var secPos = qualifiers.indexOf("s") + 1;
	var ampmPos = qualifiers.indexOf("t") + 1;
	var cursorFormat = format;
	var ampm = "";
	if (ampmPos > 0) {
		ampm = val.replace(new RegExp(re), "$" + ampmPos);
		cursorFormat = cursorFormat.replace(/t+/, ampm.replace(/./g, "t"));
	}
	var hour = 0;
	var deltaHour = 1;
	if (hourPos > 0) {
		hour = val.replace(new RegExp(re), "$" + hourPos);
		if (dojo.lang.isString(this.delta)) {
			deltaHour = this.delta.replace(new RegExp(re), "$" + hourPos);
		}
		if (isNaN(deltaHour)) {
			deltaHour = 1;
		} else {
			deltaHour = parseInt(deltaHour);
		}
		if (hour.length == 2) {
			cursorFormat = cursorFormat.replace(/([Hh])+/, "$1$1");
		} else {
			cursorFormat = cursorFormat.replace(/([Hh])+/, "$1");
		}
		if (isNaN(hour)) {
			hour = 0;
		} else {
			hour = parseInt(hour.replace(/^0(\d)/, "$1"));
		}
	}
	var min = 0;
	var deltaMin = 1;
	if (minPos > 0) {
		min = val.replace(new RegExp(re), "$" + minPos);
		if (dojo.lang.isString(this.delta)) {
			deltaMin = this.delta.replace(new RegExp(re), "$" + minPos);
		}
		if (isNaN(deltaMin)) {
			deltaMin = 1;
		} else {
			deltaMin = parseInt(deltaMin);
		}
		cursorFormat = cursorFormat.replace(/m+/, min.replace(/./g, "m"));
		if (isNaN(min)) {
			min = 0;
		} else {
			min = parseInt(min.replace(/^0(\d)/, "$1"));
		}
	}
	var sec = 0;
	var deltaSec = 1;
	if (secPos > 0) {
		sec = val.replace(new RegExp(re), "$" + secPos);
		if (dojo.lang.isString(this.delta)) {
			deltaSec = this.delta.replace(new RegExp(re), "$" + secPos);
		}
		if (isNaN(deltaSec)) {
			deltaSec = 1;
		} else {
			deltaSec = parseInt(deltaSec);
		}
		cursorFormat = cursorFormat.replace(/s+/, sec.replace(/./g, "s"));
		if (isNaN(sec)) {
			sec = 0;
		} else {
			sec = parseInt(sec.replace(/^0(\d)/, "$1"));
		}
	}
	if (isNaN(x) || x >= cursorFormat.length) {
		x = cursorFormat.length - 1;
	}
	var cursorToken = cursorFormat.charAt(x);
	switch (cursorToken) {
	  case "t":
		if (ampm == this.flags.amSymbol) {
			ampm = this.flags.pmSymbol;
		} else {
			if (ampm == this.flags.pmSymbol) {
				ampm = this.flags.amSymbol;
			}
		}
		break;
	  default:
		if (hour >= 1 && hour < 12 && ampm == this.flags.pmSymbol) {
			hour += 12;
		}
		if (hour == 12 && ampm == this.flags.amSymbol) {
			hour = 0;
		}
		switch (cursorToken) {
		  case "s":
			sec += deltaSec * direction;
			while (sec < 0) {
				min--;
				sec += 60;
			}
			while (sec >= 60) {
				min++;
				sec -= 60;
			}
		  case "m":
			if (cursorToken == "m") {
				min += deltaMin * direction;
			}
			while (min < 0) {
				hour--;
				min += 60;
			}
			while (min >= 60) {
				hour++;
				min -= 60;
			}
		  case "h":
		  case "H":
			if (cursorToken == "h" || cursorToken == "H") {
				hour += deltaHour * direction;
			}
			while (hour < 0) {
				hour += 24;
			}
			while (hour >= 24) {
				hour -= 24;
			}
			break;
		  default:
			return;
		}
		if (hour >= 12) {
			ampm = this.flags.pmSymbol;

lib/HTML/Dojo/src.pm  view on Meta::CPAN

	} else {
		this.onSetSelectedAnyTime();
	}
}, setTime:function (date) {
	if (date) {
		this.selectedTime.anyTime = false;
		this.setDateTime(dojo.date.toRfc3339(date));
	} else {
		this.selectedTime.anyTime = true;
	}
	this.initData();
	this.initUI();
}, setDateTime:function (rfcDate) {
	this.storedTime = rfcDate;
}, onClearSelectedHour:function (evt) {
	this.clearSelectedHour();
}, onClearSelectedMinute:function (evt) {
	this.clearSelectedMinute();
}, onClearSelectedAmPm:function (evt) {
	this.clearSelectedAmPm();
}, onClearSelectedAnyTime:function (evt) {
	this.clearSelectedAnyTime();
	if (this.selectedTime.anyTime) {
		this.selectedTime.anyTime = false;
		this.time = dojo.widget.TimePicker.util.fromRfcDateTime("", this.useDefaultMinutes);
		this.initUI();
	}
}, clearSelectedHour:function () {
	var hourNodes = this.hourContainerNode.getElementsByTagName("td");
	for (var i = 0; i < hourNodes.length; i++) {
		dojo.html.setClass(hourNodes.item(i), "");
	}
}, clearSelectedMinute:function () {
	var minuteNodes = this.minuteContainerNode.getElementsByTagName("td");
	for (var i = 0; i < minuteNodes.length; i++) {
		dojo.html.setClass(minuteNodes.item(i), "");
	}
}, clearSelectedAmPm:function () {
	var amPmNodes = this.amPmContainerNode.getElementsByTagName("td");
	for (var i = 0; i < amPmNodes.length; i++) {
		dojo.html.setClass(amPmNodes.item(i), "");
	}
}, clearSelectedAnyTime:function () {
	dojo.html.setClass(this.anyTimeContainerNode, "anyTimeContainer");
}, onSetSelectedHour:function (evt) {
	this.onClearSelectedAnyTime();
	this.onClearSelectedHour();
	this.setSelectedHour(evt);
	this.onSetTime();
}, setSelectedHour:function (evt) {
	if (evt && evt.target) {
		if (evt.target.nodeType == dojo.dom.ELEMENT_NODE) {
			var eventTarget = evt.target;
		} else {
			var eventTarget = evt.target.parentNode;
		}
		dojo.event.browser.stopEvent(evt);
		dojo.html.setClass(eventTarget, this.classNames.selectedTime);
		this.selectedTime["hour"] = eventTarget.innerHTML;
	} else {
		if (!isNaN(evt)) {
			var hourNodes = this.hourContainerNode.getElementsByTagName("td");
			if (hourNodes.item(evt)) {
				dojo.html.setClass(hourNodes.item(evt), this.classNames.selectedTime);
				this.selectedTime["hour"] = hourNodes.item(evt).innerHTML;
			}
		}
	}
	this.selectedTime.anyTime = false;
}, onSetSelectedMinute:function (evt) {
	this.onClearSelectedAnyTime();
	this.onClearSelectedMinute();
	this.setSelectedMinute(evt);
	this.selectedTime.anyTime = false;
	this.onSetTime();
}, setSelectedMinute:function (evt) {
	if (evt && evt.target) {
		if (evt.target.nodeType == dojo.dom.ELEMENT_NODE) {
			var eventTarget = evt.target;
		} else {
			var eventTarget = evt.target.parentNode;
		}
		dojo.event.browser.stopEvent(evt);
		dojo.html.setClass(eventTarget, this.classNames.selectedTime);
		this.selectedTime["minute"] = eventTarget.innerHTML;
	} else {
		if (!isNaN(evt)) {
			var minuteNodes = this.minuteContainerNode.getElementsByTagName("td");
			if (minuteNodes.item(evt)) {
				dojo.html.setClass(minuteNodes.item(evt), this.classNames.selectedTime);
				this.selectedTime["minute"] = minuteNodes.item(evt).innerHTML;
			}
		}
	}
}, onSetSelectedAmPm:function (evt) {
	this.onClearSelectedAnyTime();
	this.onClearSelectedAmPm();
	this.setSelectedAmPm(evt);
	this.selectedTime.anyTime = false;
	this.onSetTime();
}, setSelectedAmPm:function (evt) {
	var eventTarget = evt.target;
	if (evt && eventTarget) {
		if (eventTarget.nodeType != dojo.dom.ELEMENT_NODE) {
			eventTarget = eventTarget.parentNode;
		}
		dojo.event.browser.stopEvent(evt);
		this.selectedTime.amPm = eventTarget.id;
		dojo.html.setClass(eventTarget, this.classNames.selectedTime);
	} else {
		evt = evt ? 0 : 1;
		var amPmNodes = this.amPmContainerNode.getElementsByTagName("td");
		if (amPmNodes.item(evt)) {
			this.selectedTime.amPm = amPmNodes.item(evt).id;
			dojo.html.setClass(amPmNodes.item(evt), this.classNames.selectedTime);
		}
	}
}, onSetSelectedAnyTime:function (evt) {
	this.onClearSelectedHour();
	this.onClearSelectedMinute();
	this.onClearSelectedAmPm();
	this.setSelectedAnyTime();
	this.onSetTime();
}, setSelectedAnyTime:function (evt) {
	this.selectedTime.anyTime = true;
	dojo.html.setClass(this.anyTimeContainerNode, this.classNames.selectedTime + " " + "anyTimeContainer");
}, onClick:function (evt) {
	dojo.event.browser.stopEvent(evt);
}, onSetTime:function () {
	if (this.selectedTime.anyTime) {
		this.time = new Date();
		var tempDateTime = dojo.widget.TimePicker.util.toRfcDateTime(this.time);
		this.setDateTime(tempDateTime.split("T")[0]);
	} else {
		var hour = 12;
		var minute = 0;
		var isAm = false;
		if (this.selectedTime["hour"]) {
			hour = parseInt(this.selectedTime["hour"], 10);
		}
		if (this.selectedTime["minute"]) {
			minute = parseInt(this.selectedTime["minute"], 10);
		}
		if (this.selectedTime["amPm"]) {
			isAm = (this.selectedTime["amPm"].toLowerCase() == "am");
		}
		this.time = new Date();

lib/HTML/Dojo/src.pm  view on Meta::CPAN

			if (node.getAttribute("padding").indexOf(",") > -1) {
				var p = node.getAttribute("padding").split(",");
			} else {
				var p = node.getAttribute("padding").split(" ");
			}
			if (p.length == 1) {
				var pad = parseFloat(p[0]);
				this.properties.padding.top = pad;
				this.properties.padding.right = pad;
				this.properties.padding.bottom = pad;
				this.properties.padding.left = pad;
			} else {
				if (p.length == 2) {
					var padV = parseFloat(p[0]);
					var padH = parseFloat(p[1]);
					this.properties.padding.top = padV;
					this.properties.padding.right = padH;
					this.properties.padding.bottom = padV;
					this.properties.padding.left = padH;
				} else {
					if (p.length == 4) {
						this.properties.padding.top = parseFloat(p[0]);
						this.properties.padding.right = parseFloat(p[1]);
						this.properties.padding.bottom = parseFloat(p[2]);
						this.properties.padding.left = parseFloat(p[3]);
					}
				}
			}
		}
		if (node.getAttribute("rangeX")) {
			var p = node.getAttribute("rangeX");
			if (p.indexOf(",") > -1) {
				p = p.split(",");
			} else {
				p = p.split(" ");
			}
			this.properties.axes.x.range.min = parseFloat(p[0]);
			this.properties.axes.x.range.max = parseFloat(p[1]);
			bRangeX = true;
		}
		if (node.getAttribute("rangeY")) {
			var p = node.getAttribute("rangeY");
			if (p.indexOf(",") > -1) {
				p = p.split(",");
			} else {
				p = p.split(" ");
			}
			this.properties.axes.y.range.min = parseFloat(p[0]);
			this.properties.axes.y.range.max = parseFloat(p[1]);
			bRangeY = true;
		}
		return {rangeX:bRangeX, rangeY:bRangeY};
	}, setAxesPlot:function (table) {
		if (table.getAttribute("axisAt")) {
			var p = table.getAttribute("axisAt");
			if (p.indexOf(",") > -1) {
				p = p.split(",");
			} else {
				p = p.split(" ");
			}
			if (!isNaN(parseFloat(p[0]))) {
				this.properties.axes.x.plotAt = parseFloat(p[0]);
			} else {
				if (p[0].toLowerCase() == "ymin") {
					this.properties.axes.x.plotAt = this.properties.axes.y.range.min;
				} else {
					if (p[0].toLowerCase() == "ymax") {
						this.properties.axes.x.plotAt = this.properties.axes.y.range.max;
					}
				}
			}
			if (!isNaN(parseFloat(p[1]))) {
				this.properties.axes.y.plotAt = parseFloat(p[1]);
			} else {
				if (p[1].toLowerCase() == "xmin") {
					this.properties.axes.y.plotAt = this.properties.axes.x.range.min;
				} else {
					if (p[1].toLowerCase() == "xmax") {
						this.properties.axes.y.plotAt = this.properties.axes.x.range.max;
					}
				}
			}
		} else {
			this.properties.axes.x.plotAt = this.properties.axes.y.range.min;
			this.properties.axes.y.plotAt = this.properties.axes.x.range.min;
		}
	}, drawVectorNode:function () {
		dojo.svg.g.suspend();
		if (this.vectorNode) {
			this.destroy();
		}
		this.vectorNode = document.createElementNS(dojo.svg.xmlns.svg, "svg");
		this.vectorNode.setAttribute("width", this.properties.width);
		this.vectorNode.setAttribute("height", this.properties.height);
		dojo.svg.g.resume();
	}, drawPlotArea:function () {
		dojo.svg.g.suspend();
		if (this.plotArea) {
			this.plotArea.parentNode.removeChild(this.plotArea);
			this.plotArea = null;
		}
		var defs = document.createElementNS(dojo.svg.xmlns.svg, "defs");
		var clip = document.createElementNS(dojo.svg.xmlns.svg, "clipPath");
		clip.setAttribute("id", "plotClip" + this.widgetId);
		var rect = document.createElementNS(dojo.svg.xmlns.svg, "rect");
		rect.setAttribute("x", this.properties.padding.left);
		rect.setAttribute("y", this.properties.padding.top);
		rect.setAttribute("width", this.properties.width - this.properties.padding.left - this.properties.padding.right);
		rect.setAttribute("height", this.properties.height - this.properties.padding.top - this.properties.padding.bottom);
		clip.appendChild(rect);
		defs.appendChild(clip);
		this.vectorNode.appendChild(defs);
		this.plotArea = document.createElementNS(dojo.svg.xmlns.svg, "g");
		this.vectorNode.appendChild(this.plotArea);
		var rect = document.createElementNS(dojo.svg.xmlns.svg, "rect");
		rect.setAttribute("x", this.properties.padding.left);
		rect.setAttribute("y", this.properties.padding.top);
		rect.setAttribute("width", this.properties.width - this.properties.padding.left - this.properties.padding.right);
		rect.setAttribute("height", this.properties.height - this.properties.padding.top - this.properties.padding.bottom);
		rect.setAttribute("fill", "#fff");
		this.plotArea.appendChild(rect);
		dojo.svg.g.resume();
	}, drawDataGroup:function () {
		dojo.svg.g.suspend();
		if (this.dataGroup) {
			this.dataGroup.parentNode.removeChild(this.dataGroup);
			this.dataGroup = null;
		}
		this.dataGroup = document.createElementNS(dojo.svg.xmlns.svg, "g");
		this.dataGroup.setAttribute("style", "clip-path:url(#plotClip" + this.widgetId + ");");
		this.plotArea.appendChild(this.dataGroup);
		dojo.svg.g.resume();

lib/HTML/Dojo/src.pm  view on Meta::CPAN

			var line = document.createElementNS(dojo.svg.xmlns.svg, "path");
			line.setAttribute("fill", series.color);
			line.setAttribute("fill-opacity", "0.4");
			line.setAttribute("stroke", series.color);
			line.setAttribute("stroke-width", "1");
			line.setAttribute("stroke-opacity", "0.8");
			line.setAttribute("title", series.label);
			chart.dataGroup.appendChild(line);
			var path = [];
			for (var i = 0; i < series.values.length; i++) {
				var x = self.getX(series.values[i].x, chart);
				var y = self.getY(series.values[i].value, chart);
				var dx = chart.properties.padding.left + 1;
				var dy = chart.properties.height - chart.properties.padding.bottom;
				if (i > 0) {
					dx = x - self.getX(series.values[i - 1].x, chart);
					dy = self.getY(series.values[i - 1].value, chart);
				}
				if (i == 0) {
					path.push("M");
				} else {
					path.push("C");
					var cx = x - (tension - 1) * (dx / tension);
					path.push(cx + "," + dy);
					cx = x - (dx / tension);
					path.push(cx + "," + y);
				}
				path.push(x + "," + y);
			}
			path.push("L");
			path.push(x + "," + self.getY(0, chart));
			path.push("L");
			path.push(self.getX(0, chart) + "," + self.getY(0, chart));
			path.push("Z");
			line.setAttribute("d", path.join(" "));
		}, plotters["scatter"] = function (series, chart) {
			var r = 7;
			for (var i = 0; i < series.values.length; i++) {
				var x = self.getX(series.values[i].x, chart);
				var y = self.getY(series.values[i].value, chart);
				var point = document.createElementNS(dojo.svg.xmlns.svg, "path");
				point.setAttribute("fill", series.color);
				point.setAttribute("stroke-width", "0");
				point.setAttribute("title", series.label + ": " + series.values[i].value);
				point.setAttribute("d", "M " + x + "," + (y - r) + " " + "Q " + x + "," + y + " " + (x + r) + "," + y + " " + "Q " + x + "," + y + " " + x + "," + (y + r) + " " + "Q " + x + "," + y + " " + (x - r) + "," + y + " " + "Q " + x + "," + y + " " + x +...
				chart.dataGroup.appendChild(point);
			}
		};
		plotters["bubble"] = function (series, chart) {
			var minR = 1;
			var min = chart.properties.axes.x.range.min;
			var max = chart.properties.axes.x.range.max;
			var ofst = 0 - min;
			min += ofst;
			max += ofst;
			var xmin = chart.properties.padding.left;
			var xmax = chart.properties.width - chart.properties.padding.right;
			var factor = (max - min) / (xmax - xmin) * 25;
			for (var i = 0; i < series.values.length; i++) {
				var size = series.values[i].size;
				if (isNaN(parseFloat(size))) {
					size = minR;
				}
				var point = document.createElementNS(dojo.svg.xmlns.svg, "circle");
				point.setAttribute("stroke-width", 0);
				point.setAttribute("fill", series.color);
				point.setAttribute("fill-opacity", "0.8");
				point.setAttribute("r", (parseFloat(size) * factor) / 2);
				point.setAttribute("cx", self.getX(series.values[i].x, chart));
				point.setAttribute("cy", self.getY(series.values[i].value, chart));
				point.setAttribute("title", series.label + ": " + series.values[i].value + " (" + size + ")");
				chart.dataGroup.appendChild(point);
			}
		};
	}();
}});


__CPAN_FILE__ src/widget/svg/Chart.js
/*
	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
*/



dojo.provide("dojo.widget.svg.Chart");
dojo.require("dojo.widget.HtmlWidget");
dojo.require("dojo.widget.Chart");
dojo.require("dojo.html.layout");
dojo.require("dojo.math");
dojo.require("dojo.svg");
dojo.require("dojo.gfx.color");
dojo.require("dojo.json");
dojo.widget.defineWidget("dojo.widget.svg.Chart", [dojo.widget.HtmlWidget, dojo.widget.Chart], function () {
	this.templatePath = null;
	this.templateCssPath = null;
	this._isInitialize = false;
	this.hasData = false;
	this.vectorNode = null;
	this.plotArea = null;
	this.dataGroup = null;
	this.axisGroup = null;
	this.properties = {height:0, width:0, defaultWidth:600, defaultHeight:400, plotType:null, padding:{top:10, bottom:2, left:60, right:30}, axes:{x:{plotAt:0, label:"", unitLabel:"", unitType:Number, nUnitsToShow:10, range:{min:0, max:200}}, y:{plotAt:...
}, {parseProperties:function (node) {
	var bRangeX = false;
	var bRangeY = false;
	if (node.getAttribute("width")) {
		this.properties.width = node.getAttribute("width");
	}
	if (node.getAttribute("height")) {
		this.properties.height = node.getAttribute("height");
	}
	if (node.getAttribute("plotType")) {
		this.properties.plotType = node.getAttribute("plotType");
	}

lib/HTML/Dojo/src.pm  view on Meta::CPAN

		if (node.getAttribute("padding").indexOf(",") > -1) {
			var p = node.getAttribute("padding").split(",");
		} else {
			var p = node.getAttribute("padding").split(" ");
		}
		if (p.length == 1) {
			var pad = parseFloat(p[0]);
			this.properties.padding.top = pad;
			this.properties.padding.right = pad;
			this.properties.padding.bottom = pad;
			this.properties.padding.left = pad;
		} else {
			if (p.length == 2) {
				var padV = parseFloat(p[0]);
				var padH = parseFloat(p[1]);
				this.properties.padding.top = padV;
				this.properties.padding.right = padH;
				this.properties.padding.bottom = padV;
				this.properties.padding.left = padH;
			} else {
				if (p.length == 4) {
					this.properties.padding.top = parseFloat(p[0]);
					this.properties.padding.right = parseFloat(p[1]);
					this.properties.padding.bottom = parseFloat(p[2]);
					this.properties.padding.left = parseFloat(p[3]);
				}
			}
		}
	}
	if (node.getAttribute("rangeX")) {
		var p = node.getAttribute("rangeX");
		if (p.indexOf(",") > -1) {
			p = p.split(",");
		} else {
			p = p.split(" ");
		}
		this.properties.axes.x.range.min = parseFloat(p[0]);
		this.properties.axes.x.range.max = parseFloat(p[1]);
		bRangeX = true;
	}
	if (node.getAttribute("rangeY")) {
		var p = node.getAttribute("rangeY");
		if (p.indexOf(",") > -1) {
			p = p.split(",");
		} else {
			p = p.split(" ");
		}
		this.properties.axes.y.range.min = parseFloat(p[0]);
		this.properties.axes.y.range.max = parseFloat(p[1]);
		bRangeY = true;
	}
	return {rangeX:bRangeX, rangeY:bRangeY};
}, setAxesPlot:function (table) {
	if (table.getAttribute("axisAt")) {
		var p = table.getAttribute("axisAt");
		if (p.indexOf(",") > -1) {
			p = p.split(",");
		} else {
			p = p.split(" ");
		}
		if (!isNaN(parseFloat(p[0]))) {
			this.properties.axes.x.plotAt = parseFloat(p[0]);
		} else {
			if (p[0].toLowerCase() == "ymin") {
				this.properties.axes.x.plotAt = this.properties.axes.y.range.min;
			} else {
				if (p[0].toLowerCase() == "ymax") {
					this.properties.axes.x.plotAt = this.properties.axes.y.range.max;
				}
			}
		}
		if (!isNaN(parseFloat(p[1]))) {
			this.properties.axes.y.plotAt = parseFloat(p[1]);
		} else {
			if (p[1].toLowerCase() == "xmin") {
				this.properties.axes.y.plotAt = this.properties.axes.x.range.min;
			} else {
				if (p[1].toLowerCase() == "xmax") {
					this.properties.axes.y.plotAt = this.properties.axes.x.range.max;
				}
			}
		}
	} else {
		this.properties.axes.x.plotAt = this.properties.axes.y.range.min;
		this.properties.axes.y.plotAt = this.properties.axes.x.range.min;
	}
}, drawVectorNode:function () {
	dojo.svg.g.suspend();
	if (this.vectorNode) {
		this.destroy();
	}
	this.vectorNode = document.createElementNS(dojo.svg.xmlns.svg, "svg");
	this.vectorNode.setAttribute("width", this.properties.width);
	this.vectorNode.setAttribute("height", this.properties.height);
	dojo.svg.g.resume();
}, drawPlotArea:function () {
	dojo.svg.g.suspend();
	if (this.plotArea) {
		this.plotArea.parentNode.removeChild(this.plotArea);
		this.plotArea = null;
	}
	var defs = document.createElementNS(dojo.svg.xmlns.svg, "defs");
	var clip = document.createElementNS(dojo.svg.xmlns.svg, "clipPath");
	clip.setAttribute("id", "plotClip" + this.widgetId);
	var rect = document.createElementNS(dojo.svg.xmlns.svg, "rect");
	rect.setAttribute("x", this.properties.padding.left);
	rect.setAttribute("y", this.properties.padding.top);
	rect.setAttribute("width", this.properties.width - this.properties.padding.left - this.properties.padding.right);
	rect.setAttribute("height", this.properties.height - this.properties.padding.top - this.properties.padding.bottom);
	clip.appendChild(rect);
	defs.appendChild(clip);
	this.vectorNode.appendChild(defs);
	this.plotArea = document.createElementNS(dojo.svg.xmlns.svg, "g");
	this.vectorNode.appendChild(this.plotArea);
	var rect = document.createElementNS(dojo.svg.xmlns.svg, "rect");
	rect.setAttribute("x", this.properties.padding.left);
	rect.setAttribute("y", this.properties.padding.top);
	rect.setAttribute("width", this.properties.width - this.properties.padding.left - this.properties.padding.right);
	rect.setAttribute("height", this.properties.height - this.properties.padding.top - this.properties.padding.bottom);
	rect.setAttribute("fill", "#fff");
	this.plotArea.appendChild(rect);
	dojo.svg.g.resume();
}, drawDataGroup:function () {
	dojo.svg.g.suspend();
	if (this.dataGroup) {
		this.dataGroup.parentNode.removeChild(this.dataGroup);
		this.dataGroup = null;
	}
	this.dataGroup = document.createElementNS(dojo.svg.xmlns.svg, "g");
	this.dataGroup.setAttribute("style", "clip-path:url(#plotClip" + this.widgetId + ");");
	this.plotArea.appendChild(this.dataGroup);
	dojo.svg.g.resume();

lib/HTML/Dojo/src.pm  view on Meta::CPAN

		var line = document.createElementNS(dojo.svg.xmlns.svg, "path");
		line.setAttribute("fill", series.color);
		line.setAttribute("fill-opacity", "0.4");
		line.setAttribute("stroke", series.color);
		line.setAttribute("stroke-width", "1");
		line.setAttribute("stroke-opacity", "0.8");
		line.setAttribute("title", series.label);
		chart.dataGroup.appendChild(line);
		var path = [];
		for (var i = 0; i < series.values.length; i++) {
			var x = self.getX(series.values[i].x, chart);
			var y = self.getY(series.values[i].value, chart);
			var dx = chart.properties.padding.left + 1;
			var dy = chart.properties.height - chart.properties.padding.bottom;
			if (i > 0) {
				dx = x - self.getX(series.values[i - 1].x, chart);
				dy = self.getY(series.values[i - 1].value, chart);
			}
			if (i == 0) {
				path.push("M");
			} else {
				path.push("C");
				var cx = x - (tension - 1) * (dx / tension);
				path.push(cx + "," + dy);
				cx = x - (dx / tension);
				path.push(cx + "," + y);
			}
			path.push(x + "," + y);
		}
		path.push("L");
		path.push(x + "," + self.getY(0, chart));
		path.push("L");
		path.push(self.getX(0, chart) + "," + self.getY(0, chart));
		path.push("Z");
		line.setAttribute("d", path.join(" "));
	}, plotters["scatter"] = function (series, chart) {
		var r = 7;
		for (var i = 0; i < series.values.length; i++) {
			var x = self.getX(series.values[i].x, chart);
			var y = self.getY(series.values[i].value, chart);
			var point = document.createElementNS(dojo.svg.xmlns.svg, "path");
			point.setAttribute("fill", series.color);
			point.setAttribute("stroke-width", "0");
			point.setAttribute("title", series.label + ": " + series.values[i].value);
			point.setAttribute("d", "M " + x + "," + (y - r) + " " + "Q " + x + "," + y + " " + (x + r) + "," + y + " " + "Q " + x + "," + y + " " + x + "," + (y + r) + " " + "Q " + x + "," + y + " " + (x - r) + "," + y + " " + "Q " + x + "," + y + " " + x + ...
			chart.dataGroup.appendChild(point);
		}
	};
	plotters["bubble"] = function (series, chart) {
		var minR = 1;
		var min = chart.properties.axes.x.range.min;
		var max = chart.properties.axes.x.range.max;
		var ofst = 0 - min;
		min += ofst;
		max += ofst;
		var xmin = chart.properties.padding.left;
		var xmax = chart.properties.width - chart.properties.padding.right;
		var factor = (max - min) / (xmax - xmin) * 25;
		for (var i = 0; i < series.values.length; i++) {
			var size = series.values[i].size;
			if (isNaN(parseFloat(size))) {
				size = minR;
			}
			var point = document.createElementNS(dojo.svg.xmlns.svg, "circle");
			point.setAttribute("stroke-width", 0);
			point.setAttribute("fill", series.color);
			point.setAttribute("fill-opacity", "0.8");
			point.setAttribute("r", (parseFloat(size) * factor) / 2);
			point.setAttribute("cx", self.getX(series.values[i].x, chart));
			point.setAttribute("cy", self.getY(series.values[i].value, chart));
			point.setAttribute("title", series.label + ": " + series.values[i].value + " (" + size + ")");
			chart.dataGroup.appendChild(point);
		}
	};
}();


__CPAN_DIR__ src/widget/templates
__CPAN_FILE__ src/widget/templates/Slider.html
<table _="weird end tag formatting is to prevent whitespace from becoming &nbsp;" 
	class="sliderMain" 
	dojoAttachPoint="focusNode" 
	dojoAttachEvent="onmousedown:_setFocus; onkey:_handleKeyEvents; onkeyup:_buttonReleased; onmouseup:_buttonReleased; onmousewheel:_mouseWheeled;"
	tabindex="0" cols=3 cellpadding=0 cellspacing=0 style="">
	<tr valign=middle align=center>
		<td class="sliderComponent" colspan=3 dojoAttachPoint=topBorderNode style=""
			><img class="sliderOutsetButton sliderButtonY"
				dojoAttachPoint=topButtonNode 
				dojoAttachEvent="onmousedown:_topButtonPressed; onmousemove:_discardEvent; ondblclick:_topButtonDoubleClicked;"
				src="${this.topButtonSrc}" 
				style="${this.buttonStyleY}"
		></td>
	</tr>
	<tr valign=middle align=center>
		<td class="sliderComponent" dojoAttachPoint=leftBorderNode style=""
			><img class="sliderOutsetButton sliderButtonX"
				dojoAttachPoint=leftButtonNode
				dojoAttachEvent="onmousedown:_leftButtonPressed; onmousemove:_discardEvent; ondblclick:_leftButtonDoubleClicked;"
				src="${this.leftButtonSrc}" 
				style="${this.buttonStyleX}"
		></td>
		<td dojoAttachPoint=constrainingContainerNode 
			class="sliderComponent sliderBackground"
			style="${this.backgroundStyle}"
			><img src="${this.handleSrc}" 
				class=sliderHandle
				dojoAttachPoint=sliderHandleNode
				style="${this.handleStyle}"
			><img src="${this.progressBackgroundSrc}"
				class="sliderBackgroundSizeOnly sliderProgressBackground"
				dojoAttachPoint=progressBackgroundNode
				style="${this.backgroundSize}"
			><img src="${this.backgroundSrc}" 
				class=sliderBackgroundSizeOnly
				dojoAttachPoint=sliderBackgroundNode
				style="${this.backgroundSize}"
		></td>
		<td class="sliderComponent" dojoAttachPoint=rightBorderNode style=""
			><img class="sliderOutsetButton sliderButtonX"
				dojoAttachPoint=rightButtonNode
				dojoAttachEvent="onmousedown:_rightButtonPressed; onmousemove:_discardEvent; ondblclick:_rightButtonDoubleClicked;"

lib/HTML/Dojo/src.pm  view on Meta::CPAN

			if (node.getAttribute("padding").indexOf(",") > -1) {
				var p = node.getAttribute("padding").split(",");
			} else {
				var p = node.getAttribute("padding").split(" ");
			}
			if (p.length == 1) {
				var pad = parseFloat(p[0]);
				this.properties.padding.top = pad;
				this.properties.padding.right = pad;
				this.properties.padding.bottom = pad;
				this.properties.padding.left = pad;
			} else {
				if (p.length == 2) {
					var padV = parseFloat(p[0]);
					var padH = parseFloat(p[1]);
					this.properties.padding.top = padV;
					this.properties.padding.right = padH;
					this.properties.padding.bottom = padV;
					this.properties.padding.left = padH;
				} else {
					if (p.length == 4) {
						this.properties.padding.top = parseFloat(p[0]);
						this.properties.padding.right = parseFloat(p[1]);
						this.properties.padding.bottom = parseFloat(p[2]);
						this.properties.padding.left = parseFloat(p[3]);
					}
				}
			}
		}
		if (node.getAttribute("rangeX")) {
			var p = node.getAttribute("rangeX");
			if (p.indexOf(",") > -1) {
				p = p.split(",");
			} else {
				p = p.split(" ");
			}
			this.properties.axes.x.range.min = parseFloat(p[0]);
			this.properties.axes.x.range.max = parseFloat(p[1]);
			bRangeX = true;
		}
		if (node.getAttribute("rangeY")) {
			var p = node.getAttribute("rangeY");
			if (p.indexOf(",") > -1) {
				p = p.split(",");
			} else {
				p = p.split(" ");
			}
			this.properties.axes.y.range.min = parseFloat(p[0]);
			this.properties.axes.y.range.max = parseFloat(p[1]);
			bRangeY = true;
		}
		return {rangeX:bRangeX, rangeY:bRangeY};
	}, setAxesPlot:function (table) {
		if (table.getAttribute("axisAt")) {
			var p = table.getAttribute("axisAt");
			if (p.indexOf(",") > -1) {
				p = p.split(",");
			} else {
				p = p.split(" ");
			}
			if (!isNaN(parseFloat(p[0]))) {
				this.properties.axes.x.plotAt = parseFloat(p[0]);
			} else {
				if (p[0].toLowerCase() == "ymin") {
					this.properties.axes.x.plotAt = this.properties.axes.y.range.min;
				} else {
					if (p[0].toLowerCase() == "ymax") {
						this.properties.axes.x.plotAt = this.properties.axes.y.range.max;
					}
				}
			}
			if (!isNaN(parseFloat(p[1]))) {
				this.properties.axes.y.plotAt = parseFloat(p[1]);
			} else {
				if (p[1].toLowerCase() == "xmin") {
					this.properties.axes.y.plotAt = this.properties.axes.x.range.min;
				} else {
					if (p[1].toLowerCase() == "xmax") {
						this.properties.axes.y.plotAt = this.properties.axes.x.range.max;
					}
				}
			}
		} else {
			this.properties.axes.x.plotAt = this.properties.axes.y.range.min;
			this.properties.axes.y.plotAt = this.properties.axes.x.range.min;
		}
	}, drawVectorNode:function () {
		if (this.vectorNode) {
			this.destroy();
		}
		this.vectorNode = document.createElement("div");
		this.vectorNode.style.width = this.properties.width + "px";
		this.vectorNode.style.height = this.properties.height + "px";
		this.vectorNode.style.position = "relative";
		this.domNode.appendChild(this.vectorNode);
	}, drawPlotArea:function () {
		var plotWidth = this.properties.width - this.properties.padding.left - this.properties.padding.right;
		var plotHeight = this.properties.height - this.properties.padding.top - this.properties.padding.bottom;
		if (this.plotArea) {
			this.plotArea.parentNode.removeChild(this.plotArea);
			this.plotArea = null;
		}
		this.plotArea = document.createElement("div");
		this.plotArea.style.position = "absolute";
		this.plotArea.style.backgroundColor = "#fff";
		this.plotArea.style.top = (this.properties.padding.top) - 2 + "px";
		this.plotArea.style.left = (this.properties.padding.left - 1) + "px";
		this.plotArea.style.width = plotWidth + "px";
		this.plotArea.style.height = plotHeight + "px";
		this.plotArea.style.clip = "rect(0 " + plotWidth + " " + plotHeight + " 0)";
		this.vectorNode.appendChild(this.plotArea);
	}, drawDataGroup:function () {
		var plotWidth = this.properties.width - this.properties.padding.left - this.properties.padding.right;
		var plotHeight = this.properties.height - this.properties.padding.top - this.properties.padding.bottom;
		if (this.dataGroup) {
			this.dataGroup.parentNode.removeChild(this.dataGroup);
			this.dataGroup = null;
		}
		this.dataGroup = document.createElement("div");
		this.dataGroup.style.position = "absolute";
		this.dataGroup.setAttribute("title", "Data Group");
		this.dataGroup.style.top = "0px";
		this.dataGroup.style.left = "0px";
		this.dataGroup.style.width = plotWidth + "px";
		this.dataGroup.style.height = plotHeight + "px";
		this.plotArea.appendChild(this.dataGroup);
	}, drawAxes:function () {
		var plotWidth = this.properties.width - this.properties.padding.left - this.properties.padding.right;
		var plotHeight = this.properties.height - this.properties.padding.top - this.properties.padding.bottom;
		if (this.axisGroup) {
			this.axisGroup.parentNode.removeChild(this.axisGroup);
			this.axisGroup = null;

lib/HTML/Dojo/src.pm  view on Meta::CPAN

			for (var i = 0; i < series.values.length; i++) {
				var x = Math.round(self.getX(series.values[i].x, chart));
				var y = Math.round(self.getY(series.values[i].value, chart));
				if (i == 0) {
					path.push("m");
					path.push(x + "," + y);
				} else {
					var lastx = Math.round(self.getX(series.values[i - 1].x, chart));
					var lasty = Math.round(self.getY(series.values[i - 1].value, chart));
					var dx = x - lastx;
					var dy = y - lasty;
					path.push("c");
					var cx = Math.round((x - (tension - 1) * (dx / tension)));
					path.push(cx + "," + lasty);
					cx = Math.round((x - (dx / tension)));
					path.push(cx + "," + y);
					path.push(x + "," + y);
				}
			}
			path.push("l");
			path.push(x + "," + self.getY(0, chart));
			path.push("l");
			path.push(self.getX(0, chart) + "," + self.getY(0, chart));
			line.setAttribute("path", path.join(" ") + " x e");
			chart.dataGroup.appendChild(line);
		};
		plotters["scatter"] = function (series, chart) {
			var r = 6;
			for (var i = 0; i < series.values.length; i++) {
				var x = self.getX(series.values[i].x, chart);
				var y = self.getY(series.values[i].value, chart);
				var mod = r / 2;
				var point = document.createElement("v:rect");
				point.setAttribute("fillcolor", series.color);
				point.setAttribute("strokecolor", series.color);
				point.setAttribute("title", series.label + ": " + series.values[i].value);
				point.style.position = "absolute";
				point.style.rotation = "45";
				point.style.top = (y - mod) + "px";
				point.style.left = (x - mod) + "px";
				point.style.width = r + "px";
				point.style.height = r + "px";
				var fill = document.createElement("v:fill");
				fill.setAttribute("opacity", "0.6");
				point.appendChild(fill);
				chart.dataGroup.appendChild(point);
			}
		};
		plotters["bubble"] = function (series, chart) {
			var minR = 1;
			var min = chart.properties.axes.x.range.min;
			var max = chart.properties.axes.x.range.max;
			var ofst = 0 - min;
			min += ofst;
			max += ofst;
			var xmin = chart.properties.padding.left;
			var xmax = chart.properties.width - chart.properties.padding.right;
			var factor = (max - min) / (xmax - xmin) * 25;
			for (var i = 0; i < series.values.length; i++) {
				var size = series.values[i].size;
				if (isNaN(parseFloat(size))) {
					size = minR;
				}
				var radius = (parseFloat(size) * factor) / 2;
				var diameter = radius * 2;
				var cx = self.getX(series.values[i].x, chart);
				var cy = self.getY(series.values[i].value, chart);
				var top = cy - radius;
				var left = cx - radius;
				var point = document.createElement("v:oval");
				point.setAttribute("fillcolor", series.color);
				point.setAttribute("title", series.label + ": " + series.values[i].value + " (" + size + ")");
				point.setAttribute("stroked", "false");
				point.style.position = "absolute";
				point.style.top = top + "px";
				point.style.left = left + "px";
				point.style.width = diameter + "px";
				point.style.height = diameter + "px";
				var fill = document.createElement("v:fill");
				fill.setAttribute("opacity", "0.8");
				point.appendChild(fill);
				chart.dataGroup.appendChild(point);
			}
		};
	}();
}});


__CPAN_FILE__ src/widget/vml/Chart.js
/*
	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
*/



dojo.provide("dojo.widget.vml.Chart");
dojo.require("dojo.widget.HtmlWidget");
dojo.require("dojo.widget.Chart");
dojo.require("dojo.math");
dojo.require("dojo.html.layout");
dojo.require("dojo.gfx.color");
dojo.widget.defineWidget("dojo.widget.vml.Chart", [dojo.widget.HtmlWidget, dojo.widget.Chart], function () {
	this.templatePath = null;
	this.templateCssPath = null;
	this._isInitialize = false;
	this.hasData = false;
	this.vectorNode = null;
	this.plotArea = null;
	this.dataGroup = null;
	this.axisGroup = null;
	this.properties = {height:0, width:0, defaultWidth:600, defaultHeight:400, plotType:null, padding:{top:10, bottom:2, left:60, right:30}, axes:{x:{plotAt:0, label:"", unitLabel:"", unitType:Number, nUnitsToShow:10, range:{min:0, max:200}}, y:{plotAt:...
}, {parseProperties:function (node) {
	var bRangeX = false;
	var bRangeY = false;
	if (node.getAttribute("width")) {

lib/HTML/Dojo/src.pm  view on Meta::CPAN

		if (node.getAttribute("padding").indexOf(",") > -1) {
			var p = node.getAttribute("padding").split(",");
		} else {
			var p = node.getAttribute("padding").split(" ");
		}
		if (p.length == 1) {
			var pad = parseFloat(p[0]);
			this.properties.padding.top = pad;
			this.properties.padding.right = pad;
			this.properties.padding.bottom = pad;
			this.properties.padding.left = pad;
		} else {
			if (p.length == 2) {
				var padV = parseFloat(p[0]);
				var padH = parseFloat(p[1]);
				this.properties.padding.top = padV;
				this.properties.padding.right = padH;
				this.properties.padding.bottom = padV;
				this.properties.padding.left = padH;
			} else {
				if (p.length == 4) {
					this.properties.padding.top = parseFloat(p[0]);
					this.properties.padding.right = parseFloat(p[1]);
					this.properties.padding.bottom = parseFloat(p[2]);
					this.properties.padding.left = parseFloat(p[3]);
				}
			}
		}
	}
	if (node.getAttribute("rangeX")) {
		var p = node.getAttribute("rangeX");
		if (p.indexOf(",") > -1) {
			p = p.split(",");
		} else {
			p = p.split(" ");
		}
		this.properties.axes.x.range.min = parseFloat(p[0]);
		this.properties.axes.x.range.max = parseFloat(p[1]);
		bRangeX = true;
	}
	if (node.getAttribute("rangeY")) {
		var p = node.getAttribute("rangeY");
		if (p.indexOf(",") > -1) {
			p = p.split(",");
		} else {
			p = p.split(" ");
		}
		this.properties.axes.y.range.min = parseFloat(p[0]);
		this.properties.axes.y.range.max = parseFloat(p[1]);
		bRangeY = true;
	}
	return {rangeX:bRangeX, rangeY:bRangeY};
}, setAxesPlot:function (table) {
	if (table.getAttribute("axisAt")) {
		var p = table.getAttribute("axisAt");
		if (p.indexOf(",") > -1) {
			p = p.split(",");
		} else {
			p = p.split(" ");
		}
		if (!isNaN(parseFloat(p[0]))) {
			this.properties.axes.x.plotAt = parseFloat(p[0]);
		} else {
			if (p[0].toLowerCase() == "ymin") {
				this.properties.axes.x.plotAt = this.properties.axes.y.range.min;
			} else {
				if (p[0].toLowerCase() == "ymax") {
					this.properties.axes.x.plotAt = this.properties.axes.y.range.max;
				}
			}
		}
		if (!isNaN(parseFloat(p[1]))) {
			this.properties.axes.y.plotAt = parseFloat(p[1]);
		} else {
			if (p[1].toLowerCase() == "xmin") {
				this.properties.axes.y.plotAt = this.properties.axes.x.range.min;
			} else {
				if (p[1].toLowerCase() == "xmax") {
					this.properties.axes.y.plotAt = this.properties.axes.x.range.max;
				}
			}
		}
	} else {
		this.properties.axes.x.plotAt = this.properties.axes.y.range.min;
		this.properties.axes.y.plotAt = this.properties.axes.x.range.min;
	}
}, drawVectorNode:function () {
	if (this.vectorNode) {
		this.destroy();
	}
	this.vectorNode = document.createElement("div");
	this.vectorNode.style.width = this.properties.width + "px";
	this.vectorNode.style.height = this.properties.height + "px";
	this.vectorNode.style.position = "relative";
	this.domNode.appendChild(this.vectorNode);
}, drawPlotArea:function () {
	var plotWidth = this.properties.width - this.properties.padding.left - this.properties.padding.right;
	var plotHeight = this.properties.height - this.properties.padding.top - this.properties.padding.bottom;
	if (this.plotArea) {
		this.plotArea.parentNode.removeChild(this.plotArea);
		this.plotArea = null;
	}
	this.plotArea = document.createElement("div");
	this.plotArea.style.position = "absolute";
	this.plotArea.style.backgroundColor = "#fff";
	this.plotArea.style.top = (this.properties.padding.top) - 2 + "px";
	this.plotArea.style.left = (this.properties.padding.left - 1) + "px";
	this.plotArea.style.width = plotWidth + "px";
	this.plotArea.style.height = plotHeight + "px";
	this.plotArea.style.clip = "rect(0 " + plotWidth + " " + plotHeight + " 0)";
	this.vectorNode.appendChild(this.plotArea);
}, drawDataGroup:function () {
	var plotWidth = this.properties.width - this.properties.padding.left - this.properties.padding.right;
	var plotHeight = this.properties.height - this.properties.padding.top - this.properties.padding.bottom;
	if (this.dataGroup) {
		this.dataGroup.parentNode.removeChild(this.dataGroup);
		this.dataGroup = null;
	}
	this.dataGroup = document.createElement("div");
	this.dataGroup.style.position = "absolute";
	this.dataGroup.setAttribute("title", "Data Group");
	this.dataGroup.style.top = "0px";
	this.dataGroup.style.left = "0px";
	this.dataGroup.style.width = plotWidth + "px";
	this.dataGroup.style.height = plotHeight + "px";
	this.plotArea.appendChild(this.dataGroup);
}, drawAxes:function () {
	var plotWidth = this.properties.width - this.properties.padding.left - this.properties.padding.right;
	var plotHeight = this.properties.height - this.properties.padding.top - this.properties.padding.bottom;
	if (this.axisGroup) {
		this.axisGroup.parentNode.removeChild(this.axisGroup);
		this.axisGroup = null;

lib/HTML/Dojo/src.pm  view on Meta::CPAN

		for (var i = 0; i < series.values.length; i++) {
			var x = Math.round(self.getX(series.values[i].x, chart));
			var y = Math.round(self.getY(series.values[i].value, chart));
			if (i == 0) {
				path.push("m");
				path.push(x + "," + y);
			} else {
				var lastx = Math.round(self.getX(series.values[i - 1].x, chart));
				var lasty = Math.round(self.getY(series.values[i - 1].value, chart));
				var dx = x - lastx;
				var dy = y - lasty;
				path.push("c");
				var cx = Math.round((x - (tension - 1) * (dx / tension)));
				path.push(cx + "," + lasty);
				cx = Math.round((x - (dx / tension)));
				path.push(cx + "," + y);
				path.push(x + "," + y);
			}
		}
		path.push("l");
		path.push(x + "," + self.getY(0, chart));
		path.push("l");
		path.push(self.getX(0, chart) + "," + self.getY(0, chart));
		line.setAttribute("path", path.join(" ") + " x e");
		chart.dataGroup.appendChild(line);
	};
	plotters["scatter"] = function (series, chart) {
		var r = 6;
		for (var i = 0; i < series.values.length; i++) {
			var x = self.getX(series.values[i].x, chart);
			var y = self.getY(series.values[i].value, chart);
			var mod = r / 2;
			var point = document.createElement("v:rect");
			point.setAttribute("fillcolor", series.color);
			point.setAttribute("strokecolor", series.color);
			point.setAttribute("title", series.label + ": " + series.values[i].value);
			point.style.position = "absolute";
			point.style.rotation = "45";
			point.style.top = (y - mod) + "px";
			point.style.left = (x - mod) + "px";
			point.style.width = r + "px";
			point.style.height = r + "px";
			var fill = document.createElement("v:fill");
			fill.setAttribute("opacity", "0.6");
			point.appendChild(fill);
			chart.dataGroup.appendChild(point);
		}
	};
	plotters["bubble"] = function (series, chart) {
		var minR = 1;
		var min = chart.properties.axes.x.range.min;
		var max = chart.properties.axes.x.range.max;
		var ofst = 0 - min;
		min += ofst;
		max += ofst;
		var xmin = chart.properties.padding.left;
		var xmax = chart.properties.width - chart.properties.padding.right;
		var factor = (max - min) / (xmax - xmin) * 25;
		for (var i = 0; i < series.values.length; i++) {
			var size = series.values[i].size;
			if (isNaN(parseFloat(size))) {
				size = minR;
			}
			var radius = (parseFloat(size) * factor) / 2;
			var diameter = radius * 2;
			var cx = self.getX(series.values[i].x, chart);
			var cy = self.getY(series.values[i].value, chart);
			var top = cy - radius;
			var left = cx - radius;
			var point = document.createElement("v:oval");
			point.setAttribute("fillcolor", series.color);
			point.setAttribute("title", series.label + ": " + series.values[i].value + " (" + size + ")");
			point.setAttribute("stroked", "false");
			point.style.position = "absolute";
			point.style.top = top + "px";
			point.style.left = left + "px";
			point.style.width = diameter + "px";
			point.style.height = diameter + "px";
			var fill = document.createElement("v:fill");
			fill.setAttribute("opacity", "0.8");
			point.appendChild(fill);
			chart.dataGroup.appendChild(point);
		}
	};
}();


__CPAN_DIR__ src/lfx
__CPAN_FILE__ src/lfx/toggle.xd.js
/*
	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
*/



dojo.hostenv.packageLoaded({depends:[["provide", "dojo.lfx.toggle"], ["require", "dojo.lfx.*"]], definePackage:function (dojo) {
	dojo.provide("dojo.lfx.toggle");
	dojo.require("dojo.lfx.*");
	dojo.lfx.toggle.plain = {show:function (node, duration, easing, callback) {
		dojo.html.show(node);
		if (dojo.lang.isFunction(callback)) {
			callback();
		}
	}, hide:function (node, duration, easing, callback) {
		dojo.html.hide(node);
		if (dojo.lang.isFunction(callback)) {
			callback();
		}
	}};
	dojo.lfx.toggle.fade = {show:function (node, duration, easing, callback) {
		dojo.lfx.fadeShow(node, duration, easing, callback).play();
	}, hide:function (node, duration, easing, callback) {
		dojo.lfx.fadeHide(node, duration, easing, callback).play();
	}};
	dojo.lfx.toggle.wipe = {show:function (node, duration, easing, callback) {

lib/HTML/Dojo/src.pm  view on Meta::CPAN

dojo.require("dojo.experimental");
dojo.experimental("dojo.i18n.currency");
dojo.require("dojo.regexp");
dojo.require("dojo.i18n.common");
dojo.require("dojo.i18n.number");
dojo.require("dojo.lang.common");
dojo.i18n.currency.format = function (value, iso, flags, locale) {
	flags = (typeof flags == "object") ? flags : {};
	var formatData = dojo.i18n.currency._mapToLocalizedFormatData(dojo.i18n.currency.FORMAT_TABLE, iso, locale);
	if (typeof flags.places == "undefined") {
		flags.places = formatData.places;
	}
	if (typeof flags.places == "undefined") {
		flags.places = 2;
	}
	flags.signed = false;
	var result = dojo.i18n.number.format(value, flags, locale);
	var sym = formatData.symbol;
	if (formatData.adjSpace == "symbol") {
		if (formatData.placement == "after") {
			sym = " " + sym;
		} else {
			sym = sym + " ";
		}
	}
	if (value < 0) {
		if (formatData.signPlacement == "before") {
			sym = "-" + sym;
		} else {
			if (formatData.signPlacement == "after") {
				sym = sym + "-";
			}
		}
	}
	var spc = (formatData.adjSpace == "number") ? " " : "";
	if (formatData.placement == "after") {
		result = result + spc + sym;
	} else {
		result = sym + spc + result;
	}
	if (value < 0) {
		if (formatData.signPlacement == "around") {
			result = "(" + result + ")";
		} else {
			if (formatData.signPlacement == "end") {
				result = result + "-";
			} else {
				if (!formatData.signPlacement || formatData.signPlacement == "begin") {
					result = "-" + result;
				}
			}
		}
	}
	return result;
};
dojo.i18n.currency.parse = function (value, iso, locale, flags) {
	if (typeof flags.validate == "undefined") {
		flags.validate = true;
	}
	if (flags.validate && !dojo.i18n.number.isCurrency(value, iso, locale, flags)) {
		return Number.NaN;
	}
	var sign = (value.indexOf("-") != -1);
	var abs = abs.replace(/\-/, "");
	var formatData = dojo.i18n.currency._mapToLocalizedFormatData(dojo.i18n.currency.FORMAT_TABLE, iso, locale);
	abs = abs.replace(new RegExp("\\" + formatData.symbol), "");
	var number = dojo.i18n.number.parse(abs, locale, flags);
	if (sign) {
		number = number * -1;
	}
	return number;
};
dojo.i18n.currency.isCurrency = function (value, iso, locale, flags) {
	flags = (typeof flags == "object") ? flags : {};
	var numberFormatData = dojo.i18n.number._mapToLocalizedFormatData(dojo.i18n.number.FORMAT_TABLE, locale);
	if (typeof flags.separator == "undefined") {
		flags.separator = numberFormatData[0];
	} else {
		if (dojo.lang.isArray(flags.separator) && flags.separator.length == 0) {
			flags.separator = [numberFormatData[0], ""];
		}
	}
	if (typeof flags.decimal == "undefined") {
		flags.decimal = numberFormatData[2];
	}
	if (typeof flags.groupSize == "undefined") {
		flags.groupSize = numberFormatData[3];
	}
	if (typeof flags.groupSize2 == "undefined") {
		flags.groupSize2 = numberFormatData[4];
	}
	var formatData = dojo.i18n.currency._mapToLocalizedFormatData(dojo.i18n.currency.FORMAT_TABLE, iso, locale);
	if (typeof flags.places == "undefined") {
		flags.places = formatData.places;
	}
	if (typeof flags.places == "undefined") {
		flags.places = 2;
	}
	if (typeof flags.symbol == "undefined") {
		flags.symbol = formatData.symbol;
	} else {
		if (dojo.lang.isArray(flags.symbol) && flags.symbol.length == 0) {
			flags.symbol = [formatData.symbol, ""];
		}
	}
	if (typeof flags.placement == "undefined") {
		flags.placement = formatData.placement;
	}
	var re = new RegExp("^" + dojo.regexp.currency(flags) + "$");
	return re.test(value);
};
dojo.i18n.currency._mapToLocalizedFormatData = function (table, iso, locale) {
	var formatData = dojo.i18n.currency.FORMAT_TABLE[iso];
	if (!dojo.lang.isArray(formatData)) {
		return formatData;
	}
	return dojo.i18n.number._mapToLocalizedFormatData(formatData[0], locale);
};
(function () {
	var arabic = {symbol:"\u062c", placement:"after", htmlSymbol:"?"};
	var euro = {symbol:"\u20ac", placement:"before", adjSpace:"symbol", htmlSymbol:"&euro;"};

lib/HTML/Dojo/src.pm  view on Meta::CPAN

			flags.groupSize = formatData[3];
		}
		if (typeof flags.groupSize2 == "undefined") {
			flags.groupSize2 = formatData[4];
		}
		if (typeof flags.round == "undefined") {
			flags.round = true;
		}
		if (typeof flags.signed == "undefined") {
			flags.signed = true;
		}
		var output = (flags.signed && (value < 0)) ? "-" : "";
		value = Math.abs(value);
		var whole = String((((flags.places > 0) || !flags.round) ? Math.floor : Math.round)(value));
		function splitSubstrings(str, count) {
			for (var subs = []; str.length >= count; str = str.substr(0, str.length - count)) {
				subs.push(str.substr(-count));
			}
			if (str.length > 0) {
				subs.push(str);
			}
			return subs.reverse();
		}
		if (flags.groupSize2 && (whole.length > flags.groupSize)) {
			var groups = splitSubstrings(whole.substr(0, whole.length - flags.groupSize), flags.groupSize2);
			groups.push(whole.substr(-flags.groupSize));
			output = output + groups.join(flags.separator);
		} else {
			if (flags.groupSize) {
				output = output + splitSubstrings(whole, flags.groupSize).join(flags.separator);
			} else {
				output = output + whole;
			}
		}
		if (flags.places > 0) {
			var fract = value - Math.floor(value);
			fract = (flags.round ? Math.round : Math.floor)(fract * Math.pow(10, flags.places));
			output = output + flags.decimal + fract;
		}
		return output;
	};
	dojo.i18n.number.parse = function (value, locale, flags) {
		flags = (typeof flags == "object") ? flags : {};
		var formatData = dojo.i18n.number._mapToLocalizedFormatData(dojo.i18n.number.FORMAT_TABLE, locale);
		if (typeof flags.separator == "undefined") {
			flags.separator = formatData[1];
		}
		if (typeof flags.decimal == "undefined") {
			flags.decimal = formatData[2];
		}
		if (typeof flags.groupSize == "undefined") {
			flags.groupSize = formatData[3];
		}
		if (typeof flags.groupSize2 == "undefined") {
			flags.groupSize2 = formatData[4];
		}
		if (typeof flags.validate == "undefined") {
			flags.validate = true;
		}
		if (flags.validate && !dojo.i18n.number.isReal(value, locale, flags)) {
			return Number.NaN;
		}
		var numbers = value.split(flags.decimal);
		if (numbers.length > 2) {
			return Number.NaN;
		}
		var whole = Number(numbers[0].replace(new RegExp("\\" + flags.separator, "g"), ""));
		var fract = (numbers.length == 1) ? 0 : Number(numbers[1]) / Math.pow(10, String(numbers[1]).length);
		return whole + fract;
	};
	dojo.i18n.number.isInteger = function (value, locale, flags) {
		flags = (typeof flags == "object") ? flags : {};
		var formatData = dojo.i18n.number._mapToLocalizedFormatData(dojo.i18n.number.FORMAT_TABLE, locale);
		if (typeof flags.separator == "undefined") {
			flags.separator = formatData[1];
		} else {
			if (dojo.lang.isArray(flags.separator) && flags.separator.length === 0) {
				flags.separator = [formatData[1], ""];
			}
		}
		if (typeof flags.groupSize == "undefined") {
			flags.groupSize = formatData[3];
		}
		if (typeof flags.groupSize2 == "undefined") {
			flags.groupSize2 = formatData[4];
		}
		var re = new RegExp("^" + dojo.regexp.integer(flags) + "$");
		return re.test(value);
	};
	dojo.i18n.number.isReal = function (value, locale, flags) {
		flags = (typeof flags == "object") ? flags : {};
		var formatData = dojo.i18n.number._mapToLocalizedFormatData(dojo.i18n.number.FORMAT_TABLE, locale);
		if (typeof flags.separator == "undefined") {
			flags.separator = formatData[1];
		} else {
			if (dojo.lang.isArray(flags.separator) && flags.separator.length === 0) {
				flags.separator = [formatData[1], ""];
			}
		}
		if (typeof flags.decimal == "undefined") {
			flags.decimal = formatData[2];
		}
		if (typeof flags.groupSize == "undefined") {
			flags.groupSize = formatData[3];
		}
		if (typeof flags.groupSize2 == "undefined") {
			flags.groupSize2 = formatData[4];
		}
		var re = new RegExp("^" + dojo.regexp.realNumber(flags) + "$");
		return re.test(value);
	};
	(function () {
		dojo.i18n.number.FORMAT_TABLE = {"ar-ae":["", "", ",", 1], "ar-bh":["", "", ",", 1], "ar-dz":["", "", ",", 1], "ar-eg":["", "", ",", 1], "ar-jo":["", "", ",", 1], "ar-kw":["", "", ",", 1], "ar-lb":["", "", ",", 1], "ar-ma":["", "", ",", 1], "ar-om"...
	})();
	dojo.i18n.number._mapToLocalizedFormatData = function (table, locale) {
		locale = dojo.hostenv.normalizeLocale(locale);
		var data = table[locale];
		if (typeof data == "undefined") {
			data = table["*"];
		}
		return data;
	};
}});


lib/HTML/Dojo/src.pm  view on Meta::CPAN

	dojo.require("dojo.experimental");
	dojo.experimental("dojo.i18n.currency");
	dojo.require("dojo.regexp");
	dojo.require("dojo.i18n.common");
	dojo.require("dojo.i18n.number");
	dojo.require("dojo.lang.common");
	dojo.i18n.currency.format = function (value, iso, flags, locale) {
		flags = (typeof flags == "object") ? flags : {};
		var formatData = dojo.i18n.currency._mapToLocalizedFormatData(dojo.i18n.currency.FORMAT_TABLE, iso, locale);
		if (typeof flags.places == "undefined") {
			flags.places = formatData.places;
		}
		if (typeof flags.places == "undefined") {
			flags.places = 2;
		}
		flags.signed = false;
		var result = dojo.i18n.number.format(value, flags, locale);
		var sym = formatData.symbol;
		if (formatData.adjSpace == "symbol") {
			if (formatData.placement == "after") {
				sym = " " + sym;
			} else {
				sym = sym + " ";
			}
		}
		if (value < 0) {
			if (formatData.signPlacement == "before") {
				sym = "-" + sym;
			} else {
				if (formatData.signPlacement == "after") {
					sym = sym + "-";
				}
			}
		}
		var spc = (formatData.adjSpace == "number") ? " " : "";
		if (formatData.placement == "after") {
			result = result + spc + sym;
		} else {
			result = sym + spc + result;
		}
		if (value < 0) {
			if (formatData.signPlacement == "around") {
				result = "(" + result + ")";
			} else {
				if (formatData.signPlacement == "end") {
					result = result + "-";
				} else {
					if (!formatData.signPlacement || formatData.signPlacement == "begin") {
						result = "-" + result;
					}
				}
			}
		}
		return result;
	};
	dojo.i18n.currency.parse = function (value, iso, locale, flags) {
		if (typeof flags.validate == "undefined") {
			flags.validate = true;
		}
		if (flags.validate && !dojo.i18n.number.isCurrency(value, iso, locale, flags)) {
			return Number.NaN;
		}
		var sign = (value.indexOf("-") != -1);
		var abs = abs.replace(/\-/, "");
		var formatData = dojo.i18n.currency._mapToLocalizedFormatData(dojo.i18n.currency.FORMAT_TABLE, iso, locale);
		abs = abs.replace(new RegExp("\\" + formatData.symbol), "");
		var number = dojo.i18n.number.parse(abs, locale, flags);
		if (sign) {
			number = number * -1;
		}
		return number;
	};
	dojo.i18n.currency.isCurrency = function (value, iso, locale, flags) {
		flags = (typeof flags == "object") ? flags : {};
		var numberFormatData = dojo.i18n.number._mapToLocalizedFormatData(dojo.i18n.number.FORMAT_TABLE, locale);
		if (typeof flags.separator == "undefined") {
			flags.separator = numberFormatData[0];
		} else {
			if (dojo.lang.isArray(flags.separator) && flags.separator.length == 0) {
				flags.separator = [numberFormatData[0], ""];
			}
		}
		if (typeof flags.decimal == "undefined") {
			flags.decimal = numberFormatData[2];
		}
		if (typeof flags.groupSize == "undefined") {
			flags.groupSize = numberFormatData[3];
		}
		if (typeof flags.groupSize2 == "undefined") {
			flags.groupSize2 = numberFormatData[4];
		}
		var formatData = dojo.i18n.currency._mapToLocalizedFormatData(dojo.i18n.currency.FORMAT_TABLE, iso, locale);
		if (typeof flags.places == "undefined") {
			flags.places = formatData.places;
		}
		if (typeof flags.places == "undefined") {
			flags.places = 2;
		}
		if (typeof flags.symbol == "undefined") {
			flags.symbol = formatData.symbol;
		} else {
			if (dojo.lang.isArray(flags.symbol) && flags.symbol.length == 0) {
				flags.symbol = [formatData.symbol, ""];
			}
		}
		if (typeof flags.placement == "undefined") {
			flags.placement = formatData.placement;
		}
		var re = new RegExp("^" + dojo.regexp.currency(flags) + "$");
		return re.test(value);
	};
	dojo.i18n.currency._mapToLocalizedFormatData = function (table, iso, locale) {
		var formatData = dojo.i18n.currency.FORMAT_TABLE[iso];
		if (!dojo.lang.isArray(formatData)) {
			return formatData;
		}
		return dojo.i18n.number._mapToLocalizedFormatData(formatData[0], locale);
	};
	(function () {
		var arabic = {symbol:"\u062c", placement:"after", htmlSymbol:"?"};
		var euro = {symbol:"\u20ac", placement:"before", adjSpace:"symbol", htmlSymbol:"&euro;"};

lib/HTML/Dojo/src.pm  view on Meta::CPAN

		flags.groupSize = formatData[3];
	}
	if (typeof flags.groupSize2 == "undefined") {
		flags.groupSize2 = formatData[4];
	}
	if (typeof flags.round == "undefined") {
		flags.round = true;
	}
	if (typeof flags.signed == "undefined") {
		flags.signed = true;
	}
	var output = (flags.signed && (value < 0)) ? "-" : "";
	value = Math.abs(value);
	var whole = String((((flags.places > 0) || !flags.round) ? Math.floor : Math.round)(value));
	function splitSubstrings(str, count) {
		for (var subs = []; str.length >= count; str = str.substr(0, str.length - count)) {
			subs.push(str.substr(-count));
		}
		if (str.length > 0) {
			subs.push(str);
		}
		return subs.reverse();
	}
	if (flags.groupSize2 && (whole.length > flags.groupSize)) {
		var groups = splitSubstrings(whole.substr(0, whole.length - flags.groupSize), flags.groupSize2);
		groups.push(whole.substr(-flags.groupSize));
		output = output + groups.join(flags.separator);
	} else {
		if (flags.groupSize) {
			output = output + splitSubstrings(whole, flags.groupSize).join(flags.separator);
		} else {
			output = output + whole;
		}
	}
	if (flags.places > 0) {
		var fract = value - Math.floor(value);
		fract = (flags.round ? Math.round : Math.floor)(fract * Math.pow(10, flags.places));
		output = output + flags.decimal + fract;
	}
	return output;
};
dojo.i18n.number.parse = function (value, locale, flags) {
	flags = (typeof flags == "object") ? flags : {};
	var formatData = dojo.i18n.number._mapToLocalizedFormatData(dojo.i18n.number.FORMAT_TABLE, locale);
	if (typeof flags.separator == "undefined") {
		flags.separator = formatData[1];
	}
	if (typeof flags.decimal == "undefined") {
		flags.decimal = formatData[2];
	}
	if (typeof flags.groupSize == "undefined") {
		flags.groupSize = formatData[3];
	}
	if (typeof flags.groupSize2 == "undefined") {
		flags.groupSize2 = formatData[4];
	}
	if (typeof flags.validate == "undefined") {
		flags.validate = true;
	}
	if (flags.validate && !dojo.i18n.number.isReal(value, locale, flags)) {
		return Number.NaN;
	}
	var numbers = value.split(flags.decimal);
	if (numbers.length > 2) {
		return Number.NaN;
	}
	var whole = Number(numbers[0].replace(new RegExp("\\" + flags.separator, "g"), ""));
	var fract = (numbers.length == 1) ? 0 : Number(numbers[1]) / Math.pow(10, String(numbers[1]).length);
	return whole + fract;
};
dojo.i18n.number.isInteger = function (value, locale, flags) {
	flags = (typeof flags == "object") ? flags : {};
	var formatData = dojo.i18n.number._mapToLocalizedFormatData(dojo.i18n.number.FORMAT_TABLE, locale);
	if (typeof flags.separator == "undefined") {
		flags.separator = formatData[1];
	} else {
		if (dojo.lang.isArray(flags.separator) && flags.separator.length === 0) {
			flags.separator = [formatData[1], ""];
		}
	}
	if (typeof flags.groupSize == "undefined") {
		flags.groupSize = formatData[3];
	}
	if (typeof flags.groupSize2 == "undefined") {
		flags.groupSize2 = formatData[4];
	}
	var re = new RegExp("^" + dojo.regexp.integer(flags) + "$");
	return re.test(value);
};
dojo.i18n.number.isReal = function (value, locale, flags) {
	flags = (typeof flags == "object") ? flags : {};
	var formatData = dojo.i18n.number._mapToLocalizedFormatData(dojo.i18n.number.FORMAT_TABLE, locale);
	if (typeof flags.separator == "undefined") {
		flags.separator = formatData[1];
	} else {
		if (dojo.lang.isArray(flags.separator) && flags.separator.length === 0) {
			flags.separator = [formatData[1], ""];
		}
	}
	if (typeof flags.decimal == "undefined") {
		flags.decimal = formatData[2];
	}
	if (typeof flags.groupSize == "undefined") {
		flags.groupSize = formatData[3];
	}
	if (typeof flags.groupSize2 == "undefined") {
		flags.groupSize2 = formatData[4];
	}
	var re = new RegExp("^" + dojo.regexp.realNumber(flags) + "$");
	return re.test(value);
};
(function () {
	dojo.i18n.number.FORMAT_TABLE = {"ar-ae":["", "", ",", 1], "ar-bh":["", "", ",", 1], "ar-dz":["", "", ",", 1], "ar-eg":["", "", ",", 1], "ar-jo":["", "", ",", 1], "ar-kw":["", "", ",", 1], "ar-lb":["", "", ",", 1], "ar-ma":["", "", ",", 1], "ar-om":...
})();
dojo.i18n.number._mapToLocalizedFormatData = function (table, locale) {
	locale = dojo.hostenv.normalizeLocale(locale);
	var data = table[locale];
	if (typeof data == "undefined") {
		data = table["*"];
	}
	return data;
};


__CPAN_DIR__ src/i18n/calendar

lib/HTML/Dojo/src.pm  view on Meta::CPAN

dojo.require("dojo.experimental");
dojo.experimental("dojo.i18n.currency");
dojo.require("dojo.regexp");
dojo.require("dojo.i18n.common");
dojo.require("dojo.i18n.number");
dojo.require("dojo.lang.common");
dojo.i18n.currency.format = function (value, iso, flags, locale) {
	flags = (typeof flags == "object") ? flags : {};
	var formatData = dojo.i18n.currency._mapToLocalizedFormatData(dojo.i18n.currency.FORMAT_TABLE, iso, locale);
	if (typeof flags.places == "undefined") {
		flags.places = formatData.places;
	}
	if (typeof flags.places == "undefined") {
		flags.places = 2;
	}
	flags.signed = false;
	var result = dojo.i18n.number.format(value, flags, locale);
	var sym = formatData.symbol;
	if (formatData.adjSpace == "symbol") {
		if (formatData.placement == "after") {
			sym = " " + sym;
		} else {
			sym = sym + " ";
		}
	}
	if (value < 0) {
		if (formatData.signPlacement == "before") {
			sym = "-" + sym;
		} else {
			if (formatData.signPlacement == "after") {
				sym = sym + "-";
			}
		}
	}
	var spc = (formatData.adjSpace == "number") ? " " : "";
	if (formatData.placement == "after") {
		result = result + spc + sym;
	} else {
		result = sym + spc + result;
	}
	if (value < 0) {
		if (formatData.signPlacement == "around") {
			result = "(" + result + ")";
		} else {
			if (formatData.signPlacement == "end") {
				result = result + "-";
			} else {
				if (!formatData.signPlacement || formatData.signPlacement == "begin") {
					result = "-" + result;
				}
			}
		}
	}
	return result;
};
dojo.i18n.currency.parse = function (value, iso, locale, flags) {
	if (typeof flags.validate == "undefined") {
		flags.validate = true;
	}
	if (flags.validate && !dojo.i18n.number.isCurrency(value, iso, locale, flags)) {
		return Number.NaN;
	}
	var sign = (value.indexOf("-") != -1);
	var abs = abs.replace(/\-/, "");
	var formatData = dojo.i18n.currency._mapToLocalizedFormatData(dojo.i18n.currency.FORMAT_TABLE, iso, locale);
	abs = abs.replace(new RegExp("\\" + formatData.symbol), "");
	var number = dojo.i18n.number.parse(abs, locale, flags);
	if (sign) {
		number = number * -1;
	}
	return number;
};
dojo.i18n.currency.isCurrency = function (value, iso, locale, flags) {
	flags = (typeof flags == "object") ? flags : {};
	var numberFormatData = dojo.i18n.number._mapToLocalizedFormatData(dojo.i18n.number.FORMAT_TABLE, locale);
	if (typeof flags.separator == "undefined") {
		flags.separator = numberFormatData[0];
	} else {
		if (dojo.lang.isArray(flags.separator) && flags.separator.length == 0) {
			flags.separator = [numberFormatData[0], ""];
		}
	}
	if (typeof flags.decimal == "undefined") {
		flags.decimal = numberFormatData[2];
	}
	if (typeof flags.groupSize == "undefined") {
		flags.groupSize = numberFormatData[3];
	}
	if (typeof flags.groupSize2 == "undefined") {
		flags.groupSize2 = numberFormatData[4];
	}
	var formatData = dojo.i18n.currency._mapToLocalizedFormatData(dojo.i18n.currency.FORMAT_TABLE, iso, locale);
	if (typeof flags.places == "undefined") {
		flags.places = formatData.places;
	}
	if (typeof flags.places == "undefined") {
		flags.places = 2;
	}
	if (typeof flags.symbol == "undefined") {
		flags.symbol = formatData.symbol;
	} else {
		if (dojo.lang.isArray(flags.symbol) && flags.symbol.length == 0) {
			flags.symbol = [formatData.symbol, ""];
		}
	}
	if (typeof flags.placement == "undefined") {
		flags.placement = formatData.placement;
	}
	var re = new RegExp("^" + dojo.regexp.currency(flags) + "$");
	return re.test(value);
};
dojo.i18n.currency._mapToLocalizedFormatData = function (table, iso, locale) {
	var formatData = dojo.i18n.currency.FORMAT_TABLE[iso];
	if (!dojo.lang.isArray(formatData)) {
		return formatData;
	}
	return dojo.i18n.number._mapToLocalizedFormatData(formatData[0], locale);
};
(function () {
	var arabic = {symbol:"\u062c", placement:"after", htmlSymbol:"?"};
	var euro = {symbol:"\u20ac", placement:"before", adjSpace:"symbol", htmlSymbol:"&euro;"};

lib/HTML/Dojo/src.pm  view on Meta::CPAN

	dojo.require("dojo.experimental");
	dojo.experimental("dojo.i18n.currency");
	dojo.require("dojo.regexp");
	dojo.require("dojo.i18n.common");
	dojo.require("dojo.i18n.number");
	dojo.require("dojo.lang.common");
	dojo.i18n.currency.format = function (value, iso, flags, locale) {
		flags = (typeof flags == "object") ? flags : {};
		var formatData = dojo.i18n.currency._mapToLocalizedFormatData(dojo.i18n.currency.FORMAT_TABLE, iso, locale);
		if (typeof flags.places == "undefined") {
			flags.places = formatData.places;
		}
		if (typeof flags.places == "undefined") {
			flags.places = 2;
		}
		flags.signed = false;
		var result = dojo.i18n.number.format(value, flags, locale);
		var sym = formatData.symbol;
		if (formatData.adjSpace == "symbol") {
			if (formatData.placement == "after") {
				sym = " " + sym;
			} else {
				sym = sym + " ";
			}
		}
		if (value < 0) {
			if (formatData.signPlacement == "before") {
				sym = "-" + sym;
			} else {
				if (formatData.signPlacement == "after") {
					sym = sym + "-";
				}
			}
		}
		var spc = (formatData.adjSpace == "number") ? " " : "";
		if (formatData.placement == "after") {
			result = result + spc + sym;
		} else {
			result = sym + spc + result;
		}
		if (value < 0) {
			if (formatData.signPlacement == "around") {
				result = "(" + result + ")";
			} else {
				if (formatData.signPlacement == "end") {
					result = result + "-";
				} else {
					if (!formatData.signPlacement || formatData.signPlacement == "begin") {
						result = "-" + result;
					}
				}
			}
		}
		return result;
	};
	dojo.i18n.currency.parse = function (value, iso, locale, flags) {
		if (typeof flags.validate == "undefined") {
			flags.validate = true;
		}
		if (flags.validate && !dojo.i18n.number.isCurrency(value, iso, locale, flags)) {
			return Number.NaN;
		}
		var sign = (value.indexOf("-") != -1);
		var abs = abs.replace(/\-/, "");
		var formatData = dojo.i18n.currency._mapToLocalizedFormatData(dojo.i18n.currency.FORMAT_TABLE, iso, locale);
		abs = abs.replace(new RegExp("\\" + formatData.symbol), "");
		var number = dojo.i18n.number.parse(abs, locale, flags);
		if (sign) {
			number = number * -1;
		}
		return number;
	};
	dojo.i18n.currency.isCurrency = function (value, iso, locale, flags) {
		flags = (typeof flags == "object") ? flags : {};
		var numberFormatData = dojo.i18n.number._mapToLocalizedFormatData(dojo.i18n.number.FORMAT_TABLE, locale);
		if (typeof flags.separator == "undefined") {
			flags.separator = numberFormatData[0];
		} else {
			if (dojo.lang.isArray(flags.separator) && flags.separator.length == 0) {
				flags.separator = [numberFormatData[0], ""];
			}
		}
		if (typeof flags.decimal == "undefined") {
			flags.decimal = numberFormatData[2];
		}
		if (typeof flags.groupSize == "undefined") {
			flags.groupSize = numberFormatData[3];
		}
		if (typeof flags.groupSize2 == "undefined") {
			flags.groupSize2 = numberFormatData[4];
		}
		var formatData = dojo.i18n.currency._mapToLocalizedFormatData(dojo.i18n.currency.FORMAT_TABLE, iso, locale);
		if (typeof flags.places == "undefined") {
			flags.places = formatData.places;
		}
		if (typeof flags.places == "undefined") {
			flags.places = 2;
		}
		if (typeof flags.symbol == "undefined") {
			flags.symbol = formatData.symbol;
		} else {
			if (dojo.lang.isArray(flags.symbol) && flags.symbol.length == 0) {
				flags.symbol = [formatData.symbol, ""];
			}
		}
		if (typeof flags.placement == "undefined") {
			flags.placement = formatData.placement;
		}
		var re = new RegExp("^" + dojo.regexp.currency(flags) + "$");
		return re.test(value);
	};
	dojo.i18n.currency._mapToLocalizedFormatData = function (table, iso, locale) {
		var formatData = dojo.i18n.currency.FORMAT_TABLE[iso];
		if (!dojo.lang.isArray(formatData)) {
			return formatData;
		}
		return dojo.i18n.number._mapToLocalizedFormatData(formatData[0], locale);
	};
	(function () {
		var arabic = {symbol:"\u062c", placement:"after", htmlSymbol:"?"};
		var euro = {symbol:"\u20ac", placement:"before", adjSpace:"symbol", htmlSymbol:"&euro;"};

lib/HTML/Dojo/src.pm  view on Meta::CPAN

}});


__CPAN_FILE__ src/lang/type.js
/*
	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
*/



dojo.provide("dojo.lang.type");
dojo.require("dojo.lang.common");
dojo.lang.whatAmI = function (value) {
	dojo.deprecated("dojo.lang.whatAmI", "use dojo.lang.getType instead", "0.5");
	return dojo.lang.getType(value);
};
dojo.lang.whatAmI.custom = {};
dojo.lang.getType = function (value) {
	try {
		if (dojo.lang.isArray(value)) {
			return "array";
		}
		if (dojo.lang.isFunction(value)) {
			return "function";
		}
		if (dojo.lang.isString(value)) {
			return "string";
		}
		if (dojo.lang.isNumber(value)) {
			return "number";
		}
		if (dojo.lang.isBoolean(value)) {
			return "boolean";
		}
		if (dojo.lang.isAlien(value)) {
			return "alien";
		}
		if (dojo.lang.isUndefined(value)) {
			return "undefined";
		}
		for (var name in dojo.lang.whatAmI.custom) {
			if (dojo.lang.whatAmI.custom[name](value)) {
				return name;
			}
		}
		if (dojo.lang.isObject(value)) {
			return "object";
		}
	}
	catch (e) {
	}
	return "unknown";
};
dojo.lang.isNumeric = function (value) {
	return (!isNaN(value) && isFinite(value) && (value != null) && !dojo.lang.isBoolean(value) && !dojo.lang.isArray(value) && !/^\s*$/.test(value));
};
dojo.lang.isBuiltIn = function (value) {
	return (dojo.lang.isArray(value) || dojo.lang.isFunction(value) || dojo.lang.isString(value) || dojo.lang.isNumber(value) || dojo.lang.isBoolean(value) || (value == null) || (value instanceof Error) || (typeof value == "error"));
};
dojo.lang.isPureObject = function (value) {
	return ((value != null) && dojo.lang.isObject(value) && value.constructor == Object);
};
dojo.lang.isOfType = function (value, type, keywordParameters) {
	var optional = false;
	if (keywordParameters) {
		optional = keywordParameters["optional"];
	}
	if (optional && ((value === null) || dojo.lang.isUndefined(value))) {
		return true;
	}
	if (dojo.lang.isArray(type)) {
		var arrayOfTypes = type;
		for (var i in arrayOfTypes) {
			var aType = arrayOfTypes[i];
			if (dojo.lang.isOfType(value, aType)) {
				return true;
			}
		}
		return false;
	} else {
		if (dojo.lang.isString(type)) {
			type = type.toLowerCase();
		}
		switch (type) {
		  case Array:
		  case "array":
			return dojo.lang.isArray(value);
		  case Function:
		  case "function":
			return dojo.lang.isFunction(value);
		  case String:
		  case "string":
			return dojo.lang.isString(value);
		  case Number:
		  case "number":
			return dojo.lang.isNumber(value);
		  case "numeric":
			return dojo.lang.isNumeric(value);
		  case Boolean:
		  case "boolean":
			return dojo.lang.isBoolean(value);
		  case Object:
		  case "object":
			return dojo.lang.isObject(value);
		  case "pureobject":
			return dojo.lang.isPureObject(value);
		  case "builtin":
			return dojo.lang.isBuiltIn(value);
		  case "alien":
			return dojo.lang.isAlien(value);
		  case "undefined":
			return dojo.lang.isUndefined(value);
		  case null:
		  case "null":
			return (value === null);

lib/HTML/Dojo/src.pm  view on Meta::CPAN



__CPAN_FILE__ src/lang/type.xd.js
/*
	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
*/



dojo.hostenv.packageLoaded({depends:[["provide", "dojo.lang.type"], ["require", "dojo.lang.common"]], definePackage:function (dojo) {
	dojo.provide("dojo.lang.type");
	dojo.require("dojo.lang.common");
	dojo.lang.whatAmI = function (value) {
		dojo.deprecated("dojo.lang.whatAmI", "use dojo.lang.getType instead", "0.5");
		return dojo.lang.getType(value);
	};
	dojo.lang.whatAmI.custom = {};
	dojo.lang.getType = function (value) {
		try {
			if (dojo.lang.isArray(value)) {
				return "array";
			}
			if (dojo.lang.isFunction(value)) {
				return "function";
			}
			if (dojo.lang.isString(value)) {
				return "string";
			}
			if (dojo.lang.isNumber(value)) {
				return "number";
			}
			if (dojo.lang.isBoolean(value)) {
				return "boolean";
			}
			if (dojo.lang.isAlien(value)) {
				return "alien";
			}
			if (dojo.lang.isUndefined(value)) {
				return "undefined";
			}
			for (var name in dojo.lang.whatAmI.custom) {
				if (dojo.lang.whatAmI.custom[name](value)) {
					return name;
				}
			}
			if (dojo.lang.isObject(value)) {
				return "object";
			}
		}
		catch (e) {
		}
		return "unknown";
	};
	dojo.lang.isNumeric = function (value) {
		return (!isNaN(value) && isFinite(value) && (value != null) && !dojo.lang.isBoolean(value) && !dojo.lang.isArray(value) && !/^\s*$/.test(value));
	};
	dojo.lang.isBuiltIn = function (value) {
		return (dojo.lang.isArray(value) || dojo.lang.isFunction(value) || dojo.lang.isString(value) || dojo.lang.isNumber(value) || dojo.lang.isBoolean(value) || (value == null) || (value instanceof Error) || (typeof value == "error"));
	};
	dojo.lang.isPureObject = function (value) {
		return ((value != null) && dojo.lang.isObject(value) && value.constructor == Object);
	};
	dojo.lang.isOfType = function (value, type, keywordParameters) {
		var optional = false;
		if (keywordParameters) {
			optional = keywordParameters["optional"];
		}
		if (optional && ((value === null) || dojo.lang.isUndefined(value))) {
			return true;
		}
		if (dojo.lang.isArray(type)) {
			var arrayOfTypes = type;
			for (var i in arrayOfTypes) {
				var aType = arrayOfTypes[i];
				if (dojo.lang.isOfType(value, aType)) {
					return true;
				}
			}
			return false;
		} else {
			if (dojo.lang.isString(type)) {
				type = type.toLowerCase();
			}
			switch (type) {
			  case Array:
			  case "array":
				return dojo.lang.isArray(value);
			  case Function:
			  case "function":
				return dojo.lang.isFunction(value);
			  case String:
			  case "string":
				return dojo.lang.isString(value);
			  case Number:
			  case "number":
				return dojo.lang.isNumber(value);
			  case "numeric":
				return dojo.lang.isNumeric(value);
			  case Boolean:
			  case "boolean":
				return dojo.lang.isBoolean(value);
			  case Object:
			  case "object":
				return dojo.lang.isObject(value);
			  case "pureobject":
				return dojo.lang.isPureObject(value);
			  case "builtin":
				return dojo.lang.isBuiltIn(value);
			  case "alien":
				return dojo.lang.isAlien(value);
			  case "undefined":
				return dojo.lang.isUndefined(value);
			  case null:
			  case "null":
				return (value === null);

lib/HTML/Dojo/src.pm  view on Meta::CPAN

	document.cookie = name + "=" + value + ";" + (expires != -1 ? " expires=" + expires + ";" : "") + (path ? "path=" + path : "") + (domain ? "; domain=" + domain : "") + (secure ? "; secure" : "");
};
dojo.io.cookie.set = dojo.io.cookie.setCookie;
dojo.io.cookie.getCookie = function (name) {
	var idx = document.cookie.lastIndexOf(name + "=");
	if (idx == -1) {
		return null;
	}
	var value = document.cookie.substring(idx + name.length + 1);
	var end = value.indexOf(";");
	if (end == -1) {
		end = value.length;
	}
	value = value.substring(0, end);
	value = unescape(value);
	return value;
};
dojo.io.cookie.get = dojo.io.cookie.getCookie;
dojo.io.cookie.deleteCookie = function (name) {
	dojo.io.cookie.setCookie(name, "-", 0);
};
dojo.io.cookie.setObjectCookie = function (name, obj, days, path, domain, secure, clearCurrent) {
	if (arguments.length == 5) {
		clearCurrent = domain;
		domain = null;
		secure = null;
	}
	var pairs = [], cookie, value = "";
	if (!clearCurrent) {
		cookie = dojo.io.cookie.getObjectCookie(name);
	}
	if (days >= 0) {
		if (!cookie) {
			cookie = {};
		}
		for (var prop in obj) {
			if (obj[prop] == null) {
				delete cookie[prop];
			} else {
				if ((typeof obj[prop] == "string") || (typeof obj[prop] == "number")) {
					cookie[prop] = obj[prop];
				}
			}
		}
		prop = null;
		for (var prop in cookie) {
			pairs.push(escape(prop) + "=" + escape(cookie[prop]));
		}
		value = pairs.join("&");
	}
	dojo.io.cookie.setCookie(name, value, days, path, domain, secure);
};
dojo.io.cookie.getObjectCookie = function (name) {
	var values = null, cookie = dojo.io.cookie.getCookie(name);
	if (cookie) {
		values = {};
		var pairs = cookie.split("&");
		for (var i = 0; i < pairs.length; i++) {
			var pair = pairs[i].split("=");
			var value = pair[1];
			if (isNaN(value)) {
				value = unescape(pair[1]);
			}
			values[unescape(pair[0])] = value;
		}
	}
	return values;
};
dojo.io.cookie.isSupported = function () {
	if (typeof navigator.cookieEnabled != "boolean") {
		dojo.io.cookie.setCookie("__TestingYourBrowserForCookieSupport__", "CookiesAllowed", 90, null);
		var cookieVal = dojo.io.cookie.getCookie("__TestingYourBrowserForCookieSupport__");
		navigator.cookieEnabled = (cookieVal == "CookiesAllowed");
		if (navigator.cookieEnabled) {
			this.deleteCookie("__TestingYourBrowserForCookieSupport__");
		}
	}
	return navigator.cookieEnabled;
};
if (!dojo.io.cookies) {
	dojo.io.cookies = dojo.io.cookie;
}


__CPAN_FILE__ src/io/__package__.xd.js
/*
	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
*/



dojo.hostenv.packageLoaded({depends:[["kwCompoundRequire", {common:["dojo.io.common"], rhino:["dojo.io.RhinoIO"], browser:["dojo.io.BrowserIO", "dojo.io.cookie"], dashboard:["dojo.io.BrowserIO", "dojo.io.cookie"]}], ["provide", "dojo.io.*"]], defineP...
	dojo.kwCompoundRequire({common:["dojo.io.common"], rhino:["dojo.io.RhinoIO"], browser:["dojo.io.BrowserIO", "dojo.io.cookie"], dashboard:["dojo.io.BrowserIO", "dojo.io.cookie"]});
	dojo.provide("dojo.io.*");
}});


__CPAN_FILE__ src/io/common.xd.js
/*
	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
*/



dojo.hostenv.packageLoaded({depends:[["provide", "dojo.io.common"], ["require", "dojo.string"], ["require", "dojo.lang.extras"]], definePackage:function (dojo) {
	dojo.provide("dojo.io.common");
	dojo.require("dojo.string");
	dojo.require("dojo.lang.extras");
	dojo.io.transports = [];

lib/HTML/Dojo/src.pm  view on Meta::CPAN

		document.cookie = name + "=" + value + ";" + (expires != -1 ? " expires=" + expires + ";" : "") + (path ? "path=" + path : "") + (domain ? "; domain=" + domain : "") + (secure ? "; secure" : "");
	};
	dojo.io.cookie.set = dojo.io.cookie.setCookie;
	dojo.io.cookie.getCookie = function (name) {
		var idx = document.cookie.lastIndexOf(name + "=");
		if (idx == -1) {
			return null;
		}
		var value = document.cookie.substring(idx + name.length + 1);
		var end = value.indexOf(";");
		if (end == -1) {
			end = value.length;
		}
		value = value.substring(0, end);
		value = unescape(value);
		return value;
	};
	dojo.io.cookie.get = dojo.io.cookie.getCookie;
	dojo.io.cookie.deleteCookie = function (name) {
		dojo.io.cookie.setCookie(name, "-", 0);
	};
	dojo.io.cookie.setObjectCookie = function (name, obj, days, path, domain, secure, clearCurrent) {
		if (arguments.length == 5) {
			clearCurrent = domain;
			domain = null;
			secure = null;
		}
		var pairs = [], cookie, value = "";
		if (!clearCurrent) {
			cookie = dojo.io.cookie.getObjectCookie(name);
		}
		if (days >= 0) {
			if (!cookie) {
				cookie = {};
			}
			for (var prop in obj) {
				if (obj[prop] == null) {
					delete cookie[prop];
				} else {
					if ((typeof obj[prop] == "string") || (typeof obj[prop] == "number")) {
						cookie[prop] = obj[prop];
					}
				}
			}
			prop = null;
			for (var prop in cookie) {
				pairs.push(escape(prop) + "=" + escape(cookie[prop]));
			}
			value = pairs.join("&");
		}
		dojo.io.cookie.setCookie(name, value, days, path, domain, secure);
	};
	dojo.io.cookie.getObjectCookie = function (name) {
		var values = null, cookie = dojo.io.cookie.getCookie(name);
		if (cookie) {
			values = {};
			var pairs = cookie.split("&");
			for (var i = 0; i < pairs.length; i++) {
				var pair = pairs[i].split("=");
				var value = pair[1];
				if (isNaN(value)) {
					value = unescape(pair[1]);
				}
				values[unescape(pair[0])] = value;
			}
		}
		return values;
	};
	dojo.io.cookie.isSupported = function () {
		if (typeof navigator.cookieEnabled != "boolean") {
			dojo.io.cookie.setCookie("__TestingYourBrowserForCookieSupport__", "CookiesAllowed", 90, null);
			var cookieVal = dojo.io.cookie.getCookie("__TestingYourBrowserForCookieSupport__");
			navigator.cookieEnabled = (cookieVal == "CookiesAllowed");
			if (navigator.cookieEnabled) {
				this.deleteCookie("__TestingYourBrowserForCookieSupport__");
			}
		}
		return navigator.cookieEnabled;
	};
	if (!dojo.io.cookies) {
		dojo.io.cookies = dojo.io.cookie;
	}
}});


__CPAN_FILE__ src/io/xip_client.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
	<title></title>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
	<!-- Security protection: uncomment the script tag to enable. -->
	<!-- script type="text/javascript" -->
	// <!--
	/*
	This file is really focused on just sending one message to the server, and
	receiving one response. The code does not expect to be re-used for multiple messages.
	This might be reworked later if performance indicates a need for it.
	
	xip fragment identifier/hash values have the form:
	#id:cmd:realEncodedMessage

	id: some ID that should be unique among messages. No inherent meaning,
	        just something to make sure the hash value is unique so the message
	        receiver knows a new message is available.
	        
	cmd: command to the receiver. Valid values are:
	         - init: message used to init the frame. Sent as the first URL when loading
	                 the page. Contains some config parameters.
	         - loaded: the remote frame is loaded. Only sent from server to client.
	         - ok: the message that this page sent was received OK. The next message may
	               now be sent.
	         - start: the start message of a block of messages (a complete message may
	                  need to be segmented into many messages to get around the limitiations
	                  of the size of an URL that a browser accepts.
	         - part: indicates this is a part of a message.
	         - end: the end message of a block of messages. The message can now be acted upon.
	                If the message is small enough that it doesn't need to be segmented, then
	                just one hash value message can be sent with "end" as the command.

lib/HTML/Dojo/src.pm  view on Meta::CPAN

	modified BSD license. For more information on Dojo licensing, see:

		http://dojotoolkit.org/community/licensing.shtml
*/



dojo.hostenv.packageLoaded({depends:[["provide", "dojo.charting.Axis"], ["require", "dojo.lang.common"], ["requireIf", dojo.render.svg.capable, "dojo.charting.svg.Axis"], ["requireIf", dojo.render.vml.capable, "dojo.charting.vml.Axis"]], definePackag...
	dojo.provide("dojo.charting.Axis");
	dojo.require("dojo.lang.common");
	dojo.charting.Axis = function (label, scale, labels) {
		var id = "dojo-charting-axis-" + dojo.charting.Axis.count++;
		this.getId = function () {
			return id;
		};
		this.setId = function (key) {
			id = key;
		};
		this.scale = scale || "linear";
		this.label = label || "";
		this.showLabel = true;
		this.showLabels = true;
		this.showLines = false;
		this.showTicks = false;
		this.range = {upper:100, lower:0};
		this.origin = "min";
		this._origin = null;
		this.labels = labels || [];
		this._labels = [];
		this.nodes = {main:null, axis:null, label:null, labels:null, lines:null, ticks:null};
		this._rerender = false;
	};
	dojo.charting.Axis.count = 0;
	dojo.extend(dojo.charting.Axis, {getCoord:function (val, plotArea, plot) {
		val = parseFloat(val, 10);
		var area = plotArea.getArea();
		if (plot.axisX == this) {
			var offset = 0 - this.range.lower;
			var min = this.range.lower + offset;
			var max = this.range.upper + offset;
			val += offset;
			return (val * ((area.right - area.left) / max)) + area.left;
		} else {
			var max = this.range.upper;
			var min = this.range.lower;
			var offset = 0;
			if (min < 0) {
				offset += Math.abs(min);
			}
			max += offset;
			min += offset;
			val += offset;
			var pmin = area.bottom;
			var pmax = area.top;
			return (((pmin - pmax) / (max - min)) * (max - val)) + pmax;
		}
	}, initializeOrigin:function (drawAgainst, plane) {
		if (this._origin == null) {
			this._origin = this.origin;
		}
		if (isNaN(this._origin)) {
			if (this._origin.toLowerCase() == "max") {
				this.origin = drawAgainst.range[(plane == "y") ? "upper" : "lower"];
			} else {
				if (this._origin.toLowerCase() == "min") {
					this.origin = drawAgainst.range[(plane == "y") ? "lower" : "upper"];
				} else {
					this.origin = 0;
				}
			}
		}
	}, initializeLabels:function () {
		this._labels = [];
		if (this.labels.length == 0) {
			this.showLabels = false;
			this.showLines = false;
			this.showTicks = false;
		} else {
			if (this.labels[0].label && this.labels[0].value != null) {
				for (var i = 0; i < this.labels.length; i++) {
					this._labels.push(this.labels[i]);
				}
			} else {
				if (!isNaN(this.labels[0])) {
					for (var i = 0; i < this.labels.length; i++) {
						this._labels.push({label:this.labels[i], value:this.labels[i]});
					}
				} else {
					var a = [];
					for (var i = 0; i < this.labels.length; i++) {
						a.push(this.labels[i]);
					}
					var s = a.shift();
					this._labels.push({label:s, value:this.range.lower});
					if (a.length > 0) {
						var s = a.pop();
						this._labels.push({label:s, value:this.range.upper});
					}
					if (a.length > 0) {
						var range = this.range.upper - this.range.lower;
						var step = range / (this.labels.length - 1);
						for (var i = 1; i <= a.length; i++) {
							this._labels.push({label:a[i - 1], value:this.range.lower + (step * i)});
						}
					}
				}
			}
		}
	}, initialize:function (plotArea, plot, drawAgainst, plane) {
		this.destroy();
		this.initializeOrigin(drawAgainst, plane);
		this.initializeLabels();
		var node = this.render(plotArea, plot, drawAgainst, plane);
		return node;
	}, destroy:function () {
		for (var p in this.nodes) {
			while (this.nodes[p] && this.nodes[p].childNodes.length > 0) {
				this.nodes[p].removeChild(this.nodes[p].childNodes[0]);
			}
			if (this.nodes[p] && this.nodes[p].parentNode) {
				this.nodes[p].parentNode.removeChild(this.nodes[p]);
			}
			this.nodes[p] = null;
		}
	}});
	dojo.requireIf(dojo.render.svg.capable, "dojo.charting.svg.Axis");
	dojo.requireIf(dojo.render.vml.capable, "dojo.charting.vml.Axis");
}});


__CPAN_FILE__ src/charting/PlotArea.xd.js
/*
	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
*/



dojo.hostenv.packageLoaded({depends:[["provide", "dojo.charting.PlotArea"], ["require", "dojo.lang.common"], ["require", "dojo.gfx.color"], ["require", "dojo.gfx.color.hsl"], ["require", "dojo.charting.Plot"], ["requireIf", dojo.render.svg.capable, "...

lib/HTML/Dojo/src.pm  view on Meta::CPAN

	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
*/



dojo.provide("dojo.charting.Axis");
dojo.require("dojo.lang.common");
dojo.charting.Axis = function (label, scale, labels) {
	var id = "dojo-charting-axis-" + dojo.charting.Axis.count++;
	this.getId = function () {
		return id;
	};
	this.setId = function (key) {
		id = key;
	};
	this.scale = scale || "linear";
	this.label = label || "";
	this.showLabel = true;
	this.showLabels = true;
	this.showLines = false;
	this.showTicks = false;
	this.range = {upper:100, lower:0};
	this.origin = "min";
	this._origin = null;
	this.labels = labels || [];
	this._labels = [];
	this.nodes = {main:null, axis:null, label:null, labels:null, lines:null, ticks:null};
	this._rerender = false;
};
dojo.charting.Axis.count = 0;
dojo.extend(dojo.charting.Axis, {getCoord:function (val, plotArea, plot) {
	val = parseFloat(val, 10);
	var area = plotArea.getArea();
	if (plot.axisX == this) {
		var offset = 0 - this.range.lower;
		var min = this.range.lower + offset;
		var max = this.range.upper + offset;
		val += offset;
		return (val * ((area.right - area.left) / max)) + area.left;
	} else {
		var max = this.range.upper;
		var min = this.range.lower;
		var offset = 0;
		if (min < 0) {
			offset += Math.abs(min);
		}
		max += offset;
		min += offset;
		val += offset;
		var pmin = area.bottom;
		var pmax = area.top;
		return (((pmin - pmax) / (max - min)) * (max - val)) + pmax;
	}
}, initializeOrigin:function (drawAgainst, plane) {
	if (this._origin == null) {
		this._origin = this.origin;
	}
	if (isNaN(this._origin)) {
		if (this._origin.toLowerCase() == "max") {
			this.origin = drawAgainst.range[(plane == "y") ? "upper" : "lower"];
		} else {
			if (this._origin.toLowerCase() == "min") {
				this.origin = drawAgainst.range[(plane == "y") ? "lower" : "upper"];
			} else {
				this.origin = 0;
			}
		}
	}
}, initializeLabels:function () {
	this._labels = [];
	if (this.labels.length == 0) {
		this.showLabels = false;
		this.showLines = false;
		this.showTicks = false;
	} else {
		if (this.labels[0].label && this.labels[0].value != null) {
			for (var i = 0; i < this.labels.length; i++) {
				this._labels.push(this.labels[i]);
			}
		} else {
			if (!isNaN(this.labels[0])) {
				for (var i = 0; i < this.labels.length; i++) {
					this._labels.push({label:this.labels[i], value:this.labels[i]});
				}
			} else {
				var a = [];
				for (var i = 0; i < this.labels.length; i++) {
					a.push(this.labels[i]);
				}
				var s = a.shift();
				this._labels.push({label:s, value:this.range.lower});
				if (a.length > 0) {
					var s = a.pop();
					this._labels.push({label:s, value:this.range.upper});
				}
				if (a.length > 0) {
					var range = this.range.upper - this.range.lower;
					var step = range / (this.labels.length - 1);
					for (var i = 1; i <= a.length; i++) {
						this._labels.push({label:a[i - 1], value:this.range.lower + (step * i)});
					}
				}
			}
		}
	}
}, initialize:function (plotArea, plot, drawAgainst, plane) {
	this.destroy();
	this.initializeOrigin(drawAgainst, plane);
	this.initializeLabels();
	var node = this.render(plotArea, plot, drawAgainst, plane);
	return node;
}, destroy:function () {
	for (var p in this.nodes) {
		while (this.nodes[p] && this.nodes[p].childNodes.length > 0) {
			this.nodes[p].removeChild(this.nodes[p].childNodes[0]);
		}
		if (this.nodes[p] && this.nodes[p].parentNode) {
			this.nodes[p].parentNode.removeChild(this.nodes[p]);
		}
		this.nodes[p] = null;
	}
}});
dojo.requireIf(dojo.render.svg.capable, "dojo.charting.svg.Axis");
dojo.requireIf(dojo.render.vml.capable, "dojo.charting.vml.Axis");


__CPAN_FILE__ src/charting/__package__.xd.js
/*
	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
*/



dojo.hostenv.packageLoaded({depends:[["provide", "dojo.charting.*"]], definePackage:function (dojo) {
	dojo.provide("dojo.charting.*");

lib/HTML/Dojo/src.pm  view on Meta::CPAN

	}, lineTo:function () {
		var args = [];
		this._collectArgs(args, arguments);
		this._pushSegment(this.absolute ? "L" : "l", args);
		return this;
	}, hLineTo:function () {
		var args = [];
		this._collectArgs(args, arguments);
		this._pushSegment(this.absolute ? "H" : "h", args);
		return this;
	}, vLineTo:function () {
		var args = [];
		this._collectArgs(args, arguments);
		this._pushSegment(this.absolute ? "V" : "v", args);
		return this;
	}, curveTo:function () {
		var args = [];
		this._collectArgs(args, arguments);
		this._pushSegment(this.absolute ? "C" : "c", args);
		return this;
	}, smoothCurveTo:function () {
		var args = [];
		this._collectArgs(args, arguments);
		this._pushSegment(this.absolute ? "S" : "s", args);
		return this;
	}, qCurveTo:function () {
		var args = [];
		this._collectArgs(args, arguments);
		this._pushSegment(this.absolute ? "Q" : "q", args);
		return this;
	}, qSmoothCurveTo:function () {
		var args = [];
		this._collectArgs(args, arguments);
		this._pushSegment(this.absolute ? "T" : "t", args);
		return this;
	}, arcTo:function () {
		var args = [];
		this._collectArgs(args, arguments);
		for (var i = 2; i < args.length; i += 7) {
			args[i] = -args[i];
		}
		this._pushSegment(this.absolute ? "A" : "a", args);
		return this;
	}, closePath:function () {
		this._pushSegment("Z", []);
		return this;
	}, _setPath:function (path) {
		var p = path.match(dojo.gfx.pathRegExp);
		this.segments = [];
		this.absolute = true;
		this.bbox = {};
		this.last = {};
		if (!p) {
			return;
		}
		var action = "";
		var args = [];
		for (var i = 0; i < p.length; ++i) {
			var t = p[i];
			var x = parseFloat(t);
			if (isNaN(x)) {
				if (action) {
					this._pushSegment(action, args);
				}
				args = [];
				action = t;
			} else {
				args.push(x);
			}
		}
		this._pushSegment(action, args);
	}, setShape:function (newShape) {
		this.shape = dojo.gfx.makeParameters(this.shape, typeof (newShape) == "string" ? {path:newShape} : newShape);
		var path = this.shape.path;
		this.shape.path = [];
		this._setPath(path);
		this.shape.path = this.shape.path.join("");
		return this;
	}, _2PI:Math.PI * 2});
}});


__CPAN_FILE__ src/gfx/common.js
/*
	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
*/



dojo.provide("dojo.gfx.common");
dojo.require("dojo.gfx.color");
dojo.require("dojo.lang.declare");
dojo.require("dojo.lang.extras");
dojo.require("dojo.dom");
dojo.lang.mixin(dojo.gfx, {defaultPath:{type:"path", path:""}, defaultPolyline:{type:"polyline", points:[]}, defaultRect:{type:"rect", x:0, y:0, width:100, height:100, r:0}, defaultEllipse:{type:"ellipse", cx:0, cy:0, rx:200, ry:100}, defaultCircle:{...
	return (color instanceof dojo.gfx.color.Color) ? color : new dojo.gfx.color.Color(color);
}, normalizeParameters:function (existed, update) {
	if (update) {
		var empty = {};
		for (var x in existed) {
			if (x in update && !(x in empty)) {
				existed[x] = update[x];
			}
		}
	}
	return existed;
}, makeParameters:function (defaults, update) {
	if (!update) {
		return dojo.lang.shallowCopy(defaults, true);
	}
	var result = {};
	for (var i in defaults) {
		if (!(i in result)) {
			result[i] = dojo.lang.shallowCopy((i in update) ? update[i] : defaults[i], true);
		}

lib/HTML/Dojo/src.pm  view on Meta::CPAN

	return dojo.html.getCachedFontMeasurements()["12pt"] / 12;
};
dojo.gfx.vml.pt2px = function (len) {
	return len * this.px_in_pt();
};
dojo.gfx.vml.px2pt = function (len) {
	return len / this.px_in_pt();
};
dojo.gfx.vml.normalizedLength = function (len) {
	if (len.length == 0) {
		return 0;
	}
	if (len.length > 2) {
		var px_in_pt = this.px_in_pt();
		var val = parseFloat(len);
		switch (len.slice(-2)) {
		  case "px":
			return val;
		  case "pt":
			return val * px_in_pt;
		  case "in":
			return val * 72 * px_in_pt;
		  case "pc":
			return val * 12 * px_in_pt;
		  case "mm":
			return val / this.mm_in_pt * px_in_pt;
		  case "cm":
			return val / this.cm_in_pt * px_in_pt;
		}
	}
	return parseFloat(len);
};
dojo.lang.extend(dojo.gfx.Shape, {setFill:function (fill) {
	if (!fill) {
		this.fillStyle = null;
		this.rawNode.filled = false;
		return this;
	}
	if (typeof (fill) == "object" && "type" in fill) {
		switch (fill.type) {
		  case "linear":
			var f = dojo.gfx.makeParameters(dojo.gfx.defaultLinearGradient, fill);
			this.fillStyle = f;
			var s = "";
			for (var i = 0; i < f.colors.length; ++i) {
				f.colors[i].color = dojo.gfx.normalizeColor(f.colors[i].color);
				s += f.colors[i].offset.toFixed(8) + " " + f.colors[i].color.toHex() + ";";
			}
			var fo = this.rawNode.fill;
			fo.colors.value = s;
			fo.method = "sigma";
			fo.type = "gradient";
			fo.angle = (dojo.math.radToDeg(Math.atan2(f.x2 - f.x1, f.y2 - f.y1)) + 180) % 360;
			fo.on = true;
			break;
		  case "radial":
			var f = dojo.gfx.makeParameters(dojo.gfx.defaultRadialGradient, fill);
			this.fillStyle = f;
			var w = parseFloat(this.rawNode.style.width);
			var h = parseFloat(this.rawNode.style.height);
			var c = isNaN(w) ? 1 : 2 * f.r / w;
			var i = f.colors.length - 1;
			f.colors[i].color = dojo.gfx.normalizeColor(f.colors[i].color);
			var s = "0 " + f.colors[i].color.toHex();
			for (; i >= 0; --i) {
				f.colors[i].color = dojo.gfx.normalizeColor(f.colors[i].color);
				s += (1 - c * f.colors[i].offset).toFixed(8) + " " + f.colors[i].color.toHex() + ";";
			}
			var fo = this.rawNode.fill;
			fo.colors.value = s;
			fo.method = "sigma";
			fo.type = "gradientradial";
			if (isNaN(w) || isNaN(h)) {
				fo.focusposition = "0.5 0.5";
			} else {
				fo.focusposition = (f.cx / w).toFixed(8) + " " + (f.cy / h).toFixed(8);
			}
			fo.focussize = "0 0";
			fo.on = true;
			break;
		  case "pattern":
			var f = dojo.gfx.makeParameters(dojo.gfx.defaultPattern, fill);
			this.fillStyle = f;
			var fo = this.rawNode.fill;
			fo.type = "tile";
			fo.src = f.src;
			if (f.width && f.height) {
				fo.size.x = dojo.gfx.vml.px2pt(f.width);
				fo.size.y = dojo.gfx.vml.px2pt(f.height);
			}
			fo.alignShape = false;
			fo.position.x = 0;
			fo.position.y = 0;
			fo.origin.x = f.width ? f.x / f.width : 0;
			fo.origin.y = f.height ? f.y / f.height : 0;
			fo.on = true;
			break;
		}
		this.rawNode.fill.opacity = 1;
		return this;
	}
	this.fillStyle = dojo.gfx.normalizeColor(fill);
	this.rawNode.fillcolor = this.fillStyle.toHex();
	this.rawNode.fill.opacity = this.fillStyle.a;
	this.rawNode.filled = true;
	return this;
}, setStroke:function (stroke) {
	if (!stroke) {
		this.strokeStyle = null;
		this.rawNode.stroked = false;
		return this;
	}
	this.strokeStyle = dojo.gfx.makeParameters(dojo.gfx.defaultStroke, stroke);
	this.strokeStyle.color = dojo.gfx.normalizeColor(this.strokeStyle.color);
	var s = this.strokeStyle;
	this.rawNode.stroked = true;
	this.rawNode.strokecolor = s.color.toCss();
	this.rawNode.strokeweight = s.width + "px";
	if (this.rawNode.stroke) {
		this.rawNode.stroke.opacity = s.color.a;
		this.rawNode.stroke.endcap = this._translate(this._capMap, s.cap);
		if (typeof (s.join) == "number") {
			this.rawNode.stroke.joinstyle = "miter";
			this.rawNode.stroke.miterlimit = s.join;
		} else {
			this.rawNode.stroke.joinstyle = s.join;
		}
	}
	return this;
}, _capMap:{butt:"flat"}, _capMapReversed:{flat:"butt"}, _translate:function (dict, value) {
	return (value in dict) ? dict[value] : value;
}, _applyTransform:function () {
	var matrix = this._getRealMatrix();
	if (!matrix) {
		return this;
	}
	var skew = this.rawNode.skew;
	if (typeof (skew) == "undefined") {
		for (var i = 0; i < this.rawNode.childNodes.length; ++i) {
			if (this.rawNode.childNodes[i].tagName == "skew") {
				skew = this.rawNode.childNodes[i];
				break;
			}
		}
	}
	if (skew) {
		skew.on = false;
		var mt = matrix.xx.toFixed(8) + " " + matrix.xy.toFixed(8) + " " + matrix.yx.toFixed(8) + " " + matrix.yy.toFixed(8) + " 0 0";
		var offset = Math.floor(matrix.dx).toFixed() + "px " + Math.floor(matrix.dy).toFixed() + "px";
		var l = parseFloat(this.rawNode.style.left);
		var t = parseFloat(this.rawNode.style.top);
		var w = parseFloat(this.rawNode.style.width);
		var h = parseFloat(this.rawNode.style.height);
		if (isNaN(l)) {
			l = 0;
		}
		if (isNaN(t)) {
			t = 0;
		}
		if (isNaN(w)) {
			w = 1;
		}
		if (isNaN(h)) {
			h = 1;
		}
		var origin = (-l / w - 0.5).toFixed(8) + " " + (-t / h - 0.5).toFixed(8);
		skew.matrix = mt;
		skew.origin = origin;
		skew.offset = offset;
		skew.on = true;
	}
	return this;
}, setRawNode:function (rawNode) {
	rawNode.stroked = false;
	rawNode.filled = false;
	this.rawNode = rawNode;
}, attachFill:function (rawNode) {
	var fillStyle = null;
	var fo = rawNode.fill;
	if (rawNode) {
		if (fo.on && fo.type == "gradient") {
			var fillStyle = dojo.lang.shallowCopy(dojo.gfx.defaultLinearGradient, true);
			var rad = dojo.math.degToRad(fo.angle);
			fillStyle.x2 = Math.cos(rad);
			fillStyle.y2 = Math.sin(rad);
			fillStyle.colors = [];
			var stops = fo.colors.value.split(";");
			for (var i = 0; i < stops.length; ++i) {
				var t = stops[i].match(/\S+/g);
				if (!t || t.length != 2) {
					continue;
				}
				fillStyle.colors.push({offset:dojo.gfx.vml._parseFloat(t[0]), color:new dojo.gfx.color.Color(t[1])});
			}
		} else {
			if (fo.on && fo.type == "gradientradial") {
				var fillStyle = dojo.lang.shallowCopy(dojo.gfx.defaultRadialGradient, true);
				var w = parseFloat(rawNode.style.width);
				var h = parseFloat(rawNode.style.height);
				fillStyle.cx = isNaN(w) ? 0 : fo.focusposition.x * w;
				fillStyle.cy = isNaN(h) ? 0 : fo.focusposition.y * h;
				fillStyle.r = isNaN(w) ? 1 : w / 2;
				fillStyle.colors = [];
				var stops = fo.colors.value.split(";");
				for (var i = stops.length - 1; i >= 0; --i) {
					var t = stops[i].match(/\S+/g);
					if (!t || t.length != 2) {
						continue;
					}
					fillStyle.colors.push({offset:dojo.gfx.vml._parseFloat(t[0]), color:new dojo.gfx.color.Color(t[1])});
				}
			} else {
				if (fo.on && fo.type == "tile") {
					var fillStyle = dojo.lang.shallowCopy(dojo.gfx.defaultPattern, true);
					fillStyle.width = dojo.gfx.vml.pt2px(fo.size.x);
					fillStyle.height = dojo.gfx.vml.pt2px(fo.size.y);
					fillStyle.x = fo.origin.x * fillStyle.width;
					fillStyle.y = fo.origin.y * fillStyle.height;
					fillStyle.src = fo.src;
				} else {
					if (fo.on && rawNode.fillcolor) {
						fillStyle = new dojo.gfx.color.Color(rawNode.fillcolor + "");
						fillStyle.a = fo.opacity;
					}
				}
			}
		}
	}
	return fillStyle;
}, attachStroke:function (rawNode) {
	var strokeStyle = dojo.lang.shallowCopy(dojo.gfx.defaultStroke, true);
	if (rawNode && rawNode.stroked) {
		strokeStyle.color = new dojo.gfx.color.Color(rawNode.strokecolor.value);
		dojo.debug("We are expecting an .75pt here, instead of strokeweight = " + rawNode.strokeweight);
		strokeStyle.width = dojo.gfx.vml.normalizedLength(rawNode.strokeweight + "");
		strokeStyle.color.a = rawNode.stroke.opacity;
		strokeStyle.cap = this._translate(this._capMapReversed, rawNode.stroke.endcap);
		strokeStyle.join = rawNode.stroke.joinstyle == "miter" ? rawNode.stroke.miterlimit : rawNode.stroke.joinstyle;
	} else {
		return null;
	}
	return strokeStyle;
}, attachTransform:function (rawNode) {
	var matrix = {};
	if (rawNode) {
		var s = rawNode.skew;
		matrix.xx = s.matrix.xtox;
		matrix.xy = s.matrix.ytox;
		matrix.yx = s.matrix.xtoy;
		matrix.yy = s.matrix.ytoy;
		matrix.dx = dojo.gfx.vml.pt2px(s.offset.x);
		matrix.dy = dojo.gfx.vml.pt2px(s.offset.y);
	}
	return dojo.gfx.matrix.normalize(matrix);
}, attach:function (rawNode) {
	if (rawNode) {
		this.rawNode = rawNode;
		this.shape = this.attachShape(rawNode);
		this.fillStyle = this.attachFill(rawNode);
		this.strokeStyle = this.attachStroke(rawNode);
		this.matrix = this.attachTransform(rawNode);
	}

lib/HTML/Dojo/src.pm  view on Meta::CPAN

	style.left = (shape.cx - shape.rx).toFixed();
	style.top = (shape.cy - shape.ry).toFixed();
	style.width = (shape.rx * 2).toFixed();
	style.height = (shape.ry * 2).toFixed();
	return this.setTransform(this.matrix);
}});
dojo.gfx.Ellipse.nodeType = "oval";
dojo.declare("dojo.gfx.Circle", dojo.gfx.shape.Circle, {attachShape:function (rawNode) {
	var style = this.rawNode.style;
	var r = parseInt(style.width) / 2;
	var o = dojo.gfx.makeParameters(dojo.gfx.defaultCircle, {cx:parseInt(style.left) + r, cy:parseInt(style.top) + r, r:r});
	return o;
}, setShape:function (newShape) {
	var shape = this.shape = dojo.gfx.makeParameters(this.shape, newShape);
	this.bbox = null;
	var style = this.rawNode.style;
	style.left = (shape.cx - shape.r).toFixed();
	style.top = (shape.cy - shape.r).toFixed();
	style.width = (shape.r * 2).toFixed();
	style.height = (shape.r * 2).toFixed();
	return this;
}});
dojo.gfx.Circle.nodeType = "oval";
dojo.declare("dojo.gfx.Line", dojo.gfx.shape.Line, function (rawNode) {
	if (rawNode) {
		rawNode.setAttribute("dojoGfxType", "line");
	}
}, {attachShape:function (rawNode) {
	var p = rawNode.path.v.match(dojo.gfx.pathRegExp);
	var shape = {};
	do {
		if (p.length < 7 || p[0] != "m" || p[3] != "l" || p[6] != "e") {
			break;
		}
		shape.x1 = parseInt(p[1]);
		shape.y1 = parseInt(p[2]);
		shape.x2 = parseInt(p[4]);
		shape.y2 = parseInt(p[5]);
	} while (false);
	return dojo.gfx.makeParameters(dojo.gfx.defaultLine, shape);
}, setShape:function (newShape) {
	var shape = this.shape = dojo.gfx.makeParameters(this.shape, newShape);
	this.bbox = null;
	this.rawNode.path.v = "m" + shape.x1.toFixed() + " " + shape.y1.toFixed() + "l" + shape.x2.toFixed() + " " + shape.y2.toFixed() + "e";
	return this.setTransform(this.matrix);
}});
dojo.gfx.Line.nodeType = "shape";
dojo.declare("dojo.gfx.Polyline", dojo.gfx.shape.Polyline, function (rawNode) {
	if (rawNode) {
		rawNode.setAttribute("dojoGfxType", "polyline");
	}
}, {attachShape:function (rawNode) {
	var shape = dojo.lang.shallowCopy(dojo.gfx.defaultPolyline, true);
	var p = rawNode.path.v.match(dojo.gfx.pathRegExp);
	do {
		if (p.length < 3 || p[0] != "m") {
			break;
		}
		var x = parseInt(p[0]);
		var y = parseInt(p[1]);
		if (isNaN(x) || isNaN(y)) {
			break;
		}
		shape.points.push({x:x, y:y});
		if (p.length < 6 || p[3] != "l") {
			break;
		}
		for (var i = 4; i < p.length; i += 2) {
			x = parseInt(p[i]);
			y = parseInt(p[i + 1]);
			if (isNaN(x) || isNaN(y)) {
				break;
			}
			shape.points.push({x:x, y:y});
		}
	} while (false);
	return shape;
}, setShape:function (points, closed) {
	if (points && points instanceof Array) {
		this.shape = dojo.gfx.makeParameters(this.shape, {points:points});
		if (closed && this.shape.points.length) {
			this.shape.points.push(this.shape.points[0]);
		}
	} else {
		this.shape = dojo.gfx.makeParameters(this.shape, points);
	}
	this.bbox = null;
	var attr = [];
	var p = this.shape.points;
	if (p.length > 0) {
		attr.push("m");
		attr.push(p[0].x.toFixed());
		attr.push(p[0].y.toFixed());
		if (p.length > 1) {
			attr.push("l");
			for (var i = 1; i < p.length; ++i) {
				attr.push(p[i].x.toFixed());
				attr.push(p[i].y.toFixed());
			}
		}
	}
	attr.push("e");
	this.rawNode.path.v = attr.join(" ");
	return this.setTransform(this.matrix);
}});
dojo.gfx.Polyline.nodeType = "shape";
dojo.declare("dojo.gfx.Image", dojo.gfx.shape.Image, {getEventSource:function () {
	return this.rawNode ? this.rawNode.firstChild : null;
}, attachShape:function (rawNode) {
	var shape = dojo.lang.shallowCopy(dojo.gfx.defaultImage, true);
	shape.src = rawNode.firstChild.src;
	return shape;
}, setShape:function (newShape) {
	var shape = this.shape = dojo.gfx.makeParameters(this.shape, newShape);
	this.bbox = null;
	var firstChild = this.rawNode.firstChild;
	firstChild.src = shape.src;
	if (shape.width || shape.height) {
		firstChild.style.width = shape.width;
		firstChild.style.height = shape.height;
	}
	return this.setTransform(this.matrix);
}, setStroke:function () {
	return this;
}, setFill:function () {
	return this;
}, attachStroke:function (rawNode) {
	return null;
}, attachFill:function (rawNode) {
	return null;
}, attachTransform:function (rawNode) {

lib/HTML/Dojo/src.pm  view on Meta::CPAN

		matrix.xx = m.M11;
		matrix.xy = m.M12;
		matrix.yx = m.M21;
		matrix.yy = m.M22;
		matrix.dx = m.Dx;
		matrix.dy = m.Dy;
	}
	return dojo.gfx.matrix.normalize(matrix);
}, _applyTransform:function () {
	var matrix = this._getRealMatrix();
	if (!matrix) {
		return this;
	}
	with (this.rawNode.filters["DXImageTransform.Microsoft.Matrix"]) {
		M11 = matrix.xx;
		M12 = matrix.xy;
		M21 = matrix.yx;
		M22 = matrix.yy;
		Dx = matrix.dx;
		Dy = matrix.dy;
	}
	return this;
}});
dojo.gfx.Image.nodeType = "image";
dojo.gfx.path._calcArc = function (alpha) {
	var cosa = Math.cos(alpha);
	var sina = Math.sin(alpha);
	var p2 = {x:cosa + (4 / 3) * (1 - cosa), y:sina - (4 / 3) * cosa * (1 - cosa) / sina};
	return {s:{x:cosa, y:sina}, c1:p2, c2:{x:p2.x, y:-p2.y}, e:{x:cosa, y:-sina}};
};
dojo.declare("dojo.gfx.Path", dojo.gfx.path.Path, function (rawNode) {
	if (rawNode) {
		rawNode.setAttribute("dojoGfxType", "path");
	}
	this.vmlPath = "";
	this.lastControl = {};
}, {_updateWithSegment:function (segment) {
	var last = dojo.lang.shallowCopy(this.last);
	dojo.gfx.Path.superclass._updateWithSegment.apply(this, arguments);
	var path = this[this.renderers[segment.action]](segment, last);
	if (typeof (this.vmlPath) == "string") {
		this.vmlPath += path.join("");
	} else {
		this.vmlPath = this.vmlPath.concat(path);
	}
	if (typeof (this.vmlPath) == "string") {
		this.rawNode.path.v = this.vmlPath + " e";
	}
}, attachShape:function (rawNode) {
	var shape = dojo.lang.shallowCopy(dojo.gfx.defaultPath, true);
	var p = rawNode.path.v.match(dojo.gfx.pathRegExp);
	var t = [], skip = false;
	for (var i = 0; i < p.length; ++p) {
		var s = p[i];
		if (s in this._pathVmlToSvgMap) {
			skip = false;
			t.push(this._pathVmlToSvgMap[s]);
		} else {
			if (!skip) {
				var n = parseInt(s);
				if (isNaN(n)) {
					skip = true;
				} else {
					t.push(n);
				}
			}
		}
	}
	if (t.length) {
		shape.path = t.join(" ");
	}
	return shape;
}, setShape:function (newShape) {
	this.vmlPath = [];
	this.lastControl = {};
	dojo.gfx.Path.superclass.setShape.apply(this, arguments);
	this.vmlPath = this.vmlPath.join("");
	this.rawNode.path.v = this.vmlPath + " e";
	return this;
}, _pathVmlToSvgMap:{m:"M", l:"L", t:"m", r:"l", c:"C", v:"c", qb:"Q", x:"z", e:""}, renderers:{M:"_moveToA", m:"_moveToR", L:"_lineToA", l:"_lineToR", H:"_hLineToA", h:"_hLineToR", V:"_vLineToA", v:"_vLineToR", C:"_curveToA", c:"_curveToR", S:"_smoo...
	if (typeof (upto) == "undefined") {
		upto = args.length;
	}
	if (typeof (from) == "undefined") {
		from = 0;
	}
	for (var i = from; i < upto; ++i) {
		path.push(" ");
		path.push(args[i].toFixed());
	}
}, _addArgsAdjusted:function (path, last, args, from, upto) {
	if (typeof (upto) == "undefined") {
		upto = args.length;
	}
	if (typeof (from) == "undefined") {
		from = 0;
	}
	for (var i = from; i < upto; i += 2) {
		path.push(" ");
		path.push((last.x + args[i]).toFixed());
		path.push(" ");
		path.push((last.y + args[i + 1]).toFixed());
	}
}, _moveToA:function (segment) {
	var p = [" m"];
	var n = segment.args;
	var l = n.length;
	if (l == 2) {
		this._addArgs(p, n);
	} else {
		this._addArgs(p, n, 0, 2);
		p.push(" l");
		this._addArgs(p, n, 2);
	}
	this.lastControl = {};
	return p;
}, _moveToR:function (segment, last) {
	var p = ["x" in last ? " t" : " m"];
	var n = segment.args;
	var l = n.length;
	if (l == 2) {

lib/HTML/Dojo/src.pm  view on Meta::CPAN

}, lineTo:function () {
	var args = [];
	this._collectArgs(args, arguments);
	this._pushSegment(this.absolute ? "L" : "l", args);
	return this;
}, hLineTo:function () {
	var args = [];
	this._collectArgs(args, arguments);
	this._pushSegment(this.absolute ? "H" : "h", args);
	return this;
}, vLineTo:function () {
	var args = [];
	this._collectArgs(args, arguments);
	this._pushSegment(this.absolute ? "V" : "v", args);
	return this;
}, curveTo:function () {
	var args = [];
	this._collectArgs(args, arguments);
	this._pushSegment(this.absolute ? "C" : "c", args);
	return this;
}, smoothCurveTo:function () {
	var args = [];
	this._collectArgs(args, arguments);
	this._pushSegment(this.absolute ? "S" : "s", args);
	return this;
}, qCurveTo:function () {
	var args = [];
	this._collectArgs(args, arguments);
	this._pushSegment(this.absolute ? "Q" : "q", args);
	return this;
}, qSmoothCurveTo:function () {
	var args = [];
	this._collectArgs(args, arguments);
	this._pushSegment(this.absolute ? "T" : "t", args);
	return this;
}, arcTo:function () {
	var args = [];
	this._collectArgs(args, arguments);
	for (var i = 2; i < args.length; i += 7) {
		args[i] = -args[i];
	}
	this._pushSegment(this.absolute ? "A" : "a", args);
	return this;
}, closePath:function () {
	this._pushSegment("Z", []);
	return this;
}, _setPath:function (path) {
	var p = path.match(dojo.gfx.pathRegExp);
	this.segments = [];
	this.absolute = true;
	this.bbox = {};
	this.last = {};
	if (!p) {
		return;
	}
	var action = "";
	var args = [];
	for (var i = 0; i < p.length; ++i) {
		var t = p[i];
		var x = parseFloat(t);
		if (isNaN(x)) {
			if (action) {
				this._pushSegment(action, args);
			}
			args = [];
			action = t;
		} else {
			args.push(x);
		}
	}
	this._pushSegment(action, args);
}, setShape:function (newShape) {
	this.shape = dojo.gfx.makeParameters(this.shape, typeof (newShape) == "string" ? {path:newShape} : newShape);
	var path = this.shape.path;
	this.shape.path = [];
	this._setPath(path);
	this.shape.path = this.shape.path.join("");
	return this;
}, _2PI:Math.PI * 2});


__CPAN_FILE__ src/gfx/vml.xd.js
/*
	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
*/



dojo.hostenv.packageLoaded({depends:[["provide", "dojo.gfx.vml"], ["require", "dojo.dom"], ["require", "dojo.math"], ["require", "dojo.lang.declare"], ["require", "dojo.lang.extras"], ["require", "dojo.string.*"], ["require", "dojo.html.metrics"], ["...
	dojo.provide("dojo.gfx.vml");
	dojo.require("dojo.dom");
	dojo.require("dojo.math");
	dojo.require("dojo.lang.declare");
	dojo.require("dojo.lang.extras");
	dojo.require("dojo.string.*");
	dojo.require("dojo.html.metrics");
	dojo.require("dojo.gfx.color");
	dojo.require("dojo.gfx.common");
	dojo.require("dojo.gfx.shape");
	dojo.require("dojo.gfx.path");
	dojo.require("dojo.experimental");
	dojo.experimental("dojo.gfx.vml");
	dojo.gfx.vml.xmlns = "urn:schemas-microsoft-com:vml";
	dojo.gfx.vml._parseFloat = function (str) {
		return str.match(/^\d+f$/i) ? parseInt(str) / 65536 : parseFloat(str);
	};
	dojo.gfx.vml.cm_in_pt = 72 / 2.54;
	dojo.gfx.vml.mm_in_pt = 7.2 / 2.54;
	dojo.gfx.vml.px_in_pt = function () {
		return dojo.html.getCachedFontMeasurements()["12pt"] / 12;
	};
	dojo.gfx.vml.pt2px = function (len) {
		return len * this.px_in_pt();
	};
	dojo.gfx.vml.px2pt = function (len) {
		return len / this.px_in_pt();
	};
	dojo.gfx.vml.normalizedLength = function (len) {
		if (len.length == 0) {
			return 0;
		}
		if (len.length > 2) {
			var px_in_pt = this.px_in_pt();
			var val = parseFloat(len);
			switch (len.slice(-2)) {
			  case "px":
				return val;
			  case "pt":
				return val * px_in_pt;
			  case "in":
				return val * 72 * px_in_pt;
			  case "pc":
				return val * 12 * px_in_pt;
			  case "mm":
				return val / this.mm_in_pt * px_in_pt;
			  case "cm":
				return val / this.cm_in_pt * px_in_pt;
			}
		}
		return parseFloat(len);
	};
	dojo.lang.extend(dojo.gfx.Shape, {setFill:function (fill) {
		if (!fill) {
			this.fillStyle = null;
			this.rawNode.filled = false;
			return this;
		}
		if (typeof (fill) == "object" && "type" in fill) {
			switch (fill.type) {
			  case "linear":
				var f = dojo.gfx.makeParameters(dojo.gfx.defaultLinearGradient, fill);
				this.fillStyle = f;
				var s = "";
				for (var i = 0; i < f.colors.length; ++i) {
					f.colors[i].color = dojo.gfx.normalizeColor(f.colors[i].color);
					s += f.colors[i].offset.toFixed(8) + " " + f.colors[i].color.toHex() + ";";
				}
				var fo = this.rawNode.fill;
				fo.colors.value = s;
				fo.method = "sigma";
				fo.type = "gradient";
				fo.angle = (dojo.math.radToDeg(Math.atan2(f.x2 - f.x1, f.y2 - f.y1)) + 180) % 360;
				fo.on = true;
				break;
			  case "radial":
				var f = dojo.gfx.makeParameters(dojo.gfx.defaultRadialGradient, fill);
				this.fillStyle = f;
				var w = parseFloat(this.rawNode.style.width);
				var h = parseFloat(this.rawNode.style.height);
				var c = isNaN(w) ? 1 : 2 * f.r / w;
				var i = f.colors.length - 1;
				f.colors[i].color = dojo.gfx.normalizeColor(f.colors[i].color);
				var s = "0 " + f.colors[i].color.toHex();
				for (; i >= 0; --i) {
					f.colors[i].color = dojo.gfx.normalizeColor(f.colors[i].color);
					s += (1 - c * f.colors[i].offset).toFixed(8) + " " + f.colors[i].color.toHex() + ";";
				}
				var fo = this.rawNode.fill;
				fo.colors.value = s;
				fo.method = "sigma";
				fo.type = "gradientradial";
				if (isNaN(w) || isNaN(h)) {
					fo.focusposition = "0.5 0.5";
				} else {
					fo.focusposition = (f.cx / w).toFixed(8) + " " + (f.cy / h).toFixed(8);
				}
				fo.focussize = "0 0";
				fo.on = true;
				break;
			  case "pattern":
				var f = dojo.gfx.makeParameters(dojo.gfx.defaultPattern, fill);
				this.fillStyle = f;
				var fo = this.rawNode.fill;
				fo.type = "tile";
				fo.src = f.src;
				if (f.width && f.height) {
					fo.size.x = dojo.gfx.vml.px2pt(f.width);
					fo.size.y = dojo.gfx.vml.px2pt(f.height);
				}
				fo.alignShape = false;
				fo.position.x = 0;
				fo.position.y = 0;
				fo.origin.x = f.width ? f.x / f.width : 0;
				fo.origin.y = f.height ? f.y / f.height : 0;
				fo.on = true;
				break;
			}
			this.rawNode.fill.opacity = 1;
			return this;
		}
		this.fillStyle = dojo.gfx.normalizeColor(fill);
		this.rawNode.fillcolor = this.fillStyle.toHex();
		this.rawNode.fill.opacity = this.fillStyle.a;
		this.rawNode.filled = true;
		return this;
	}, setStroke:function (stroke) {
		if (!stroke) {
			this.strokeStyle = null;
			this.rawNode.stroked = false;
			return this;
		}
		this.strokeStyle = dojo.gfx.makeParameters(dojo.gfx.defaultStroke, stroke);
		this.strokeStyle.color = dojo.gfx.normalizeColor(this.strokeStyle.color);
		var s = this.strokeStyle;
		this.rawNode.stroked = true;
		this.rawNode.strokecolor = s.color.toCss();
		this.rawNode.strokeweight = s.width + "px";
		if (this.rawNode.stroke) {
			this.rawNode.stroke.opacity = s.color.a;
			this.rawNode.stroke.endcap = this._translate(this._capMap, s.cap);
			if (typeof (s.join) == "number") {
				this.rawNode.stroke.joinstyle = "miter";
				this.rawNode.stroke.miterlimit = s.join;
			} else {
				this.rawNode.stroke.joinstyle = s.join;
			}
		}
		return this;
	}, _capMap:{butt:"flat"}, _capMapReversed:{flat:"butt"}, _translate:function (dict, value) {
		return (value in dict) ? dict[value] : value;
	}, _applyTransform:function () {
		var matrix = this._getRealMatrix();
		if (!matrix) {
			return this;
		}
		var skew = this.rawNode.skew;
		if (typeof (skew) == "undefined") {
			for (var i = 0; i < this.rawNode.childNodes.length; ++i) {
				if (this.rawNode.childNodes[i].tagName == "skew") {
					skew = this.rawNode.childNodes[i];
					break;
				}
			}
		}
		if (skew) {
			skew.on = false;
			var mt = matrix.xx.toFixed(8) + " " + matrix.xy.toFixed(8) + " " + matrix.yx.toFixed(8) + " " + matrix.yy.toFixed(8) + " 0 0";
			var offset = Math.floor(matrix.dx).toFixed() + "px " + Math.floor(matrix.dy).toFixed() + "px";
			var l = parseFloat(this.rawNode.style.left);
			var t = parseFloat(this.rawNode.style.top);
			var w = parseFloat(this.rawNode.style.width);
			var h = parseFloat(this.rawNode.style.height);
			if (isNaN(l)) {
				l = 0;
			}
			if (isNaN(t)) {
				t = 0;
			}
			if (isNaN(w)) {
				w = 1;
			}
			if (isNaN(h)) {
				h = 1;
			}
			var origin = (-l / w - 0.5).toFixed(8) + " " + (-t / h - 0.5).toFixed(8);
			skew.matrix = mt;
			skew.origin = origin;
			skew.offset = offset;
			skew.on = true;
		}
		return this;
	}, setRawNode:function (rawNode) {
		rawNode.stroked = false;
		rawNode.filled = false;
		this.rawNode = rawNode;
	}, attachFill:function (rawNode) {
		var fillStyle = null;
		var fo = rawNode.fill;
		if (rawNode) {
			if (fo.on && fo.type == "gradient") {
				var fillStyle = dojo.lang.shallowCopy(dojo.gfx.defaultLinearGradient, true);
				var rad = dojo.math.degToRad(fo.angle);
				fillStyle.x2 = Math.cos(rad);
				fillStyle.y2 = Math.sin(rad);
				fillStyle.colors = [];
				var stops = fo.colors.value.split(";");
				for (var i = 0; i < stops.length; ++i) {
					var t = stops[i].match(/\S+/g);
					if (!t || t.length != 2) {
						continue;
					}
					fillStyle.colors.push({offset:dojo.gfx.vml._parseFloat(t[0]), color:new dojo.gfx.color.Color(t[1])});
				}
			} else {
				if (fo.on && fo.type == "gradientradial") {
					var fillStyle = dojo.lang.shallowCopy(dojo.gfx.defaultRadialGradient, true);
					var w = parseFloat(rawNode.style.width);
					var h = parseFloat(rawNode.style.height);
					fillStyle.cx = isNaN(w) ? 0 : fo.focusposition.x * w;
					fillStyle.cy = isNaN(h) ? 0 : fo.focusposition.y * h;
					fillStyle.r = isNaN(w) ? 1 : w / 2;
					fillStyle.colors = [];
					var stops = fo.colors.value.split(";");
					for (var i = stops.length - 1; i >= 0; --i) {
						var t = stops[i].match(/\S+/g);
						if (!t || t.length != 2) {
							continue;
						}
						fillStyle.colors.push({offset:dojo.gfx.vml._parseFloat(t[0]), color:new dojo.gfx.color.Color(t[1])});
					}
				} else {
					if (fo.on && fo.type == "tile") {
						var fillStyle = dojo.lang.shallowCopy(dojo.gfx.defaultPattern, true);
						fillStyle.width = dojo.gfx.vml.pt2px(fo.size.x);
						fillStyle.height = dojo.gfx.vml.pt2px(fo.size.y);
						fillStyle.x = fo.origin.x * fillStyle.width;
						fillStyle.y = fo.origin.y * fillStyle.height;
						fillStyle.src = fo.src;
					} else {
						if (fo.on && rawNode.fillcolor) {
							fillStyle = new dojo.gfx.color.Color(rawNode.fillcolor + "");
							fillStyle.a = fo.opacity;
						}
					}
				}
			}
		}
		return fillStyle;
	}, attachStroke:function (rawNode) {
		var strokeStyle = dojo.lang.shallowCopy(dojo.gfx.defaultStroke, true);
		if (rawNode && rawNode.stroked) {
			strokeStyle.color = new dojo.gfx.color.Color(rawNode.strokecolor.value);
			dojo.debug("We are expecting an .75pt here, instead of strokeweight = " + rawNode.strokeweight);
			strokeStyle.width = dojo.gfx.vml.normalizedLength(rawNode.strokeweight + "");
			strokeStyle.color.a = rawNode.stroke.opacity;
			strokeStyle.cap = this._translate(this._capMapReversed, rawNode.stroke.endcap);
			strokeStyle.join = rawNode.stroke.joinstyle == "miter" ? rawNode.stroke.miterlimit : rawNode.stroke.joinstyle;
		} else {
			return null;
		}
		return strokeStyle;
	}, attachTransform:function (rawNode) {
		var matrix = {};
		if (rawNode) {
			var s = rawNode.skew;
			matrix.xx = s.matrix.xtox;
			matrix.xy = s.matrix.ytox;
			matrix.yx = s.matrix.xtoy;
			matrix.yy = s.matrix.ytoy;
			matrix.dx = dojo.gfx.vml.pt2px(s.offset.x);
			matrix.dy = dojo.gfx.vml.pt2px(s.offset.y);
		}
		return dojo.gfx.matrix.normalize(matrix);
	}, attach:function (rawNode) {
		if (rawNode) {
			this.rawNode = rawNode;
			this.shape = this.attachShape(rawNode);
			this.fillStyle = this.attachFill(rawNode);
			this.strokeStyle = this.attachStroke(rawNode);
			this.matrix = this.attachTransform(rawNode);
		}

lib/HTML/Dojo/src.pm  view on Meta::CPAN

		style.left = (shape.cx - shape.rx).toFixed();
		style.top = (shape.cy - shape.ry).toFixed();
		style.width = (shape.rx * 2).toFixed();
		style.height = (shape.ry * 2).toFixed();
		return this.setTransform(this.matrix);
	}});
	dojo.gfx.Ellipse.nodeType = "oval";
	dojo.declare("dojo.gfx.Circle", dojo.gfx.shape.Circle, {attachShape:function (rawNode) {
		var style = this.rawNode.style;
		var r = parseInt(style.width) / 2;
		var o = dojo.gfx.makeParameters(dojo.gfx.defaultCircle, {cx:parseInt(style.left) + r, cy:parseInt(style.top) + r, r:r});
		return o;
	}, setShape:function (newShape) {
		var shape = this.shape = dojo.gfx.makeParameters(this.shape, newShape);
		this.bbox = null;
		var style = this.rawNode.style;
		style.left = (shape.cx - shape.r).toFixed();
		style.top = (shape.cy - shape.r).toFixed();
		style.width = (shape.r * 2).toFixed();
		style.height = (shape.r * 2).toFixed();
		return this;
	}});
	dojo.gfx.Circle.nodeType = "oval";
	dojo.declare("dojo.gfx.Line", dojo.gfx.shape.Line, function (rawNode) {
		if (rawNode) {
			rawNode.setAttribute("dojoGfxType", "line");
		}
	}, {attachShape:function (rawNode) {
		var p = rawNode.path.v.match(dojo.gfx.pathRegExp);
		var shape = {};
		do {
			if (p.length < 7 || p[0] != "m" || p[3] != "l" || p[6] != "e") {
				break;
			}
			shape.x1 = parseInt(p[1]);
			shape.y1 = parseInt(p[2]);
			shape.x2 = parseInt(p[4]);
			shape.y2 = parseInt(p[5]);
		} while (false);
		return dojo.gfx.makeParameters(dojo.gfx.defaultLine, shape);
	}, setShape:function (newShape) {
		var shape = this.shape = dojo.gfx.makeParameters(this.shape, newShape);
		this.bbox = null;
		this.rawNode.path.v = "m" + shape.x1.toFixed() + " " + shape.y1.toFixed() + "l" + shape.x2.toFixed() + " " + shape.y2.toFixed() + "e";
		return this.setTransform(this.matrix);
	}});
	dojo.gfx.Line.nodeType = "shape";
	dojo.declare("dojo.gfx.Polyline", dojo.gfx.shape.Polyline, function (rawNode) {
		if (rawNode) {
			rawNode.setAttribute("dojoGfxType", "polyline");
		}
	}, {attachShape:function (rawNode) {
		var shape = dojo.lang.shallowCopy(dojo.gfx.defaultPolyline, true);
		var p = rawNode.path.v.match(dojo.gfx.pathRegExp);
		do {
			if (p.length < 3 || p[0] != "m") {
				break;
			}
			var x = parseInt(p[0]);
			var y = parseInt(p[1]);
			if (isNaN(x) || isNaN(y)) {
				break;
			}
			shape.points.push({x:x, y:y});
			if (p.length < 6 || p[3] != "l") {
				break;
			}
			for (var i = 4; i < p.length; i += 2) {
				x = parseInt(p[i]);
				y = parseInt(p[i + 1]);
				if (isNaN(x) || isNaN(y)) {
					break;
				}
				shape.points.push({x:x, y:y});
			}
		} while (false);
		return shape;
	}, setShape:function (points, closed) {
		if (points && points instanceof Array) {
			this.shape = dojo.gfx.makeParameters(this.shape, {points:points});
			if (closed && this.shape.points.length) {
				this.shape.points.push(this.shape.points[0]);
			}
		} else {
			this.shape = dojo.gfx.makeParameters(this.shape, points);
		}
		this.bbox = null;
		var attr = [];
		var p = this.shape.points;
		if (p.length > 0) {
			attr.push("m");
			attr.push(p[0].x.toFixed());
			attr.push(p[0].y.toFixed());
			if (p.length > 1) {
				attr.push("l");
				for (var i = 1; i < p.length; ++i) {
					attr.push(p[i].x.toFixed());
					attr.push(p[i].y.toFixed());
				}
			}
		}
		attr.push("e");
		this.rawNode.path.v = attr.join(" ");
		return this.setTransform(this.matrix);
	}});
	dojo.gfx.Polyline.nodeType = "shape";
	dojo.declare("dojo.gfx.Image", dojo.gfx.shape.Image, {getEventSource:function () {
		return this.rawNode ? this.rawNode.firstChild : null;
	}, attachShape:function (rawNode) {
		var shape = dojo.lang.shallowCopy(dojo.gfx.defaultImage, true);
		shape.src = rawNode.firstChild.src;
		return shape;
	}, setShape:function (newShape) {
		var shape = this.shape = dojo.gfx.makeParameters(this.shape, newShape);
		this.bbox = null;
		var firstChild = this.rawNode.firstChild;
		firstChild.src = shape.src;
		if (shape.width || shape.height) {
			firstChild.style.width = shape.width;
			firstChild.style.height = shape.height;
		}
		return this.setTransform(this.matrix);
	}, setStroke:function () {
		return this;
	}, setFill:function () {
		return this;
	}, attachStroke:function (rawNode) {
		return null;
	}, attachFill:function (rawNode) {
		return null;
	}, attachTransform:function (rawNode) {

lib/HTML/Dojo/src.pm  view on Meta::CPAN

			matrix.xx = m.M11;
			matrix.xy = m.M12;
			matrix.yx = m.M21;
			matrix.yy = m.M22;
			matrix.dx = m.Dx;
			matrix.dy = m.Dy;
		}
		return dojo.gfx.matrix.normalize(matrix);
	}, _applyTransform:function () {
		var matrix = this._getRealMatrix();
		if (!matrix) {
			return this;
		}
		with (this.rawNode.filters["DXImageTransform.Microsoft.Matrix"]) {
			M11 = matrix.xx;
			M12 = matrix.xy;
			M21 = matrix.yx;
			M22 = matrix.yy;
			Dx = matrix.dx;
			Dy = matrix.dy;
		}
		return this;
	}});
	dojo.gfx.Image.nodeType = "image";
	dojo.gfx.path._calcArc = function (alpha) {
		var cosa = Math.cos(alpha);
		var sina = Math.sin(alpha);
		var p2 = {x:cosa + (4 / 3) * (1 - cosa), y:sina - (4 / 3) * cosa * (1 - cosa) / sina};
		return {s:{x:cosa, y:sina}, c1:p2, c2:{x:p2.x, y:-p2.y}, e:{x:cosa, y:-sina}};
	};
	dojo.declare("dojo.gfx.Path", dojo.gfx.path.Path, function (rawNode) {
		if (rawNode) {
			rawNode.setAttribute("dojoGfxType", "path");
		}
		this.vmlPath = "";
		this.lastControl = {};
	}, {_updateWithSegment:function (segment) {
		var last = dojo.lang.shallowCopy(this.last);
		dojo.gfx.Path.superclass._updateWithSegment.apply(this, arguments);
		var path = this[this.renderers[segment.action]](segment, last);
		if (typeof (this.vmlPath) == "string") {
			this.vmlPath += path.join("");
		} else {
			this.vmlPath = this.vmlPath.concat(path);
		}
		if (typeof (this.vmlPath) == "string") {
			this.rawNode.path.v = this.vmlPath + " e";
		}
	}, attachShape:function (rawNode) {
		var shape = dojo.lang.shallowCopy(dojo.gfx.defaultPath, true);
		var p = rawNode.path.v.match(dojo.gfx.pathRegExp);
		var t = [], skip = false;
		for (var i = 0; i < p.length; ++p) {
			var s = p[i];
			if (s in this._pathVmlToSvgMap) {
				skip = false;
				t.push(this._pathVmlToSvgMap[s]);
			} else {
				if (!skip) {
					var n = parseInt(s);
					if (isNaN(n)) {
						skip = true;
					} else {
						t.push(n);
					}
				}
			}
		}
		if (t.length) {
			shape.path = t.join(" ");
		}
		return shape;
	}, setShape:function (newShape) {
		this.vmlPath = [];
		this.lastControl = {};
		dojo.gfx.Path.superclass.setShape.apply(this, arguments);
		this.vmlPath = this.vmlPath.join("");
		this.rawNode.path.v = this.vmlPath + " e";
		return this;
	}, _pathVmlToSvgMap:{m:"M", l:"L", t:"m", r:"l", c:"C", v:"c", qb:"Q", x:"z", e:""}, renderers:{M:"_moveToA", m:"_moveToR", L:"_lineToA", l:"_lineToR", H:"_hLineToA", h:"_hLineToR", V:"_vLineToA", v:"_vLineToR", C:"_curveToA", c:"_curveToR", S:"_smo...
		if (typeof (upto) == "undefined") {
			upto = args.length;
		}
		if (typeof (from) == "undefined") {
			from = 0;
		}
		for (var i = from; i < upto; ++i) {
			path.push(" ");
			path.push(args[i].toFixed());
		}
	}, _addArgsAdjusted:function (path, last, args, from, upto) {
		if (typeof (upto) == "undefined") {
			upto = args.length;
		}
		if (typeof (from) == "undefined") {
			from = 0;
		}
		for (var i = from; i < upto; i += 2) {
			path.push(" ");
			path.push((last.x + args[i]).toFixed());
			path.push(" ");
			path.push((last.y + args[i + 1]).toFixed());
		}
	}, _moveToA:function (segment) {
		var p = [" m"];
		var n = segment.args;
		var l = n.length;
		if (l == 2) {
			this._addArgs(p, n);
		} else {
			this._addArgs(p, n, 0, 2);
			p.push(" l");
			this._addArgs(p, n, 2);
		}
		this.lastControl = {};
		return p;
	}, _moveToR:function (segment, last) {
		var p = ["x" in last ? " t" : " m"];
		var n = segment.args;
		var l = n.length;
		if (l == 2) {



( run in 1.345 second using v1.01-cache-2.11-cpan-39bf76dae61 )