;(function($){
	var badBrowser = (/MSIE ((5\.5)|6)/.test(navigator.userAgent) && navigator.platform == "Win32");
	var obj = null;
	var blank = new Image();
	blank.src = 'images/blank.gif';
	var sleep = function(naptime){
		naptime = naptime * 1000;
		var sleeping = true;
		var now = new Date();
		var alarm;
		var startingMSeconds = now.getTime();
		//alert("starting nap at timestamp: " + startingMSeconds + "\nWill sleep for: " + naptime + " ms");
		while(sleeping){
			alarm = new Date();
			alarmMSeconds = alarm.getTime();
			if(alarmMSeconds - startingMSeconds > naptime){ sleeping = false; }
		}
		//alert("Wakeup!");
	};
	var fixPng = function fixPng(png) {
		var src = png.src;	// get src
		// set width and height
		if (!png.style.width) { png.style.width = $(png).width(); }
		if (!png.style.height) { png.style.height = $(png).height(); }
		// replace by blank image
		png.onload = function() { };
		png.src = blank.src;
		// set filter (display original image)
		png.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
		return this;
	};
	$.fn.extend({
		wait : function(time) {
			sleep(time);
			return this;
		},
		sleep : function(time) {
			sleep(time);
			return this;
		},
		log : function(message) {
			if(window.console) {
				console.debug(message);
			} else {
				alert(message);
			}
		},
		debug : function(message) {
			return this.each(function() {
				alert(this);
			});
		},
		fixPng : function() {
			if (badBrowser) {
				$(document).ready(function() {
					// get all pngs on page
					$('img[src$=.png]').each(function() {
						if (!this.complete) {
						  this.onload = function() { fixPng(this) };
						} else {
						  fixPng(this);
						}
					});
					// pngs from input 
					$('input[src$=.png]').each(function() {
						if (!this.complete) {
							this.onload = function() { fixPng(this) };
						} else {
							fixPng(this);
						}
					});
					// handle background with plugin
				});
			}
			return this;
		}
	});
})(jQuery);
