//=========================================================
//    雨レーダー
//=========================================================

// ファイル名の時刻指定部分
// "<n>b" ･･･ <n>×0.5時間前
// "<n>"  ･･･ <n>時間後
var timExt_all = 	["48b","47b","46b","45b","44b","43b","42b","41b","40b","39b","38b","37b","36b","35b","34b","33b","32b","31b","30b","29b","28b","27b","26b","25b","24b","23b","22b","21b","20b","19b","18b","17b","16b","15b","14b","13b","12b","11b","10b","9b","8b","7b","6b","5b","4b","3b","2b","1b","0","1","2","3","4","5","6"];
//↓１時間おきに間引く
var timExt = 	["48b","46b","44b","42b","40b","38b","36b","34b","32b","30b","28b","26b","24b","22b","20b","18b","16b","14b","12b","10b","8b","6b","4b","2b","0","1","2","3","4","5","6"];

var areaC = ["00","01","02","03","04","05","06","07","08","09","10"];

var InitTim = 0;
for(var i=0; i<timExt.length; i++) {
	if (timExt[i] == "0") InitTim = i;
}

var curTim = InitTim;
var curArea = 0;
var timTbl = document.getElementById("timTable");
var baseName = "/imagefiles/radar/radar";
var isPlay = false;
var timerId = 0;
var inc = 700;
var allAreaFlag = false; // 時刻切り替え時に全地域を先読み
var zoomFlag = true;			// 地域切り替え時にズームする

// ズームイン・アウト用変数

// ズームイン時のサイズと位置
var bmap = {
	 0: {'sx0':480, 'px0':  0, 'py0':  0},
	 1: {'sx0':148, 'px0':272, 'py0': 18},
	 2: {'sx0':110, 'px0':251, 'py0':110},
	 3: {'sx0':110, 'px0':203, 'py0':148},
	 4: {'sx0':100, 'px0':237, 'py0':190},
	 5: {'sx0':105, 'px0':205, 'py0':185},
	 6: {'sx0':110, 'px0':172, 'py0':184},
	 7: {'sx0':110, 'px0':142, 'py0':186},
	 8: {'sx0':110, 'px0':143, 'py0':222},
	 9: {'sx0':110, 'px0':116, 'py0':222},
	10: {'sx0':110, 'px0': 50, 'py0':334}
};

var sx0 = 150; // サムネイル初期サイズ
var sy0 = 150;
var sx1 = 480;
var sy1 = 480;

var px0 = 263;  // サムネイル初期座標
var py0 = 21;
var px1 = 0;
var py1 = 0;
var dx  = 50;

var ddd= 1; // msec;
var timer0 = 0;
var mvFlag = false;

var targetArea = '';
var sx,sy,px,py = 0;
var tmpImg = '#tmpImg';

// 地域切り替え (TAB連動)
function selArea(a) {

	if (a == "") a = curArea-0;
	
	curArea = a-0;

	goTim(curTim);

	for (var i = 0; i < areaC.length; i ++) {
		var elm = document.getElementById("Area"+areaC[i]);
		if (elm) elm.style.display = (i == curArea-0)?"block":"none";
	}

	setTab("AreaTabGroup", areaC[curArea-0]);

	if(typeof selectKind == "function")
	{
		selectKind(active.kind['w'],'w');
		selectKind(active.kind['h'],'h');
	}
	if(typeof $.cookie == "function")
	{
		$.cookie('area_code',curArea,{expires: 365, path: '/' });
	}
	
	$('#menu0').css('display','block');
	$('#menu1').css('display','none');
}

// 時刻の選択
function goTim(t) {

	if (t > timExt.length-1) t=timExt.length-1;

	var id = 'Area'+areaC[curArea-0]+"img";
	var fname= baseName + areaC[curArea-0] +"_"+timExt[t]+".png"; 	
	document.getElementById(id).src = fname; 	

// タイムラインの書き換え
	for(var i=0; i < timExt.length; i++) {
		if(i==t){
			document.getElementById("t"+i).style.backgroundColor = "#666";
		}else if(i==InitTim) {
			document.getElementById("t"+i).style.backgroundColor = "#CFF";
		} else {
			document.getElementById("t"+i).style.backgroundColor = "#eee";
		}
	}
  curTim = t;
}

function moveTim(n) {
	
	var t = curTim + n;

	if (t<0) {t=0}
	if (t>timExt.length-1) {t=timExt.length-1}

	goTim(t);
}

function nextTim() {
	
	var t = curTim+1;

	if (t>timExt.length-1) {
		t=timExt.length-1;
		playStop();
	}
	goTim(t);
}

var imgStop = "/img/playerMark/player_stop.png";
var imgPlay = "/img/playerMark/player_play.png";

function playStop() {

	var btn = document.getElementById('playBotton'); 

	if(isPlay) clearInterval(timerId);
	isPlay = false;
	btn.src = imgPlay;
	btn.title = '再生';
}

function playTim() {

	var btn = document.getElementById('playBotton'); 

	if(isPlay) {
		playStop();
	} else {
    if (curTim >= timExt.length-1) goTim(0);
		timerId = setInterval('nextTim()', inc);
		isPlay = true;
		btn.src = imgStop;
		btn.title = '停止';
	}
}


function setThu(n) {

	var imgBase = '/imagefiles/radar/radar' + areaC[n] + '_';
	var imgExt  = '.png';

	for (var i=0; i<= 6; i++) {
		$('#img'+i).attr('src', imgBase + i + imgExt);
	}
}

var menuNo = 0;

function selMenu() {

	if (menuNo == 0) {
		menuNo = 1;
		setTab('AreaTabGroup',11);
		setThu(curArea);
		$('#menu0').css('display','none');
		$('#menu1').css('display','block');
	} else {
		menuNo = 0;
		selArea(curArea);
	}
}

// ズームイン・アウト

function mv1() {

	$(tmpImg).css('width',sx);
	$(tmpImg).css('height',sy);
	$(tmpImg).css('left',px);
	$(tmpImg).css('top',py);

	sx += dx;
	
	if ((dx>0 && sx>=sx1) || (dx<0 && sx<=sx1)) {
		clearInterval(timer0);
		mvFlag = false;
		selArea(targetArea);
		$(tmpImg).css('display','none');
	} else {
		if (sx0==sx1) {sy = sy0 } else { sy = sy0 + Math.round((sy1-sy0)*(sx-sx0)/(sx1-sx0))};
		if (sx0==sx1) {px = px0 } else { px = px0 + Math.round((px1-px0)*(sx-sx0)/(sx1-sx0))};
		if (sy0==sy1) {py = py0 } else { py = py0 + Math.round((py1-py0)*(sy-sy0)/(sy1-sy0))};
	}
}

function selArea2(a) {

	var an = a-0;				// ターゲット地方
	var cn = curArea-0;	// カレント地方

	if (zoomFlag && (cn == 0 || an == 0)) {

		if(cn == 0) {
			sx0 = bmap[an].sx0;	sy0 = sx0;
			px0 = bmap[an].px0;
			py0 = bmap[an].py0;

			sx1 = bmap[0].sx0;	sy1 = sx1;
			px1 = bmap[0].px0;
			py1 = bmap[0].py0;
			dx = 50;
			var fname= baseName + areaC[an] +"_"+timExt[curTim]+".png"; 
		} else {
			sx0 = bmap[0].sx0;	sy0 = sx0;
			px0 = bmap[0].px0;
			py0 = bmap[0].py0;

			sx1 = bmap[cn].sx0;	sy1 = sx1;
			px1 = bmap[cn].px0;
			py1 = bmap[cn].py0;
			dx = -50;
			var fname= baseName + areaC[cn] +"_"+timExt[curTim]+".png"; 
		}

		sx=sx0;	sy=sy0;
		px=px0;	py=py0;

		targetArea = a;

		$(tmpImg).attr('src' , fname);
		mv1();
		$(tmpImg).css('display','block');

		timer0 = setInterval('mv1()', ddd);
		mvFlag = true;

		if (an == 0) selArea(targetArea);
	
	} else {
		selArea(a);
	}
}

// 初期化
$(function() {

	var argv = getUrlVars(); 

	if (argv['area']) {
		var a = argv['area'];
		selArea(a);
		$.cookie('area_code',a , { path: '/', expires: 365 } );
	} else {
		var a = $.cookie('area_code');
		if(a != null) {
			selArea(a);
		}
	}
});



