/*

	IBCOMMON.JS

	version rev1.03-1 2008.06.19

	requires jquery.js

	requires interface.js

*/





//jQuery name pseudo space

jQuery.noConflict();



function IBEnvironment() {

	var d  = document;

	var de = d.documentElement;

	var ua = navigator.userAgent;

	this.ua = {};

	this.ua.isGecko      = ua.match(/Gecko\//);

	this.ua.isSafari     = ua.match(/AppleWebKit/);

	this.ua.isOpera      = window.opera;

	this.ua.isIE         = (d.all && !this.ua.isGecko && !this.ua.isSafari && !this.ua.isOpera);

	this.ua.isIE40       = (this.ua.isIE && ua.match(/MSIE 4\.0/));     // IE 4.0x

	this.ua.isIE45       = (this.ua.isIE && ua.match(/MSIE 4\.5/));     // IE 4.5x

	this.ua.isIE50       = (this.ua.isIE && ua.match(/MSIE 5\.0/));     // IE 5.0x

	this.ua.isIE55       = (this.ua.isIE && ua.match(/MSIE 5\.5/));     // IE 5.5x

	this.ua.isIE60       = (this.ua.isIE && ua.match(/MSIE 6\.0/));     // IE 6.0x

	this.ua.isIE70       = (this.ua.isIE && ua.match(/MSIE 7\.0/));     // IE 7.0x

	this.ua.isNN4        = d.layers;                                    // NN 4.x

	this.ua.isMac        = ua.match(/Mac/);

	this.ua.isWin        = ua.match(/Win/);

	this.ua.isWinIE      = this.ua.isWin && this.ua.isIE;

	this.ua.isMacIE      = this.ua.isMac && this.ua.isIE;

	this.ua.productSub   = navigator.productSub;

	this.ua.revision     = (this.ua.isIE    ) ? parseFloat(ua.match(/MSIE ([\d\.]+)/)[1])         :

	                       (this.ua.isGecko ) ? parseFloat(ua.match(/; rv:([\d\.]+)/)[1])         :

	                       (this.ua.isSafari) ? parseFloat(ua.match(/AppleWebKit\/([\d\.]+)/)[1]) :

	                       (this.ua.isOpera ) ? parseFloat(ua.match(/Opera.([\d\.]+)/)[1])        :

	                                            0;

}



$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;

}



$tag = function(tagName){

	if(!tagName) return false;

	var d = document;

	var children = d.getElementsByTagName(tagName) || d.all;

	if(!children) return;

	var childrenlength = children.length;

  	for (var i = 0; i < childrenlength; i++) {

		var child = children[i];

	}

	return child;

}



var Class = {

	create: function() {

		return function() {

			this.initialize.apply(this, arguments);

		}

	}

}



var smoothScroll = Class.create();

smoothScroll.prototype = {

	initialize: function(){

		//this.addToTop();

		var toTopAry = $class('toTop01', 'ul');

		if(!toTopAry) return;

		scrj = 0;

		for(i in toTopAry){

			toTopAry[i].getElementsByTagName('li')[0].getElementsByTagName('a')[0].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 absolutePath(path){

	var img = new Image();

	img.src = path;

	path = img.src;

	img.src = '#';

	return path;

}



var rollOver = Class.create();

rollOver.prototype = {

	initialize: function(){

		preLoadedImages = [];

		jQuery(function(){

			var conf = {

				className : 'rollover',

				postfix : '_o'

			};

			jQuery('.'+conf.className).each(function(){

				this.originalSrc = this.src;

				this.rolloverSrc = this.originalSrc.replace(/(\.gif|\.jpg|\.png)/,conf.postfix+"$1");

				preLoadImages(this.rolloverSrc);

			}).hover(function(){

				this.src = this.rolloverSrc;

			},function(){

				this.src = this.originalSrc;

			});

		});

		

	}

}



function preLoadImages(__URL){

	var p = preLoadedImages;

	var l = p.length;

	p[l] = new Image();

	p[l].src = __URL;

}



function onOverFunction(hoge){

	//jQuery(hoge).find("ul").slideDown("fast");

	//jQuery(hoge).find("ul").slideDown("fast");

	jQuery(hoge).find("ul").show();

}



function onOutFunction(hoge){

	//jQuery(hoge).find("ul").hide("fast");

	jQuery(hoge).find("ul").hide();

}



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;

	}

}



addEvent(window, 'load', function(){

		var fo = new rollOver();

});


