function refreshProfile(url,instrument_id) {    
    toggleLoadingEffect('profile','','Lade Profil',true,8);
    new Ajax.Request(url, {
      method: 'get',
      parameters: '&instruments_id='+instrument_id, 
      onSuccess: function(transport) {  
        var profile = $('profile');    
        var res = transport.responseText;  
        profile.innerHTML = res;     
        toggleLoadingEffect('profile','','Lade Profil',false,1);   
      }
    });
}          

function changeTimespan(timespan,instrumentid,exchangeid) {    
    toggleLoadingEffect('chartimage','','Lade Chart',true,8);
    var profile = $('chartimage');      
    profile.src = 'http://www.boerse-go.de/content/charts/chart.php?instrumentId='+instrumentid+'&exchangeId='+exchangeid+'&interval='+timespan+'&type=strucs_profile';           
    toggleLoadingEffect('chartimage','','Lade Chart',false,1);   
}

function changeTimespanIndex(timespan,instrumentid,exchangeid) {   
    toggleLoadingEffect('chartimage','','Lade Chart',true,8);
    var profile = $('chartimage');      
    profile.src = 'http://www.boerse-go.de/content/charts/chart.php?instrumentId='+instrumentid+'&exchangeId='+exchangeid+'&interval='+timespan+'&type=strucs_profile';           
    toggleLoadingEffect('chartimage','','Lade Chart',false,1);   
}

function refreshMarketBar(url, isin, fields, lang) {
    new Ajax.Request(url, {
      method: 'get',
      parameters: '&mode=marketbar' + '&isin=' + isin + '&lang=' + lang, // + '&fields=' + request_fields.concat( fields ).join('|'), 
      onSuccess: function(transport) {
        $('marketbar_loader').remove();
        var response = transport.responseText;
        if (transport.responseText=="") {
            var td = document.createElement('th');
            td.setAttribute("align", "center");
            td.innerHTML = "Keine Daten verf&uuml;gbar.";
            $('marketbar_header').appendChild(td);
        }
        else {
            response = transport.responseText.evalJSON();
            var header = response['header'];
            var values = response['values'];
            if (response['products']&&lang=='de') {
                document.getElementById('marketbar_products').style.display = 'block';    
                for (i=0;i<response['products'].length;i++) {
                     addMarketBarProducts(url, response['products'][i], fields, i, lang);        
                }
            }
            // Build table-header + table-values
            var i=0;
            for (var col in header) {
                var th = document.createElement('th');
                var td = document.createElement('td');
                var classes = col;
                if ( i == 0 ) classes += " col_first";
                
                th.className = classes;
                td.className = classes;
                
                th.innerHTML = header[col];
                // Special formats
                if ( col == 'delayed' ) {
                    var delayed_status = ( values[col] ) ? 'delayed' : 'realtime';
                    values[col] =   '<img src="' + '/tl_files/img/icons/' + delayed_status + '.gif" '
                                    + 'alt="' + delayed_status + '" ' 
                                    + 'title="' + delayed_status + '" class="delayed_status" '
                                    + 'border="0">';
                }
                
                if ( col == 'diff_per_cent' || col == 'diff_abs' ) {
                    values[col] = '<span class="' + ( ( values[col] >= 0 ) ? 'green' : 'red' ) + '">' + values[col] + '</span>';
                }
                td.innerHTML = values[col]; 
                
                $('marketbar_header').appendChild(th);
                $('marketbar_value').appendChild(td);
                i++;
            };
            
            // Link
            $('marketbar_value').onclick = new Function(
                'document.location.href = "' + (( values['sort'] == 'product' ) 
                                                ? '/laufende-produkte.html?isin=' + isin 
                                                : '/aktuelle-indizes.html?instruments_id=' + values['instrument_id']) + '";');
        }
      }
    });
    
    function addMarketBarProducts(url, isin, fields, index, lang) {          
                                               
        new Ajax.Request(url, {
          method: 'get',
          parameters: '&mode=marketbar' + '&isin=' + isin + '&lang=' + lang, // + '&fields=' + request_fields.concat( fields ).join('|'), 
          onSuccess: function(transport) {  
            if ($('marketbar_products_loader')) {
                $('marketbar_products_loader').remove();  
            }   
            var response = transport.responseText;
                                
            if (response=="") {
                var td = document.createElement('th');
                td.setAttribute("align", "center");
                td.innerHTML = "Keine Daten verf&uuml;gbar.";
                //$('marketbar_products_header').appendChild(td);
            }
            else {                  
                response = transport.responseText.evalJSON();   
                var header = response['header'];
                var values = response['values'];
                                 
                // Build table-header + table-values     
                var i=0;
                var newTR = document.createElement("tr");    
                $('marketbar_products_body').appendChild(newTR);
                                                
                for (var col in header) {
                    var th = document.createElement('th');
                    var td = document.createElement('td');
                    var classes = col;
                    if ( i == 0 ) classes += " col_first";
                    
                    th.className = classes;
                    td.className = classes;
                    
                    th.innerHTML = header[col];
                    // Special formats
                    if ( col == 'delayed' ) {
                        var delayed_status = ( values[col] ) ? 'delayed' : 'realtime';
                        values[col] =   '<img src="' + '/tl_files/img/icons/' + delayed_status + '.gif" '
                                        + 'alt="' + delayed_status + '" ' 
                                        + 'title="' + delayed_status + '" class="delayed_status" '
                                        + 'border="0">';
                    }
                    
                    if ( col == 'diff_per_cent' || col == 'diff_abs' ) {
                        values[col] = '<span class="' + ( ( values[col] >= 0 ) ? 'green' : 'red' ) + '">' + values[col] + '</span>';
                    }
                    td.innerHTML = values[col];  
                    if (i == 1) {
                        th.width = '200';
                        th.style.width = '200px';
                    }
                    if (index == 0) { 
                        $('marketbar_products_header').appendChild(th);
                    }
                    if ((index%2)==0) {
                        $('marketbar_products_body').lastChild.className = 'even'; 
                    } else {
                        $('marketbar_products_body').lastChild.className = 'odd'; 
                    }
                    $('marketbar_products_body').lastChild.id = 'marketbar_products_value'+index;
                    if (i == 1) {
                        td.width = '200'; 
                        td.style.width = '200px';
                    }
                    $('marketbar_products_body').lastChild.appendChild(td);               
                    i++;
                }
                   
                // Link
                $('marketbar_products_value'+index).onclick = new Function(
                    'document.location.href = "' + '/laufende-produkte.html?isin=' + isin + '";');
                                                   
            }
          }
        });
    }
}
