﻿// JavaScript Document	
	var Intervaldelay = 80;
	var movement = 50;
	var SOUND = false;
	var BGM = false;
// -------------------------------주인공 관련 변수 시작

	var PIC_player = new Array;
	PIC_player[0] = "player1-0.png";
	PIC_player[1] = "player1-1.png";
	PIC_player[2] = "player1-2.png";
	PIC_player[3] = "player1-3.png";
	PIC_player[4] = "player1-2.png";
	for (i=5;i<7;i++){
	PIC_player[i] = "player1-1.png";
	} // 주인공에 사용할 그림 등록.
	var PIC_player_cnt = 0; // 자바스크립트 애니메이션에 사용될 카운터.
	
	var player_width = 64;  	// 충돌검사 위한 주인공의 그림크기.
	var player_height = 64; 	// 충돌검사 위한 주인공의 그림크기.	
	var player_x=10; 			// 주인공의 초기위치 : left값
	var player_y=100; 			//  주인공의 초기위치 :top 값
	var player_x_final = player_x + player_width;		// 충돌검사 위한 주인공의 범위값
	var player_y_final = player_y + player_height;	 	// 충돌검사 위한 주인공의 범위값
	var player_dead_x = player_x + 19; 					// 미사일 충돌검사를 위한 주인공의 범위
	var player_dead_y = player_y + 3;					// 미사일 충돌검사를 위한 주인공의 범위
	var player_dead_x_final = player_x_final - 14;		// 미사일 충돌검사를 위한 주인공의 범위
	var player_dead_y_final = player_y_final - 19;		// 미사일 충돌검사를 위한 주인공의 범위
	
// -------------------------------주인공 관련 변수 끝	

// -------------------------------배경 관련 변수 시작
	var back_x = -150; 	// 배경의 초기 위치 
	var back_y = -150; 	// 배경의 초기 위치 
//-------------------------------- 배경관련 변수 끝

	
function addLoadEvent(func) {
	var oldonLoad = window.onload;
	if (typeof window.onload != 'function') {
			window.onload = func;
	}else {
		window.onload = function(){
			oldonLoad();
			func();
		}
	}
}

function check() { 
	var force = document.getElementById("force");
	var control = document.getElementById("control");
	var control_button = control.getElementsByTagName("a");
	var title = document.getElementById("debug");
	var BG = document.getElementById("background");
	var BG_layer = BG.getElementsByTagName("p");
	
	var Debug_text = " 주인공: player_y:("+force.style.top+")"+player_y+" : player_x:("+force.style.left+")"+player_x+" <br /> 배경: back_y:"+BG_layer[2].style.top+" : back_x:"+BG_layer[2].style.left+"<br />";
	
// ----------------------------------------------------- 주인공의 애니메이션 효과 시작 
	PIC_player_cnt=PIC_player_cnt+0.3;
	var PP_CNT = Math.floor(PIC_player_cnt);
	force.setAttribute ("src",PIC_player[PP_CNT]);
	if (PP_CNT >= PIC_player.length-1) PIC_player_cnt = 0;
// --------------------------------------------------------	주인공의 애니메이션 효과 끝
	
	if (force.style.left == player_x +"px" && force.style.top  == player_y +"px" && force.check) {
		return false;
	}
	
	player_x_final = player_x + player_width;
	player_y_final = player_y + player_height;	
	
	if (player_x <= 0) {player_x = 0;}
	if (player_y <= 0) {player_y = 0;}
	if (player_x_final >= 500) {player_x = 500-player_width;}
	if (player_y_final >= 300) {player_y = 300-player_height}
	if (back_x <= -560) {back_x = -560;}
	if (back_y <= -290) {back_y = -290}
	if (back_x >= -140) {back_x = -140;}
	if (back_y >= -50) {back_y = -50;}
	


	force.style.left = player_x + "px";
	force.style.top = player_y + "px";
	

	
	BG_layer[4].style.left = back_x*2 + "px";
	BG_layer[4].style.top = back_y*2 + "px";
	BG_layer[3].style.left = Math.floor(back_x/2) + "px";
	BG_layer[3].style.top = Math.floor(back_y/2) + "px";
	BG_layer[2].style.left = Math.floor(back_x/3) + "px";
	BG_layer[2].style.top = Math.floor(back_y/3) + "px";
	BG_layer[1].style.left = Math.floor(back_x/4) + "px";
	BG_layer[1].style.top = Math.floor(back_y/4) + "px";
	BG_layer[0].style.left = Math.floor(back_x/6) + "px";
	BG_layer[0].style.top = Math.floor(back_y/6) + "px";

	
	
	if (title.innerHTML != Debug_text) {
	title.innerHTML = Debug_text;
	}
	
}
addLoadEvent(준비);
function 준비() {
	var force = document.getElementById("force");
	var control = document.getElementById("control");
	var control_button = control.getElementsByTagName("a");
	var control_button_li = control.getElementsByTagName("li");
	var title = document.getElementById("header").getElementsByTagName("h1");
	var BGMcontrol = document.getElementById("sound").getElementsByTagName("li");	
	force.check = setInterval ("check()",Intervaldelay);
	
	control_button[0].onmouseup= function () {				//위로가는 버튼
		sound_click();
		moveElement("force", player_x, player_y, player_x, player_y - movement,Intervaldelay);
		moveElement("background", back_x, back_y, back_x, back_y + movement,Intervaldelay);
		}
		control_button[1].onmouseup = function () {		//왼쪽으로 가는 버튼
		sound_click()
		moveElement("force", player_x, player_y, player_x - movement, player_y,Intervaldelay);
		moveElement("background", back_x, back_y, back_x + movement, back_y,Intervaldelay);
		}
		control_button[2].onmouseup = function () {		//오른쪽으로 가는 버튼
		sound_click()
		moveElement("force", player_x, player_y, player_x + movement, player_y,Intervaldelay);
		moveElement("background", back_x, back_y, back_x - movement, back_y, Intervaldelay);
		}
		control_button[3].onmouseup = function () {		//아래로 가는 버튼
		sound_click()
		moveElement("force", player_x, player_y, player_x, player_y+ movement,Intervaldelay);
		moveElement("background",back_x,back_y,back_x,back_y-movement,Intervaldelay);
		}
		control_button[4].onmouseup = function () {		//BGM 켜는 버튼
		sound_click()
		BGMcontrol[0].innerHTML = '	<embed src="bgm01.MID" loop="true" autostart="true" hidden="true"></embed>';
		control_button_li[4].setAttribute ("style","display:none");
		control_button_li[5].setAttribute ("style","display:block");
		BGM = true;
		}
		control_button[5].onmouseup = function () {		//BGM 끄는 버튼
		BGMcontrol[0].innerHTML = null;
		control_button_li[5].setAttribute ("style","display:none");
		control_button_li[4].setAttribute ("style","display:block");
		BGM = false;
		}
		control_button[6].onmouseup = function () {		//SOUND 켜는 버튼
		sound_click()
		control_button_li[6].setAttribute ("style","display:none");
		control_button_li[7].setAttribute ("style","display:block");
		SOUND = true;
		}
		control_button[7].onmouseup = function () {		//SOUND 끄는 버튼
		BGMcontrol[0].innerHTML = null;
		control_button_li[7].setAttribute ("style","display:none");
		control_button_li[6].setAttribute ("style","display:block");
		SOUND = false;
		}
		
		function sound_click() {
			if (SOUND == false) return false;
			BGMcontrol[1].innerHTML = '	<embed src="effect_1.wma" autostart="true"></embed>';
		}
		
	
		
				
	

}	

function moveElement(elementID,xpos,ypos,final_x,final_y,interval) {
		if (!document.getElementById) return false;
		if (!document.getElementById(elementID)) return false;		
		
		var control = document.getElementById("control");
		var control_button = control.getElementsByTagName("a");	


		var elem = document.getElementById(elementID);
		if (elem.movement) {
			clearTimeout(elem.movement);
		}

		if (xpos == final_x && ypos == final_y) {
				if (elementID == "force") {	 force_control_showup();}
				return true;
			}
			
		if (xpos < final_x) { var dist = Math.ceil ((final_x-xpos)/10); xpos = xpos + dist;}
		if (xpos > final_x) { var dist = Math.ceil ((xpos-final_x)/10); xpos = xpos - dist;}
		if (ypos < final_y) { var dist = Math.ceil ((final_y-ypos)/10); ypos = ypos + dist;}
		if (ypos > final_y) { var dist = Math.ceil ((ypos-final_y)/10); ypos = ypos - dist;}

		
		if (elementID == "force") {		
			force_control_hide();
			var title = document.getElementById("debug");
			player_x = xpos ;
			player_y = ypos ;
		}
		if (elementID == "background") {
			back_x = xpos ;
			back_y = ypos ;			
		}


		var repeat = "moveElement('"+elementID+"',"+xpos+","+ypos+","+final_x+","+final_y+","+interval+")";
		elem.movement = setTimeout (repeat,interval);
		
		function force_control_showup() {
					for (i=0;i<=3;i++) {control_button[i].setAttribute("style","display:block;");}
		}
		function force_control_hide() {
					for (i=0;i<=3;i++) {control_button[i].setAttribute("style","display:none;");}
		}
	}
	
