rem: return makeNode( this._dom.createElement(name) ); 
add: return makeNode( this._dom.createElement(name.toLowerCase()) ); 
context: (function(){	// Browser Navigator	window.navigator = {		get userAgent(){			return "Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3";		}	};		window.__defineSetter__("location", function(url){		window.document = new DOMDocument(			new Packages.org.xml.sax.InputSource(			new java.io.InputStreamReader(				new java.io.FileInputStream(url))));	});		window.__defineGetter__("location", function(url){		return {			get protocol(){				return "file:";			}		};	});		// Timers	var timers = [];		window.setTimeout = function(fn, time){		var num;		return num = setInterval(function(){			fn();			clearInterval(num);		}, time);	};		window.setInterval = function(fn, time){		var num = timers.length;				timers[num] = new java.lang.Thread(new java.lang.Runnable({			run: function(){				while (true){					java.lang.Thread.currentThread().sleep(time);					fn();				}			}		}));				timers[num].start();			return num;	};		window.clearInterval = function(num){		if ( timers[num] ) {			timers[num].stop();			delete timers[num];		}	};		// Window Events	window.addEventListener = function(){};	window.removeEventListener = function(){};		// DOM Document		window.DOMDocument = function(file){		this._file = file;		this._dom = Packages.javax.xml.parsers.			DocumentBuilderFactory.newInstance()				.newDocumentBuilder().parse(file);				if ( !obj_nodes.containsKey( this._dom ) )			obj_nodes.put( this._dom, this );	};		DOMDocument.prototype = {		createTextNode: function(text){			return makeNode( this._dom.createTextNode(text) );		},		createElement: function(name){			return makeNode( this._dom.createElement(name) );		},		getElementsByTagName: function(name){			return new DOMNodeList( this._dom.getElementsByTagName(name) );		},		getElementById: function(id){			var elems = this._dom.getElementsByTagName("*");						for ( var i = 0; i < elems.length; i++ ) {				var elem = elems.item(i);				if ( elem.getAttribute("id") == id )					return makeNode(elem);			}						return null;		},		get body(){			return this.getElementsByTagName("body")[0];		},		get documentElement(){			return makeNode( this._dom.getDocumentElement() );		},		get ownerDocument(){			return null;		},		addEventListener: function(){},		removeEventListener: function(){},		get nodeName() {			return "#document";		},		importNode: function(node, deep){			return makeNode( this._dom.importNode(node._dom, deep) );		},		toString: function(){			return "Document" + (typeof this._file == "string" ?				": " + this._file : "");		},				get defaultView(){			return {				getComputedStyle: function(elem){					return {						getPropertyValue: function(prop){							prop = prop.replace(/\-(\w)/g,function(m,c){								return c.toUpperCase();							});							var val = elem.style[prop];														if ( prop == "opacity" && val == "" )								val = "1";															return val;						}					};				}			};		}	};		function getDocument(node){		return obj_nodes.get(node);	}		// DOM NodeList		window.DOMNodeList = function(list){		this._dom = list;		this.length = list.getLength();				for ( var i = 0; i < this.length; i++ ) {			var node = list.item(i);			this[i] = makeNode( node );		}	};		DOMNodeList.prototype = {		toString: function(){			return "[ " +				Array.prototype.join.call( this, ", " ) + " ]";		},		valueOf: function(){			return Array.prototype.map.call(				this, function(node){return node.valueOf();}).join('');		}	};		// DOM Node		window.DOMNode = function(node){		this._dom = node;	};		DOMNode.prototype = {		get nodeType(){			return this._dom.getNodeType();		},		get nodeValue(){			return this._dom.getNodeValue();		},		get nodeName() {			return this._dom.getNodeName();		},		cloneNode: function(deep){			return makeNode( this._dom.cloneNode(deep) );		},		get ownerDocument(){			return getDocument( this._dom.ownerDocument );		},		get documentElement(){			return makeNode( this._dom.documentElement );		},		get parentNode() {			return makeNode( this._dom.getParentNode() );		},		get nextSibling() {			return makeNode( this._dom.getNextSibling() );		},		get previousSibling() {			return makeNode( this._dom.getPreviousSibling() );		},		toString: function(){			return '"' + this.nodeValue + '"';		},		valueOf: function(){			return this.nodeValue;		}	};	// DOM Element	window.DOMElement = function(elem){		this._dom = elem;		this.style = {};				// Load CSS info		var styles = (this.getAttribute("style") || "").split(/\s*;\s*/);				for ( var i = 0; i < styles.length; i++ ) {			var style = styles[i].split(/\s*:\s*/);			if ( style.length == 2 )				this.style[ style[0] ] = style[1];		}	};		DOMElement.prototype = extend( new DOMNode(), {		get nodeName(){			return this.tagName.toUpperCase();		},		get tagName(){			return this._dom.getTagName();		},		toString: function(){			return "<" + this.tagName + (this.id ? "#" + this.id : "" ) + ">";		},		valueOf: function(){			var ret = "<" + this.tagName, attr = this.attributes;						for ( var i in attr )				ret += " " + i + "='" + attr[i] + "'";							if ( this.childNodes.length || this.nodeName == "SCRIPT" )				ret += ">" + this.childNodes.valueOf() + 					"</" + this.tagName + ">";			else				ret += "/>";						return ret;		},				get attributes(){			var attr = {}, attrs = this._dom.getAttributes();						for ( var i = 0; i < attrs.getLength(); i++ )				attr[ attrs.item(i).nodeName ] = attrs.item(i).nodeValue;							return attr;		},				get innerHTML(){			return this.childNodes.valueOf();			},		set innerHTML(html){			var nodes = this.ownerDocument.importNode(				new DOMDocument( new java.io.ByteArrayInputStream(					(new java.lang.String("<wrap>" + html + "</wrap>"))						.getBytes("UTF8"))).documentElement, true).childNodes;							while (this.firstChild)				this.removeChild( this.firstChild );						for ( var i = 0; i < nodes.length; i++ )				this.appendChild( nodes[i] );		},				get textContent(){			return nav(this.childNodes);						function nav(nodes){				var str = "";				for ( var i = 0; i < nodes.length; i++ )					if ( nodes[i].nodeType == 3 )						str += nodes[i].nodeValue;					else if ( nodes[i].nodeType == 1 )						str += nav(nodes[i].childNodes);				return str;			}		},		set textContent(text){			while (this.firstChild)				this.removeChild( this.firstChild );			this.appendChild( document.createTextNode(text) );			this.innerHTML = document.createTextNode(text).nodeValue;		},				style: {},		clientHeight: 0,		clientWidth: 0,		offsetHeight: 0,		offsetWidth: 0,				get disabled() {			var val = this.getAttribute("disabled");			return val != "false" && !!val;		},		set disabled(val) { return this.setAttribute("disabled",val); },				get checked() {			var val = this.getAttribute("checked");			return val != "false" && !!val;		},		set checked(val) { return this.setAttribute("checked",val); },				get selected() {			if ( !this._selectDone ) {				this._selectDone = true;								if ( this.nodeName == "OPTION" && !this.parentNode.getAttribute("multiple") ) {					var opt = this.parentNode.getElementsByTagName("option");										if ( this == opt[0] ) {						var select = true;												for ( var i = 1; i < opt.length; i++ )							if ( opt[i].selected ) {								select = false;								break;							}													if ( select )							this.selected = true;					}				}			}						var val = this.getAttribute("selected");			return val != "false" && !!val;		},		set selected(val) { return this.setAttribute("selected",val); },		get className() { return this.getAttribute("class") || ""; },		set className(val) { return this.setAttribute("class",val); },				get type() { return this.getAttribute("type") || ""; },		set type(val) { return this.setAttribute("type",val); },				get value() { return this.getAttribute("value") || ""; },		set value(val) { return this.setAttribute("value",val); },				get src() { return this.getAttribute("src") || ""; },		set src(val) { return this.setAttribute("src",val); },				get id() { return this.getAttribute("id") || ""; },		set id(val) { return this.setAttribute("id",val); },				getAttribute: function(name){			return this._dom.hasAttribute(name) ?				new String( this._dom.getAttribute(name) ) :				null;		},		setAttribute: function(name,value){			this._dom.setAttribute(name,value);		},		removeAttribute: function(name){			this._dom.removeAttribute(name);		},				get childNodes(){			return new DOMNodeList( this._dom.getChildNodes() );		},		get firstChild(){			return makeNode( this._dom.getFirstChild() );		},		get lastChild(){			return makeNode( this._dom.getLastChild() );		},		appendChild: function(node){			this._dom.appendChild( node._dom );		},		insertBefore: function(node,before){			this._dom.insertBefore( node._dom, before ? before._dom : before );		},		removeChild: function(node){			this._dom.removeChild( node._dom );		},		getElementsByTagName: DOMDocument.prototype.getElementsByTagName,		addEventListener: function(){},		removeEventListener: function(){},		click: function(){},		submit: function(){},		focus: function(){},		blur: function(){},		get elements(){			return this.getElementsByTagName("*");		},		get contentWindow(){			return this.nodeName == "IFRAME" ? {				document: this.contentDocument			} : null;		},		get contentDocument(){			if ( this.nodeName == "IFRAME" ) {				if ( !this._doc )					this._doc = new DOMDocument(						new java.io.ByteArrayInputStream((new java.lang.String(						"<html><head><title></title></head><body></body></html>"))						.getBytes("UTF8")));				return this._doc;			} else				return null;		}	});		// Helper method for extending one object with another		function extend(a,b) {		for ( var i in b ) {			var g = b.__lookupGetter__(i), s = b.__lookupSetter__(i);						if ( g || s ) {				if ( g )					a.__defineGetter__(i, g);				if ( s )					a.__defineSetter__(i, s);			} else				a[i] = b[i];		}		return a;	}		// Helper method for generating the right	// DOM objects based upon the type		var obj_nodes = new java.util.HashMap();		function makeNode(node){		if ( node ) {			if ( !obj_nodes.containsKey( node ) )				obj_nodes.put( node, node.getNodeType() == 					Packages.org.w3c.dom.Node.ELEMENT_NODE ?						new DOMElement( node ) : new DOMNode( node ) );						return obj_nodes.get(node);		} else			return null;	}		// XMLHttpRequest	window.XMLHttpRequest = function(){ };		XMLHttpRequest.prototype = {		open: function(){ },		setRequestHeader: function(){ },		getResponseHeader: function(){ },		readyState: 0,		responseText: "",		responseXML: {},		status: 0	};})();
meta: 3217	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/3217/b147039acc32884b50b955ebd94eeaa430713786/env.js/buggy/build/runtest/env.js