// JavaScript Document
var SlideList = new Class({
	initialize: function(menu, options) {
		this.setOptions(this.getOptions(), options);
		
		this.menu = $(menu), this.current = this.menu.getElement('li.current');
		
		this.menu.getElements('li').each(function(item){
			item.addEvent('mouseover', function(){ this.moveBg(item); }.bind(this));
			item.addEvent('mouseout', function(){ this.moveBg(this.current); }.bind(this));
			item.addEvent('click', function(event){ this.clickItem(event, item); }.bind(this));
		}.bind(this));
				
		this.back = new Element('li').addClass('background').adopt(new Element('div').addClass('left')).injectInside(this.menu);
		this.back.fx = this.back.effects(this.options);
		if(this.current) this.setCurrent(this.current);
	},
	
	setCurrent: function(el, effect){
		this.back.setStyles({left: (el.offsetLeft)+'px', width: (el.offsetWidth)+'px'});
		(effect) ? this.back.effect('opacity').set(0).start(1) : this.back.setOpacity(1);
		this.current = el;
	},
	
	getOptions: function(){
		return {
			transition: Fx.Transitions.sineInOut,
			duration: 500, wait: false,
			onClick: Class.empty
		};
	},

	clickItem: function(event, item) {
		if(!this.current) this.setCurrent(item, true);
		this.current = item;
		//this.options.onClick(new Event(event), item);
		//location.href = "http://www.waila.or.jp/";
	},

	moveBg: function(to) {
		if(!this.current) return;
		this.back.fx.custom({
			left: [this.back.offsetLeft, to.offsetLeft],
			width: [this.back.offsetWidth, to.offsetWidth]
		});
	}
});

SlideList.implement(new Options);

window.addEvent('domready', function() {
	// orange menu demo
	if($('fancymenu'))
		FancyExample = new SlideList($E('ul', 'fancymenu'), {
			transition: Fx.Transitions.backOut, 
			duration: 700,
			onClick: function(ev, item) {
				ev.stop();
			}
	});
	
	// profile demo
	if($('pictureselect')) 
		//PictureSelect = new SlideList('pictureselect', { onClick: function(ev, item) { ev.stop(); } });
		PictureSelect = new SlideList('pictureselect', { 
			transition: Fx.Transitions.backOut,
			duration: 700,
			onClick: function(ev, item) { 
				ev.stop();
			}
	});
});

var Site = {
	
	start: function(){
		Site.effects();
		if ($('kwick')) Site.parseKwicks();		
		if ($('sidebar')){
			Site.appearText();
			//if (!window.ie6) Site.makeShadow();
			//Site.accor();
		}
		
	},
	
	parseKwicks: function(){
		//var myMenu = new ImageMenu($$('.kwicks .kwick'),{openWidth:600});
		var kwicks = $$('#kwick .kwick');
		var fx = new Fx.Elements(kwicks, {wait: false, duration: 300, transition: Fx.Transitions.quadOut});
		kwicks.each(function(kwick, i){
		/*	kwick.addEvent('mouseenter', function(e){*/
		/*	kwick.addEvent('mouseover', function(e){ */
			kwick.addEvent('click', function(e){								 
				var obj = {};
				obj[i] = {
					/*'width': [kwick.getStyle('width').toInt(), 185]*/
					'width': [kwick.getStyle('width').toInt(), 600]
					
				};
				kwicks.each(function(other, j){
					if (other != kwick){
						var w = other.getStyle('width').toInt();
						/*if (w != 105) obj[j] = {'width': [w, 105]};*/
						if (w != 30) obj[j] = {'width': [w, 30]};
					}
				});
				if (i == 3) {
					var flashtag = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="600" height="300" id="flash"><param name="wmode" value=" wmode="opaque"><param name="movie" value="./leadopening*.swf" /><param name="quality" value="high"><embed src="./leadopening*.swf" width="600" height="300" wmode=" wmode="opaque" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" id="flash" name="flash"></embed></object>';
					document.getElementById("myMovie").innerHTML = flashtag;	
				} else {
					document.getElementById("myMovie").innerHTML = "";					
				}
				fx.start(obj);
			});
			
			
		});
		
		/*$('kwick').addEvent('mouseleave', function(e){*/
		/*$('kwick').addEvent('mouseout', function(e){										   
			var obj = {};
			kwicks.each(function(other, j){
				obj[j] = {'width': [other.getStyle('width').toInt(), 30]};
			});
			if (j == 3) {
				var flashtag = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="600" height="300" id="flash"><param name="wmode" value=" wmode="opaque"><param name="movie" value="./leadopening*.swf" /><param name="quality" value="high"><embed src="./leadopening*.swf" width="600" height="300" wmode=" wmode="opaque" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" id="flash" name="flash"></embed></object>';
				document.getElementById("myMovie").innerHTML = flashtag;	
			} else {
				document.getElementById("myMovie").innerHTML = "";					
			}
			//obj[3] = {'width': [other.getStyle('width').toInt(), 505]};
			fx.start(obj);
		});*/
	},
	
	appearText: function(){
		var timer = 0;
		var sideblocks = $$('#sidebar dd.toggle');
		
		var slidefxs = [];
		var colorfxs = [];
		
		sideblocks.each(function(el, i){
			//el.setStyle('margin-left', '155px');
			el.setStyle('margin-left', '180px');
			timer += 150;
			slidefxs[i] = new Fx.Style(el, 'margin-left', {
				duration: 400,
				transition: Fx.Transitions.backOut,
				wait: false,
				onComplete: Site.createOver.pass([el, i])
			});
			slidefxs[i].start.delay(timer, slidefxs[i], 0);

		}, this);
	},
	
	createOver: function(el, i){
		var first = el.getFirst();
		if (!first || first.getTag() != 'a') return;
		var overfxs = new Fx.Styles(first, {'duration': 200, 'wait': false});
		if (first.hasClass('big')){
			var tocolor = '333';
			var fromcolor = 'fff';
		} else {
			var tocolor = 'FFCC66';
			var fromcolor = '595965';
		}
		el.mouseouted = true;
		el.addEvent('mouseover', function(e){
			overfxs.start({
				'color': tocolor,
				'margin-left': 10
			});
		});
		
		el.addEvent('mouseout', function(e){
			overfxs.start({
				'color': fromcolor,
				'margin-left': 0
			});
		});
		var myBox = $$('#sidebar dd.toggle');
		var myBoxOpen = $$('#sidebar ul.toggler');
		myBoxOpen.setStyle('display', 'block');
		var myAccordion = new Accordion(
			myBox, myBoxOpen, {
				start: 'all-closed',
				duration: 200,
				alwaysHide: true,
				opacity: false
			}
		);
		
	},
	
	makeShadow: function(){
		new Element('img').injectInside('container').setStyles({
			'position': 'absolute', 'top': '0', 'margin-top': '-30px', 'left': '644px', 'z-index': '999999'
		}).setProperties({
			'height': $('sidebar').offsetHeight + 70, 'width': '10', 'src': '/assets/images/menubig_shadow.png'
		});

	}, 
	
	effects: function() {
		var as = [];
		$$('a.tip').each(function(a){
			if (a.getAttribute('title')) as.push(a);
		});
		
		new Tips(as, {
			maxTitleChars: 25,
			onShow: function(tip){
				tip.setStyle('opacity', '0.8');
			},
			onHide: function(tip){
				tip.setStyle('visibility', 'hidden');
			},
			offsets: {'x': -10, 'y': 15}
		});
	}
	
};

window.addEvent('load', Site.start);

/*  右下アニメ */
var setLogo={
	box:"logo",
	open_flag:false,
	mode:{duration:400,transition:Fx.Transitions.expoIn},
	height:250,
	timer:0,
	status:false,
	init:function(){
		var b=this.box;
		if($(b)){
			$("logo_man").onclick=function(){setLogo.change();};
			//setLogo.slide();
			$("logo_img").onclick=function(){setLogo.change();};
			//setLogo.slide();
			$("logo_menu").onclick=function(){setLogo.change();};
			setLogo.slide();
		}
	},
	
	slide:function(){
		var el=$(this.box);
		var ef=el.effect("height",this.mode);
		ef.custom(0,250);
		var l_man=$("logo_man");
		l_man.setStyle("height","0px");
		setLogo.timer+=400;
		var lg_man=l_man.effect("height",{transition:Fx.Transitions.backOut});
		lg_man.myCustom=function(){lg_man.custom("0","200");};
		lg_man.myCustom.delay(setLogo.timer);
		var l_img=$("logo_img");
		l_img.setStyle("height","0px");
		setLogo.timer+=400;
		var lg_img=l_img.effect("height",{transition:Fx.Transitions.backOut});
		lg_img.myCustom=function(){lg_img.custom("0","30");};
		lg_img.myCustom.delay(setLogo.timer);
		var l_menu=$("logo_menu");
		l_menu.setStyle("height","0px");
		setLogo.timer+=100;
		var lg_menu=l_menu.effect("height",{transition:Fx.Transitions.backOut});
		lg_menu.myCustom=function(){lg_menu.custom("0","55");};
		lg_menu.myCustom.delay(setLogo.timer);
	},
	
	change:function(){
		if(!setLogo.status){
			setLogo.open();
			setLogo.status=true;
		}else{
			setLogo.close();
			setLogo.status=false;
		}
	},
	
	open:function(){
		setLogo.effect("logo","bottom",{duration:300,transition:Fx.Transitions.backIn},3,setLogo.height);
		setLogo.effect("f","height",{duration:300,transition:Fx.Transitions.backIn},3,setLogo.height);
	},
	close:function(){
		setLogo.effect("logo","bottom",{duration:300,transition:Fx.Transitions.backIn},setLogo.height,3);
		setLogo.effect("f","height",{duration:300,transition:Fx.Transitions.backIn},setLogo.height,3);
	},
	
	effect:function(b,_3c,ef,_3e,end){
		var el=$(b);
		var ef=el.effect(_3c,ef);
		ef.custom(_3e,end);
	}
};
window.onload=function(){
	setLogo.init();
};
