function setMagicLabelEvents(e, label, type)
{
	e.onblur  = new Function("onMagicLabelBlur(this, '" + label + "')");
	e.onfocus = new Function("onMagicLabelFocus(this, '" + label + "')");
}

function onMagicLabelBlur(e, label)
{
	if (e.value == '') {
		e.value = label;
	}
}

function onMagicLabelFocus(e, label)
{
	if (e.value == label) {
		e.value = '';	
	}
}

function setupMagicLabel(e, label)
{
	if (e)
	{
		setMagicLabelEvents(e, label);
		e.value = label;
	}
}

function setCheckBoxImage(id, checkedImage, uncheckedImage)
{
	if (document.getElementById(id).checked) {
		document.getElementById(id + '_img').src = checkedImage; //change the image
	} else {
		document.getElementById(id + '_img').src = uncheckedImage; //change the image
	}
}

function clickCheckBox(id, checkedImage, uncheckedImage)
{
	document.getElementById(id).checked = !document.getElementById(id).checked;
	setCheckBoxImage(id, checkedImage, uncheckedImage);
}

function setupImageCheckbox(id, checkedImage, uncheckedImage)
{

	var check = document.getElementById(id);
	
	if (check)
	{
	
		var image = document.createElement("img");

		image.id  = id + '_img';
		image.src = check.checked ? checkedImage : uncheckedImage;
		image.onclick = new Function("clickCheckBox('" + id + "', '" + checkedImage + "', '" + uncheckedImage + "')");
		
		check.parentNode.insertBefore(image, check);
		
	}
	
}

function onLoad(rootUrl)
{
	setupImageCheckbox('remember', rootUrl + 'templates/so/images/save_on.png', rootUrl + 'templates/so/images/save_off.png');
}