var TMV	= {
	UI: {}
};

TMV.UI.General = function() {
	
	var init	= function() {
		TMV.UI.Blog.init();
		initSubscribeBox();
	};
	
	
	var initSubscribeBox = function() {
		$('#hotviewssub #email').focus(function(e){
			e.preventDefault();
			if (this.value == this.defaultValue) {
				this.value = '';
			}
		}).blur(function(e){
			e.preventDefault();
			if (this.value == '') {
				this.value = this.defaultValue;
			}
		});
	}


	return {
		init: init
	};

}();



TMV.UI.Blog = function() {
	
	var init	= function() {
		initBlogArchives();
	};

	var blog, month, year;
	
	var initBlogArchives = function() {
		var menu = $('#archivelist');
		blog	 = menu.attr('class');
		var article_date = $('li#detail h3.date');
		var detail_page	= false;
		
	
		if (article_date.length) {
			var str		 = article_date.attr('id');
			month	 = str.substr(6);
			year	 = str.substr(0, 5);
			detail_page = true;
		}else{
			var urlparts = window.location.pathname.split('/');
			month	 = urlparts.pop();
			year	 = 'y'+urlparts.pop();
		}
		

		
		if (menu) {
			menu.find('li:not(#'+year+')').removeClass('open').find('ul').hide();	
			
			menu.find('li:not(.static) a:not(li li a)').click(function(e){
				e.preventDefault();
				$(this).parent().toggleClass('open').find('ul').toggle();
			});
			menu.find('li li a').click(function(e){
				var link = $(this);
				if ((e.clientX - link.offset().left) < 17) {
					// arrow click
					e.preventDefault();	
					
					var li  = link.parent();
					
					if (li.hasClass('open')) {
						li.removeClass('open');
						li.find('ul').remove();
					}else{		
						loadArticles(link);
					}
				};
			});
		
			if (detail_page) {
				var link = $('#'+year+'m'+month+' a');
				loadArticles(link);
			}
		
		};
	};
	
	var loadArticles = function(link) {
		var li  = link.parent();
		li.addClass('open');
		var month = li.attr('id');
		$.get('/_ajax/getblogposts/blog:'+blog+'/month:'+month, function(data){
			link.after(data);
		});
	};
	
	
	return {
		init: init
	};
	
	
}();

jQuery(function($) { TMV.UI.General.init(); });

