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