App = {
	
	getTimeStamp:function() {
		
		var date = new Date();
		return date.getTime();
	},
	
	getPopupPlacement:function(width) {
		
		// Page wrapper pos
		var wrapper = _dom('header');
		var pos = _getPos(wrapper);
		pos.x += ((1024 - width)/2) + 3; // add 3 for the border
		pos.y += 10;
		return pos;
	},
	
	createDefaultContainerType:function(params) {
		
		// Setup defaults
		var id    = (params.id) ? params.id : 'default';
		var width = (params.width) ? params.width : 950;
		var height= (params.height) ? params.height : "auto";
		var zIndex= (params.zIndex) ? params.zIndex : 950;
		var borderColor = (params.borderColor) ? params.borderColor : "484848";
		var bakColor = (params.bakColor) ? params.bakColor : "FFFFFF";
		
		// Get position
		var pos = App.getPopupPlacement(width);

		var container = document.createElement('div');
		container.id = id;
		var cssText = "width:" + width + "px;" +
					  "height:" + height + "px;" +
					  "z-index:" + zIndex + ";" +
					  "position:absolute;" +
					  "top:" + pos.y + "px;" +
					  "left:" + pos.x + "px;" +
					  "background-color:#" + bakColor + ";" +
					  "border:10px solid #" + borderColor + ";";
		container.style.cssText = cssText
		return container;
	},
	
	createDeleteWindow:function() {

		var params = {
			id:"deleteWin",
			width:400,
			height:200,
			borderColor:"7E2217"
		}
		return App.createDefaultContainerType(params);
	},
	
	displayMessages:function(id, messages) {
		
		var html = '';
		for(var i=0; i < messages.length; i++) {
			
			html += '<div>' + messages[i] + '</div>';
		}
		
		var divMessages = _dom(id);
		divMessages.innerHTML = html;
		divMessages.style.display = 'block';
	},
	
	toggleLoading:function(message) {
		
		var divName = 'app_loading';
		if (message == undefined) {
			
			message = 'Processing Your Request';
		}

		if (!document.getElementById(divName)) {
		
			var layer = document.createElement('div');
			layer.id  = divName;
			layer.style.textAlign = 'center';
			layer.innerHTML = message + ' <br/><br/> <img src="/images/loading.gif">';
			document.body.appendChild(layer);
			$('#' + divName).dialog({
								modal:true,
								resizable:false,
								title:'Processing your request...'
							});
			$('.ui-dialog-titlebar-close').remove();
		} else {
			
			$('#' + divName).remove();
		}
	}
}

App_Messages = {
	
	set:function(id, message, options) {
		
		// First check to see if we've been passed a id
		if (id == '') {
			id = 'messages'; // Use the default (done for convenience)
		}
		
		var div;
		if (div = _dom(id)) {
			
			div.innerHTML = message;
			div.style.display = 'block';
			
			// Set the timeout option which will hide the message window after the given time
			if (typeof options == 'object') {
				 
				 if (options['timeout']) {
				 
				 	setTimeout("App_Messages.hide('" + id + "')", options['timeout']);
				 }
			}
		}
	},
	
	hide:function(id) {
		
		var div;
		if (div = _dom(id)) {
			
			div.style.display = 'none';
		}
	}
};
