var DetectImageState = {
	 version: '1.0'
	,imagesDisabled: true
	,inserted_id: 'detectimagestate-test-img'
	,callback: function() { }
	,ie_detectionComplete: false
	,img: i=null
	,ie_Timeout: 100
	,init: function(testerimg, cb) {
		this.callback = cb;
		this.img = new Image();
		this.img.id = this.inserted_id;
		this.img.src = testerimg+'?'+Math.random();
		this.img.style.visibility = 'hidden';
		this.img.style.position = 'absolute';
		this.img.style.left = '-1000px';

		if(window.opera || navigator.userAgent.toLowerCase().indexOf('opera')>-1) {
			var pre = this.img.complete;
			this.img.src = 'about:blank';
			this.imagesDisabled = (!pre && this.img.complete) ? false : true;
			DetectImageState.callback(this.imagesDisabled);
			return;
		}else if(typeof this.img.readyState != 'undefined') {
			this.img.onerror = function() {
				DetectImageState.ie_detectionComplete = true;
				DetectImageState.imagesDisabled = false;
				DetectImageState.callback(DetectImageState.imagesDisabled);
			}
			this.img.src = "about:blank"; //Provoke error
			setTimeout('if(!DetectImageState.ie_detectionComplete) DetectImageState.callback(DetectImageState.imagesDisabled);', this.ie_Timeout);
			return;
		}else {
			this.imagesDisabled = this.img.complete;
			DetectImageState.callback(this.imagesDisabled);
			return;
		}
	}
};
