
/* ---------- */
/* CREATED BY */
/* V Z D N    */
/* FURUKAWA   */
/* ---------- */


var Index = new Class({
	
	
	langMenu    : null,
	contentMenu : null,
	caption     : null,
	returnBtn   : null,
	
	lang : "",
	
	
	//----------------------------------------------------------------------------------------------------
	//initialize
	
	initialize : function() {
		this.langMenu    = $("lang-menu");
		this.contentMenu = $("content-menu");
		this.caption     = $("caption");
		this.returnBtn   = $$("#content-menu span a")[0];
		
		this.contentMenu.style.visibility = "hidden";
		this.caption.style.visibility = "hidden";
		
		
		
		var self = this;
		
		var wrap = $("wrap");
		var pos;
		if(window.getComputedStyle) {
			pos = window.getComputedStyle(wrap, "").position;
		}
		else {
			pos = wrap.currentStyle.position;
		}
		
		if(pos && pos == "absolute") {
			window.addEvent("resize", function(){ self.align(); });
			this.align();
		}
		
		
		this.setLangMenu();
		this.setReturnButton();
	},
	
	
	setLangMenu : function() {
		var self = this;
		var btns = this.langMenu.getElementsByTagName("a");
		
		var i, len;
		len = btns.length;
		for(i=0; i<len; i++) {
			var btn = btns[i];
			btn.onclick = function() {
				self.start(this);
			};
		}
	},
	
	
	setReturnButton : function() {
		var self = this;
		this.returnBtn.onclick = function() {
			self.returnTop(this);
		};
	},
	
	
	
	
	start : function(elem) {
		var self = this;
		this.lang = elem.rel;
		
		this.caption.className = this.lang;
		this.contentMenu.className = this.lang;
		
		var fx = new Fx.Morph(this.langMenu, { duration:300, transition:Fx.Transition.easeOutSine });
		fx.start({
			"opacity"   : 0,
			"marginTop" : 0
		});
		
		this.showCaption();
		this.showContentMenu();
	},
	
	
	showCaption : function() {
		this.caption.set("opacity", 0);
		this.caption.style.visibility = "visible";
		this.caption.style.marginTop = "20px";
		
		var fx = new Fx.Morph(this.caption, { duration:450	, transition:Fx.Transition.easeOutSine });
		fx.start.delay(300, fx, {
			"opacity"   : 1,
			"marginTop" : 0
		});
	},
	
	
	showContentMenu : function() {
		this.contentMenu.set("opacity", 0);
		this.contentMenu.style.visibility = "visible";
		this.contentMenu.style.marginTop = "10px";
		
		var fx = new Fx.Morph(this.contentMenu, { duration:450	, transition:Fx.Transition.easeOutSine });
		fx.start.delay(500, fx, {
			"opacity"   : 1,
			"marginTop" : 0
		});
	},
	
	
	
	returnTop : function() {
		var fx1 = new Fx.Morph(this.contentMenu, { duration:300	, transition:Fx.Transition.easeOutSine });
		fx1.start({
			"opacity"   : 0,
			"marginTop" : 10
		});
		
		var fx2 = new Fx.Morph(this.caption, { duration:300	, transition:Fx.Transition.easeOutSine });
		fx2.start({
			"opacity"   : 0,
			"marginTop" : 10
		});
		
		var fx3 = new Fx.Morph(this.langMenu, { duration:300, transition:Fx.Transition.easeOutSine });
		fx3.start.delay(300, fx3,{
			"opacity"   : 1,
			"marginTop" : 0
		});
	},
	
	
	
	align : function() {
		var h = $(document.body).getSize().y;
		
		if(h < 480) {
			$("wrap").style.marginTop = - Math.floor((h - 220) / 2) + "px";
		}
		else {
			$("wrap").style.marginTop = "-120px";
		}
	}
	
	
	
	
});




window.addEvent("domready", function(){ new Index(); });

