$.ie6CssFix = function() {
		
if($.browser.msie && $.browser.version < 7) {

	
	var cssRules = [], newStyleSheet = document.createStyleSheet();

	$("style,link[type=text/css]").each(function() {

			if(this.href) {
				$.get(this.href,function(cssText) {
					parseStyleSheet(cssText);
				});	
			} else {
				parseStyleSheet(this.innerHTML);
			}
	});

	function parseStyleSheet(cssText) {
		var cssText = cssText.replace(/\s+/g,'');
		var arr = cssText.split("}");
		var l = arr.length;
		for(var i=0; i < l; i++) {
			if(arr[i] != "") {
				parseRule(arr[i] + "}");	
			}
		}
	}

	function parseRule(rule) {
		
		
		var pseudo = rule.replace(/[^:]+:([a-z-]+).*/i, '$1');
		
		if(/(hover|after|focus)/i.test(pseudo)) {
		
			var prefix = "ie6fix-";
			var element = rule.replace(/:(hover|after|before|focus).*$/, '');
			var className = prefix + pseudo;
			var style = rule.match(/\{(.*)\}/)[1];
		
			var h =  getPseudo(pseudo);
			if(h) {
				h(element,className);
			}

			newStyleSheet.addRule(element + "." + className,style);
		}
	}
	
	function handleHover(e,c) {
		$(e).hover(function() {$(this).addClass(c);}, function() {$(this).removeClass(c);});
	}
	
	function handleFocus(e,c) {
		$(e).focus(function() { $(this).addClass(c); }).blur(function() {$(this).removeClass(c);});
	}

	/*
	function handleAfter(e,c) {
		$(e).after(
			$("<" + e + "></" + e + ">").addClass(c)
		);
	}
	*/
	
	function getPseudo(pseudo) {
		switch (pseudo) {
			case "hover": return handleHover;
			case "focus": return handleFocus;
			//case "after": return handleAfter;
			default: return false;
		}

	}
}
};
