
var ClickableMapMode = 0;
var KukeiKakudaiModeId = 1;
var KukeiSyukusyoModeId = 2;
var CenterPointModeId = 3;

var move_x;
var move_y;

var kukei_down_x;
var kukei_down_y;
var kukei_move_x;
var kukei_move_y;

var kukei_width;
var kukei_height;

var mapWidth = 400;
var mapHeight = 400;

var isClicked = false;
var prefectureCode;

var Year;
var Month;
var Day;
var Hyouji_flg;

var City_kind_flg;
var Ssg_code;
var clk;
var alreadySubmit = false;

var MAP_AREA_NAME = "mapimageDummy";
var KUKEI_AREA_NAME = "mouseselectarea";

var KUKEI_KAKUDAI_OFF  = "img/mapKukeiKakudai.gif";
var KUKEI_KAKUDAI_ON   = "img/mapKukeiKakudaiOn.gif";
var KUKEI_SHUKUSHO_ON  = "img/mapKukeiSyukusyoOn.gif";
var KUKEI_SHUKUSHO_OFF = "img/mapKukeiSyukusyo.gif";
var CENTER_ON          = "img/mapCenterOn.gif";
var CENTER_OFF         = "img/point_in.gif";


function alreadyClicked() {
  if(isClicked) {
    return false;
  } else {
    isClicked = true;
    return true;
  }
}


function observeSyounin(form,checkbox) {
	if(checkbox.checked) {

	    var flg = true;
		for(i = 0;i < form.chkSyounin.length;i++) {
			if(!(flg && form.chkSyounin[i].checked)) {
				break;
			}
		    if(i == form.chkSyounin.length - 1) {
				form.chkSyounin.length.checked = true;
			}
		}
	} else {
		if(form.chkSyounin.checked) {
			form.chkSyounin.checked = false;
		}
	}
}

function hyoujuninput(file){
	
	file.click();

	//location.href = "haitiMenu.do?action=execute";

}

function OnSubmit(button){

	button.click();

}


function KukeiPos_submit(sx, sy, ex, ey) {
	
	with( window.document.forms[0] ) {
	
	    topLeftX.value = sx;
	    topLeftY.value = sy;
	    bottomRightX.value = ex;
	    bottomRightY.value = ey;
    }


	if(clk == 4){
	
		location.href = "movemanagement.do?mode=select&clk=4&prefectureCode="+prefectureCode+"&x1="+sx+"&x2="+ex+"&y1="+sy+"&y2="+ey+"&year="+Year+"&month="+Month+"&day="+Day+"&hyouji="+Hyouji_flg;
	}else{
	
		location.href = "movemanagement.do?mode=select&clk=5&prefectureCode="+prefectureCode+"&x1="+sx+"&x2="+ex+"&y1="+sy+"&y2="+ey+"&year="+Year+"&month="+Month+"&day="+Day+"&hyouji="+Hyouji_flg;
	}
	
}


function CenterPointMode_mouseup(evt) {
    
    
    var result = alreadyClicked();
    if (result != true) {
   
        return false;
    }
    
    event_reset();
    
    if( !evt ) var evt = window.event;


    var mozi = YAHOO.util.Dom.getXY( MAP_AREA_NAME );
    var SPmozi = String(mozi).split(",");
    var leftpos = parseInt(SPmozi[0]);
    var toppos = parseInt(SPmozi[1]);
        
    
    if (navigator.appName.charAt(0) == "N") {   //NN FireFox
        
        var tmpx = evt.pageX;
        var tmpy = evt.pageY;
                
        x = tmpx - leftpos;
        y = tmpy - toppos;
   
    } else {                                    //IE
    	
    	var adjustVal = getScrollValForIE();
    	
        x = ( evt.clientX + adjustVal[0]) - leftpos;
        y = ( evt.clientY + adjustVal[1] ) - toppos;
        
        
    }
    
    window.document.forms[0].selectedX.value = x;
    window.document.forms[0].selectedY.value = y;
    
    alreadySubmit = true;
    
    location.href = "movemanagement.do?mode=select&clk=6&prefectureCode="+prefectureCode+"&x="+x+"&y="+y+"&year="+Year+"&month="+Month+"&day="+Day+"&hyouji="+Hyouji_flg;
    
    lockDoubleSubmitCheck();
}

function possubmit(sx, sy, ex, ey) {
    
    alreadySubmit = true;       
    
    if( ( ex - sx ) ==  0 ) { 
	
		KukeiPos_submit( sx, sy, ex + 1, ey + 1 );
    }
    else {
    
    	KukeiPos_submit( sx, sy, ex, ey );
    }
}


function MoveClick( todoId, count,move,year,month,day,hyouji_flg){
	
	if( isSubmitImpossibility() ) {
		
		return false;
	}
	
	alreadySubmit = true;
	
	location.href = "movemanagement.do?mode=select&clk=2&prefectureCode="+todoId+"&step="+count+"&move="+move+"&year="+year+"&month="+month+"&day="+day+"&hyouji="+hyouji_flg;
	
	lockDoubleSubmitCheck();
}

function KakudaiSyukusyoClick(todoId,count,year,month,day,hyouji_flg){
	
	if( isSubmitImpossibility() ) {
		
		return false;
	}
	
	alreadySubmit = true;
	
    location.href = "movemanagement.do?mode=select&clk=3&prefectureCode=" + todoId +"&step="+count+"&year="+year+"&month="+month+"&day="+day+"&hyouji="+hyouji_flg;
	
	lockDoubleSubmitCheck();
}

function HomeClick( todoId, year,month,day,hyouji_flg){
	
	if( isSubmitImpossibility() ) {
		
		return false;
	}
	
	alreadySubmit = true;
	
    location.href = "movemanagement.do?mode=select&clk=7&prefectureCode=" + todoId +"&year="+year+"&month="+month+"&day="+day+"&hyouji="+hyouji_flg;

	lockDoubleSubmitCheck();
}

function PointImgClick(key,count,mode,year,month,day,hyouji_flg){
	
	if( isSubmitImpossibility() ) {
		
		return false;
	}
	
	setParam( key, year,month,day,hyouji_flg );
	
	CenterPointMode();
    
}

function KukeiKakudaiImgClick(key,mode,year,month,day,hyouji_flg){

	if( isSubmitImpossibility() ) {
		
		return false;
	}
	
	setParam( key, year,month,day,hyouji_flg );
	
    KukeiKakudaiMode();
	
}

function KukeiSyukusyoImgClick(key,mode,year,month,day,hyouji_flg){

	if( isSubmitImpossibility() ) {
		
		return false;
	}
	
	setParam( key, year,month,day,hyouji_flg ); 
	
   	KukeiSyukusyoMode();
}


function setParam( key,year,month,day,hyouji_flg ) {
	
	prefectureCode=key;
	Year=year;
	Month=month; 
	Day=day;
	Hyouji_flg=hyouji_flg;

}


function KukeiMode_mouseover() {
	
    with( window.document.getElementById( MAP_AREA_NAME ) ) {
    	
    	onmouseover = null;
    
        onmousedown = KukeiMode_mousedown;
    }
    
    
}

function KukeiMode_mouseup(evt) {
	
    event_reset();

    var mozi = YAHOO.util.Dom.getXY( MAP_AREA_NAME );
    var SPmozi = String(mozi).split(",");
    var leftpos = parseInt(SPmozi[0]);
    var toppos = parseInt(SPmozi[1]);
	
	
	var xPos = ( move_x < (kukei_down_x - leftpos) ) ? move_x : (kukei_down_x - leftpos);

	var yPos = ( move_y < (kukei_down_y - toppos) ) ? move_y : (kukei_down_y - toppos );

	var sy = mapHeight - (yPos + kukei_height);
	var ly = mapHeight - yPos;
	
	var endXPos =  (xPos + kukei_width);
		 
	possubmit( xPos, sy, endXPos, ly);    
	
	lockDoubleSubmitCheck();       
	
}

function event_reset() {
	
	with( window.document.getElementById( MAP_AREA_NAME ) ) {
	
	    onmousedown = null;
	    onmouseup = null;
		onmousemove = null;
		onmouseover = null;
	}
	
    mouseselectarea_reset();
}

function mouseselectarea_reset() {
    
    var map = window.document.getElementById( KUKEI_AREA_NAME );
    
    with(map.style) {
        top = "0px";
        left = "0px";
        width = "0px";
        height = "0px";
        display = "none";
    }
}

function KukeiMode_mousemove(evt) {

    var mozi = YAHOO.util.Dom.getXY( MAP_AREA_NAME );
    var SPmozi = String(mozi).split(",");
    var leftpos = parseInt(SPmozi[0]);
    var toppos = parseInt(SPmozi[1]);
    
    if( !evt ) var evt = window.event;
    
    
    window.document.getElementById( KUKEI_AREA_NAME ).style.display = "inline";
    
    
    if (navigator.appName.charAt(0) == "N") {   
      
        move_x = evt.pageX -leftpos;
        move_y = evt.pageY - toppos;
        
        kukei_move_x = evt.pageX;
        kukei_move_y = evt.pageY;
        
    } else {                                    
    
    	var adjustVal = getScrollValForIE();
    	
        move_x = evt.clientX - leftpos + adjustVal[0];
        move_y = evt.clientY - toppos  + adjustVal[1];
    
    	    
        kukei_move_x = evt.clientX + adjustVal[0];
        kukei_move_y = evt.clientY + adjustVal[1];
    }

    var w_size = Math.abs( kukei_move_x - kukei_down_x );
    var h_size = Math.abs( kukei_move_y - kukei_down_y );


    var rightpos = leftpos + mapWidth;
    var bottompos = toppos + mapHeight;
    
    var kukei_top;
    var kukei_left;

   
    if (w_size > h_size) {
	    kukei_width  = w_size;
	    kukei_height = w_size;
   } else {
		kukei_width  = h_size;
	    kukei_height = h_size;
    }

	if (kukei_down_x > kukei_move_x) {
        kukei_left = kukei_down_x - kukei_width + 5;
    } else {
        kukei_left = kukei_down_x - 5;
    }
    
	if (kukei_down_y > kukei_move_y) {
        kukei_top = kukei_down_y - kukei_height + 5;
    
    } else {
        kukei_top = kukei_down_y - 5;
    }
    
        
    window.document.getElementById( MAP_AREA_NAME ).onmouseup = KukeiMode_mouseup;	
    
        
   if(leftpos <= kukei_left && rightpos >= kukei_left + kukei_width 
   	    && toppos <= kukei_top && bottompos >= kukei_top + kukei_height) {

	    var map = window.document.getElementById( KUKEI_AREA_NAME );
	        
	    with(map.style) {
	        if (navigator.appName.charAt(0) == "N") {
	            left = kukei_left + window.pageXOffset + "px";
	            top = kukei_top + window.pageXOffset + "px";
	            width = kukei_width + window.pageXOffset + "px";
	            height = kukei_height + window.pageYOffset + "px";
	        } else {
	            left = kukei_left + "px";
	            top = kukei_top + "px";
	            width = kukei_width + "px";
	            height = kukei_height + "px";
	        }
	    }
    }
    
    return false;

}

function KukeiKakudaiMode() {
        
    event_reset();
    clk = 4;

    if(window.document.forms[0].mapMode.value == KukeiKakudaiModeId) {

        window.document.forms[0].mapMode.value = ClickableMapMode;

        window.document.kukeiKakudai.src = KUKEI_KAKUDAI_OFF;
    }
    else {

        window.document.forms[0].mapMode.value = KukeiKakudaiModeId;

        adjustButtonIMG( true, false, false );        
		
        window.document.getElementById( MAP_AREA_NAME ).onmouseover = KukeiMode_mouseover;
                
    }
    
}

function KukeiSyukusyoMode() {

    event_reset();
    clk = 5;
    
    if(window.document.forms[0].mapMode.value == KukeiSyukusyoModeId) {

        window.document.forms[0].mapMode.value = ClickableMapMode;
        
        window.document.kukeiSyukusyo.src = KUKEI_SHUKUSHO_OFF;
    }
    else {

        window.document.forms[0].mapMode.value = KukeiSyukusyoModeId;

        adjustButtonIMG( false, true, false );
        
        window.document.getElementById( MAP_AREA_NAME ).onmouseover = KukeiMode_mouseover;
    
    }
    
}

function CenterPointMode() {
    
    event_reset();
    
    if(window.document.forms[0].mapMode.value == CenterPointModeId) {

        window.document.forms[0].mapMode.value = ClickableMapMode;
        
        window.document.centerPoint.src = CENTER_OFF;
    }
    else {
        window.document.forms[0].mapMode.value = CenterPointModeId;
        
        adjustButtonIMG( false, false, true );        
        
        window.document.getElementById( MAP_AREA_NAME ).onmousedown = CenterPointMode_mouseup;
    }
}

function adjustButtonIMG( kukeiKakudaiPush, kukeiSyukushoPush, centerPointPush ) {
	
    with( window.document ) {
    	
    	if( kukeiKakudaiPush ) {
    		kukeiKakudai.src = KUKEI_KAKUDAI_ON;
    	}
    	else {
    	    kukeiKakudai.src = KUKEI_KAKUDAI_OFF;
        }

        if( kukeiSyukushoPush ) {
	        kukeiSyukusyo.src = KUKEI_SHUKUSHO_ON;        
        }
        else {
	        kukeiSyukusyo.src = KUKEI_SHUKUSHO_OFF;                
        }
        
        if(centerPointPush) {
	        centerPoint.src = CENTER_ON;
        }
        else {
			centerPoint.src = CENTER_OFF;        
        } 

        

	} 
	
}


function FieldCheck(fx, fy, lx, ly, cx, cy) {

    

    if ( ( fx<cx && cx<lx ) && ( fy<cy && cy<ly) ) {
        return true;
    }
    else {
	   
        return false;
    }
}


function KukeiMode_mousedown(evt) {

	
    var result = alreadyClicked();
    
    if (result != true) {
        return false;
    }
    window.document.getElementById( KUKEI_AREA_NAME ).style.display = "inline";
	
	if( !evt ) var evt = window.event;

	if (navigator.appName.charAt(0) == "N") {
		
		var x = evt.pageX;
		var y = evt.pageY;
	

        var mozi = YAHOO.util.Dom.getXY( MAP_AREA_NAME );

        var SPmozi = String(mozi).split(",");

        var leftpos = parseInt(SPmozi[0]);

        var toppos = parseInt(SPmozi[1]);    
        
        kukei_down_x = x;
        kukei_down_y = y;
        
    } else {                 
       
            
	   var scrollVal = getScrollValForIE();
	   
       
       kukei_down_x = scrollVal[0] + evt.clientX;
       kukei_down_y = scrollVal[1] + evt.clientY;
        
    }
    
    with( window.document.getElementById( MAP_AREA_NAME ) ) {

	    onmousedown = null;    
	    
        onmousemove = KukeiMode_mousemove;   
    }
    
    
    return false;
	
}

function getScrollValForIE() {
	
   var sl = 0;
   
   if(document.documentElement && document.documentElement.scrollLeft) {
   	 sl=document.documentElement.scrollLeft;
   } else if(document.body && document.body.scrollLeft) {
   	 sl=document.body.scrollLeft;
   } else if(window.scrollX||window.pageXOffset)  {
   	 sl=(window.scrollX||window.pageXOffset);
   }
   
   var st = 0;
   if(document.documentElement && document.documentElement.scrollTop) {
	    st=document.documentElement.scrollTop;
   } else if(document.body && document.body.scrollTop) {
   		st=document.body.scrollTop;
   } else if(window.scrollY||window.pageYOffset) {
      st=(window.scrollY||window.pageYOffset);
   }
   
   
   return new Array( sl, st );
}


function isSubmitImpossibility() {
	
	if( alreadySubmit ) {
	
		alert('実行中です。しばらくお待ちください。');
		
		return true;
	}
	
	
	return false;
	
}


function lockManagementMapControl() {
	
	if( !alreadySubmit ) {
		
		alreadySubmit = true;
	}
}


function getIgnoreScreenHeight() {

	return screen.height - screen.availHeight;

}

