var POKE = {};

// Define init object that 
// handles on load events
POKE.init = function() {
	
	// First make sure we can debug using console
	if(!window.console) {
		window.console = { };
		methods = ['trace', 'log', 'info', 'debug', 'warn', 'error'];
		for (var key in methods){
			window.console[methods[key]] = function(msg){};
		}
	}
		
	// private variables
	var _dom_ready_callbacks = [];
	var _dom_ready = false;
	
	// on dom ready fires when jQuery document.ready fires.
	var on_dom_ready = function () {
		console.log('DOM ready');
		_dom_ready = true;
		obj.dispatch_ready(_dom_ready_callbacks);
	};
	
	var obj = {
		
		add_on_dom_ready : function (fn) {
			if(_dom_ready){
                return fn();
            }
			_dom_ready_callbacks.push(fn);
        },
		
		// utility method that fires the callbacks.
		dispatch_ready : function (callbacks) {
			callbacks.reverse();
			while(callbacks.length){
				callbacks.pop()();
			}
		},
		
		should_collapse : function () {
		    //var ie_6 = (jQuery.browser.msie && parseFloat(jQuery.browser.version) <= 6);
		    var ff_lte_30 = (jQuery.browser.mozilla && jQuery.browser.version.substr(0,5)=='1.9.0' || parseFloat($.browser.version) <= 1.8);
		    var ff_windows = (jQuery.browser.mozilla && navigator.userAgent.indexOf('Windows') > -1);
		    return (ff_lte_30 || ff_windows);
		},
		
		collapse : function () {
		    if(obj.should_collapse()) {
		        //obj.do_collapse(true);
		    }
		},
		
		restore : function () {
		    if(obj.should_collapse()){
		        //obj.do_collapse(false);
	        }
		},		
		
		do_collapse : function (show) {
            $('#flash_content').css('width', show?1:960);
            $('#flash_content').css('height', show?1:620);
		}
	};
	
	$(document).ready(on_dom_ready);
	
	return obj;

}();
