/*
 * Common front-end page bootstrapping.  Requires dojo.
 */

/* Require dijit for 'modal' dialogs */
dojo.require('dijit.Dialog');

function showRozFlash(id, swfUrl, width, height) {
	var flashvars = {
			baseURL: '.'
	};
	var params = {
	  menu: "false",
	  scale: "noscale",
	  salign: "lt",
	  allowfullscreen: "true",
	  allowScriptAccess: "sameDomain",
	  bgcolor: "#ffffff",
	  base: "."
	};
	var attributes = {name:'bodyContentContainer'};

	var dialogWidget = eval(id);
	dialogWidget.show();
	swfobject.embedSWF(swfUrl, 'flashTest'+id, width, height, "10.0.0", '/js/swfobject/expressinstall.swf', flashvars, params, attributes);
}
 
/* 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);
		});
	});
});

