var valArr = new Array();

var mouseX=0;
var mouseY=0;
var funyaX=0;
var funyaY=0;
var ifunyaX=40;
var ifunyaY=40;
var cOut = false;
var near = false;

var itv;
var fcursor;
var browser;

var fc_lf;
var fc_rf;
var fc_lb;
var fc_rb;
var fc_b;
var fc_f;
var fc_stand;
var fc_kyoro;

if ( navigator.appName == "Microsoft Internet Explorer" ){
	browser = "IE";
}
if ( navigator.appName == "Netscape" ){
	browser = "NN";
}
if ( navigator.appVersion.match("Safari") ){
	browser = "Safari";	
}
function chg_btn(i,f){
	if ( navigator.appVersion.charAt(0) >= 4 ){
			document.getElementById(i).src=f;
	}
}

function getFCookie(){
	var cookarr = new Array();
	var valCnt = 2;

	if ( document.cookie == null ){
		valArr = new Array(valCnt);
		for ( i = 0 ; i < valCnt ; i++ ){
			valArr[i] = "";
		}
		return valArr;
	}
	cookarr = document.cookie.split(";");

//	cookarr = "funya=99999;expires=Sun, 1 Mar 1998 01:28:29 UTC".split(";");
	for ( i=0 ; i < cookarr.length ; i++ ){
		cookstr = cookarr[i].match("funya=");
		if ( cookstr != null ){
			cookstr = cookarr[i].substring(cookarr[i].indexOf("=") + 1,cookarr[i].length);
			break;
		}
	}

	if ( cookstr == null ){
		valArr = new Array(valCnt);
		for ( i = 0 ; i < valCnt ; i++ ){
			valArr[i] = "";
		}
		return valArr;
	}

	valArr = unescape(cookstr).split(";");
	
	for ( i = valArr.length ; i < valCnt ; i++ ){
		tmpArr = new Array("0");
		tmpArr2 = valArr.concat(tmpArr);
		valArr = tmpArr2;
	}

	return valArr;
}

function setFCookie(){
	var fcookStr = "";

	fcookStr = valArr.join(";");

	document.cookie="funya=" + escape(fcookStr) + "; expires=Tue, 1-Jan-2030 00:00:00 GMT;"

}


function chkCursor(ipath){
	imgPath = ipath ;
	
	fc_lf = new Image();
	fc_rf = new Image();
	fc_lb = new Image();
	fc_rb = new Image();
	fc_b = new Image();
	fc_f = new Image();
	fc_stand = new Image();
	fc_kyoro = new Image();
	
	fc_lf.src = imgPath + "/cursor/funya_lf.gif"
	fc_rf.src = imgPath + "/cursor/funya_rf.gif"
	fc_lb.src = imgPath + "/cursor/funya_lb.gif"
	fc_rb.src = imgPath + "/cursor/funya_rb.gif"
	fc_f.src = imgPath + "/cursor/funya_f.gif"
	fc_b.src = imgPath + "/cursor/funya_b.gif"
	fc_stand.src = imgPath + "/cursor/funya_stand.gif"
	fc_kyoro.src = imgPath + "/cursor/funya_kyoro.gif"

	if ( valArr[1] == 1 ){
		startMVCursor();
	}

}


function movecursor() {
	if ( browser == "IE"){
		document.all["cursor"].style.left= funyaX + document.body.scrollLeft;
		document.all["cursor"].style.top = funyaY + document.body.scrollTop;
	}else if ( browser == "NN" || browser == "Safari"){
		if ( !isNaN(funyaX) ){
			fcursor.style.left = funyaX + "px";
		}
		if ( !isNaN(funyaY) ){
			fcursor.style.top = funyaY + "px";
		}
	}
}

function funyacursor(){
	var tmpimgSrc;
	
	if ( browser == "IE"){
		if ( mouseX >= document.body.clientWidth - 10 || mouseY >= document.body.clientHeight - 10){
			if ( cOut == true ){
				return;
			}
			
			chg_btn("cursorImg",imgPath + "/cursor/funya_kyoro.gif");
			
			cOut = true;
			return;
		}
	}

	if ( mouseX <= 10 || mouseY <= 10 ){
		if ( cOut == true ){
			return;
		}
		
		chg_btn("cursorImg",imgPath + "/cursor/funya_kyoro.gif");
		
		cOut = true;
		return;
	}
	
	cOut = false;
	
	diffX = funyaX + 20 - mouseX;
	diffY = funyaY + 20 - mouseY;
	
	if ( Math.abs(diffX) < 20 && Math.abs(diffY) < 20 ){
		if ( near == false ){
			chg_btn("cursorImg",imgPath + "/cursor/funya_stand.gif");
		}
		near = true;
		return;
	}
	near = false;
	

	if ( diffX > 0 && diffY > 0 ){
		tmpimgSrc = fc_lb.src;
	}

	if ( diffX > 0 && diffY < 0 ){
		tmpimgSrc = fc_lf.src;
	}

	if ( diffX < 0 && diffY < 0 ){
		tmpimgSrc = fc_rf.src;
	}

	if ( diffX < 0 && diffY > 0 ){
		tmpimgSrc = fc_rb.src;
	}

	if ( Math.abs( diffY / 2 ) > Math.abs(diffX) ){
		if ( diffY > 0 ){
			tmpimgSrc = fc_b.src;
		}
		if ( diffY < 0 ){
			tmpimgSrc = fc_f.src;
		}
	}

	funyaX = funyaX - Math.round(diffX / 10) ;
	funyaY = funyaY - Math.round(diffY / 10) ;

	if ( document.getElementById("cursorImg").src != tmpimgSrc ){
		document.getElementById("cursorImg").src = tmpimgSrc;
	}
	movecursor()


}


function initMouse(){
	if ( browser == "IE"){
		document.onmousemove = setXY;
	}
	if ( browser == "Safari" ){
		window.onmousemove = setXY_Safari;
		window.captureEvents(Event.MOUSEMOVE);
	}
	if ( browser == "NN" ){
		window.addEventListener("mousemove",setXY_NN,true);
	}
}
function setXY_Safari(evt){
	mouseX = evt.x + document.body.scrollLeft;
	mouseY = evt.y + document.body.scrollTop;
}

function setXY_NN(nnEvent){
	mouseX = nnEvent.clientX + window.pageXOffset;
	mouseY = nnEvent.clientY + window.pageYOffset;
}

function setXY(){
	mouseX = event.x;
	mouseY = event.y;
}

function startMVCursor(){

	if ( browser == "NN" || browser == "Safari"){
		fcursor = document.getElementById("cursor");
		fcursor.style.visibility = "visible";
	}else if ( browser == "IE" ){
		document.all["cursor"].style.visibility = "visible";
	}else {
		return;
	}


	valArr[1] = 1 ;
	setFCookie();

	funyaX = ifunyaX;
	funyaY = ifunyaY;

	movecursor();

	itv=setInterval('funyacursor()',100);

}
function stopMVCursor(){
	if ( browser == "NN" || browser == "Safari" ){
		fcursor.style.visibility = "hidden";
	}else if ( browser == "IE" ){
		document.all["cursor"].style.visibility = "hidden";
	}else {
		return;
	}
	valArr[1] = 0 ;
	setFCookie();
	
	clearInterval(itv);

}
