﻿(function($){

var linkedCss = '<link rel="alternate stylesheet" type="text/css" href="http://maxrev.vis.ne.jp/lib/css/text_s.css" title="text_s" />\n';
linkedCss += '<link rel="alternate stylesheet" type="text/css" href="http://maxrev.vis.ne.jp/lib/css/text_l.css" title="text_l" />\n';
linkedCss += '<link rel="stylesheet" type="text/css" href="http://maxrev.vis.ne.jp/lib/css/text_m.css" title="text_m" />\n';
linkedCss += '<link rel="stylesheet" type="text/css" href="http://maxrev.vis.ne.jp/lib/jquery.snippet.css" />\n';

$('head:first').append(linkedCss);

/** -- ヘッダ内 追加html -- */
// テキストサイズ変更用枠作成 
var innerHeadHtml ='<div id="textChanger" style="background-image: url(http://maxrev.vis.ne.jp/lib/img/txt_size_change_bk.gif);"><dl>';
innerHeadHtml += '<dt style="background-image: url(http://maxrev.vis.ne.jp/lib/img/txt_size_change.gif);">文字サイズ変更</dt>';
innerHeadHtml += '</dl></div>';
// ブログ内検索
innerHeadHtml += '<div id="blogSearch" style="background-image: url(http://maxrev.vis.ne.jp/lib/img/blog_search_bk.gif);">';
innerHeadHtml += '<form id="formBlogSearch" name="formBlogSearch" action="http://search.ameba.jp/search.html" method="get">';
innerHeadHtml += '<input type="hidden" name="aid" value="rev-o" />';
innerHeadHtml += '<input type="text" name="q" id="searchInput" value="" style="background-image: url(http://maxrev.vis.ne.jp/lib/img/blog_search_input_bk.gif);" />';
innerHeadHtml += '<input name="searchBtn" id="searchBtn" type="image" value="submit" src="http://maxrev.vis.ne.jp/lib/img/blog_search_btn.gif" alt="ブログ内検索" width="71" height="23" />';
innerHeadHtml += '</form></div>';

$('#overHeader').append(innerHeadHtml);

/** サムネイル表示 HeartRails Capture */
$.fn.thumbnail = function(baseURL){
	var serverURL = 'http://capture.heartrails.com/320x240?';
	return this.each(function(){
		$(this).hover(
			function(e){
				var url = $(this).attr('href');
				$('#jqThumbnail').css('left', e.pageX+5).css('top', e.pageY+15).fadeIn('fast').children('img:first').attr('src', serverURL+url);
			},
			function(){
				$('#jqThumbnail').css('display', 'none').css('left', -500).css('top', -500).children('img:first').attr('src', 'http://maxrev.vis.ne.jp/lib/img/shim.gif');
			}
		);
	});
};

$(document).ready(function(){
	
	/** 現在ページのURL */
	var doc_url = document.URL.split('#')[0].split('?')[0];
	
	/** 記事毎のテーマのURLを格納する配列 */
	var p_themes = [];
	
	/** サムネイル表示用 */
	$('body:first').append('<div id="jqThumbnail" style="position:absolute;display:none;background-image: url(http://maxrev.vis.ne.jp/lib/img/bk_jqthumb.gif);"><img src="http://maxrev.vis.ne.jp/lib/img/shim.gif" width="320" height="240" style="background-image: url(http://maxrev.vis.ne.jp/lib/img/icn_loader.gif); background-repeat: no-repeat; background-position: 50% 50%;"></div>');
	
	/** 続きを読む・閉じるボタンのテキスト */
	var btn_txt_show = '▼続きを読む';
	var btn_txt_hide = '▲続きを隠す';
	
	// -- 記事分の処理を行う --
	$('#sub_main > div.entry').each(function(){
		
		/** 記事ページのURL */
		var e_url = $(this).children('div.foot:first').children('a:first').attr('href');
		/** コンテンツ部分のオブジェクトを保持 */
		var contentBlock = $(this).children('div.contents:first');
		
		/** -- 続きを読む・閉じる -- */
		// 続き部分の前にボタンを挿入
		var cttMore = $('div.cttMore', contentBlock).before('<a class="readMore" style="display: inline-block;">'+btn_txt_show+'</a>');
		var moreBtn = cttMore.prev();
		
		moreBtn.click(function(){
			if (cttMore.css('display') == 'none'){
				$(this).text(btn_txt_hide);
			}else{
				$(this).text(btn_txt_show);
			}
			cttMore.slideToggle('slow');
			return false;
		});
		
		// 現在のページが記事ページかどうか
		if (e_url != doc_url) {
			// 続きを隠しておく
			cttMore.css('display', 'none');
			//moreBtn.text(btn_txt_show);
			
			/** -- 記事タイトルから記事ページにリンク-- */
			var eTitle = $(this).children('h3.title');
			eTitle.html( '<a href="'+ e_url +'">'+ eTitle.text() +'</a>' );
		}else{
			// 続きを見せておく
			//cttMore.css('display','block');
			moreBtn.text(btn_txt_hide);
		}
		
		/** -- Change Date Style -- */
		var dateDisp = $(this).children('div.entry_head:first');
		var e_date = dateDisp.text().split('-');
		var d_tag = '<ul class="date"><li class="year">'+e_date[0]+'</li><li class="month">'+Number(e_date[1])+'<span>月</span></li><li class="day">'+Number(e_date[2])+'<span>日</span></li></ul>';
		dateDisp.html(d_tag);
		
		
		/** この記事のテーマ（url）を配列に格納 */
		var t_url = $(this).children('span.theme:first').children('a:first').attr('href');
		p_themes.push(t_url);
		
		
		/** -- for HeartRails Capture -- */
		var contentLinks = $('a[href]:not(#advertising2 a, div.advertising2 a, ul[id=exLinkBtn] > li > a)', contentBlock);
		contentLinks.thumbnail();
		
		/** -- 外部リンクにクラス付与 -- */
		//$('a[target]:not(a[href^="http://ameblo.jp/rev-o/"],a[href^="http://click.affiliate.ameba.jp/"])', $(this).children('div.contents:first')).addClass('external');
		//$('a[target]:not(a[href^="http://ameblo.jp/rev-o/"], ul[id=exLinkBtn] > li > a)', contentBlock).addClass('external');
		contentLinks.not('[href^="http://ameblo.jp/rev-o/"]').filter('[target]').addClass('external');
		
		/** -- 画像のマウスオーバー・アウトに効果を追加 -- */
		$('a > img', contentBlock).hover(
			function(){
				$(this).stop().fadeTo('fast', 0.6);
			},
			function(){
				$(this).stop().fadeTo('normal', 1);
			}
		);
		
		/** -- Syntax highlight -- */
		$('pre.js', contentBlock).snippet( 'javascript', {style: 'ide-eclipse'} );
		
		
		// -- /記事分の処理終了 --
	});
	
	/** -- 現在のページが属するテーマのメニュー項目を強調 -- */
	var has_only = function() {
		var n = p_themes.length - 1;
		for (var i = 0; i < n; i++){
			if (p_themes[i] != p_themes[i+1]){
				return false;
			}
		}
		return (n >= 0);
	};
	
	if (has_only()){
		$('li > a', '#theme_list').each(function(){
			var l_url = $(this).attr('href');
			if (p_themes[0] == l_url){
				$(this).parent().addClass('entryTheme').corner('5px');
				return false;
			}
		});
	}
	
	/** メニュー部分のオブジェクトを保持　*/
	var menuBlocks = $('#sub_a, #sub_b');
	
	/** -- 現在のページへのメニュー項目を強調 -- */
	$('div.menu_frame li > a', menuBlocks).each(function(){
		var l_url = $(this).attr('href').split('#')[0];
		if (l_url == doc_url){
			$(this).parent().addClass('now').corner('5px');
		}
	});
	
	/** -- メニューエリア「最近のコメント」が1つも無かったら欄ごと削除する -- */
	var commObj = $('#recent_comment');
	if ( $('li', commObj.children('div.menu_frame')).length < 1) {
		commObj.remove();
	}
	
	/** -- テキストサイズ変更用 -- */
	var chgBtnsHtml = '<dd class="s"><a href="?style=text_s" rel="text_s" class="styleswitch" style="background-image: url(http://maxrev.vis.ne.jp/lib/img/txt_size_change.gif);">小</a></dd>';
	chgBtnsHtml += '<dd class="m"><a href="?style=text_m" rel="text_m" class="styleswitch" style="background-image: url(http://maxrev.vis.ne.jp/lib/img/txt_size_change.gif);">中</a></dd>';
	chgBtnsHtml += '<dd class="l"><a href="?style=text_l" rel="text_l" class="styleswitch" style="background-image: url(http://maxrev.vis.ne.jp/lib/img/txt_size_change.gif);">大</a></dd>';
	$('#textChanger > dl:first').append(chgBtnsHtml);
	
	/** -- Toggle menu -- */
	$('div.mainMenu > h4', menuBlocks).prepend('<em>▼</em>').css('cursor', 'pointer').click(function(){
		$(this).next().children().slideToggle();
	});
	
	/*
	var pluginStr = '<script type="text/javascript">';
	pluginStr += 'var lbp_scriptHost = \'lbp.me\';';
	pluginStr += '</script>';
	pluginStr += '<script type="text/javascript" src="http://i.lbp.me/widgets/lolz/js/loader.js"></script>';
	*/
	/*
	var pluginStr = '<script type="text/javascript">';
	pluginStr += 'var prefs = {lang:\'ja\', levels:5, mode:\'mylevels\', by:\'Rev-O\', not_me:false, width:\'180\', theme:\'default\'};';
	pluginStr += 'var widget = new LOLzWidget(prefs);';
	pluginStr += 'widget.display();';
	pluginStr += '</script>';
	*/
	
	//var widget = new LOLzWidget(prefs);
	//$('#freespace > div.menu_frame').widget.display();
	
	//$('#lbpMe').append(pluginStr);
	
	//$('#rss').append('frame_position = '  );
	
	// --- /end document ready ---
});

})(jQuery);

