/*
まさおコンストラクション　クッキースクリプト　初期設定プログラム
まさおコンストラクション　福田直人　　http://www.t3.rim.or.jp/~naoto/naoto.html
クッキープログラム　　　　shine_star　http://mist.freespace.jp/shine_star/
*/

// 以下は、Javascriptに詳しい人以外の変更はお勧めできません

//フレーム外の場合
if(self ==top){location.href = "index.html";}

// 配列宣言
var jouken = new Array(100);
var shitei = new Array(100);
var shutsugen = new Array(100);
var pattern = new Array(100);
var stagecg = new Array(100);
var stagename = new Array(100);
var charaname = new Array(10);
var kaiwakyara = new Array();



// キャラ設定
var j_tail_type = new Array(10);
var j_tail_hf = new Array(10);
var j_fire_mkf = new Array(10);
var grenade_type = new Array(10);
var suberuyuka_hkf = new Array(10);
var dengeki_mkf = new Array(10);
var yachamo_kf = new Array(10);
var airms_kf = new Array(10);
var grenade_red1 = new Array(10);
var grenade_green1 = new Array(10);
var grenade_blue1 = new Array(10);
var grenade_red2 = new Array(10);
var grenade_green2 = new Array(10);
var grenade_blue2 = new Array(10);
var moji_jet = new Array(10);
var moji_grenade = new Array(10);
var game_speed = new Array(10);

for(i=1;i<=99;i++){
	jouken[i] = new Array(100);
	pattern[i] = new Array(10);
}


//初期宣言
last_stage = 0;
hensu = 0;
play_stage=1;
player=1;

// ゲット数呼び出し
hikidashi = location.search;
if(hikidashi){
	hikidashi = hikidashi.substring(1,hikidashi.length);
	hikidashi = hikidashi.split("&");
	play_stage = eval( hikidashi[0].substring("stage=".length,hikidashi[0].length) ) * 1;
	player = eval( hikidashi[1].substring("player=".length,hikidashi[1].length) ) * 1;
}

// クッキー呼び出し
cookie_yomikomi = myGetCookie("cookie");
if(cookie_yomikomi){
	//セーブデータ編纂
	cookie_load = cookie_yomikomi.split(":");
	cookie = cookie_load[cookie_load[3]].split("#");
	last_stage = eval( cookie[0] ) * 1;
	hensu = eval( cookie[1] ) * 1;
}else{
	var cookie_load = new Array(10);
	//初めてゲームを開始
	cookie_load[3]=1;
	cookie_load[0]="0#0";
	cookie_load[1]="0#0";
	cookie_load[2]="0#0";
	last_stage=0;
	hensu=0;
	mySetCookie("cookie",cookie_load[0]+":"+cookie_load[1]+":"+cookie_load[2]+":"+cookie_load[3],365);
}

// ハイスコアを取得関数
function registerHiScore(score) {
	if(score>=1000){
		if(kaiwa==0){document.soushin.action = "menu.html";}
		else if((kaiwa == 0)&&(play_stage == sutejisu)&&(lastclear)){document.soushin.action = lastclear;}
		else if((kaiwa == 0)&&(play_stage == sutejisu)&&(!lastclear)){document.soushin.action = "menu.html";}
		else if((kaiwa == 1)&&(play_stage == eval(last_stage) + 1)){document.soushin.action = "story_c.html";}
		else{document.soushin.action = "menu.html";}
		shori();
		document.soushin.stage.value = play_stage;
		document.soushin.stage.player = 1;
		document.soushin.submit();
	}
}

// クッキー処理関数
function shori() {
	if(play_stage == eval(last_stage) + 1){//ステージをクリアした場合
		last_stage = eval(last_stage) * 1 + 1;
		if(play==1){
			hensu = kakunin(last_stage,hensu);
		}
	}
	cookie_load[cookie_load[3]] = last_stage+"#"+hensu;
	mySetCookie("cookie",cookie_load[0]+":"+cookie_load[1]+":"+cookie_load[2]+":"+cookie_load[3],365);
}

// 数値確認関数
function kakunin(last_stage,hensu) {
	if(shitei[last_stage]==9999){
		return hensu;
	}
	return shitei[last_stage];
}

// クッキー読込関数
function myGetCookie(myCookie){
	myCookie = "@" + myCookie + "=";
	myValue = null;
	myStr = document.cookie + ";" ;
	myOfst = myStr.indexOf(myCookie);
	if (myOfst != -1){
		myStart = myOfst + myCookie.length;
		myEnd = myStr.indexOf(";" , myStart);
		myValue = unescape(myStr.substring(myStart,myEnd));
	}
	return myValue;
}

// クッキー書出関数
function mySetCookie(myCookie,myValue,myDay){
	myExp = new Date();
	myExp.setTime(myExp.getTime()+(myDay*24*60*60*1000));
	myItem = "@" + myCookie + "=" + escape(myValue) + ";";
	myExpires = "expires="+myExp.toGMTString();
	document.cookie = myItem + myExpires;
}

// プレイヤーセレクト関数
function playerselect(){
	haikei(stagecg[play_stage]);
	for(i=1;i<=9;i++){
		if((i > ninzu)&&(i < 8)){
			continue;
		}
		if(! ( (i < 8) || ((i == 8) && (newchara == 1) && (play_stage <= last_stage)) || ((i == 9) && (storychara == 1) && (shutsugen[last_stage] == 1)) ) ){
			continue;
		}
			document.write('<tr><td onClick="sentaku(\''+i+'\')" class="tbl_name'+i+'">'+charaname[i]+'</td></tr>');
	}
}

// プレイヤー選択関数
function sentaku(n){
	document.soushin.action = play_stage +".html";
	document.soushin.stage.value = play_stage;
	document.soushin.player.value = n;
	document.soushin.submit();
}

// 選択画面移動関数
function storyfin(){
	document.soushin.action = "sentaku.html";
	if(ninzu+storychara+newchara==1){
		document.soushin.action = play_stage + ".html";
	}else{
		document.soushin.action = "sentaku.html";
	}
	document.soushin.stage.value = play_stage;
	document.soushin.player.value = 1;
	document.soushin.submit();
}

// 会話名前関数
function kaiwanamae(name){
	document.all("kyara").innerText =  name;
	if(kaiwakyara[name]!=0){document.kao.src = kaiwakyara[name];}
	else{document.kao.src = "null.gif";}
	hyouji_message="";
}

// 会話発言関数
function message(mes){
	hyouji_message = hyouji_message + mes + "\n";
	document.all("message").innerText =  hyouji_message;
}

// メニュー送信関数
function modoru(){
	if((play_stage == sutejisu) && (lastclear)){
		location.href=lastclear;
	}else{
		location.href="menu.html";
	}
}

// 背景画像設定関数
function haikei(gazou){
	if(gazou!=0){document.gazoumein.src = gazou;}
	else{document.gazoumein.src = "null.gif";}
}

// 文字色関数
function fontcolor(iro){
	document.all("kyara").color = iro;
	document.all("message").color = iro;
}

// ゾーン表示関数
function stagehyouji(){
	cg=last_stage+1;
	if(cg>sutejisu){
		cg=sutejisu;
	}
	hyoujip=0;
	for(i=1;i<=last_stage+1;i++){
		hit=0;
		for(r=1;r<=99;r++){
			if(play==0){
				hit=1;
				break;
			}else if(jouken[i][r] == hensu){
				hit=1;
				break;
			}else if(jouken[i][r] == 9999){
				hit=1;
				break;
			}else if(jouken[i][r] == undefined){
				break;
			}
		}
		if(hit==0){
			continue;
		}
		hyoujip++;
		if(hyoujip==5){
			break;
		}
	}
	hyoujip=100/hyoujip;
	haikei(stagecg[cg]);
	n=0;
	q=0;
	document.write('<tr>');
	for(i=1;i<=last_stage+1;i++){
		hit=0;
		for(r=1;r<=99;r++){
			if(play==0){
				hit=1;
				break;
			}else if(jouken[i][r] == hensu){
				hit=1;
				break;
			}else if(jouken[i][r] == 9999){
				hit=1;
				break;
			}else if(jouken[i][r] == undefined){
				break;
			}
		}
		if(hit==0){
			continue;
		}
		if(stagename[i] == undefined){
			break;
		}
		
		if(n == 5){
			n=0;
			q=1;
			document.write('</tr><tr>');
		}
		n++;
		document.write('<td onClick="start(\''+i+'\')" align="center" class="tbl_basho'+i+'" width="'+hyoujip+'%">'+stagename[i]+'</td>');
	}
	if(q == 1){
		for(i=n;i<5;i++){
			document.write('<td width="'+hyoujip+'%" class="tbl_basho0">　</td>');
		}
	}
	document.write('</tr>');
}

// ステージ選択関数
function start(n){
	if((kaiwa == 0)&&(n == last_stage+1)&&(ninzu+storychara+newchara==1)){document.soushin.action = n + ".html";}
	else if((kaiwa != 0)&&(n == last_stage+1)&&(ninzu+storychara+newchara==1)){document.soushin.action = "story_a.html";}
	else if((kaiwa == 0)&&(n != last_stage+1)&&(ninzu+storychara+newchara==1)){document.soushin.action = n + ".html";}
	else if((kaiwa != 0)&&(n != last_stage+1)&&(ninzu+storychara+newchara==1)){document.soushin.action = n + ".html";}
	else if((kaiwa == 0)&&(n == last_stage+1)&&(ninzu+storychara+newchara!=1)){document.soushin.action = "sentaku.html";}
	else if((kaiwa != 0)&&(n == last_stage+1)&&(ninzu+storychara+newchara!=1)){document.soushin.action = "story_a.html";}
	else if((kaiwa == 0)&&(n != last_stage+1)&&(ninzu+storychara+newchara!=1)){document.soushin.action = "sentaku.html";}
	else if((kaiwa != 0)&&(n != last_stage+1)&&(ninzu+storychara+newchara!=1)){document.soushin.action = "sentaku.html";}

	document.soushin.stage.value = n;
	document.soushin.player.value = 1;
	document.soushin.submit();
}

// ギブアップ関数
function giveup(){
	if(confirm('本当にギブアップしますか？')){
		if(ninzu+storychara+newchara==1){
			document.soushin.action = "menu.html";
		}else{
			document.soushin.action = "sentaku.html";
		}
		document.soushin.stage.value = play_stage;
		document.soushin.player.value = 1;
		document.soushin.submit();
	}
}

// トップセーブデータ％表示関数
function tophyouji(){
	cg=last_stage+1;
	if(cg>sutejisu){
		cg=sutejisu;
	}
	haikei(stagecg[cg]);
	document.all("topgamen").style.background   = "#99c";
	for(i=0;i<=2;i++){
		cookie = cookie_load[i].split("#");
		persent = Math.floor(cookie[0] * 100 / sutejisu);
		if(persent<10){persent="00"+persent;}
		else if(persent<100){persent="0"+persent;}
		document.all('save'+i).innerText = persent;
	}
}

// 削除関数
function datadell(x){
	if(confirm('本当にセーブデータ'+(eval(x)+1)+'を削除しますか？')){
		cookie_load[x]="0#0";
		mySetCookie("cookie",cookie_load[0]+":"+cookie_load[1]+":"+cookie_load[2]+":"+cookie_load[3],365);
		document.all('save'+x).innerText = "000";
	}
}

// 開始関数
function kaishi(x){
	if(confirm('セーブデータ'+(eval(x)+1)+'をプレイしますか？')){
		mySetCookie("cookie",cookie_load[0]+":"+cookie_load[1]+":"+cookie_load[2]+":"+x,365);
		location.href="menu.html";
	}
}

// スタートモード関数
function startmode(x){
	selectmode=x;
	switch(x)
	{
	case '0':
		document.all("topgamen").style.background   = "#99c";
	break;
	case '1':
		document.all("topgamen").style.background   = "#c9c";
	break;
	}
}

// スタートセーブデータ関数
function startdata(x){
	switch(selectmode)
	{
	case '0':
		kaishi(x);
	break;
	case '1':
		datadell(x);
	break;
	}
}
