// Marvel static functions
var Marvel = {
	// Html helper
	htmlHelper:{
		_vars:{
			loadingImage:'loading.gif',
			loadingImageBig:'loading.gif',
			loadingImageSmall:'loadingSmall.gif'
		},

		fadeReplace:function (source, target) {
			$(target).fadeOut(400);
			setTimeout(function () {
				$(target).html($(source).html());
				$(target).fadeIn(400);
			}, 450);
		},

		slideHide:function (target) {
			$(target).slideUp(800);
			setTimeout(function() { $(target).empty(); }, 900);
		},

		showLoading:function (target) {
			Marvel.htmlHelper.showCustomLoading(target, 'center', Marvel.htmlHelper._vars.loadingImageBig);
		},

		showCustomLoading:function (target, align, image) {
			if (!$(target).html().match(/loading/i)){
				$(target).html('<div id="loadingdiv" style="text-align:' + align + '"><img src="/img/' + image + '" alt="" /></div>');
			}
		}

	},

	// Page messaging via flash functionality
	message:{
		settings:{
			slideTime:900,
			displayTime:3000
		},

		flash:function (message) {
			// Make sure message is not empty
			message = $.trim(message);
			if (!message){
				return;
			}

			// Attach message
			if ($('#flash').html()) {
				$('#flash').append("<br>" + message);
			} else {
				$('#flashPoint').html('<div class="flash" id="flash">' + message + '</div>');
			}

			// Show
			if (!Marvel.message.isFlashing) {
				$('#flashPoint').hide();
				$('#flashPoint').slideDown(Marvel.message.settings.slideTime);
				Marvel.message.isFlashing = setTimeout(Marvel.message.hide, Marvel.message.settings.displayTime);
			} else {
				clearTimeout(Marvel.message.isFlashing);
				Marvel.message.isFlashing = setTimeout(Marvel.message.hide, Marvel.message.settings.displayTime);
			}
		},

		hide:function () {
			$('#flashPoint').slideUp(Marvel.message.settings.slideTime);
			setTimeout(Marvel.message.clear, Marvel.message.settings.slideTime + 5);
			Marvel.message.isFlashing = false;
		},

		clear:function() {
			$('#flashPoint').empty();
		}
	},

	// Php clones (http://kevin.vanzonneveld.net/code/php_equivalents/php.js)
	php:{
		empty:function(mixed_var) {
			var key;
			
			if (mixed_var === ""
				|| mixed_var === 0
				|| mixed_var === "0"
				|| mixed_var === null
				|| mixed_var === false
				|| mixed_var === undefined
			){
				return true;
			}
			if (typeof mixed_var == 'object') {
				for (key in mixed_var) {
					if (typeof mixed_var[key] !== 'function' ) {
						return false;
					}
				}
				return true;
			}
			return false;
		}
	}
};

