﻿// JScript File
function CTWTT(controlId) {
    var result = Webscene.UI.CT.WTT(sessionId, controlId, languageId);
    if (result) {
        if (result.value) {
            AL(result.value);
        }
    }
}

function CTDUP(controlId) {
    var result = Webscene.UI.CT.DUP(sessionId, controlId, languageId);
    if (result) {
        if (result.value) {
            AL(result.value);
        }
    }
}

function CTClose(clientId, controlId) {
   var result = Webscene.UI.CT.Close(sessionId, controlId);
    if (result) {
        if (result.value) {
        }
    } 
    CTReload();
}

function switchControls(control1, control2) {
    if (control1 && control2) {
        var element1 = dge(control1[0]);
        var element2 = dge(control2[0]);
        if ((element1) && (element2)) {
            // element1.swapNode(element2);
            var parent1 = element1.parentNode;
            var parent2 = element2.parentNode;
            if (parent1) {            
                parent1.appendChild(element2);
            }
            if (parent2) {            
                parent2.appendChild(element1);
            }
        }
        // Swith the controls
        Webscene.UI.COM.SwitchControls(sessionId, nodeId, control1[1], control2[1]);
    }
}

function moveControl(controlId, direction) {
    // Move control
    var i = 0;
    var maxControls = 100;
    while(i<maxControls) {
        if (cts[i][0] == controlId) {
            if (direction == -1) {
                if (i>0) {
                    switchControls(cts[i-1], cts[i]);
                    var temp = cts[i-1];
                    cts[i-1] = cts[i];
                    cts[i] = temp;
                    break;
                }
            }
            if (direction == 1) {
                if (i<maxControls-1) {
                    switchControls(cts[i], cts[i+1]);
                    var temp = cts[i+1];
                    cts[i+1] = cts[i];
                    cts[i] = temp; 
                    break;                       
                }
            }
        }
        i++;
    }
}

function openPalette(controlId, clientId, innerContentClientId, paletteControlId) {
    var result = Webscene.UI.CT.GetPalette(sessionId, nodeId, controlId, clientId, innerContentClientId);
    if (result) {
        if (result.value) {
            var element = dge(paletteControlId);
            if (element) {
                element.innerHTML = result.value;
            }
        }
    }
}

function closePalette(paletteControlId) {
    var element = dge(paletteControlId);
            if (element) {
                element.innerHTML = '';
            }
}

function CTFocus(clientId) {
var c = dge(clientId);
if (c) {
    c.scrollIntoView();
    c.focus();
}
}

function CTReload() {
var url = document.location.href;
document.location.href = url;
}

function CTPlBef(scid, dcid) {
    
    var s_pb = dge(scid[0] + '_pb');
    var s_obj = dge(scid[0]);
    var s_pa = dge(scid[0] + '_pa');
    
    var d_pb = dge(dcid[0] + '_pb');
    var d_obj = dge(dcid[0]);

    if (d_pb) {

        if (d_pb.parentNode) {
            d_pb.parentNode.insertBefore(s_pb, d_pb);
    
            d_pb.parentNode.insertBefore(s_obj, d_pb);
            d_pb.parentNode.insertBefore(s_pa, d_pb);

            if (d_obj) {
                var w = parseInt(d_obj.style.width, 10) + 'px';
                if (s_obj) { s_obj.style.width = w; }
                if (s_pb) { s_pb.style.width = w; }
                if (s_pa) { s_pa.style.width = w; }
            }
        
            sho(s_obj);
            sho(d_pb.parentNode);
            
            Webscene.UI.COM.CTPlBef(sessionId, nodeId, scid[1], dcid[1]);
    
        }
    }
    
}

function CTPlAft(scid, dcid) {
    
    var s_pb = dge(scid[0] + '_pb');
    var s_obj = dge(scid[0]);
    var s_pa = dge(scid[0] + '_pa');
    
    var d_pa = dge(dcid[0] + '_pa');
    var d_obj = dge(dcid[0]);
    
    if (d_pa) {
    
        if (d_pa.parentNode) {
            if (d_pa.nextSibling) {
            d_pa.parentNode.insertBefore(s_pa, d_pa, d_pa.nextSibling);
            d_pa.parentNode.insertBefore(s_obj, d_pa, d_pa.nextSibling);
            d_pa.parentNode.insertBefore(s_pb, d_pa, d_pa.nextSibling);
            } else {
            d_pa.parentNode.appendChild(s_pa);
            d_pa.parentNode.appendChild(s_obj);
            d_pa.parentNode.appendChild(s_pb);
            }

            if (d_obj) {
                var ww = parseInt(d_obj.style.width, 10);
                if (!isNaN(ww)) {
                    var w = parseInt(d_obj.style.width, 10) + 'px';
                    if (s_obj) { s_obj.style.width = w; }
                    if (s_pb) { s_pb.style.width = w; }
                    if (s_pa) { s_pa.style.width = w; }
                }
            }
        
            sho(s_obj);
            sho(d_pa.parentNode);
            
            Webscene.UI.COM.CTPlAft(sessionId, nodeId, scid[1], dcid[1]);
        }
    }
    
}
