window.addEvent('domready', function(){
	$("left").id = 'blog_area';
    tmp_color();

});

window.addEvent('load', function(){
	//ajax
	//リンク作成
	links = $$('.update');
	links.each(function(link){	
		link.addEvent('click', function(e){
			new Event(e).stop();
			blogContentUpdate(link.href);
        });
	});

	//右メニュー//////////////////////////////////////
    var ul;
    var current = false;
    //右メニューの取得
    var right = $('right');
	if(right){
	    //プラグインを取得
	    var list = right.getElements('div.menu');
	    list.each(function(plugin){
	        //class close_listのみ処理
	        ul = plugin.getElement('ul.close_list');
	        if(ul){
	            //プラグイン名をリンクにする
	            var link = plugin.getElement('.menu_title');
	            var text = link.getText();
	            link.setHTML('<a href="#" class="menu_list">'+text+'</a>');

	            //選択されていない項目をしまう
	            var block = ul;
	            var fx = new Fx.Slide(ul);
	            if (block != current) fx.hide();

	            //クリックで項目を開く
	            link.addEvent('click', function(e){
	                fx.toggle();
	                new Event(e).stop();
	            });
	        }
	    });
	    new SmoothScroll();
	}

	thumbnoo();
	eventCalender();
	setFxSlide();

});

function blogContentUpdate(url){
	indicator();

    var scroll = new Fx.Scroll(window, {
    	wait: false,
    	duration: 700,
    	transition: Fx.Transitions.Quad.easeInOut
    });
    scroll.toElement('blog_area');

    var main_text;
	var ajax = new Ajax(url, 
	{
		method: 'get',
		onSuccess: function() {
			$("blog_area").empty();
			var res_text = $("blog_area").setHTML(this.response.text);
            main_text = res_text.getElement("#left").innerHTML;
            if(main_text){
    			$("blog_area").setHTML(main_text);
            }
            tmp_color();
		}, 
		onComplete: function() {
			//リンク作成
			links = $("blog_area").getElements('.update');
			links.each(function(link){
				link.addEvent('click', function(e){
					new Event(e).stop();
					blogContentUpdate(link.href);
		        });
			});
			eventCalender();
			thumbnoo();
			setFxSlide();
		}
	}).request();
}

function eventCalender(){
	if($('accordion')){
	//イベントカレンダー///////////////////////////////
	    //年月から最初に開く場所を指定する
	    var date = new Date();
	    var month = 0;
	    if(date){
	        var year    = date.getYear();
	        year = (year < 2000) ? year+1900 : year;
            var month = date.getMonth();
	    }

	    //Accordion
	    var accordion = new Accordion('.atStart', 'div.monthList', {
	        show: month,
	        opacity: true,
	        onActive: function(toggler, element){
				var fx = new Fx.Styles(toggler, { duration: 1000, unit:'%', wait:false });
				fx.start({backgroundColor: '#00FFFF', 'padding-left':45});
	        },
	        onBackground: function(toggler, element){
				var fx = new Fx.Styles(toggler, { duration: 1000, unit:'%', wait:false });
				fx.start({backgroundColor: '#FFFFFF', 'padding-left':0 });
	        }
	    },$('accordion'));
	}
	//        start: 'all-closed',
}

function setFxSlide() {
	//Fx.Slide
	// mode - vertical or horizontal
	var sToggles = $$('.sToggle');
	var slides = $$('.slide');
	if(sToggles && slides){
		var ct = 0;
		slides.each(function(slide){	
			//Fx.Slideの取得
			var mySlide = new Fx.Slide(slide, {mode: 'vertical'});
			//スライドを隠す
			mySlide.hide();
			//
			sToggles[ct].setStyle('cursor', 'pointer');
			sToggles[ct].addEvent('click', function(e){
				this.toggleClass('font_bold');
				e = new Event(e);
				mySlide.toggle();
				e.stop();
			});
			ct++;
		});
	}
}

function tmp_color(){
    if($('blog_area')){
		tags = $('blog_area').getElements('span');
		tags.each(function(tag){
            //水色を濃く
            if(tag.getStyle('color') == "#66ffff"){
                tag.setStyle('color','#0066FF');
	        }
            //人名のピンクを濃く
            if(tag.getStyle('color') == "#ffccff"){
                tag.setStyle('color','#FF3399');
	        }
		});
    }
}

function indicator(){
	$("blog_area").setHTML('<br /><center><img class="indicator" src="http://blog-imgs-27.fc2.com/b/l/o/blogcalamity/radar-transparent.gif"></center><br /><br />');
}

function thumbnoo(){
	var aThumbNoos = $$("img.thumbnoo");
	var oCurrentNoo = undefined;

	var fn = function(){
		if (oCurrentNoo){
			oCurrentNoo.remove();
			oCurrentNoo = undefined;
		}
	}

	var offset = function(el, sPlane){
		iOffset = 0;
		['margin-%s', 'padding-%s'].each(function(style){
			iOffset += el.getStyle(style.replace(/%s/, sPlane)).toInt();
		});
		return iOffset;
	}

	var coord = function (iWindowSize, iSmallCoord, iSmallSize, iBigSize){
		if(iBigSize > iWindowSize) {
			return (iWindowSize - iBigSize) / 2;
		} else if((iSmallCoord >= (iBigSize - iSmallSize) / 2) && ((iSmallCoord + iSmallSize + ((iBigSize - iSmallSize) / 2)) <= iWindowSize)) {
			return iSmallCoord - (iBigSize - iSmallSize) / 2;
		} else if((iSmallCoord >= (iBigSize - iSmallSize) / 2) && ((iSmallCoord + iSmallSize + ((iBigSize - iSmallSize) / 2)) >= iWindowSize)) {
			return iSmallCoord - (iBigSize - iSmallSize);
		} else if((iSmallCoord <= (iBigSize - iSmallSize) / 2) && ((iSmallCoord + iSmallSize + ((iBigSize - iSmallSize) / 2)) <= iWindowSize)) {
			return iSmallCoord;
		}
	}
	
	aThumbNoos.each(function(oThumbNoo, i) {
		var oAnchor = new Element('a').injectBefore(oThumbNoo).adopt(oThumbNoo);

		oAnchor.addEvent("mousedown", function(event) {
			var oCoords = oThumbNoo.getCoordinates();

			// due to change
			var m;
			if (m = oThumbNoo.className.match(new RegExp('h:(\\d+)')))
				var iBigHeight =  m[1];
			if (m = oThumbNoo.className.match(new RegExp('w:(\\d+)')))
				var iBigWidth = m[1];

			if (iBigWidth && iBigHeight) {
				var iScrollTop = window.getScrollTop(), iScrollLeft = window.getScrollLeft();
				var iWinWidth = window.getWidth(), iWinHeight = window.getHeight();

				var iOffsetX = offset(oThumbNoo, 'left'), iOffsetY = offset(oThumbNoo, 'top');

				var iBigX = Math.round(coord(iWinWidth, oCoords.left - iScrollLeft, oCoords.width, iBigWidth)) + iScrollLeft;
				var iBigY = Math.round(coord(iWinHeight, oCoords.top - iScrollTop, oCoords.height, iBigHeight)) + iScrollTop;

				var oAnchorClone = new Element('a').injectInside(document.body);
				var oThumbClone = oThumbNoo.clone();
				
				// clone can't have a float
				if (oThumbNoo.getStyle("float") != "none")
					oThumbClone.setStyle("float", "none");

				oAnchorClone.adopt(oThumbClone);

				oAnchorClone.setStyle("position", "absolute");
				oAnchorClone.setStyle("top", oCoords.top - iOffsetY);
				oAnchorClone.setStyle("left", oCoords.left - iOffsetX);
				oAnchorClone.addClass("thumbnood");
	
				var fx = new Fx.Elements([oThumbClone, oAnchorClone], {wait: false, duration: 300, transition:Fx.Transitions.Back.easeOut, onComplete:fn});

				var o = {}
				o[0] = {width: [oCoords.width, iBigWidth], height: [oCoords.height, iBigHeight]}
				o[1] = {top:[oCoords.top, iBigY], left:[oCoords.left, iBigX]}
				fx.start(o);
	
				oAnchorClone.addEvent("mousedown", function(event) {
					oCurrentNoo = oAnchorClone;
					o[0] = {width: [iBigWidth, oCoords.width], height: [iBigHeight, oCoords.height]}
					o[1] = {top:[iBigY, oCoords.top - iOffsetY], left:[iBigX, oCoords.left - iOffsetX]}
					fx.start(o);
				});
			}
		});
	});
}



/*
window.addEvent('load', function () {
window.addEvent('domready', function(){
console.log(el);
});
*/

