//User Agent
var ua = new Object();
function setUa(){
	var nav_ua = navigator.userAgent;
	var nav_app = navigator.appName;
	var nav_ver = navigator.appVersion;

	//ua
	ua.dom = document.getElementById;
	ua.omn = nav_ua.indexOf("OmniWeb") != -1;
	ua.n4 = document.layers && !ua.omn;
	ua.opera = window.opera;
	ua.ie = document.all && !ua.opera;
	ua.safari = nav_ua.indexOf("safari",0) != -1;
	ua.gecko = (nav_ua.indexOf("Gecko",0) != -1) && !ua.safari;
	ua.netscape = nav_ua.indexOf("Netscape") != -1;
	ua.firefox = nav_ua.indexOf("Firefox") != -1;

	//os
	ua.mac = nav_ver.indexOf('Mac',0) != -1;
	ua.win = nav_ver.indexOf('Win',0) != -1;
	
	//iever
	var s = nav_ua.indexOf("MSIE ",0) + 5;
	var e = nav_ua.indexOf(";",s);
	ua.iever = nav_ua.substring(s,e);
}
setUa();

//Smooth Scroll
function smoothScroll(elem,yLastPosition,yTargetPosition) {
	var xScrollSpeed = 1;
	var yScrollSpeed = 1.1;
	
	var y1 = y2 = 0;
	if (document.documentElement) y1 = document.documentElement.scrollTop || 0;
	if (document.body) y2 = document.body.scrollTop || 0;
	var yNow = Math.max(y1, y2);
	
	if(!yLastPosition) yLastPosition = yNow;
	
	var xTarget = yTarget = 0;
	if(!yTargetPosition){
		if(!elem) var elem = "anchorPagetop";
		if(elem.substring(0,7)=="http://"){
			if(elem.indexOf("#")!=-1){
				elem = elem.split("#")[1];
			}else{
				elem = "anchorPagetop";
			}
		}
		
		if(document.getElementById && elem!="anchorPagetop"){
			var obj = document.getElementById(elem);
			if(elem) {
				yTarget = obj.offsetTop;
				while((obj = obj.offsetParent) != null){
					yTarget += obj.offsetTop;
				}
			}
		}
		if(yTarget>getWindowScrollSize().height-getWindowInnerSize().height) {
			yTarget = getWindowScrollSize().height-getWindowInnerSize().height;
		}
	} else {
		yTarget = yTargetPosition;
	}

	var xTempTarget = xTarget;
	var yTempTarget = yTarget;

	if(yTarget>yNow) yTempTarget = Math.ceil( yTarget - ( yTarget - yNow ) / yScrollSpeed );
	if(yTarget<yNow) yTempTarget = Math.floor( ( yNow - yTarget ) / yScrollSpeed + yTarget );
	window.scrollTo(xTempTarget, yTempTarget);
	
	if (yTarget!=yNow && yLastPosition==yNow) {
		var nextFunc = "smoothScroll('" + elem + "'," + yTempTarget + "," + yTarget + ")";
		window.setTimeout(nextFunc, 16);
	}
}


//window inner size
function getWindowInnerSize(){
	var obj = new Object();
	if(document.all || (document.getElementById && ua.ie)){
		obj.width = document.documentElement.clientWidth;
		obj.height = document.documentElement.clientHeight;
	} else if(document.layers || document.getElementById){
		obj.width = window.innerWidth;
		obj.height = window.innerHeight;
	}
	return obj;
}

//window scroll size
function getWindowScrollSize(){
	var obj = new Object();
	obj.width = document.documentElement.scrollWidth;
	obj.height = document.documentElement.scrollHeight;
	return obj;
}

function kmout(name){};
function kmover(name){};


