jQuery.fn.styleSwitcher = function(){
	$(this).click(function(){
		loadStyleSheet(this);
		return false;
	});
	function loadStyleSheet(obj) {
		$('body').append('<div id="overlay" />');
		$('body').css({height:'100%'});
		$('#overlay')
			.css({
				display: 'none',
				position: 'absolute',
				top:0,
				left: 0,
				width: '100%',
				height: '100%',
				zIndex: 1000,
				background: 'black url(images/loading.gif) no-repeat center'
			})
			.fadeIn(500,function(){
				$.get( obj.href+'&js',function(data){
					$('#stylesheet-main').attr('href','themes/' + data + '/css/main.css');
					$('#stylesheet-shadows').attr('href','themes/' + data + '/css/shadows.css');

					//set proper theme switch as selected..
						$('#themes-switches li#'+data).addClass('selected').siblings().removeClass('selected');

					cssDummy.check(function(){
						$('#overlay').fadeOut(500,function(){
							$(this).remove();
						});	
					});
				});
			});
	}
	var cssDummy = {
		init: function(){
			$('<div id="stylesheet-main-element" style="display:none" />').appendTo('body');
			$('<div id="stylesheet-shadows-element" style="display:none" />').appendTo('body');
		},
		check: function(callback) {
			if ($('#stylesheet-main-element').width()==2 && $('#stylesheet-shadows-element').width()==2) {
				//$.preloadCssImages(null, callback);
				callback();
			} else {
				setTimeout(function(){cssDummy.check(callback)}, 200);
			}
		}
	}
	cssDummy.init();
}

