//==============================================================
// Progress ------------------------------------------------
Progress = function() { }
//============> Progress
//------------> Progress.create(MapID)
//------------> Progress.remove(MapID)
//------------> Progress.RefreshPosition(MapID)
//------------> Progress.getInnerHTML(MapID)
//------------> Progress.refresh (MapID)
//--------------------------------------------------------------
//Progress.create --------------------------------------------
Progress.create = function(MapID) {
var Mcode = Map.getMcodeFromMapID(MapID);
var Ocode = "Map";
    Progress.remove(MapID);
    var innerHTML = Progress.getInnerHTML(MapID);
    var Celem = document.getElementById(Mcode + "^" + Ocode + "^" + "MapContainer")
    Celem.innerHTML += innerHTML;
    Progress.RefreshPosition(MapID);
    //----------------------------------
    return true;
}
//--------------------------------------------------------------
//Progress.remove ------------------------------------------ 
Progress.remove = function(MapID) {
var Mcode = Map.getMcodeFromMapID(MapID);
var Ocode = "Progress";
var Celem = document.getElementById(Mcode + "^Map^" + "MapContainer")
var elem = document.getElementById(Mcode + "^" + Ocode + "^" + "Progress")
    if (elem) {
        Celem.removeChild(Elem);
        return true;
    } else {
        return false;
    }
}
//--------------------------------------------------------------
//Progress.RefreshPosition ------------------------------------------
Progress.RefreshPosition = function(MapID) {
var Mcode = Map.getMcodeFromMapID(MapID);
var Moptions = Map.MapObj[MapID];
    var Ocode = "Progress";
    //----------------------------------
//    var Celem = document.getElementById(Mcode + "^Map^" + "MapContainer")
//    var ContSize = Map.getElem.Size(Celem)
    //var ContSize = Moptions.ImageSize
    var x = Moptions.ImagePos.x + Moptions.ImageSize.w / 2 - 114;
    var y = Moptions.ImagePos.y + Moptions.ImageSize.h / 2 - 20;
    
    var elem = document.getElementById(Mcode + "^" + Ocode + "^" + "Progress")
    elem.style.left = x + "px";
    elem.style.top = y + "px";
}


//--------------------------------------------------------------
//Progress.getInnerHTML ----------------------------------------
Progress.getInnerHTML = function(MapID) {
    var Mcode = Map.getMcodeFromMapID(MapID);
    var Ocode = "Progress";
    var innerHTML = "";
    innerHTML += "<div id='" + Mcode + "^" + Ocode + "^" + "Progress' class='progress'>";
    innerHTML += "<img id='" + Mcode + "^" + Ocode + "^" + "ProgressImg' class='ProgressImg' alt='Progress ...' src='Images/CTO_Waiting_LoaderBar.gif'/>";
    innerHTML += "<div id='" + Mcode + "^" + Ocode + "^" + "ProgressLabel' class='ProgressLabel' >Loading ...</div>";
    innerHTML+="</div> ";
return innerHTML;
}
//--------------------------------------------------------------
//Progress.show -------------------------------------------- 
Progress.show = function(MapID, Label) {
    var Mcode = Map.getMcodeFromMapID(MapID);
    var Ocode = "Progress";
    var Mopt = Map.MapObj[MapID];
    //----------------------------------
    var aa = Mopt.ProgressList.push(Label)
    if (aa == 1) {
        document.getElementById(Mcode + "^" + Ocode + "^" + "ProgressLabel").innerHTML = Label + "...";
    }
//    var x = Mopt.ImageSize.w/2-114;
//    var y = Mopt.ImageSize.h / 2 - 20;
    var elem = document.getElementById(Mcode + "^" + Ocode + "^" + "Progress")
//    elem.style.left = x + "px";
//    elem.style.top = y + "px";
    elem.style.display = "block"
}
//--------------------------------------------------------------
//Progress.hide -------------------------------------------- 
Progress.hide = function(MapID) {
    var Mcode = Map.getMcodeFromMapID(MapID);
    var Ocode = "Progress";
    var Mopt = Map.MapObj[MapID];
    //----------------------------------
    var aa = Mopt.ProgressList.length
    if (aa == 0) {
        document.getElementById(Mcode + "^" + Ocode + "^" + "Progress").style.display = "none";
        return;
    }
    Mopt.ProgressList.shift();
    aa = Mopt.ProgressList.length;
    if (aa == 0) {
        document.getElementById(Mcode + "^" + Ocode + "^" + "Progress").style.display = "none";
    } else {
        var Label = Mopt.ProgressList[0];
        document.getElementById(Mcode + "^" + Ocode + "^" + "ProgressLabel").innerHTML = Label + "...";
    }
}
//--------------------------------------------------------------
//Progress.clear --------------------------------------------
Progress.clear = function(MapID) {
var Mcode = Map.getMcodeFromMapID(MapID);
var Ocode = "Progress";
var Mopt = Map.MapObj[MapID];
//----------------------------------
    Mopt.ProgressList = new Array();
    document.getElementById(Mcode + "^" + Ocode + "^" + "Progress").style.display = "none";
}