/*--------------------------------------------------------------------------*
 *  
 *  SmoothScroll JavaScript Library beta1
 *  
 *  MIT-style license. 
 *  
 *  2007 Kazuma Nishihata 
 *  http://www.webcreativepark.net
 *  
 *--------------------------------------------------------------------------*/
 
new function(){

	/*
	 *イベント追加用
	  -------------------------------------------------*/
	function addEvent(elm,listener,fn){
		try{ // IE
			elm.addEventListener(listener,fn,false);
		}catch(e){
			elm.attachEvent(
				"on"+listener
				,function(){
					fn.apply(elm,arguments)
				}
			);
		}
	}

	/*
	 *スムーズスクロール
	  -------------------------------------------------*/
	function SmoothScroll(a){
		if(document.getElementById(a.rel.replace(/.*\#/,""))){
			var e = document.getElementById(a.rel.replace(/.*\#/,""));
		}else{
			return;
		}
		
		//移動位置
		var end=e.offsetTop
		//現在位置
		var start=window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
		
		var flag=(end<start)?"up":"down";

		function scrollMe(start,end,flag) {

			setTimeout(
				function(){
					if(flag=="up" && start >= end){
						start=start-(start-end)/20-1;
						window.scrollTo(0,start)
						arguments.callee(start,end,flag);

					}else if(flag=="down" && start <= end){
						start=start+(end-start)/20+1;

						window.scrollTo(0,start)
						arguments.callee(start,end,flag);

					}else{
						scrollTo(0,end);
					}
				}
				,200
			);
			
		}
		scrollMe(start,end,flag)
	}

	/*
	 *スムーズ変換スクリプト
	  -------------------------------------------------*/
	addEvent(window,"load",function(){
		var anchors = document.getElementsByTagName("a");
		for(var i = 0 ; i<anchors.length ; i++){
			if(anchors[i].href.replace(/\#[a-zA-Z0-9]+/,"") == location.href.replace(/\#[a-zA-Z0-9]+/,"")){
				anchors[i].rel = anchors[i].href;
				anchors[i].href = "javascript:void(0)";
				anchors[i].onclick=function(){SmoothScroll(this)}
			}
		}
	});

}
$id = function(ids){
	var d = document;
	if(d.getElementById(ids)) return d.getElementById(ids);
	return false;
}

$class = document.getElementsByClassName = function(className, tagName) {
	if(!tagName) tagName = "*";
	var d = document;
	var children = d.getElementsByTagName(tagName) || d.all;
	if(!children) return;
	var elements = new Array();
	var childrenlength = children.length;
  
	for (var i = 0; i < childrenlength; i++) {
		var child = children[i];
		var classNames = child.className.split(' ');
		var classNameslength = classNames.length;
		for (var j = 0; j < classNameslength; j++) {
			if (classNames[j] == className) {
				elements.push(child);
				break;
			}
		}
	}
	return elements;
}

var Class = {
	create: function() {
		return function() {
			this.initialize.apply(this, arguments);
		}
	}
}

var importer = Class.create();
importer.prototype = {
	initialize: function(){},
	js: function(url){
		var head = document.getElementsByTagName( 'head' );
		var script=document.createElement( 'script' );
		script.type="text/javascript";
		script.src= url;
		head[0].appendChild( script );
	},
	css: function(url){
		var head = document.getElementsByTagName( 'head' );
		var link=document.createElement( 'link' );
		link.media="all";
		link.rel="stylesheet";
		link.type="text/css";
		link.href= url;
		head[0].appendChild( link );
	}
}
var rollOver = Class.create();
rollOver.prototype = {
	initialize: function(){
		var roAry = $class('rollover', 'img');
		if(!roAry) return;
		var extentionList = new Array(	'.jpg',
						'.jpeg',
						'.jpe',
						'.gif',
						'.bmp',
						'.png');
		var pleLoadImagesUrl = new Array();
		for(i in roAry){
			var obj = new Object();
			var urlString = new String();
				urlString = roAry[i].src;
					for(j in extentionList){
						if(urlString.match(extentionList[j])){
							urlString = urlString.split(extentionList[j]);
							urlString = urlString[0].split("_n");
							urlString = urlString[0] + "_o" + extentionList[j];
						}
					}
				obj.onmouseover = this.onMouseOver;
				obj.onmouseout = this.onMouseOut;
				obj.src_n = roAry[i].src;
				obj.src_o = urlString;

			roAry[i].src_o = obj.src_o;
			roAry[i].src_n = obj.src_n;
			roAry[i].onmouseover = obj.onmouseover;
			roAry[i].onmouseout = obj.onmouseout;
		pleLoadImagesUrl.unshift(obj.src_o);
		}
		this.preLoadImages(pleLoadImagesUrl);
	},
	onMouseOver: function(){
		this.src = this.src_o;
	},
	onMouseOut: function(){
		this.src = this.src_n;
	},
	preLoadImages: function(){
		if(arguments[0]){
		preImgAry = new Array();
			for(i in arguments[0]){
				var preImgs = new Image();
				preImgs.src = arguments[0][i];
				preImgAry[i] = preImgs.src;
			}
		}
	}
}
/*
var smoothScroll = Class.create();
smoothScroll.prototype = {
	initialize: function(){
		// this.addToTop();
		var toTopAry = $class('top_link', 'a');
		if(!toTopAry) return;
		scrj = 0;
		for(i in toTopAry){
			toTopAry[i].onclick = this.play;
		}
	},
	play: function(){
		softScrollBack();
		return false;
	}
}
	var scrj = 1;
	function softScrollBack() {
		if(navigator.appName == "Microsoft Internet Explorer" && document.compatMode == "CSS1Compat") {
			var scdist = document.body.parentNode.scrollTop;
		} else {
			var scdist = window.pageYOffset;
		}
		if(scrj<50 && scdist) {
			scdist = (scdist>2) ? Math.ceil(scdist*.36) : 1;
			scrj++;
			scrollBy(0,-scdist);
			setTimeout("softScrollBack()",20);
		} else {
			scrollTo(0,0);
			scrj = 1;
		}
	}

function addEvent(elm, type, event) {
	if(elm.addEventListener) {
		elm.addEventListener(type, event, false);
	} else if(elm.attachEvent) {
		elm.attachEvent('on'+type, event);
	} else {
		elm['on'+type] = event;
	}
}

function play(e){
	var titles = document.title;
	var now = new Date().getTime();
	if( now < lastExecute + 50) return;
	lastExecute = now;
}

function IBautoRun(){
	var ro = new rollOver();
	var ss = new smoothScroll();
}

addEvent(window, 'load', function(){
	IBautoRun();
});
*/
