//------------------------------------------------------------------------------
(function(window, undefined){
	var document = window.document;
	function template(){
		var self = this;
		var initialized = false;
		self.init = function(){
			if(initialized === true){
				return;
			}
			
			resize_columns();
			bind_events();
			
			initialized = true;
		};
		var bind_events = function(){
			var imgs = document.getElementsByTagName('img');
			for(var i = 0, len = imgs.length; i < len; i++){
				add_event('load', imgs[i], resize_columns);
			}
		};
		var add_event = function(evt, obj, func){
			if(window.addEventListener){
				obj.addEventListener(evt, func, false);
			}
			else if(document.attachEvent){
				obj.attachEvent('on' + evt, func);
			}
		};
		var resize_columns = function(){
			var body = _$('body');
			var nav = _$('nav');
			
			//restore auto height
			body.style.height = 'auto';
			nav.style.height = 'auto';
			
			var bh = body.offsetHeight;
			var nh = nav.offsetHeight;
			
			if(bh > nh){
				body.style.height = bh + 'px';
				body.style.minHeight = bh + 'px';
				nav.style.height = bh + 'px';
				nav.style.minHeight = bh + 'px';
			}
			else{
				body.style.height = nh + 'px';
				body.style.minHeight = nh + 'px';
				nav.style.height = nh + 'px';
				nav.style.minHeight = nh + 'px';
			}
		};
		var _$ = function(id){
			var elem = document.getElementById(id);
			if(elem){
				return elem;
			}
			return false;
		};
	};
	window.$template = new template();
})(window);
//------------------------------------------------------------------------------

