ModalController = {
	_modalBg:null,
	_closeBtn:null,
	_currentOpen:null,
	
	/************************************************ 
	 * initialize:void                              *
	 *                                              *
	 * Class constructor.                           *
	 ************************************************
	/                                              */
	init: function() {
		
		// modal background
		ModalController._modalBg = document.createElement("div");
		
		with(ModalController._modalBg.style) {
			position = 'absolute';
			top = '0px';
			left = '0px';
			background = 'url(/site/wp-content/themes/moots-dev/images/modal-bg.png) top left repeat';
			zIndex = '49000'; // king of the hill
			display = 'none';
		}
		document.body.appendChild(ModalController._modalBg);
		
		$('.modal-close-btn').click(function() {
			ModalController.closeModal();
		});
		
		$(ModalController._modalBg).click(function() {
			ModalController.closeModal();
		});
	},
	
	/************************************************ 
	 * openModal:void                               *
	 *                                              *
	 * Fade in bg, open passed modal on             *
	 * fade callback                                *
	 *                                              *
	 * modal:Object - modal to open                 *
	 ************************************************
	/                                              */
	openModal: function(modal) {
		if(!ModalController._currentOpen == null) return; // one at a time
		
		ModalController._currentOpen = modal;
		ModalController._modalBg.style.width = '100%';
		ModalController._modalBg.style.height = $(document).height() + 'px';
		ModalController._currentOpen.style.top = $(document).scrollTop() + Math.round(($(window).height() - ModalController._currentOpen.style.height) / 2) + 'px';
		
		$(ModalController._modalBg).fadeIn('slow', function() {
			ModalController._currentOpen.style.display = "block";
		});
	},
	
	/************************************************ 
	 * closeModal:void                              *
	 *                                              *
	 * Close open modal, fade out bg.               *
	 ************************************************
	/                                              */
	closeModal: function() {
		if(ModalController._currentOpen == null) return;
		ModalController._currentOpen.style.display = "none";
		$(ModalController._modalBg).fadeOut("slow");
	}
}
