﻿function f_OpenNoteStraordinarie(id) {
    var el = document.getElementById(id);
    if (!el) return;
    
    if (el.style.display == 'none') {
        el.style.display = 'block';
        document.getElementById('fid_nsh' + id.substring(6)).className = 'c1b';
    }
    else {
        el.style.display = 'none';
        document.getElementById('fid_nsh' + id.substring(6)).className = 'c1';
    }
}
function f_CloseAllTooltips() {
    if (!document.MapTolltips) return;
    for (i = 0; i < document.MapTolltips.length; i++)
        document.MapTolltips[i].hide();
}
function f_ExportAsImage(id) {

    fm = document.getElementById(id);
    if (fm) fm.exportImage();
}
function f_MaximizeAll() {
    if (!document.amCharts) return;
    var i, m = document.amMaximizeAll;
    if (m == null) m = 1;
    
    for (i = 0; i < document.amCharts.length; i++) {
        f_OpenChart(document.amCharts[i], m);
    }
}
function f_SetMaximizeButton() {
    if (!document.amCharts) return;
    var allopen = true;
    var i;
    for (i = 0; i < document.amCharts.length; i++)
        if (!document.amCharts[i].isChartOpen) {
            allopen = false;
            break;
        }

        if (allopen && document.amMaxAllId) {
            document.amMaximizeAll = -1;
            Ext.getCmp(document.amMaxAllId).setText('Minimize all');
        }
        else if(document.amMaxAllId){
            document.amMaximizeAll = 1;
            Ext.getCmp(document.amMaxAllId).setText('Maximize all');
        }
}
function f_OpenChart(obj, maximize) {

    if (!obj.id) obj = document.amCharts[obj];

    if (obj.isChartOpen) {
        if (maximize == 1) return;
        obj.containerBig.style.display = 'none';
        if (obj.containerToolbar) obj.containerToolbar.style.display = 'none';
        obj.maximizeButton.className = 'cam_b2';
        obj.maximizeButton.title = 'Maximize';
        obj.isChartOpen = false;
        f_LoadChart(obj, 1);
        
    }
    else {
        if (maximize == -1) return;
        obj.containerThumb.innerHTML = '&nbsp;';
        if (!obj.isChartLoaded) f_LoadChart(obj, 0);
        obj.containerBig.style.display = 'block';
        if (obj.containerToolbar) obj.containerToolbar.style.display = 'block';
        obj.maximizeButton.className = 'cam_b2S';
        obj.maximizeButton.title = 'Minimize';
        obj.isChartOpen = true;
    }
    f_SetMaximizeButton();
}
function f_SetChartObj(id, cdt, type, swfname) {

    if (!document.amCharts) document.amCharts = new Array();

    var obj = new Object();
    obj.id = id;
    obj.cdt = cdt;
    obj.type = type;
    obj.swfname = swfname;
    obj.isChartOpen = false;
    obj.isChartLoaded = false;
    obj.containerThumb = document.getElementById('fim_' + id);
    obj.containerBig = document.getElementById('fig_' + id);
    obj.containerToolbar = document.getElementById('fio_' + id);
    obj.maximizeButton = document.getElementById('fib_' + id);
    obj.topsElement = document.getElementById('fiotop_' + id);
    
    obj.flashObjectId = 'chid_' + id;
    
    document.amCharts[document.amCharts.length] = obj;
}
function f_LoadAllCharts(k) {

    if (!document.amCharts) return;
    var i;
    for (i = 0; i < document.amCharts.length; i++)
        f_LoadChart(document.amCharts[i], k);
    window.setTimeout("f_LoadAllCharts(-1)", 300000);
}
function f_GetChart(id)
{
    if(!document.amCharts) return null;
    var v;
    for(ix=0;ix<document.amCharts.length;ix++)
    {
        v=document.amCharts[ix];
        if(id==v.id) return v;
    }
    return null;
}
function f_GotoChart(id) {
    var c = f_GetChart(id);
    if (!c) return;

    f_CloseAllTooltips();
    var hrf = window.location.href;
    var lio = hrf.lastIndexOf('#');
    if (lio > -1) hrf = hrf.substring(0, lio)
    hrf = hrf + "#hrf" + id;
    f_OpenChart(c, true);
    window.location.href = hrf;
}
function f_LoadChart(obj, mini) {

    if (!obj.id) obj = document.amCharts[obj];

    if (mini == -1) mini = !obj.isChartOpen;

    var ot = obj.type == 'amstock' ? 'amstock' : 'bundle';
    var so = new SWFObject('amcharts/' + ot + '/' + obj.swfname + '.swf', obj.flashObjectId, mini ? document.amThumbWidth : document.amWidth, mini ? document.amThumbHeight : document.amHeight, '8', '#FFFFFF');
    so.addVariable('path', 'amcharts/' + ot + '/');

    var m = mini ? 0 : (obj.topsElement ? obj.topsElement.selectedIndex + 1 : 5);
    so.addVariable('settings_file', encodeURIComponent('c.aspx?ct=' + obj.type + '&t=1&m=' + m + '&cdt=' + obj.cdt + '&id=' + obj.id));
    
    

    if (obj.type == "amcolumn" || obj.type == "amxy" || obj.type == "amradar")
        so.addVariable('data_file', encodeURIComponent('c.aspx?ct=' + obj.type + '&t=2&m=' + m + '&cdt=' + obj.cdt + '&id=' + obj.id));
    
    so.addVariable('chart_id', obj.flashObjectId);
    so.addParam('wmode', 'opaque');

    if (mini)
        so.write(obj.containerThumb.id);
    else {
        so.write(obj.containerBig.id);
        obj.isChartLoaded = true;
    }


    if (Ext && Ext.net && Ext.net.DirectMethods && Ext.net.DirectMethods.GetUltimoAggiornamento)
        Ext.net.DirectMethods.GetUltimoAggiornamento(obj.id, { url: 'data.aspx', success: function (result) { f_SetUltimoAggiornamento(obj.id, result); } });
}
function f_SetUltimoAggiornamento(id, val) {
    var x = document.getElementById('fidua_' + id)
    if (!x) return;
    x.innerHTML=val;
}
function f_ShowOptionWindow(cid) {

    document.CurrentOptionWindow = new Ext.Window(Ext.apply({
        renderTo: Ext.getBody(),
        resizable: false,
        title: 'Options',
        height: 500,
        width: 500,
        frame: true,
        modal: true,
        autoLoad: {
            maskMsg: 'Loading...',
            showMask: true,
            mode: 'iframe',
            url: 'options.aspx?cid=' + cid
        }
    }, { title: 'Options', height: 300, width: 600 }));

    document.CurrentOptionWindow.Cid = cid;
    document.CurrentOptionWindow.show();
    
}
function f_CloseOptionWindow() {

    f_LoadChart(f_GetChart(document.CurrentOptionWindow.Cid), -1);
    document.CurrentOptionWindow.close()

}

