var tmpVar='';

var userParm = '';

function ap( sName, sValue ) {
    return '<param name="'+sName+'" value="'+sValue+'">\n'
}

function setParameter(paramName,paramValue) {
    
    
    tmpVar += '|'+paramName+','+paramValue;
}

function paramOK(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 writeUserParams() {
    
    var tmpStr = '';
    
    var arrParams;
    
    var tmpArr;
    
    if (tmpVar != '') {
        
        var tt = tmpVar.substr(0,1);
        
        if (tt == '|') {
            
            tmpVar = tmpVar.substr(1);
        }
        
        arrParams = tmpVar.split('|');
        
        for (n=0; n< arrParams.length; n++) {
            
            tmpArr = arrParams[n].split(',');
            
            if (paramOK(tmpArr[0])) {
                
                var tmp = tmpArr[1];
                
                for (i=2;i<tmpArr.length;i++) {
                    
                    tmp += ','+tmpArr[i];
                }
                
                tmpStr += ap(tmpArr[0],tmp);
            }
        }
    }
    
    return tmpStr;
}

function resolveDefault(val1,defaultVal) {
    
    var tmpVal = val1;
    
    tmpVal = (tmpVal == '' || tmpVal == 'undefined') ? defaultVal:tmpVal;
    
    return tmpVal;
}

var withHead = true;

var withFoot = true;

var withTitle = true;

function setParameter(paramName,paramValue) {
    
    tmpVar += '|'+paramName+','+paramValue;
    
    if (paramName.toUpperCase() == 'WITHHEADER' && paramValue.toUpperCase() == 'NO') {
        withHead = false;
    }
    
    if (paramName.toUpperCase() == 'WITHFOOTER' && paramValue.toUpperCase() == 'NO') {
        withFoot = false;
    }
    
    if (paramName.toUpperCase() == 'WITHTITLEBAR' && paramValue.toUpperCase() == 'NO') {
        withTitle = false;
    }
}

function paramOK(paramName) {
    
    return true;
}

function QuoteListFull(instruments,fields,headers,width,height,oddRowCol,evenRowCol,fgCol,fontName,fontSize,fontStyle,userid,partnerId,lang,isLocal) {
    
    var lang_g = 'EN';
    
    var language;
    
    var local;
    
    var instr_g = 'EURUSD|USDCHF|USDJPY|GBPUSD';
    
    var oddRowCol_g = 'BDBDBD';
    
    var evenRowCol_g = 'D4D4D4';
    
    var fgCol_g = '000000'
    
    var fontSize_g = 11;
    
    var fontName_g = 'Dialog';
    
    var fontStyle_g = 'Bold';
    
    var height_g = '';
    
    var width_g = '';
    
    var fields_g = '';
    
    var fSize = parseInt((fontSize == '' ? fontSize_g : fontSize))+6;
    
    if (fields=='') fields='Bid|Ask|Time';
    
    var width_netscape = 100;
    
    var width_Column = 70;
    arrFields = fields.toUpperCase().split('|');
    for (n=0;n<arrFields.length;n++) {
        if (arrFields[n] =='BID') {
            fields_g += 'B|';
            width_netscape += width_Column;
        } else if(arrFields[n]=='ASK') {
            fields_g += 'A|';
            width_netscape += width_Column;
        } else if(arrFields[n]=='TIME') {
            fields_g += 'T|';
            width_netscape += width_Column;
        } else if(arrFields[n]=='NET') {
            fields_g += 'N|';
            width_netscape += width_Column;
        } else if(arrFields[n]=='PCT') {
            fields_g += 'P|';
            width_netscape += width_Column;
        } else if(arrFields[n]=='HIGH') {
            fields_g += 'H|';
            width_netscape += width_Column;
        } else if(arrFields[n]=='LOW') {
            fields_g += 'L|';
            width_netscape += width_Column;
        } else if(arrFields[n]=='DESC') {
            fields_g += 'F|';
            width_netscape += width_Column;
        } else if(arrFields[n]=='B/A') {
            fields_g += 'Y|';
            width_netscape += width_Column;
        }
    }
    
    
    var appStr = '';
    
    if (userid == '' || userid == '0' || typeof(userid) == 'undefined') {
        userid = '1266782';
    }
    
    appStr = '<Applet code="DCQuoteTable" name="QuoteListDK" id="QuoteListDK" codebase="http://cf-quotes.IITech.dk/_Applets/Quotes/" archive="DCQuoteList30_o.jar" MAYSCRIPT'
    
    var hei,arrFields,n;
    
    function ap( sName, sValue ) {
        return '<param name="'+sName+'" value="'+sValue+'">\n'
    }
    
    if (width == '') width = width_g;
    
    if (height == '') height = height_g;
    
    if (instruments == '') instruments=instr_g;
    
    if (width != '') {
        appStr += ' width="'+width+'"';
    } else {
        appStr += ' width="100%" ';
    }
    
    if (height != '') {
        appStr += ' height="'+height+'" ';
    } else {
        
        hei = 0;
        
        if (withHead)
        
        hei += fSize;
        
        if (withTitle)
        
        hei += fSize;
        
        if (withFoot)
        
        hei += fSize;
        
        if (instruments == '') {
            hei += fSize;
        } else {
            var instr=new String(instruments);
            var v = instr.split('|');
            hei += (fSize+1)*v.length;
        }
        
        appStr += ' height="'+hei+'"';
    }
    
    appStr+=' VIEWASTEXT>'
    
    appStr += writeUserParams();
    
    appStr += ap('Instruments',(instruments==''?instr_g:instruments));
    
    if (fields_g !='') fields_g=fields_g.substr(0,fields_g.length-1);
    
    appStr += ap('Fields',fields_g);
    
    if (headers != '') {
        appStr += ap('Header',headers);
    }
    
    appStr += ap('URL_STRING','http://cf-quotes.IITech.dk/_DataFeed/Quotes/IITDCQuoteFeedExt30.dll');
    
    appStr += ap('user',userid);
    
    appStr += ap('partnerId',5918);
    
    appStr += ap('bgColorOdd',(oddRowCol==''?oddRowCol_g:oddRowCol));
    
    appStr += ap('bgColorEven',(evenRowCol==''?evenRowCol_g:evenRowCol));
    
    appStr += ap('priceColor',(fgCol==''?fgCol_g:fgCol));
    
    appStr += ap('FontSize',(fontSize==''?fontSize_g:fontSize));
    
    appStr += ap('fontName',(fontName==''?fontName_g:fontName));
    
    appStr += ap('fontStyle',(fontStyle==''?fontStyle_g:fontStyle));
    
    appStr += ap('HilightColor','FFC800');
    
    appStr += ap('Hilight','BACKGROUND');
    
    appStr += ap('PriceUpColor','007F00');
    
    appStr += ap('PriceDownColor','FF0000');
    
    appStr += ap('BgHeadColor',(oddRowCol==''?oddRowCol_g:oddRowCol));
    
    appStr += ap('FgTitleColor','FFFFEE');
    
    appStr += ap('BgTitleColor','163456');
    
    appStr += ap('allowColumnResize','false');
    
    if (lang == '' || typeof(lang) == 'undefined') {
        language = lang_g;
    } else {
        language = lang;
    }
    
    appStr += ap('languageCode',language);
    
    if (isLocal == '' || typeof(isLocal) == 'undefined') {
        local = 'off';
    } else {
        if (isLocal == 'on') {
            local = 'on';
        } else {
            local = 'off';
        }
    }
    
    appStr += ap('autoTZ',local);
    
    if (userParm != '') {
        appStr += ap('UserParam',userParm);
    }
    
    appStr += ap('LinkTarget','_blank');
    
    appStr += writeUserParams();
    
    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>';
    
    tmpVar = '';
    
    document.write (appStr);
}

function QuoteListSimple(userid) {
    
    QuoteListFull('','','','','','','','','','','',userid,partnerId);
}

function QuoteListDetails(instrList,fields,headers,userid,partnerId) {
    
    QuoteListFull(instrList,fields,headers,'','','','','','','','',userid);
}

function CFDQuoteList(instruments,fields,headers,width,height,oddRowCol,evenRowCol,fgCol,fontName,fontSize,fontStyle,userid,partnerId) {
    
    QuoteListFull(instruments,fields,headers,width,height,oddRowCol,evenRowCol,fgCol,fontName,fontSize,fontStyle,userid,partnerId);
}


