var chartTmpVar='';
function chartSetParameter(paramName,paramValue) { 
    chartTmpVar += '|'+paramName+','+paramValue;
}
function chartParamOK(paramName) {
    var retVal = true;
    var forcedParams;
    forcedParams = new Array('PARTNERID','USERID');
    for (i=0;i<forcedParams.length;i++) {
        if (paramName.toUpperCase() == forcedParams[i]) {
            return false;
        }
    }
    return true;
}
function chartWriteUserParams() {
    var tmpStr = '';
    var arrParams;
    var tmpArr;
    function ap( sName, sValue ) { return '<param name="'+sName+'" value="'+sValue+'">\n'}
    if (chartTmpVar != '') {
        var tt = chartTmpVar.substr(0,1);
        if (tt == '|') {
            chartTmpVar = chartTmpVar.substr(1);
        }
        arrParams = chartTmpVar.split('|');
        for (n=0; n< arrParams.length; n++) {
            tmpArr = arrParams[n].split(',');
            if (chartParamOK(tmpArr[0])) {
                var tmp = tmpArr[1];
                for (i=2;i<tmpArr.length;i++) {
                    tmp += ','+tmpArr[i];
                }
                tmpStr += ap(tmpArr[0],tmp);
            }
        }
    }
    return tmpStr;
}
function writeInstrMenu1(instrStr) {
    var tmpStr='';
    var n, arrVals,arrInstr,arrMenus;
    var subStr;
    arrMenus = instrStr.split(';');
    if (arrMenus.length == 1) {
        return writeInstrMenu(instrStr);
    }
    for (m=0;m<arrMenus.length;m++) {
        arrInstr = arrMenus[m].split('|');
        subStr = 'FRX'+(m+1);
        tmpStr+= '<param name="FRX_'+(m+1)+'" value="POPUP;'+arrInstr[0]+';'+subStr+'">\n';
        tmpStr+= '<param name='+subStr+'_* value= "';
        for (n=1;n < arrInstr.length;n++) {
            //tmpStr += '<param name="FRX_'+(n+1)+'" value=
            tmpStr += arrInstr[n]+';800;'+arrInstr[n]+'|';
        }
        //tmpStr = tmpStr.substring(0,tmpStr.length-1);
        tmpStr += '">\n';
    }
    return tmpStr;
}

function writeInstrMenu(instrStr) {
    var tmpStr='';
    var n,arrVals,arrInstr;
    arrInstr = instrStr.split('|');
    tmpStr = '<param name="FRX_*" value = "';
    for (n=0;n < arrInstr.length;n++) {
        //tmpStr += '<param name=FRX_'+(n+1)+' value=
        tmpStr += arrInstr[n]+';800;'+arrInstr[n]+'|';
    }
    //tmpStr = tmpStr.substring(0,tmpStr.length-1);
    tmpStr += '">\n';
    return tmpStr;
}
function resolveDefault(val1,defaultVal) {
    var tmpVal = val1;
    tmpVal = (tmpVal == '' || tmpVal == 'undefined') ? defaultVal:tmpVal;
    return tmpVal;
}
function ChartApplet1(userId_,width_,height_,chartType_,instrList_,bgCol_,fgCol_,menuBG_,menuFG_,chartCol_,chartBG_,align_) {
    var userId,width,height,chartType,instrList,bgCol,fgCol,menuBG,menuFG,chartCol,chartBG;
    var tmpArr;
    var alignStr;
    if (userId_ == '' || userId == "0")
        return;
    alignStr = '';
    if (align_ != '') {
        alignStr = 'align="'+align_+'"';
    }
    if (userId_ == '' || userId_ == '0' || typeof(userId_) == 'undefined') {
        userId_ = '2878804';
    }
    userId = userId_;
    var ChartName='CShChartDK_'+userId_;
    width = resolveDefault(width_,'100%');
    height = resolveDefault(height_,'100%');
    chartType = resolveDefault(chartType_,'4');
    instrList = resolveDefault(instrList_,'EURUSD');
    bgCol = resolveDefault(bgCol_,'C0C0C0');
    fgCol = resolveDefault(fgCol_,'000000');
    chartBG = resolveDefault(chartBG_,'FFFFFF');
    chartCol = resolveDefault(chartCol_,'000000');
    menuBG = resolveDefault(menuBG_,'163456');
    menuFG = resolveDefault(menuFG_,'FFFFFF');
    var appStr = '<Applet code="dk.midas.web.chart.applet.AppletChart.class" '+alignStr+' name="'+ChartName+'" id="'+ChartName+'" codebase="http://cf-charts.IITech.dk/_Applets/Charts/" archive="DCChartApplet21_o.jar" width="'+width+'" height="'+height+'" MAYSCRIPT';
    function ap( sName, sValue ) { return '<param name="'+sName+'" value="'+sValue+'">\n'}
    appStr += ' VIEWASTEXT>';
    appStr += chartWriteUserParams();
    appStr += ap('ServerStr', 'http://cf-charts.IITech.dk/_Datafeed/Charts/IITDCChartFeedExt31.dll');
    appStr += ap('background',bgCol);
    appStr += ap('foreground',fgCol);
    appStr += ap('chart_area_background1',chartBG);
    appStr += ap('chart_area_background2',chartBG);
    appStr += ap('studies_area_background1',chartBG);
    appStr += ap('studies_area_background2',chartBG);
    appStr += ap('chart_line_color',chartCol);
    appStr += ap('UpCandleFrameColor',chartCol);
    appStr += ap('DownCandleFrameColor',chartCol);
    appStr += ap('UpCandleColor','00FF00');
    appStr += ap('DownCandleColor','FF0000');
    appStr += ap('axis_line_color',fgCol);
    appStr += ap('axis_font_color',fgCol);
    appStr += ap('axis_markers_color','FF0000');
    appStr += ap('chartType',chartType);
    appStr += ap('AnalyseHeight','150');
    tmpArr = instrList.split('|');
    if (instrList.indexOf(';') > 0) {
        appStr += ap('instrument',tmpArr[1]);
        appStr += ap('instrument',tmpArr[1]);
        appStr += ap('instrumentName',tmpArr[1]);
    } else {
        appStr += ap('instrument',tmpArr[0]);
        appStr += ap('instrument',tmpArr[0]);
        appStr += ap('instrumentName',tmpArr[0]);
    }
    appStr += ap('timeScale','60');
    appStr += ap('LeadingSpace','10');
    appStr += ap('MenuBackground',menuBG);
    appStr += ap('MenuForeground',menuFG);
    appStr += ap('User',userId);
    appStr += ap('MenuBar','Instrument;FRX;Chart Type;CT;Time Scale;TS;View;VW;Lines;LN;Studies;STD;Zoom;ZM');
    appStr += ap('Instruments_Tip','XXXX');
    appStr += writeInstrMenu1(instrList);
    appStr += ap('Chart Type_Tip','XXXX');
    appStr += ap('CT_1','Line Chart;-101');
    appStr += ap('CT_2','Dot Chart;-102');
    appStr += ap('CT_3','Line-Dot Chart;-103');
    appStr += ap('CT_4','Forest Chart;-107');
    appStr += ap('CT_5','BarOHLC;-104');
    appStr += ap('CT_6','BarHLC;-105');
    appStr += ap('CT_7','Candlestick;-106');
    appStr += ap('Time Scale_Tip','XXXX');
    appStr += ap('TS_1','1 minute;-201;1');
    appStr += ap('TS_2','5 minutes;-202;5');
    appStr += ap('TS_3','10 minutes;-203;10');
    appStr += ap('TS_4','15 minutes;-204;15');
    appStr += ap('TS_5','30 minutes;-205;30');
    appStr += ap('TS_6','1 hour;-206;60');
    appStr += ap('TS_7','2 hours;-207;120');
    appStr += ap('TS_8','4 hours;-208;240');
    appStr += ap('TS_9','6 hours;-213;360');
    appStr += ap('TS_10','8 hours;-209;480');
    appStr += ap('TS_11','Daily;-210;1440');
    appStr += ap('TS_12','Weekly;-211;10080');
    appStr += ap('TS_13','Monthly;-212;43200');
    appStr += ap('View_Tip','XXXX');
    appStr += ap('VW_1','Periods;301');
    appStr += ap('VW_2','Information;302');
    appStr += ap('VW_3','Volume;-330');
    appStr += ap('VW_4','Open Interest;-340');
    appStr += ap('VW_5','Logarithmic price scale;-350');
    appStr += ap('VW_6','Show the crosshair;-303');

    appStr += ap('Lines_Tip','Lines operations.');
    appStr += ap('LN_1','POPUP;Add;ADD');
    appStr += ap('ADD_1','Close;411');
    appStr += ap('ADD_2','High/Low;412');
    appStr += ap('ADD_3','Horizontal;413');
    appStr += ap('ADD_4','Freehand;414');
    appStr += ap('LN_2','Delete;-420');
    appStr += ap('LN_3','Delete All;430');
    appStr += ap('LN_4','Parallel;450');
    appStr += ap('LN_5','Move line;460');
    appStr += ap('LN_6','Fibonacci;415');
    appStr += ap('Studies_Tip','Add different types of studies.');
    appStr += ap('STD_1','POPUP;Momentum;MOM');
    appStr += ap('MOM_1','New...;5011');
    appStr += ap('MOM_2','-');
    appStr += ap('STD_2','POPUP;RSI;RSI');
    appStr += ap('RSI_1','New...;5021');
    appStr += ap('RSI_2','-');
    appStr += ap('STD_3','POPUP;ROC;ROC');
    appStr += ap('ROC_1','New...;5031');
    appStr += ap('ROC_2','-');
    appStr += ap('STD_4','POPUP;Moving Averages;MVG');
    appStr += ap('MVG_1','New...;5041');
    appStr += ap('MVG_2','-');

    appStr += ap('STD_5','POPUP;MACD;MACD');
    appStr += ap('MACD_1','New...;5051');
    appStr += ap('MACD_2','-');

    appStr += ap('STD_6','POPUP;Oscillator;OSC');
    appStr += ap('OSC_1','New...;5061');
    appStr += ap('OSC_2','-');

    appStr += ap('STD_7','POPUP;Stochastic Slow;PKS');
    appStr += ap('PKS_1','New...;5071');
    appStr += ap('PKS_2','-');

    appStr += ap('STD_8','POPUP;Mov Avg Exponential;MAE');
    appStr += ap('MAE_1','New...;5081');
    appStr += ap('MAE_2','-');

    appStr += ap('STD_9','POPUP;Bollinger Bands;BOL');
    appStr += ap('BOL_1','New...;5091');
    appStr += ap('BOL_2','-');

    appStr += ap('Initialize_0','C8C8C8;0000C8;C80000;00C800;FF00FF');
    appStr += ap('Zoom_Tip','Zoom in/out.');
    appStr += ap('ZM_1','Zoom In;601');
    appStr += ap('ZM_2','Zoom Out;602');
    appStr += ap('MenuVerticalSpacing','2');
    appStr += ap('FooterHeight','20');
    appStr += ap('FooterBackground',menuBG);
    appStr += ap('FooterForeground',menuFG);
    appStr += ap('AppletDetachedText','Chart is detached...');
    appStr += ap('DetachWindowTitle','Chart window');
    appStr += ap('Button1','detach.gif,25,15,2,true,900');
    appStr += ap('ButtonTip1','Click to detach chart.');
    appStr += ap('Button2','cross.gif,25,15,2,true,-303');
    appStr += ap('ButtonTip2','Click to show/hide crosshair.');
    appStr += ap('UseMenuBar','true');
    appStr += ap('Buttons_Ok_Cancel value','OK;Cancel');
    appStr += ap('Dialog_View_Period','Input Period;Periods:');
    appStr += ap('Dialog_Study_Period','Input for [?];Period:');
    appStr += ap('DelayInfoStrings','Real-time data;Delayed;minutes');
    appStr += ap('DataInfoTitle','Information');
    appStr += ap('Dialog_Information','ID:;Date:;Time:;Tick Price:;Open Price:;Close Price:;High Price:;Low Price:');
    appStr += ap('loadtext','Loading data. Please wait ...');
    appStr += ap('ButtonTip1','Click to show/hide crosshair.');
    appStr += ap('LinkTarget','_blank');
    appStr += ap('StatusPanelDefaultText','');
    appStr += chartWriteUserParams();
    appStr += 'You must have a Java plugin installed and enabled.  Please download one from e.g. <a href=http://www.java.com/en/>Sun</a>';
    appStr += '</APPLET>';
    //chartTmpVar='';
    document.write (appStr);
}

chartSetParameter('Hilight', 'NONE');
chartSetParameter('HilightColor', 'FF0000');
chartSetParameter('WithFooter', 'NO');
chartSetParameter('WithTitleBar', 'YES');
chartSetParameter('Title', 'Globtrex');
chartSetParameter('TitleURL', 'www.tms.pl');
chartSetParameter('PriceUpColor', '00C700');
chartSetParameter('PriceUpColor', '005500');
chartSetParameter('PriceDownColor', 'FF3333');

function nice_chart(instruments) {
    ChartApplet1(
            "2878804", // id
            "100%", // width
            "200px", // height
            "4", // initial type: 4 - OHLC Bar, 5 - HLC Bar, 6 - CandleStick
            instruments, // Instrument List
            //"C0C0C0", // bgCol
            "FFFFFF", // bgCol
            "000000", // fgCol
            "183F8A", // menuBG
            "FFFFFF", // menuFG
            "000000", // chartCol
            "FFFFFF" // chartBG
            )
}

