function enablePreferenceCSS(targets)
{
	addEventToTargets(targets, 'change', _enablePreferenceCSS, 'input#wide-screen, select#color-variation, input#css');
};

function _enablePreferenceCSS()
{
	var css = '', ref = 'link-' + this.id;

	var item = document.getElementById( ref );
	if(item)
		item.parentNode.removeChild(item);

	switch(this.id)
	{
		case 'wide-screen':
			css = board_template_url + 'css/wide-screen.css';
			if(!this.checked)
				return;
		break;
		case 'color-variation':
			css = board_template_url + 'css/'+this.options[this.selectedIndex].value+'.css';
			if(this.options[this.selectedIndex].value == 'default')
				return;
		break;
		case 'css':
			css = this.value;
			if(this.value == '')
				return;
		break;
		default: return;
	}

	var link = document.createElement('link');
	link.setAttribute('rel', 'stylesheet');
	link.setAttribute('id', ref);
	link.setAttribute('type', 'text/css');
	link.setAttribute('title', 'base-grey');
	link.setAttribute('href', css);
	document.getElementsByTagName('head')[0].appendChild(link);
	link.disabled = false;
};

function web20_usericons()
{
	var items = new DOMQuery('div.author-data img.usericon');

	var msie = (navigator.userAgent.indexOf('MSIE') != -1 && navigator.userAgent.indexOf('Opera') == -1);

	for(var	i=0, item; (item=items.get(i));	i++)
	{
		var h = Math.floor(item.height/2);
		var w = item.width;

		if(msie)
		{
			var canvas = createDOMNode('img', {"src": item.src, "class": 'reflection'}, []);
			canvas.style.filter = 'flipv progid:DXImageTransform.Microsoft.Alpha(opacity=100, style=1, finishOpacity=0, startx=0, starty=0, finishx=0, finishy='+h+')';

			item.parentNode.insertBefore(canvas, item.nextSibling);
		}
		else
		{
			var canvas = createDOMNode('canvas', {"width": w, "height": h, "class": 'reflection'}, []);

			if(!canvas || !canvas.getContext)
				return;

			var ctx = canvas.getContext('2d');

			item.parentNode.insertBefore(canvas, item.nextSibling);

			ctx.save();
			ctx.translate(h, h);
			ctx.rotate(Math.PI);
			ctx.drawImage(item, -(h-1), -(h-1));
			ctx.restore();

			ctx.globalCompositeOperation = "destination-out";
			var gradient = ctx.createLinearGradient(0, 0, 0, h);
			gradient.addColorStop(0.0, "rgba(255, 255, 255, 0.3)");
			gradient.addColorStop(0.9, "rgba(255, 255, 255, 1.0)");
			ctx.fillStyle = gradient;

			if (navigator.appVersion.indexOf('WebKit') != -1)
				ctx.fill();
			else
				ctx.fillRect(0, 0, w, h);
		}
	}
};