// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults
var Datax; 
var Datay; 
var DIL; 
var R; 
var MoeseTimer ;
var canvas ;
var Count ;

function print_map_in(print_m){
    var IE = document.all?true:false
    if(IE){
        if (typeof document.body.style.maxHeight != "undefined") {   
            var map_image_final = document.getElementById("map_image_final"); 
            map_image_final.style.marginLeft = "-"+get_print_mw(print_m); 
        }
    }
}
function print_map_out(print_m){
 
    var IE = document.all?true:false
    if(IE){
        if (typeof document.body.style.maxHeight != "undefined") {
            try{
                var element = document.getElementById("map_image_final"); 
                element.style.marginLeft = "0px";  
            }catch( e ){
            }
        }
    }

}
function layer(id,type){
    alert(id);
    alert(type);
    
    var e=document.getElementById(id)
    if(type=1){
        alert('hidden');
        e.style.visibility='hidden';
    }else{
        alert('visible');
        e.style.visibility='visible';
    }
}

function get_print_mw(m){
    var print_mw = Math.max( document.body.clientWidth, document.body.scrollWidth );  
    print_mw = Math.max( print_mw , document.documentElement.scrollWidth );  
    print_mw = Math.max( print_mw , document.documentElement.clientWidth );  
    var in_Left = ((print_mw - m)/2)+"px"
    alert(in_Left);
    return in_Left
}
////////////////////////////
//function move_mouse(idx){
//    try{
//       
//        var map_image_final;
//        var mif;
//        var DIS;
//        if(document.all){
//            map_image_final=document.all('map_image_final'); 
//        }else if(document.layers){
//            map_image_final=document.layers['map_image_final']; 
//        }else if(document.getElementById){
//            map_image_final=document.getElementById('map_image_final'); 
//        }
//        for (i = 0; i < (maxLay - 1); i++){
//    
//            if(document.all){
//                DIS=document.all('iL'+i+"-"+idx).style;
//                DIS.visibility = 'visible';
//            }else if(document.layers){
//                DIS=document.layers['iL'+i+"-"+idx];
//                DIS.visibility = 'show';
//            }else if(document.getElementById){
//                DIS=document.getElementById('iL'+i+"-"+idx).style;
//                DIS.visibility = 'visible';
//            }
//        }
//        mif = map_image_final.style; 
//        if (DIL[idx] >= (R[idx]+1)){
//            if(document.all){
//                document.all('iL'+(maxLay-1)+"-"+idx).style.left = (parseInt(mif.left.split('px')[0])+parseInt(Datax[idx][R[idx]])-8)+'px';
//                document.all('iL'+(maxLay-1)+"-"+idx).style.top  = (parseInt(mif.top.split('px')[0])+parseInt(Datay[idx][R[idx]])-8)+'px';
//            }else if(document.layers){
//                document.layers['iL'+(maxLay-1)+"-"+idx].left = (parseInt(mif.left.split('px')[0])+parseInt(Datax[idx][R[idx]])-8)+'px';
//                document.layers['iL'+(maxLay-1)+"-"+idx].top  = (parseInt(mif.top.split('px')[0])+parseInt(Datay[idx][R[idx]])-8)+'px';
//            }else if(document.getElementById){
//                var left = parseInt(mif.left.split('px')[0]);
//                var top = parseInt(mif.top.split('px')[0]);
//                if ( R[idx] == 0){
//                    drawLine(parseInt(left+Datax[idx][R[idx]]),top+parseInt(Datay[idx][R[idx]]),left+parseInt(Datax[idx][R[idx]]),top+parseInt(Datay[idx][R[idx]]),'blue');
//                }else{
//                    drawLine(parseInt(left+Datax[idx][R[idx-1]]),top+parseInt(Datay[idx][R[idx-1]]),left+parseInt(Datax[idx][R[idx]]),top+parseInt(Datay[idx][R[idx]]),'blue');
//                }
//                drawLine(10,100,1000,1000,'blue');
//            }
//        }else{
//            if ((DIL[idx]+30) <= (R[idx]+1)){
//                clearInterval(MoeseTimer[idx]);
//            }
//        }
//        R[idx]++;
//    }catch( e ){
//        alert( e );  // バグの内容をダイアログで表示する
//        //        alert( R );
//        //        alert( DIL );
//        clearInterval(MoeseTimer[idx]);
//    }
//}  
function image_position(id,x,y){
    try{
        var map_image_position;
        var mif_position;
        if(document.all){
            map_image_position=document.all('map_image_final'); 
        }else if(document.layers){
            map_image_position=document.layers['map_image_final']; 
        }else if(document.getElementById){
            map_image_position=document.getElementById('map_image_final'); 
     
        }
        mif_position = map_image_position.style; 
        if(document.all){
            document.all(id).style.left = (parseInt(mif_position.left.split('px')[0])+parseInt(x)-4)+'px';
            document.all(id).style.top  = (parseInt(mif_position.top.split('px')[0])+parseInt(y)-12)+'px';
        }else if(document.layers){
            document.layers[id].left = (parseInt(mif_position.left.split('px')[0])+parseInt(x)-4)+'px';
            document.layers[id].top  = (parseInt(mif_position.top.split('px')[0])+parseInt(y)-12)+'px';
        }else if(document.getElementById){
            document.getElementById(id).style.left = (parseInt(mif_position.left.split('px')[0])+parseInt(x)-4)+'px';
            document.getElementById(id).style.top = (parseInt(mif_position.top.split('px')[0])+parseInt(y)-12)+'px';
        }
    }catch( e ){
        //alert( e );  // バグの内容をダイアログで表示する
    }
}
////////////////////////////
function all_move_mouse(size){
    try{
        var map_image_final;
        var mif;
        var DIS;
        if(document.all){
            map_image_final=document.all('map_image_final'); 
        }else if(document.layers){
            map_image_final=document.layers['map_image_final']; 
        }else if(document.getElementById){
            map_image_final=document.getElementById('map_image_final'); 
        }   
        mif = map_image_final.style;         
        for (idx = 0; idx <= (size); idx++){
            for (i = 0; i < (allMaxLay - 1); i++){
                
                if(document.all){
                    DIS=document.all('iL'+i+"-"+idx).style;
                    DIS.visibility = 'visible';
                    DIS.display = 'block';
                    DIS.left = document.all('iL'+(i+1)+"-"+idx).style.left;
                    DIS.top  = document.all('iL'+(i+1)+"-"+idx).style.top;
                }else if(document.layers){
                    DIS=document.layers['iL'+i+"-"+idx];
                    DIS.visibility = 'show';
                    DIS.display = 'block';
                    DIS.left = document.layers['iL'+(i+1)+"-"+idx].left;
                    DIS.top  = document.layers['iL'+(i+1)+"-"+idx].top;
                }else if(document.getElementById){
                    DIS=document.getElementById('iL'+i+"-"+idx).style;
                    DIS.visibility = 'visible';
                    DIS.display = 'block';
                    DIS.left = document.getElementById('iL'+(i+1)+"-"+idx).style.left;
                    DIS.top  = document.getElementById('iL'+(i+1)+"-"+idx).style.top;
                }
            }
          
            if (DIL[idx] >= (R[idx]+1)){
                if(document.all){
                    document.all('iL'+(allMaxLay-1)+"-"+idx).style.left = (parseInt(mif.left.split('px')[0])+parseInt(Datax[idx][R[idx]])-4)+'px';
                    document.all('iL'+(allMaxLay-1)+"-"+idx).style.top  = (parseInt(mif.top.split('px')[0])+parseInt(Datay[idx][R[idx]])-12)+'px';
                }else if(document.layers){
                    document.layers['iL'+(allMaxLay-1)+"-"+idx].left = (parseInt(mif.left.split('px')[0])+parseInt(Datax[idx][R[idx]])-4)+'px';
                    document.layers['iL'+(allMaxLay-1)+"-"+idx].top  = (parseInt(mif.top.split('px')[0])+parseInt(Datay[idx][R[idx]])-12)+'px';
                }else if(document.getElementById){
                    document.getElementById('iL'+(allMaxLay-1)+"-"+idx).style.left = (parseInt(mif.left.split('px')[0])+parseInt(Datax[idx][R[idx]])-4)+'px';
                    document.getElementById('iL'+(allMaxLay-1)+"-"+idx).style.top  =(parseInt(mif.top.split('px')[0])+parseInt(Datay[idx][R[idx]])-12)+'px';

                }
            }else{
                if ((DIL[idx]+allMaxLay) <= (R[idx]+1)){
                    Count[idx] = 1;
                    for (i = 0; i < (allMaxLay - 1); i++){
                        if(document.all){
                            DIS=document.all('iL'+i+"-"+idx).style;
                            DIS.visibility =  "hidden"; 
                            DIS.display = 'none';
                        }else if(document.layers){
                            DIS=document.layers['iL'+i+"-"+idx];
                            DIS.visibility =  "hidden"; 
                            DIS.display = 'none';
                        }else if(document.getElementById){
                            DIS=document.getElementById('iL'+i+"-"+idx).style;
                            DIS.visibility =  "hidden"; 
                            DIS.display = 'none';
                        }
                    }
                    var tflg = 0;
                    for (i = 0; i < (Count.length-1); i++){
                        if (Count[i] == 0){
                            tflg = 1;
                        }
                    }
                    if (tflg == 0){
                        //タイマーの解除                       
                        clearInterval(MoeseTimer[size+1]);
                    }
                }
            }
            R[idx]++;
        }
        
    }catch( e ){
        //alert( e );  // バグの内容をダイアログで表示する
        //        alert( R );
        //        alert( DIL );
        for (i = 0; i < (MoeseTimer - 1); i++){
            clearInterval(MoeseTimer[i]);
        }
    }finally{
      
    }
}
function move_mouse(idx){
    try{
        
        var map_image_final;
        var mif;
        var DIS;
        if(document.all){
            map_image_final=document.all('map_image_final'); 
        }else if(document.layers){
            map_image_final=document.layers['map_image_final']; 
        }else if(document.getElementById){
            map_image_final=document.getElementById('map_image_final'); 
        }
        for (i = 0; i < (maxLay - 1); i++){
            if(document.all){
                DIS=document.all('iL'+i+"-"+idx).style;
                DIS.visibility = 'visible';
                DIS.display = 'block';
                DIS.left = document.all('iL'+(i+1)+"-"+idx).style.left;
                DIS.top  = document.all('iL'+(i+1)+"-"+idx).style.top;
            }else if(document.layers){
                DIS=document.layers['iL'+i+"-"+idx];
                DIS.visibility = 'show';
                DIS.display = 'block';
                DIS.left = document.layers['iL'+(i+1)+"-"+idx].left;
                DIS.top  = document.layers['iL'+(i+1)+"-"+idx].top;
            }else if(document.getElementById){
                DIS=document.getElementById('iL'+i+"-"+idx).style;
                DIS.visibility = 'visible';
                DIS.display = 'block';
                DIS.left = document.getElementById('iL'+(i+1)+"-"+idx).style.left;
                DIS.top  = document.getElementById('iL'+(i+1)+"-"+idx).style.top;
            }
        }
        mif = map_image_final.style; 
    
        if (DIL[idx] >= (R[idx]+1)){
            if(document.all){
                document.all('iL'+(maxLay-1)+"-"+idx).style.left = (parseInt(mif.left.split('px')[0])+parseInt(Datax[idx][R[idx]])-4)+'px';
                document.all('iL'+(maxLay-1)+"-"+idx).style.top  = (parseInt(mif.top.split('px')[0])+parseInt(Datay[idx][R[idx]])-12)+'px';
            }else if(document.layers){
                document.layers['iL'+(maxLay-1)+"-"+idx].left = (parseInt(mif.left.split('px')[0])+parseInt(Datax[idx][R[idx]])-4)+'px';
                document.layers['iL'+(maxLay-1)+"-"+idx].top  = (parseInt(mif.top.split('px')[0])+parseInt(Datay[idx][R[idx]])-12)+'px';
            }else if(document.getElementById){
                document.getElementById('iL'+(maxLay-1)+"-"+idx).style.left = (parseInt(mif.left.split('px')[0])+parseInt(Datax[idx][R[idx]])-4)+'px';
                document.getElementById('iL'+(maxLay-1)+"-"+idx).style.top  =(parseInt(mif.top.split('px')[0])+parseInt(Datay[idx][R[idx]])-12)+'px';

            }
        }else{
            if ((DIL[idx]+maxLay) <= (R[idx]+1)){
                for (i = 0; i < (maxLay - 1); i++){
                    if(document.all){
                        DIS=document.all('iL'+i+"-"+idx).style;
                        DIS.visibility =  "hidden"; 
                        DIS.display = 'none';
                    }else if(document.layers){
                        DIS=document.layers['iL'+i+"-"+idx];
                        DIS.visibility =  "hidden"; 
                        DIS.display = 'none';                   
                    }else if(document.getElementById){
                        DIS=document.getElementById('iL'+i+"-"+idx).style;
                        DIS.visibility =  "hidden";
                        DIS.display = 'none';                        
                    }
                }
                clearInterval(MoeseTimer[idx]);
            }
        }
        R[idx]++;
    }catch( e ){
        //alert( e );  // バグの内容をダイアログで表示する
        //        alert( R );
        //        alert( DIL );
        for (i = 0; i < (MoeseTimer - 1); i++){
            clearInterval(MoeseTimer[i]);
        }
    }
}  
function drawLine(x1,y1,x2,y2,color){

    var strW = "1px"	//線の太さ
    var strH = "1px"	//線の太さ
    var returnArray = new Array()
    var objPalatte = document.createElement("div")

    if((x1 == x2) || (y1 == y2)){
        //傾き0または無限大
        var objLine = document.createElement("div")
        var strColor = color
        with(objLine.style){
            backgroundColor = strColor
            position  = "absolute"
            overflow  = "hidden"
            width     = Math.abs(x2-x1+1)
            height    = Math.abs(y2-y1+1)
            top  = Math.min(y1,y2) + "px"
            left = Math.min(x1,x2) + "px"
        }
        objPalatte.appendChild(objLine)
    }
    else if(Math.abs(x1 - x2) > Math.abs(y1 - y2)){
        // |傾き| < 1
        var A = new Array(x1, y1)
        var B = new Array(x2, y2)
        P1 = (A[0] > B[0]) ? B : A	//Xの値の小さいほう
        P2 = (A[0] <= B[0]) ? B : A	//Xの値の大きいほう

        for(intX = P1[0]; intX <= P2[0]; intX++){
            var intY = ((P2[1] - P1[1]) / (P2[0] - P1[0])) * (intX - P1[0]) + P1[1]
            objPalatte.appendChild(_drawLine(intX,intY,color))
        }
    }
    else{
        // |傾き| > 1
        var A = new Array(x1, y1)
        var B = new Array(x2, y2)
        P1 = (A[1] > B[1]) ? B : A	//Yの値の小さいほう
        P2 = (A[1] <= B[1]) ? B : A	//Yの値の大きいほう

        for(intY = P1[1]; intY <= P2[1]; intY++){
            var intX = ((P2[0] - P1[0]) / (P2[1] - P1[1])) * (intY - P1[1]) + P1[0]
            objPalatte.appendChild(_drawLine(intX,intY,color))
        }
    }
    return document.body.appendChild(objPalatte)
}


function _drawLine(x,y,color){
    var strColor = color	//線の色
    var strW = "1px"	//線の太さ
    var strH = "1px"	//線の太さ

    var objPoint = document.createElement("div")

    with(objPoint.style){
        backgroundColor = strColor
        position  = "absolute"
        overflow  = "hidden"
        width     = strW
        height    = strH
        top  = y + "px"
        left = x + "px"
    }
    return objPoint
}

// 