dojo.require('dojo.parser');

dojo.require('dijit.form.Button');
dojo.require('dijit.Dialog');

dojo.require('dojox.image.Lightbox');

var _domain = 'http://localhost/ponklub/';

function xhr(props)
{
	if (props.loader) {
		setLoader(props.loader);
	}
	
	dojo.xhrGet({ 
		url: 'index/'+ props.url.replace(_domain, ''),
		handleAs: 'text',
		load: (function(data, ioArgs) { 
			props.load(data, ioArgs);
			
			if (props.loader) {
				unsetLoader(props.loader);
			}
		}),
		error: (function(data){alert(data);}),
		preventCache: true
	});
}

function loadMenuPage(a, url) {
	var headline = dojo.byId('headline');
	
	loadPage(url, (function(){ 
		headline.innerHTML = a.innerHTML;
		headline.parentNode.className = url;
	}));
	
	return false;
}

function loadPage(_url, _fn) {
	xhr({ 
		url: _url,
		load: function(data, ioArgs) {
			dijit.registry.forEach(function(wid){dijit.registry.remove(wid.id);});
			
			dojo.byId('middle-content').innerHTML = data;
			
			if (_fn) {
				_fn(data, ioArgs);
			}
			
			dojo.parser.parse();
			
			checkSizeHeight();
			dojo.query('#dog').orphan();
			
			var dog = document.createElement('div');
			dog.id = 'dog';
			
			dojo.byId('middle').appendChild(dog);
		},
		loader: 'middle-content'
	});
	
	return false;
}

function setLoader(srcNode, props) {
	var loader = document.createElement('div');
	loader.className = 'loading';
	
	props = props || {};
	props.opacity = 0.7;
	
	dojo.anim(loader, props, 1);
	
	dojo.byId(srcNode).appendChild(loader);
}

function unsetLoader(srcNode) {
	dojo.query('#'+srcNode+' .loading').orphan();
}

function setBottom(props) {
	var tpl = '<a href="%href%" onClick="return loadPage(\'%url%\')">%label%</a>';
	
	var bottom = '';
	
	for (key in props) {
		var item = props[key];
		bottom = tpl.replace('%href%', item.href).replace('%url%', item.url).replace('%label%', item.label) + bottom;
	}
	
	dojo.byId('bottom-stuff').innerHTML = bottom;
}

function checkSizeHeight()
{
	var mc = dojo.byId('middle-content');
	var mcc = dojo.byId('middle-container');
	
	var coords = dojo.coords('middle-content');
	
	if (coords.h < 418) {
		dojo.style(mcc, 'height', '418px');
	}
	else {
		dojo.style(mcc, 'height', coords.h+'px');
	}
	
}

function preLoad() {
	dojo.parser.parse();
	checkSizeHeight();
}

dojo.addOnLoad(preLoad);