// UTF-8
var Mac = navigator.appVersion.indexOf('Mac',0) != -1;
var Win = navigator.appVersion.indexOf('Win',0) != -1;
var IE = navigator.userAgent.indexOf("MSIE",0) != -1;
var IE4x = navigator.userAgent.indexOf("MSIE 4",0) != -1;
var NS  = navigator.userAgent.indexOf("Netscape",0) != -1;
var NS4x =!IE && navigator.userAgent.indexOf("Mozilla/4",0) != -1;
var Opera = navigator.userAgent.indexOf("Opera",0) != -1;
var FF = navigator.userAgent.indexOf("Firefox",0) != -1;
var Moz = navigator.userAgent.indexOf("Gecko") != -1;
var safari = navigator.userAgent.indexOf("Safari") != -1;

new function() {
	function setInit(){
	  if(!document.images){
	  	return;
	  }
	  var imgs = document.images;
	  var insert = [];
		if (NS) {
			for(var i=0;i<imgs.length;i++){
				if (imgs[i].id != "") {
					var splitname = imgs[i].src.split('_rout.');
					if (splitname[1] == "gif") {
						var rolloverImg = document.getElementById(imgs[i].id);
						rolloverImg.splitname = splitname;
						rolloverImg.addEventListener('mouseover',function(event){this.src=this.splitname[0]+'_rovr.'+this.splitname[1];},false);
		        rolloverImg.addEventListener('mouseout',function(event){this.src=this.splitname[0]+'_rout.'+this.splitname[1];},false);
					}
				}
			}
		} else {
	    for(var i=0;i<imgs.length;i++){
	      var splitname = imgs[i].src.split('_rout.');
	      if((splitname[1])&&(imgs[i].parentNode.tagName=='A')){
	        var rolloverImg = document.createElement('img');
	        rolloverImg.src = splitname[0]+'_rovr.'+splitname[1];
	        var alpha = 0;
	        rolloverImg.currentAlpha = alpha;
	        rolloverImg.style.opacity = alpha/100;
	        rolloverImg.style.filter = 'alpha(opacity='+alpha+')';
	        rolloverImg.style.position = 'absolute';
	        
	        addEvent(rolloverImg,'mouseover',function(){setFader(this,100);});
	        addEvent(rolloverImg,'mouseout',function(){setFader(this,0);});
					
	        insert[insert.length] = {position:imgs[i],element:rolloverImg};
	      }
	    }

	    for(var i=0;i<insert.length;i++){
				var parent = insert[i].position.parentNode;
				insert[i].position.style.width = parent.style.width;
				insert[i].position.style.height = parent.style.height;
				parent.insertBefore(insert[i].element,insert[i].position);
			}
		}
		
		
		var bg_color = $(".fix_dtl").css("background-color");
		// lnavi menu rollover
		$(".fix_dtl").hover(
			function() {
				$(this).animate({backgroundColor:"#CCCCCC"},"fast", function(){});
				},
			function(){
				$(this).animate({backgroundColor:bg_color},"fast", function(){});
			}
		);
		
		
		if (NS) {
			$("#navi p a").mouseover(
				function() {
					var rolloverImg = document.getElementById(this.id + "_rovr");
					rolloverImg.style.MozOpacity = '0';
				}
			);	
			$("#navi p a").mouseout(
				function() {
					var rolloverImg = document.getElementById(this.id + "_rovr");
					rolloverImg.style.MozOpacity = '100';
				}
			);
			$("#navi ul li a").mouseover(
				function() {
					var rolloverImg = document.getElementById(this.id + "_rovr");
					rolloverImg.style.MozOpacity = '0';
				}
			);	
			$("#navi ul li a").mouseout(
				function() {
					var rolloverImg = document.getElementById(this.id + "_rovr");
					rolloverImg.style.MozOpacity = '100';
				}
			);
		} else {
			$("#navi p a").hover(
				function() {ROver(this.id);},
				function() {ROut(this.id);}
			);
			$("#navi ul li a").hover(
				function() {ROver(this.id);},
				function() {ROut(this.id);}
			);
		}
	}


	function ROver(id) {
		$("#"+id+"_rovr").fadeTo("fast", 0.0, function(){});
	}

	function ROut(id) {
		$("#"+id+"_rovr").fadeTo("fast", 1.0, function(){});
	}

	function setFader(targetObj,targetAlpha){
	    targetObj.targetAlpha = targetAlpha;
	    if(targetObj.currentAlpha==undefined){
	        targetObj.currentAlpha = 100;
	    }
	    if(targetObj.currentAlpha==targetObj.targetAlpha){
	        return;
	    }
	    if(!targetObj.fading){
	        if(!targetObj.fader){
	            targetObj.fader = fader;
	        }
	        targetObj.fading = true;
	        targetObj.fader();
	    }
	}

	function fader(){
	    this.currentAlpha += (this.targetAlpha - this.currentAlpha)*0.2;
	    if(Math.abs(this.currentAlpha-this.targetAlpha)<1){
	        this.currentAlpha = this.targetAlpha;
	        this.fading = false;
	    }
	    var alpha = parseInt(this.currentAlpha);
	    this.style.opacity = alpha/100;
	    this.style.filter = 'alpha(opacity='+alpha+')';
	    if(this.fading){
	        var scope = this;
	        setTimeout(function(){fader.apply(scope)},30);
	    }
	}

	function addEvent(eventTarget, eventName, func){
	  if(eventTarget.addEventListener){
			eventTarget.addEventListener(eventName, func, false);
	  } else if(IE > -1){
			eventTarget.attachEvent('on'+eventName, function(){func.apply(eventTarget);});
	  }
	}

	if (NS) {
	  window.addEventListener('load',setInit,false);
	} else {
		addEvent(window,'load',setInit);
	}
}


var ssOgn={
	fixAllLinks: function(){
		var allLinks=document.getElementsByTagName('a');
		for(var i=0;i<allLinks.length;i++){
			var lnk=allLinks[i];
			if((lnk.href && lnk.href.indexOf('#')!=-1)&&((lnk.pathname==location.pathname)||('/'+lnk.pathname==location.pathname))&&(lnk.search==location.search)){
				ssOgn.addEvent(lnk,'click',ssOgn.smoothScroll);
			}
		}
	},
	smoothScroll: function(e){
		if(window.event){
			target=window.event.srcElement;
		} else if(e){
			target=e.target;
		} else return;
		if(target.nodeName.toLowerCase()!='a'){
			target=target.parentNode;
		}
		if(target.nodeName.toLowerCase()!='a')return;
		target.style.color = "#800080";
		anchor=target.hash.substr(1);
		var allLinks=document.getElementsByTagName('a');
		var destinationLink=null;
		for(var i=0;i<allLinks.length;i++){
			var lnk=allLinks[i];
			if(lnk.name &&(lnk.name==anchor)){
				destinationLink=lnk;
				break;
			}
		}
		if(!destinationLink)destinationLink=document.getElementById(anchor);
		if(!destinationLink)return true;
		var destx=destinationLink.offsetLeft; 
		var desty=destinationLink.offsetTop;
		var thisNode=destinationLink;
		while(thisNode.offsetParent&&(thisNode.offsetParent!=document.body)){
			thisNode=thisNode.offsetParent;
			destx += thisNode.offsetLeft;
			desty += thisNode.offsetTop;
		}
		clearInterval(ssOgn.INTERVAL);
		cypos=ssOgn.getCurrentYPos();
		ss_stepsize=parseInt((desty-cypos)/ssOgn.EasingSteps);
		ssOgn.INTERVAL=setInterval('ssOgn.scrollWindow('+ss_stepsize+','+desty+',"'+anchor+'")',10);
		if(window.event){
			window.event.cancelBubble=true;
			window.event.returnValue=false;
		}
		if(e && e.preventDefault && e.stopPropagation){
			e.preventDefault();
			e.stopPropagation();
		}
	},
	scrollWindow: function(scramount,dest,anchor){
		wascypos=ssOgn.getCurrentYPos();
		isAbove=(wascypos < dest);
		var easingPar;
		if (ssOgn.EasingPercentage <= 0) {
			easingPar=0;
		} else if (ssOgn.EasingPercentage >= 100) {
			easingPar=1;
		} else {
			easingPar=ssOgn.EasingPercentage/100;
		}
		if (isAbove) {
			if (1-(wascypos/dest)<(easingPar)) {
				scramount=scramount-(scramount*(wascypos/dest))+1;
			}
		} else {
			if (wascypos/(scramount*ssOgn.EasingSteps*-1)<easingPar) {
				scramount=scramount-(scramount*(1-(wascypos/(scramount*ssOgn.EasingSteps*-1))))-1;
			}
		}
		window.scrollTo(0,wascypos + scramount);
		iscypos=ssOgn.getCurrentYPos();
		isAboveNow=(iscypos < dest);
		if((isAbove!=isAboveNow)||(wascypos==iscypos)){
			window.scrollTo(0,dest);
			clearInterval(ssOgn.INTERVAL);
			location.hash=anchor;
		}
	},
	getCurrentYPos: function(){
		if(document.body && document.body.scrollTop)
			return document.body.scrollTop;
		if(document.documentElement && document.documentElement.scrollTop)
			return document.documentElement.scrollTop;
		if(window.pageYOffset)
			return window.pageYOffset;
		return 0;
	},
	addEvent: function(elm,evType,fn,useCapture){
		if(elm.addEventListener){
			elm.addEventListener(evType,fn,useCapture);
			return true;
		} else if(elm.attachEvent){
		var r=elm.attachEvent("on"+evType,fn);
		return r;
		} else {
			alert("Handler could not be removed");
		}
	}
}

/* easing setting */
ssOgn.EasingSteps=20;
ssOgn.EasingPercentage=50;

// CSS Import
function importCSS() {
	if (Win || (Mac && safari || Opera)) {
		document.write('<link href="./common/css/import.css" rel="stylesheet" type="text/css" />');
	} else {
		document.write('<link href="./common/css/import2.css" rel="stylesheet" type="text/css" />');
	}
}
importCSS();
ssOgn.addEvent(window,"load",ssOgn.fixAllLinks);
