var document = {
	createElement: function(tag) {
		return {
			appendChild: function() {},
			getElementsByTagName: function() { return []; },
			getAttribute: function() {}
		}
	},
	createComment: function(s) { return s; },
	getElementsByClassName: ' { [native code] }',
	nodeType: 9,
	documentElement: { nodeName: 'HTML' }
};
global.document = document;
document.ownerDocument = document;
var window = { document: document }

var _ = CONTENT;


var document = {
	createElement: function(tag) {
		return {
			appendChild: function() {},
			getElementsByTagName: function() { return []; },
			getAttribute: function() {}
		}
	},
	createComment: function(s) { return s; },
	getElementsByClassName: ' { [native code] }',
	nodeType: 9,
	documentElement: { nodeName: 'HTML' }
};
document.ownerDocument = document;
var window = { document: document };

if (!global.document) {
	global.document = document;
}

var _ = (function() {
	CONTENT;
})(window);
Reduce the pollution of global scope i.e. don't overwrite document with the fake one if one is already available. Prevent Sizzle to depend on window
Reduce the pollution of global scope i.e. don't overwrite document with the fake one if one is already available.
Prevent Sizzle to depend on window
