
AdminPanelStatics = {
	panelCreated: new Array,
	notifyDiv: null,
	showLoader: function(div) {
		div = $(div);
		var img = document.createElement('img');
		img.src = '/lib/plugins/admin_button/img/loader.gif';
		img.alt = 'Loading...';
		img.title = 'Loading...';
		img.style.marginTop = '10px';
		img.style.marginLeft = 'auto';
		img.style.marginRight = 'auto';
		img.style.marginBottom = 'auto';
		div.innerHTML = '';
		div.appendChild(img);
		return;
	},
	show: function(div) {
		div = $(div);
		div.appear({duration: 1});
	},
	info: function(info) {
		AdminPanelStatics.notify(info);
	},
	notify: function(notificationHtml) {
		var id = 'admin_panel_notification';
		if(AdminPanelStatics.notifyDiv == null) {
			AdminPanelStatics.notifyDiv = document.createElement('div');
			AdminPanelStatics.notifyDiv.id = id;
			AdminPanelStatics.notifyDiv.style.fontWeight = 'bold';
			AdminPanelStatics.notifyDiv.style.display = 'none';
			AdminPanelStatics.notifyDiv.style.position = 'absolute';
			AdminPanelStatics.notifyDiv.style.padding = '10px';
			AdminPanelStatics.notifyDiv.style.top = '20px';
			AdminPanelStatics.notifyDiv.style.left = '50%';
			// AdminPanelStatics.notifyDiv.style.marginLeft = '-50px';
			// AdminPanelStatics.notifyDiv.style.marginRight = 'auto';
			AdminPanelStatics.notifyDiv.style.zIndex = '1000';
			var body = document.getElementsByTagName('body')[0];
			body.appendChild(AdminPanelStatics.notifyDiv);
		}
		AdminPanelStatics.notifyDiv.style.color = '#000000';
		AdminPanelStatics.notifyDiv.style.backgroundColor = '#ffffff';
		AdminPanelStatics.notifyDiv.style.border = '1px solid #000000';
		AdminPanelStatics.notifyDiv.innerHTML = notificationHtml;
		AdminPanelStatics.notifyDiv.zIndex = '1';
		AdminPanelStatics.notifyDiv.style.display = 'block';
		var marLeft = "-" + parseInt(AdminPanelStatics.notifyDiv.offsetWidth / 2) + "px";
		AdminPanelStatics.notifyDiv.style.display = 'none';
		AdminPanelStatics.notifyDiv.zIndex = '10000';
		AdminPanelStatics.notifyDiv.style.marginLeft = marLeft;
		AdminPanelStatics.notifyDiv.appear({duration: 1.0});
		setTimeout("$('"+id+"').fade({duration:1.0});", 4000);
		// AdminPanelStatics.notifyDiv.style.display = 'block';
	},
	savePost: function(div, type, id) {
		div = $(div);
		var title = $('title').value;
		var text = tinyMCE.get('text').getContent();
		AdminPanelStatics.showLoader(div);
		if(type == 'post') {
			xajax_AjaxPost.save(div.id, id, title, text);
		} else {
			xajax_AjaxDraft.save(div.id, id, title, text);
		}
	}
};

function AdminPanel(div) {
	if(!div) {
		return;
	}
	this.createHeader = function() {
		var headerDiv = document.createElement('div');
		headerDiv.style.width = '100%';
		headerDiv.style.height = '82';
		headerDiv.style.fontSize = '32px';
		headerDiv.style.fontWeight = 'bold';
		headerDiv.innerHTML = 	'<img src="/lib/plugins/admin_button/img/admin.png" title="Logo" style="margin:25px;float:left;clear:left;" />'+
					'<div style="float:left;margin:25px;line-height:32px;">Administration</div>';
		return headerDiv;
	};
	this.createAdminArea = function(id) {
		var div = document.createElement('div');
		div.style.height = '100%';
		div.appendChild(this.createMenu(id+'_menu', id+'_content'));
		div.appendChild(this.createContent(id+'_content'));
		return div;
	};
	this.createMenu = function(id, contentId) {
		var menuDiv = document.createElement('div');
		menuDiv.id = id;
		menuDiv.style.cssFloat = 'left';
		menuDiv.style.width = '20%';
		menuDiv.style.height = '100%';
		menuDiv.style.textAlign = 'center';
		menuDiv.style.clear = 'left';
		AdminPanelStatics.showLoader(menuDiv);
		xajax_AdminPanel.loadMenu(id, contentId);
		return menuDiv;
	};
	this.createContent = function(id) {
		var contentDiv = document.createElement('div');
		contentDiv.id = id;
		contentDiv.style.cssFloat = 'left';
		contentDiv.style.width = '80%';
		contentDiv.style.height = '90%';
		contentDiv.style.textAlign = 'center';
		// contentDiv.style.overflow = 'hidden';
		// contentDiv.style.overflowY = 'scroll';
		AdminPanelStatics.showLoader(contentDiv);
		xajax_AdminPanel.showWelcome(id);
		return contentDiv;
	};
	this.createPanelBg = function(div) {
		if(AdminPanelStatics.panelCreated[div.id]) {
			return;
		} else {
			AdminPanelStatics.panelCreated[div.id] = true;
		}
		div.style.position = 'absolute';
		div.style.top = '0px';
		div.style.left = '0px';
		div.style.right = '0px';
		div.style.bottom = '0px';
		div.style.backgroundColor = '#ffffff';
		div.style.display = 'none';
		div.appendChild(this.createPanel(div.id));
	};
	this.createPanel = function(id) {
		var div = document.createElement('div');
		div.style.position = 'absolute';
		div.style.top = '10px';
		div.style.left = '10px';
		div.style.right = '10px';
		div.style.bottom = '10px';
		div.style.borderTop = '1px solid black';
		div.style.borderLeft = '1px solid black';
		div.style.borderRight = '2px solid black';
		div.style.borderBottom = '2px solid black';
		div.style.backgroundColor = 'white';
		div.style.display = 'auto';
		div.appendChild(this.createHeader());
		div.appendChild(this.createAdminArea(id));
		return div;
	};
	this.createPanelBg(div);
	if(Login.isLoggedIn()) {
		AdminPanelStatics.show(div);
	} else {
		Login.showForm('AdminPanelStatics.show($("'+div.id+'"));');
	}
}

