﻿//-----Html iframe-----
var frameList = new Array();
function refreshHtmlLayout(left, top, width, height) {
    refreshFrameListHtmlLayout(frameList, divHtml, left, top, width, height);
}
function appendFrame(id, url, show) {
    appendFrameList(frameList, divHtml, id, url, show);
}
function removeFrame(id) {
    removeFrameList(frameList, divHtml, id);
}
function clearFrame() {
    clearFrameList(frameList, divHtml);
}
function hideFrame() {
    hideFrameList(frameList);
}
function showFrame(id) {
    showFrameList(frameList, divHtml, id);
}
//-----Html iframe-----

//-----SQ iframe-----
var sqFrame = null;
function refreshSQHtmlLayout(left, top, width, height) {
    sqHtml.style.left = left + "px";
    sqHtml.style.top = top + "px";
    sqHtml.style.width = width + "px";
    sqHtml.style.height = height + "px";
    refreshSQFrameLayout(sqFrame);
}
function refreshSQFrameLayout(frame) {
    refreshFrameListLayout(sqHtml, frame);
}
function openSQFrame(url) {//, cUserID, cPassword, cSQUrl
    if (sqFrame == null) {
        //url = url + "?UserName=" + cUserID + "&Password=" + cPassword + "&Url=" + escape(cSQUrl);
        //alert(url);
        sqFrame = document.createElement("iframe");
        sqFrame.setAttribute("id", "iframe_SQ");
        sqFrame.setAttribute("src", url);
        sqFrame.setAttribute("frameBorder", "no");
        sqFrame.setAttribute("scrolling", "auto");
        sqFrame.style.position = "fixed";
        sqFrame.style.left = "9999px";
        sqFrame.style.top = "9999px";
        sqFrame.style.width = "0px";
        sqFrame.style.height = "0px";
        sqHtml.appendChild(sqFrame);
    }
    sqFrame.style.display = "block";
    refreshSQFrameLayout(sqFrame);
}
function closeSQFrame() {
    if (sqFrame == null) return;
    sqFrame.style.display = "none";
}
function clearSQFrame() {
    if (sqFrame == null) return;
    sqHtml.removeChild(sqFrame);
    sqFrame = null;
}
//-----SQ iframe-----

//-----Cockpit iframe-----
var cockpitList = new Array();
function refreshCockpitHtmlLayout(left, top, width, height) {
    refreshFrameListHtmlLayout(cockpitList, cockpitHtml, left, top, width, height);
}
function appendCockpitFrame(id, url, show) {
    appendFrameList(cockpitList, cockpitHtml, id, url, show);
}
function removeCockpitFrame(id) {
    removeFrameList(cockpitList, cockpitHtml, id);
}
function clearCockpitFrame() {
    clearFrameList(cockpitList, cockpitHtml);
}
function hideCockpitFrame() {
    hideFrameList(cockpitList);
}
function showSingleCockpitFrame(id) {
    showFrameList(cockpitList, cockpitHtml, id);
}
function showCockpitFrame() {
    var frame = focusFrameList(cockpitList);
    if (frame != null) {
        hideFrameList(cockpitList);
        frame.style.display = "block";
        refreshFrameListLayout(cockpitHtml, frame);
        frame.contentWindow.focus();
    }
}
//-----Cockpit iframe-----
//-----Public iframe function-----
function refreshFrameListHtmlLayout(list, div, left, top, width, height) {
    div.style.left = left + "px";
    div.style.top = top + "px";
    div.style.width = width + "px";
    div.style.height = height + "px";
    refreshFrameListLayout(div, focusFrameList(list));
}
function appendFrameList(list, div, id, url, show) {
    var n = indexOfFrameList(list, id);
    if (n == -1) {
        var frame = document.createElement("iframe");
        frame.setAttribute("id", id);
        frame.setAttribute("src", url);
        frame.setAttribute("frameBorder", "no");
        frame.setAttribute("scrolling", "auto");
        frame.style.position = "fixed";
        frame.style.left = "9999px";
        frame.style.top = "9999px";
        frame.style.width = "0px";
        frame.style.height = "0px";
        div.appendChild(frame);
        list.push(frame);
    }
    if (show == "true")
        showFrameList(list, div, id);
}
function removeFrameList(list, div, id) {
    var n = indexOfFrameList(list, id);
    if (n > -1) {
        var frame = list[n];
        frame.src = "";
        frame.style.display = "none";
        div.removeChild(frame);
        list.remove(n);
        frame = null;
    }
}
function clearFrameList(list, div) {
    for (var i = list.length - 1; i >= 0; i--) {
        var frame = list[i];
        frame.src = "";
        frame.style.display = "none";
        div.removeChild(frame);
        list.remove(i);
        frame = null;
    }
    list = new Array();
}
function indexOfFrameList(list, id) {
    for (var i = 0; i < list.length; i++) {
        if (list[i].id == id)
            return i;
    }
    return -1;
}
function findFrameList(list, id) {
    var n = indexOfFrameList(list, id);
    if (n > -1)
        return list[n];
    else
        return null;
}
function hideFrameList(list) {
    for (var i = 0; i < list.length; i++) {
        list[i].style.display = "none";
    }
}
function focusFrameList(list) {
    for (var i = 0; i < list.length; i++) {
        if (list[i].style.display == "block")
            return list[i];
    }
    return null;
}
function showFrameList(list, div, id) {
    hideFrameList(list);
    var frame = findFrameList(list, id);
    if (frame == null) {
        window.focus();
    }
    else {
        frame.style.display = "block";
        refreshFrameListLayout(div, frame);
        frame.contentWindow.focus();
    }
}
function refreshFrameListLayout(div, frame) {
    if (frame == null) return;
    frame.style.left = div.style.left;
    frame.style.top = div.style.top;
    frame.style.width = div.style.width;
    frame.style.height = div.style.height;
}
function hideAllFrame() {
    hideFrame();
    closeSQFrame();
    hideCockpitFrame();
    try {
        if (hasGMap()) hideAllGMap();
    }
    catch (e) { }
}
function clearAllFrame() {
    clearFrame();
    clearSQFrame();
    clearCockpitFrame();
    try {
        if (hasGMap()) clearAllGMap();
    }
    catch (e) { }
}

//for DialogForm
var htmlObj = new Array();
function hideHtmlObj() {
    for (var i = 0; i < frameList.length; i++) {
        if (frameList[i].style.display == "block") {
            htmlObj.push(frameList[i]);
        }
    }
    if (sqFrame!=null && sqFrame.style.display == "block")
        htmlObj.push(sqFrame);
    for (var i = 0; i < cockpitList.length; i++) {
        if (cockpitList[i].style.display == "block") {
            htmlObj.push(cockpitList[i]);
        }
    }
    try {
        if (hasGMap()) {
            for (var i = 0; i < GMapFrameList.length; i++) {
                if (GMapFrameList[i].style.display == "block") {
                    htmlObj.push(GMapFrameList[i]);
                }
            }
        }
    }
    catch (e) { }
    for (var i = 0; i < htmlObj.length; i++) {
        htmlObj[i].style.display = "none";
    }
}
function showHtmlObj() {
    for (var i = 0; i < htmlObj.length; i++) {
        htmlObj[i].style.display = "block";
    }
    htmlObj = new Array();
}
//-----Public iframe function-----