/**
 * raccoon.js
 * @author Tenderfeel
 * @ver 1.0
 * @HOME http://tenderfeel.xsrv.jp/
 * 
 * @Need:mootools 1.2
 *
 * ---MIT License--------------------------------------------
 * Copyright (c) 2008 Tenderfeel all rights reserved.
 * ----------------------------------------------------------
 */

var URI = location.href.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?/i);
var DOMAIN = URI[1]+URI[3];
//var DOMAIN = "";

window.addEvent('domready', function(){
	
	new SpriteNavigation();
	
	new wtnRollover({area:"#main"});
	
	new wtnLinkIcons({excludeStr:["file:///","localhost","http://web-zero.jp",DOMAIN],iconDir:"http://www.masumi-kagu.com/images/filetype/",QuickBox:true,open:"blank"});
	
	if(Browser.Engine.trident4) {
		$("gototop").inject($("main"),"after");
	}
	
	/* go to top */
	new GotoTop();
	
	new mooFollow($("division"),{top:20});
	
	new RondomBanner($("rondom-banner"),{rand:true,delay:8});
	
	new IE6NoMoore({"css":"css/ie6nomoore.css"});
	
	
	/* Google Analytics*/
	
	/*----start::
	
	//Tracker
	var container = $("container");
	var gtracker = new Element("script",{src:DOMAIN+'js/gtracker.js',"type":"text/javascript"});
	gtracker.inject(container,"after");
	
	//Analytics
	var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
	var ga = new Element("script",{src:gaJsHost + "google-analytics.com/ga.js","type":"text/javascript"});
	ga.inject(container,"after");
	
	::end------*/
});


/** QuickBox Plugin */
var QuickBox_js = new Asset.javascript(DOMAIN+'js/QuickBox.js');
var QuickBox_CSS = new Asset.css(DOMAIN+"css/quickbox.css",{ "media":"screen"});

/**
 * ランダムバナー
 * @ver 1.0
 */
var RondomBanner = new Class({
	
	Implements: [Options],

	options: {
		id:'masthead',
		dir:"images/",
		delay:5,
		rand:false //初期表示のランダム falseは先頭から
	},
	initialize: function(element, options) {
		this.setOptions(options);
		if(!element) return;
		this.container = element;
		this.banner = this.container.getChildren();
		this.active = 0;
		
		this.getRand();
	},
	getRand:function(){
		this.banner.fade("hide");
		(this.options.rand == true && ! this.container.getChildren()) ? this.banner[0].fade("in") : this.banner[this.active].fade("in");
		if(this.active >= this.banner.length-1) this.active = 0;
		else this.active++;	
		this.getRand.delay(this.options.delay*1000,this);
	}
});


/**
 * SpriteNavigation
 * @ver 1.0
 */
var SpriteNavigation=new Class({Implements:[Options],options:{id:"global-navi"},initialize:function(c){this.setOptions(c);this.navi=$(this.options.id).getElements("a");this.url=this.FilePass(document.location.href);$each(this.navi,function(a){var e=this.FilePass(a.href),d=a.get("class"),b=new Element("div",{"class":d,opacity:0,styles:{position:"absolute",top:0,left:0,"z-index":0,width:a.getStyle("width"),height:a.getStyle("height")}});if(this.url==e){b.fade("show");a.getParent().addClass("current"); b.inject(a.getParent(),"top");a.setStyle("visibility","hidden")}else{a.setStyle("background","none");b.inject(a.getParent());a.addEvents({mouseenter:function(){b.fade("in")},mouseleave:function(){b.fade("out")},mousedown:function(){b.addClass(d+"Click")},mouseup:function(){b.removeClass(d+"Click")}})}}.bind(this))},FilePass:function(c){return c.substring(c.lastIndexOf("/")+1,c.length)}});


/**
 * IE6NoMoore
 * @ver 1.0
 * 
 * IE6への警告を表示する
 */
var IE6NoMoore=new Class({Implements:[Options],options:{css:true,image:"images/IE6NoMore/"},initialize:function(a){this.setOptions(a);this.imgurl=this.options.image;this.container=new Element("div",{id:"IE6NoMore"});this.wrap=new Element("div",{"class":"wrap"});this.closebtn=new Element("img",{"class":"close",src:this.imgurl+"ie6nomore-cornerx.jpg",alt:"\u9589\u3058\u308b",events:{click:function(){this.getParent().dispose()}}});this.warning=new Element("img",{"class":"warning",src:this.imgurl+"ie6nomore-warning.jpg", alt:"Warning!"});this.message=new Element("div",{"class":"nomore-message",html:"\u3053\u306e\u30a6\u30a7\u30d6\u30b5\u30a4\u30c8\u3092\u5feb\u9069\u306b\u95b2\u89a7\u3059\u308b\u306b\u306f\u30d6\u30e9\u30a6\u30b6\u3092\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3057\u3066\u304f\u3060\u3055\u3044\u3002"});this.strongmes=new Element("strong",{html:"\u3042\u306a\u305f\u306f\u65e7\u5f0f\u30d6\u30e9\u30a6\u30b6\u3092\u3054\u5229\u7528\u4e2d\u3067\u3059"});this.firefox=new Element("img",{src:this.imgurl+ "ie6nomore-firefox.jpg",alt:"Get Firefox 3.5"});this.ie8=new Element("img",{src:this.imgurl+"ie6nomore-ie8.jpg",alt:"Get Internet Explorer 8"});this.safari=new Element("img",{src:this.imgurl+"ie6nomore-safari.jpg",alt:"Get Safari 4"});this.chrome=new Element("img",{src:this.imgurl+"ie6nomore-chrome.jpg",alt:"Get Google Chrome"});if(Browser.Engine.trident&&Browser.Engine.version<5){$$("body")[0].getFirst().grab(this.container,"before");if(this.options.css==true)this.css();else $type(this.options.css)== "string"&&this.asset();this.start()}},start:function(){this.container.grab(this.wrap).grab(this.closebtn);this.warning.inject(this.wrap);this.message.grab(this.strongmes,"top").inject(this.wrap);(new Element("a",{href:"http://www.mozilla.jp",target:"_blank"})).grab(this.firefox).inject(this.wrap);(new Element("a",{href:"http://www.microsoft.com/downloads/details.aspx?FamilyID=341c2ad5-8c3d-4347-8c03-08cdecd8852b&DisplayLang=ja",target:"_blank"})).grab(this.ie8).inject(this.wrap);(new Element("a", {href:"http://www.apple.com/jp/safari/download/",target:"_blank"})).grab(this.safari).inject(this.wrap);(new Element("a",{href:"http://www.google.com/chrome?hl=ja",target:"_blank"})).grab(this.chrome).inject(this.wrap)},asset:function(){new Asset.css(this.options.css)},css:function(){this.container.setStyles({background:"#FEEFDA none repeat scroll 0 0","border-bottom":"1px solid #F7941D","border-top":"1px solid #F7941D",height:75,left:0,position:"absolute","text-align":"center",top:0,width:"100%", "z-index":100});this.wrap.setStyles({color:"black",margin:"0 auto",overflow:"hidden",padding:"0","text-align":"left",width:"640px"});this.closebtn.setStyles({cursor:"pointer",display:"block",position:"absolute",right:3,top:3});this.message.setStyles({"float":"left","font-family":"Arial,sans-serif","font-size":"12px",padding:"12px",width:"275px"});this.strongmes.setStyles({color:"#CC0000",display:"block","font-size":"14px","padding-bottom":"5px"});this.warning.setStyles({"float":"left",height:73,width:53}); this.firefox.setStyle("margin-right",20);this.ie8.setStyle("margin-right",20);this.safari.setStyle("margin-right",20)}});

/**
 * GotoTop
 * @ver 1.0
 * ページのトップに戻るボタン
 */
var GotoTop=new Class({Implements:[Options],options:{id:"gototop","class":"gotoTop",width:100},initialize:function(a){this.setOptions(a);this.width=this.options.width;if(this.gototop=$(this.options.id))this.start();else return false;new SmoothScroll({duration:500})},start:function(){var a=this;a.gototop.set("opacity","0").setStyle("display","block");window.addEvent("scroll",function(){Browser.Engine.trident4&&a.gototop.setStyles({position:"absolute",bottom:window.getPosition().y+10,width:this.width}); a.gototop.fade(window.getScroll().y>300?"in":"out")})}});


/**
 * wtnRollover
 * @ver 1.0
 * リンク下にある画像をロールオーバーor透過処理させる
 */

var wtnRollover=new Class({Implements:[Options],options:{current:true,area:"body",over:"_on",off:"_off"},initialize:function(a){this.setOptions(a);this.overTxt=this.options.over;this.offTxt=this.options.off;(this.imgs=$$(this.options.area+" a img"))&&this.Roll();return true},Roll:function(){var a=this;a.imgs.each(function(b){var c;if($type(b)=="element"&&!b.hasClass("rollskip")){if(a.options.current==true)c=a.Current(b);b.addEvents({mouseover:function(){if(b.src.indexOf(a.offTxt)===-1)b.set("tween", {duration:200}).tween("opacity",[1,0.5]);else b.src=b.src.replace(a.offTxt,a.overTxt)},mouseleave:function(){if(b.src.indexOf(a.overTxt)===-1||c==true)b.fade(1);else b.src=b.src.replace(a.overTxt,a.offTxt)}})}})},Current:function(a){var b=this.FilePass(document.location.href),c=this.FilePass(a.getParent().href);if(c===b&&c){a.src=a.src.replace(this.offTxt,this.overTxt);return true}},FilePass:function(a){return a.substring(a.lastIndexOf("/")+1,a.length)}});

/**
 * wtnLinkIcons
 * @ver 1.3
 * 
 * 別窓を開くアイコンとhrefの拡張子に応じたアイコンや属性を追加
 */

var wtnLinkIcons=new Class({Implements:[Options],options:{areaID:"",ExternalLink:true,linkTitle:"\u30ea\u30f3\u30af\u3092\u65b0\u3057\u3044\u30a6\u30a4\u30f3\u30c9\u30a6\u3067\u958b\u304f",addExtIconClass:"exiAdd",open:"blank",excludeStr:[],FiletypeIcon:true,ImagetypeIcon:false,media:["pdf","doc","zip","xls","mov","mp3","psd","swf","txt","wmv",".ai","exe","ppt","mpg","flv"],iconType:"gif",iconDir:"images/filetype/",iconW:16,iconH:16,QuickBox:false},initialize:function(a){this.setOptions(a);this.exStr= this.options.excludeStr;this.addExI=this.options.addExtIconClass;this.media=this.options.media;this.iconD=this.options.iconDir;this.iconT=this.options.iconType;this.iconW=this.options.iconW;this.iconH=this.options.iconH;this.linkT=this.options.linkTitle;this.imgR=this.options.imgRel;this.FtI=this.options.FiletypeIcon;this.QuickBox=this.options.QuickBox;this.External=this.options.ExternalLink;this.gallery=false;this.gNum=0;this.area=this.options.areaID==""?$(document.body):$(this.options.areaID);this.area.getElements("a[href]").each(this.addIcon, this);return true},addExternal:function(a){if(this.External){var b=this.options.open=="js"?new Element("a",{href:"#",title:this.linkT,"class":"newWin",events:{click:function(){window.open(a.href);return false}}}):new Element("a",{href:a.href,title:this.linkT,target:"_blank","class":"newWin"});b.set("html",'<img src="'+this.iconD+"external."+this.iconT+'" width="'+this.iconW+'" height="'+this.iconH+'" alt="" />');b.inject(a,"after")}},addArgs:function(a,b){if(a==1){a=b.getProperty("rel");a=a!=null? " "+a:"";b.setProperty("rel","quickbox"+a)}else if(this.External)this.options.open=="js"?b.addEvent("click",function(){window.open(this.href);return false}):b.setProperty("target","_blank")},createIcon:function(a,b){return new Element("img",{"class":"icon",src:this.iconD+a+"."+this.iconT,width:this.iconW,height:this.iconH,alt:b})},addIcon:function(a){var b=this,d=a.href,c=d.replace(d.slice(0,-3),"").toLowerCase(),e=a.get("text"),h=a.getChildren("img"),g=exiskip=expAdd=exiAdd=false,f=a.getProperties("target", "onclick","Class");this.options.ImagetypeIcon==true&&this.media.extend(["jpg","gif","png"]);if(a.hasClass("icoSkip")||a.hasClass("jbiwnjtorzbrnezsjqya"))g=true;if(a.hasClass("exiSkip")||f.target||f.onclick&&f.onclick.indexOf("window.open")!==-1||a.hasClass("jbiwnjtorzbrnezsjqya"))exiskip=true;if(a.hasClass("expAdd"))expAdd=true;if(a.hasClass(this.addExI))exiAdd=true;var i=this.exStr.some(function(j){if(d.indexOf(j)!==-1)return true})+$chk(d.match(/\.gif$|\.png$|\.jpg$|\.doc$|\.psd$|\.zip$|\.xls$|\.ai$|\.exe$|^mailto:|window\.print\(\)/)); if(c=="jpg"||c=="gif"||c=="png")if(this.QuickBox===true){g=true;b.addArgs(1,a)}else if(e==""&&this.QuickBox===false){g=true;b.addArgs(0,a)}else this.QuickBox===false&&b.addExternal(a);else if(!exiskip)if(!exiskip&&expAdd||expAdd)b.addArgs(2,a);else if(c=="txt"||c=="pdf"||c=="swf"||c=="mpg"||c=="mp3"||d!=""&&!i&&h.length==0||exiAdd)b.addExternal(a);else if(e!=""&&h.length!=0&&d!=""&&!i||e==""&&h.length!=0&&d!=""&&!i)b.addArgs(2,a);if(!g&&this.FtI==true){if(f.Class&&f.Class.indexOf("icoAdd")!==-1){e= f.Class.slice(7);b.createIcon(e.toLowerCase(),e.toUpperCase()+" File").inject(a,"before")}if(this.media.contains(c)){if(c.slice(0,1)==".")c=c.replace(".","");b.createIcon(c,c.toUpperCase()+" File").inject(a,"before")}else if(a.protocol=="mailto:")b.createIcon("email","Mail").inject(a,"before");else if(a.protocol==="https:")b.createIcon("https","SSL Page").inject(a,"before");else d=="javascript:window.print()"&&b.createIcon("print","Print").inject(a,"before")}}});


/**
 * mooFollow
 * @ver 1.6
 * 
 * 任意の要素をスクロールに合わせて移動させる
 */

var mooFollow=new Class({Implements:[Options,Events],options:{transition:"sine:out",duration:"long",link:"cancel",top:null,watermark:false,watermarkHtml:"\u25b2\u30da\u30fc\u30b8\u30c8\u30c3\u30d7\u306b\u623b\u308b",watermarkHref:"#header",SmoothScroll:false,onStart:$empty,onComplete:$empty},initialize:function(a,b){this.setOptions(b);this.element=a==null?$("follower"):a;this.tran=this.options.transition;this.dur=this.options.duration;this.link=this.options.link;this.position=null;this.parent=this.element.getParent(); this.top=this.options.top===null?this.position.y:this.options.top;if(this.parent.getSize().y>this.element.getSize().y+this.top){this.fx=this.scrollsize=this.parentPosition=null;this.setElPosition();this.setElStyles();this.makeFx();this.options.watermark==true&&this.watermark();window.addEvents({scroll:function(){this.follow()}.bind(this),domready:function(){this.follow()}.bind(this)})}},setElPosition:function(){this.parent.setStyles({position:"relative"});this.position=this.element.getPosition(this.parent); this.parentPosition=this.parent.getPosition()},makeFx:function(){this.fx=new Fx.Morph(this.element,{duration:this.dur,transition:this.tran,link:this.link,onStart:function(){this.fireEvent("start");if(this.options.watermark==true){this.watermark.fade("hide");this.addWatermark()}}.bind(this),onComplete:function(){this.fireEvent("complete");this.options.watermark==true&&this.watermark.fade("in",{duration:500})}.bind(this)})},setScrollsize:function(){this.scrollsize=window.getScroll()},setElStyles:function(){this.element.setStyles({position:"absolute", top:this.position.y,left:this.position.x,margin:0})},follow:function(){this.setScrollsize();if((this.position.y>=this.scrollsize.y||this.parentPosition.y>=this.scrollsize.y)&&this.position.y<this.element.getStyle("top").toInt())this.fx.start({top:this.position.y+"px"});else if(this.parent.getSize().y<this.scrollsize.y+this.element.getSize().y+this.top&&this.position.y<this.element.getStyle("top").toInt())this.fx.start({top:this.parent.getSize().y-this.element.getSize().y+"px"});else this.scrollsize.y- this.parentPosition.y+this.top<this.position.y||this.scrollsize.y>=this.position.y&&this.fx.start({top:this.scrollsize.y-this.parentPosition.y+this.top+"px"})},watermark:function(){this.watermark=new Element("a",{"class":"gotoTop",id:this.element.id+"-gotoTop",href:this.options.watermarkHref,html:this.options.watermarkHtml,styles:{opacity:0,display:"block"}})},addWatermark:function(){if($$("#"+this.element.id+" a.gotoTop")[0]==null){this.watermark.inject(this.element);this.options.SmoothScroll&&this.options.watermark&& new Fx.SmoothScroll({duration:500,links:"#"+this.element.id+"-gotoTop"})}this.position.y>=this.scrollsize.y&&this.watermark.dispose()}});
