/*
 * Common front-end page bootstrapping.  Requires dojo.
 */

/* Set up image rollover handling, with preload */
dojo.addOnLoad(function() {
	dojo.query('img[rollover]').forEach(function(n) {
		var i = new Image();
		i.src = n.getAttribute('rollover');

		// Save this for restoring on mouseout
		n.setAttribute('rollout', n.src);

		dojo.connect(n, 'onmouseover', n, function() {
			n.src = n.getAttribute('rollover');
		});
		dojo.connect(n, 'onmouseout', n, function() {
			n.src = n.getAttribute('rollout');
		});

		for(var a = n; a; a = a.parentNode) {
			if(a.nodeName.toLowerCase() == 'a') {
				dojo.style(a, {outline: '0'});
				dojo.connect(a, 'onfocus', n, function() {
					n.src = n.getAttribute('rollover');
				});
				dojo.connect(a, 'onblur', n, function() {
					n.src = n.getAttribute('rollout');
				});
			}
		}
	});

	dojo.query('input[rollover]').forEach(function(n) {
		var i = new Image();
		i.src = n.getAttribute('rollover');

		// Save this for restoring on mouseout
		n.setAttribute('rollout', n.src);

		dojo.connect(n, 'onmouseover', n, function() {
			n.src = n.getAttribute('rollover');
		});
		dojo.connect(n, 'onmouseout', n, function() {
			n.src = n.getAttribute('rollout');
		});
		dojo.connect(n, 'onfocus', n, function() {
			n.src = n.getAttribute('rollover');
		});
		dojo.connect(n, 'onblur', n, function() {
			n.src = n.getAttribute('rollout');
		});
	});

	var setRestrictionStatus = function(enabled) {
		var disabled = !enabled;
		dojo.query('.playtime input[type=radio]').forEach(function(n) {
			n.disabled = disabled;
		});
	}

	var updateRestrictionStatus = function(node) {
		if(!node.value || node.value == '0') {
			setRestrictionStatus(false);
		} else {
			setRestrictionStatus(true);
		}
	}

	dojo.query('select#ChildUserTimeoutValue').forEach(function(n) {
		updateRestrictionStatus(n);

		dojo.connect(n, 'onchange', n, function() {
			updateRestrictionStatus(this);
		});
	});
});
