﻿// JScript File
var ctlBanDo_arrCtlID = new Array();
var ctlBanDo_arrBanDoID = new Array();
var ctlBanDo_arrMap = new Array();

function ctlBanDo_addNewMap(ctlID)
{
    var ok=1,i;
    
    for(i=0;i<ctlBanDo_arrCtlID.length;i++)
    {
        if(ctlBanDo_arrCtlID[i]==ctlID)
        {
            ok=0;
            break;
        }
    }
    if (ok) {
        ctlBanDo_arrCtlID.push(ctlID);
        ctlBanDo_arrBanDoID.push(ctlBanDo_getBanDoID(ctlID));
        i = ctlBanDo_arrCtlID.length - 1;
    }
    else {
        i = -1;
    }
    return i;
}

function ctlBanDo_getBanDoID(ctlID)
{
    return document.getElementById(ctlID + "_txtBanDoID").value;
}

function ctlBanDo_getCtlID(BanDoID)
{
    var i;
    
    for(i=0;i<ctlBanDo_arrBanDoID.length;i++)
    {
        if(ctlBanDo_arrBanDoID[i]==BanDoID)
        {
            return ctlBanDo_arrCtlID[i];
        }
    }
    return -1;
}

function ctlBanDo_getMapByBanDoID(BanDoID) {
    var i;

    for (i = 0; i < ctlBanDo_arrBanDoID.length; i++) {
        if (ctlBanDo_arrBanDoID[i] == BanDoID) {
            return ctlBanDo_arrMap[i];
        }
    }
    return null;
}

function ctlBanDo_getMapByCtlID(CtlID) {
    var i;

    for (i = 0; i < ctlBanDo_arrCtlID.length; i++) {
        if (ctlBanDo_arrCtlID[i] == CtlID) {
            return ctlBanDo_arrMap[i];
        }
    }
    return null;
}

function ctlBanDo_load(ctlID) {    
    var div         = document.getElementById(ctlID); 
    var BanDoID     = document.getElementById(ctlID+"_txtBanDoID").value; 
    var path        = document.getElementById(ctlID+"_txtPath").value; 
    var txtWidth    = document.getElementById(ctlID+"_txtWidth"); 
    var txtHeight   = document.getElementById(ctlID+"_txtHeight");     
    var width       = parseInt(txtWidth.value);
    var height      = parseInt(txtHeight.value);
    
    if(width>0 && height>0)
    {
        //Đã xác định trước kích thước của Bản đồ
        width  = width-2;
        height = height-2;        
        div.style.width  = width+"px";
        div.style.height = height+"px";
    }
    else
    {
        //Chưa xác định trước kích thước của Bản đồ, Lấy kích thước theo khung chứa            
        var divBounds   = Sys.UI.DomElement.getBounds(div);
        width  = divBounds.width;
        height = divBounds.height;
    }
    if (width > 0 && height > 0) {
        var map = new CMap(BanDoID, ctlID, width, height);
        ctlBanDo_arrMap.push(map);
        ctlBanDo_addNewMap(ctlID);
        map.addListener(map.NEW_MARKER_CHANGE, ctlBanDo_NewMarker_onMouseClick);
        try {
            map.showNSearch();
        }
        catch (e) {
        }
        map.addListener(map.NSEARCH_CLICK, ctlBanDo_TimTheoBanDo);        
        ctlBanDo_initMap(ctlID);
    }
    else
    {
        setTimeout("ctlBanDo_load('"+ctlID+"');",10);
    }
}

function ctlBanDo_initMap(ctlID)
{
    var BanDoID     = document.getElementById(ctlID+"_txtBanDoID").value; 
    var width       = document.getElementById(ctlID+"_txtWidth").value;
    var height = document.getElementById(ctlID + "_txtHeight").value;
    var MapMode = document.getElementById(ctlID + "_txtMapMode").value;    
    var txtMarkers  = document.getElementById(ctlID+"_txtMarkers");
    var Markers     = document.getElementById(ctlID+"_txtMarkers").value;
    var MarkerID    = document.getElementById(ctlID+"_txtMarkerID").value;
    var MarkerNhom  = document.getElementById(ctlID+"_txtMarkerNhom").value;
    var MarkerLoai  = document.getElementById(ctlID+"_txtMarkerLoai").value;    
    var AllowSetMarkerCenter = document.getElementById(ctlID+"_txtAllowSetMarkerCenter").value;
    var v1          = document.getElementById(ctlID+"_txtMarkerMode_v1").value;
    var v2          = document.getElementById(ctlID+"_txtMarkerMode_v2").value;
    var v3          = document.getElementById(ctlID+"_txtMarkerMode_v3").value;
    var v4          = document.getElementById(ctlID+"_txtMarkerMode_v4").value;


    //alert(Markers);
    var map = ctlBanDo_getMapByBanDoID(BanDoID);
    if (map) {
        map.setMapMode(MapMode);
    }
    txtMarkers.value="";
    ctlBanDo_setMarkerMode(BanDoID, v1, v2, v3, v4);
    ctlBanDo_addMarker(BanDoID, Markers);
    if(MarkerID!="")
    {    
        ctlBanDo_showMarker(BanDoID, MarkerNhom, MarkerLoai, MarkerID, AllowSetMarkerCenter);
    }
    else
    {
        var lng         = document.getElementById(ctlID+"_txtLng").value;
        var lat         = document.getElementById(ctlID+"_txtLat").value;
        var lop         = document.getElementById(ctlID+"_txtLop").value;
        if(lng!=0 && lat!=0)
        {
            ctlBanDo_setMapCenter(BanDoID, lng, lat, lop);
        }
    }
    ctlBanDo_setLngLatDefault(BanDoID);
    return false;
};

function ctlBanDo_showAllMarkerVHXH(BanDoID)
{
    //Hiển thị tất cả các điểm văn hóa xã hội
//    var obj = document.getElementById(BanDoID);    
//    if (obj && typeof obj.showAllMarkerVHXH != "undefined") 
//    {
//        obj.hideInfoWindow();
//        obj.showAllMarkerVHXH();
//    }
}

function ctlBanDo_hideAllMarkerVHXH(BanDoID)
{
    //Ẩn tất cả các điểm văn hóa xã hội
//    var obj = document.getElementById(BanDoID);    
//    if (obj && typeof obj.hideAllMarkerVHXH != "undefined") 
//    {
//        obj.hideInfoWindow();
//        obj.hideAllMarkerVHXH();
//    }
}

function ctlBanDo_showMarkersVHXH(BanDoID, NhomVHXH)
{
    //Hiển thị nhóm các điểm văn hóa xã hội
//    var obj = document.getElementById(BanDoID);    
//    if (obj && typeof obj.showMarkersVHXH != "undefined") 
//    {
//        obj.hideInfoWindow();
//        obj.showMarkersVHXH(NhomVHXH);
//    }
}

function ctlBanDo_hideMarkersVHXH(BanDoID, NhomVHXH)
{
    //Ẩn nhóm các điểm văn hóa xã hội
//    var obj=document.getElementById(BanDoID);    
//    if (obj && typeof obj.hideMarkersVHXH != "undefined") 
//    {
//        obj.hideInfoWindow();
//        obj.hideMarkersVHXH(NhomVHXH);
//    }
}

function ctlBanDo_showMarker(BanDoID, MarkerNhom, MarkerLoai, MarkerID, AllowSetMarkerCenter)
{
    if(MarkerID=="")
    {
        return false;
    }
    if(typeof AllowSetMarkerCenter == "undefined")
    {
        AllowSetMarkerCenter=1;
    }
    var ctlID           = ctlBanDo_getCtlID(BanDoID);
    var txtMarkerNhom   = document.getElementById(ctlID+"_txtMarkerNhom");
    var txtMarkerLoai   = document.getElementById(ctlID+"_txtMarkerLoai");
    var txtMarkerID     = document.getElementById(ctlID+"_txtMarkerID");
    var txtAllowSetMarkerCenter = document.getElementById(ctlID+"_txtAllowSetMarkerCenter");
    txtMarkerNhom.value = MarkerNhom;
    txtMarkerLoai.value = MarkerLoai;
    txtMarkerID.value   = MarkerID;        
    txtAllowSetMarkerCenter.value = AllowSetMarkerCenter;

    var map = ctlBanDo_getMapByBanDoID(BanDoID); 
    if (map) {        
        map.showMarker(MarkerID, AllowSetMarkerCenter);	 	    
    }
}

function ctlBanDo_changeMapSize(BanDoID, width, height) {
    var map = ctlBanDo_getMapByBanDoID(BanDoID);
    if (map) {
        map.changeMapSize(width, height);
    }
}

function ctlBanDo_getMapBounds(BanDoID)
{
    //value="lng1;lat1;lng2;lat2;zoom"
    var map = ctlBanDo_getMapByBanDoID(BanDoID);

    if (map) {
        var ll1 = map.getBottomLeftLatLng();
        var ll2 = map.getTopRightLatLng();
        var zoom = map.getMapZoom();
        return ll1.Lng + ";" + ll1.Lat + ";" + ll2.Lng + ";" + ll2.Lat + ";" + zoom;
    }
    return "";
};

function ctlBanDo_getMapCenter(BanDoID)
{
    //value="Lng;Lat"
    var map = ctlBanDo_getMapByBanDoID(BanDoID);

    if (map) {
        var ll = map.getMapCenter();
        return ll.Lng + ";" + ll.Lat;
    }
    return "";
};

function ctlBanDo_setMapCenter(BanDoID,Lng,Lat,Lop)
{
    var map = ctlBanDo_getMapByBanDoID(BanDoID);

    if (map) 
    {
        map.setMapCenter(Lat, Lng, Lop);	 
    }
    else
    {
        var ctlID   = ctlBanDo_getCtlID(BanDoID);
        var txtLng  = document.getElementById(ctlID+"_txtLng");
        var txtLat  = document.getElementById(ctlID+"_txtLat");
        var txtLop  = document.getElementById(ctlID+"_txtLop");
        if(typeof Lng != "undefined") txtLng.value = Lng;
        if(typeof Lat != "undefined") txtLat.value = Lat;
        if(typeof Lop != "undefined") txtLop.value = Lop;
    }
    return false;
};

function ctlBanDo_setLngLatDefault(BanDoID)
{
//    var obj=document.getElementById(BanDoID);

//    if (obj && typeof obj.setLngLatDefault != "undefined") 
//    {
//        var ctlID               = ctlBanDo_getCtlID(BanDoID);
//        var Lng  = document.getElementById(ctlID+"_txtDefaultLng").value;
//        var Lat  = document.getElementById(ctlID+"_txtDefaultLat").value;
//        if(Lng!="" && Lat!="")
//        {
//	        obj.setLngLatDefault(Lng,Lat);
//	    }
//    }
//    return false;
};

function ctlBanDo_getMapMode(BanDoID)
{
    var map = ctlBanDo_getMapByBanDoID(BanDoID);
    if (map) {
        return map.getMapMode();
    }
    return 10;
}

function ctlBanDo_setMarkerMode(BanDoID, v1, v2, v3, v4)
{
    var map = ctlBanDo_getMapByBanDoID(BanDoID);
    if (map) 
    {
        var ctlID               = ctlBanDo_getCtlID(BanDoID);
        var txtMarkerMode_v1    = document.getElementById(ctlID+"_txtMarkerMode_v1");
        var txtMarkerMode_v2    = document.getElementById(ctlID+"_txtMarkerMode_v2");
        var txtMarkerMode_v3    = document.getElementById(ctlID+"_txtMarkerMode_v3");
        var txtMarkerMode_v4    = document.getElementById(ctlID+"_txtMarkerMode_v4");
        if(typeof v1 != "undefined") txtMarkerMode_v1.value = v1;
        if(typeof v2 != "undefined") txtMarkerMode_v2.value = v2;
        if(typeof v3 != "undefined") txtMarkerMode_v3.value = v3;
        if(typeof v4 != "undefined") txtMarkerMode_v4.value = v4;
        if (txtMarkerMode_v1.value=="3")
        {
            map.setMarkerVisible('new', true);
            map.changeNewMarkerMode(txtMarkerMode_v2.value);            
        }
    }
    else
    {
        setTimeout("ctlBanDo_setMarkerMode('"+BanDoID+"', '"+v1+"', '"+v2+"', '"+v3+"', '"+v4+"');",200);
    }
    return false;
};

function ctlBanDo_drawMarkerShape(BanDoID, LngTraiTren, LatTraiTren, LngPhaiDuoi, LatPhaiDuoi)
{		
//    var obj=document.getElementById(BanDoID);		
//    
//    if (obj && typeof obj.drawMarkerShape != "undefined") 
//    {
//        obj.drawMarkerShape(LngTraiTren, LatTraiTren, LngPhaiDuoi, LatPhaiDuoi);
//    }
//    else
//    {
//        setTimeout("ctlBanDo_drawMarkerShape('"+BanDoID+"', "+LngTraiTren+", "+LatTraiTren+", "+LngPhaiDuoi+", "+LatPhaiDuoi+");",100);
//    }
//    return false;
};

function ctlBanDo_addMarker(BanDoID, A)
{
    if(A=="")
    {
        return false;
    }
    var ctlID = ctlBanDo_getCtlID(BanDoID);

    var map = ctlBanDo_getMapByBanDoID(BanDoID);
    if (map) 
    {
	    map.addMarker(A);	    
    }
    else
    {
        var txt = document.getElementById(ctlID+"_txtMarkers");
        if(txt.value!="")
        {
            txt.value += "#-#" + A;
        }
        else
        {
            txt.value = A;
        }
    }
    return true;
};

function ctlBanDo_changeNewMarkerMode(BanDoID,vtChinhXac)
{
    var map = ctlBanDo_getMapByBanDoID(BanDoID);
    if (map) {
        map.changeNewMarkerMode(vtChinhXac);
    }
}

function ctlBanDo_hideInfoWindow(BanDoID)
{
//    var obj=document.getElementById(BanDoID);		
//    if (obj && typeof obj.hideInfoWindow!= "undefined") 
//    {
//	    obj.hideInfoWindow();
//    }
//    return false;
};

function ctlBanDo_TimTheoBanDo(BanDoID)
{
    var ctlID = ctlBanDo_getCtlID(BanDoID);
    var ctlHeaderID=document.getElementById(ctlID+"_txtHeaderID").value;
    ctlHeader_btnTim_click(ctlHeaderID, 2, BanDoID, 1);   
}

function BanDo_onMapChange(ctlID, Lat, Lng, Lop)
{
    var txtLng  = document.getElementById(ctlID+"_txtLng");
    var txtLat  = document.getElementById(ctlID+"_txtLat");
    var txtLop  = document.getElementById(ctlID+"_txtLop");
    if(typeof Lng != "undefined") txtLng.value = Lng;
    if(typeof Lat != "undefined") txtLat.value = Lat;
    if(typeof Lop != "undefined") txtLop.value = Lop;
};

function ctlBanDo_NewMarker_onMouseClick(BanDoID, Lat, Lng) {
    var ctlID = ctlBanDo_getCtlID(BanDoID);
    var txtNewMarkerLng  = document.getElementById(ctlID+"_txtNewMarkerLng");
    var txtNewMarkerLat  = document.getElementById(ctlID+"_txtNewMarkerLat");
    if(typeof txtNewMarkerLng != "undefined") txtNewMarkerLng.value = Lng;
    if (typeof txtNewMarkerLat != "undefined") txtNewMarkerLat.value = Lat;
    try {
        BanDoChinhDiem_NewMarkerChange(Lng, Lat);
    }
    catch (e) {
    }
}