var tips = null;
if (!window.wgu) {
	wgu = {
		'net': {
			'baseUrl': window.base_url || (window.location.protocol + window.location.host)
		},
		'ui': {
			'sizesCompensationsHash': {}
		},
		'utils': {},
		'data': {},
		'UIID':0,
		'controlsHash': {},
		'Z': 1,
		'WINDOW_Z': 2000,
		'CONTEXT_Z': 3000
	};
	app = {};
	window.vd = function() {
		if (!arguments.length) return false;
		var i=0;
		while(i < arguments.length) {
			console.log(arguments[i]);
			i++;	
		}
	}
}
app.notify = function(message, classes, delayed) {
    if (!app.notifyBar) return true;
	app.notifyBar.set('text', message);
	app.notifyBar.fade('show');
	if (app.notifyBar.tmp_classes != false) {
		app.notifyBar.removeClass(app.notifyBar.tmp_classes);
		app.notifyBar.tmp_classes = false;
	}
	if (classes != undefined) {
		app.notifyBar.addClass(classes);
		app.notifyBar.tmp_classes = classes;
	}
	if (delayed == undefined) delayed = 1500;
	if (delayed != false) {
		(function() {
			if (app.notifyBar.tmp_classes != false) {
				app.notifyBar.removeClass(app.notifyBar.tmp_classes);
			}
			app.notifyBar.fade('hide');
		}).delay(delayed);
	}	
}
wgu.net.redirect = function(to, data) {
	if (to == '/') to = '';
	if (data) {
		for(var i in data) {
			if ($type(i) != 'string') break;
			to += i+':'+data[i]+'/';
		}
	}
	window.location.href = wgu.net.baseUrl + to;
}
wgu.ui.getByUIID = function(UIID) {
	return wgu.controlsHash[UIID];
}
wgu.utils.contains = function(first, second) {
	var res			= true;

	if (($type(first) == 'object') && ($type(second) == 'object')) {
		for (var i in first) {
			if (first[i] != second[i]) {
				res	= false;
			}
		}
	} else {
		res			= false;
	}

	return res;
}
window.addEvent('domready', function() {
	tips = new Tips($$('.attach_tip'));
	app.notifyBar = new Element('div', {
		'class':		'information_line_wrapper',
		'styles': {
			'z-index':	'10000'
		}
	}).inject(document.body);
});

/*
wgu								// controlsHash[UIID]

wgu.ui							// Layoutable
wgu.ui.Element
	wgu.ui.Toolbar
	wgu.ui.Panel
	wgu.ui.ButtonPanel
	wgu.ui.TabPanel
	wgu.ui.Menu
	wgu.ui.Statusbar			
	wgu.ui.Window				// isDragable, isModal, Buttons, isService

wgu.ui.dialog
wgu.ui.dialog.Alert
wgu.ui.dialog.Confirm
wgu.ui.dialog.Prompt

wgu.ui.Element					// Layout set to function(){return this;}
wgu.ui.Element.Button
wgu.ui.Element.Checkbox
wgu.ui.Element.Combobox
wgu.ui.Element.ContextMenu
wgu.ui.Element.Grid
wgu.ui.Element.Paginator
wgu.ui.Element.File
wgu.ui.Element.FileImage
wgu.ui.Element.ListItem 		// SimpleListItem
wgu.ui.Element.List				// CustomList
wgu.ui.Element.TextField
wgu.ui.Element.TextArea
wgu.ui.Element.Tree

wgu.ui.form						// Buttons, Title
wgu.ui.form.InputElement 		// [Text, Area, RichArea, File, FileImage, Hidden]
wgu.ui.form.FieldSet

wgu.data
wgu.data.DataProvider
wgu.data.Form

wgu.net
wgu.net.redirect

app

app.admin
app.admin.Manager
app.admin.Module

app.Presentation

*/
