// charset = utf-8;
// Switches
var withDDZ = true;

// Globals
var stockCode = '600000';
var stockType = 'SH';
var dataObj = {};
var currItems = [];
var currDate = '00000000'
var sNumber = -1;
var avgVol = 0;
var totalVol = 0;
var changeRate = 0;

var lastValue = null;
var stockFix = null;

//realstock variables
var znzReal = null;
var znzIdx = null;
var znzLast = null;
var znzMystocks = null;
var znzDS = null;
var znzNews = null;
var znzEntrst = null;
var znzF10Instance = null;
var znzBoardInstance = null;
var znzPriceTab = null;
var znzFin = null;
var znzBigWeight = null;
var znzBigTrade = null;

var znzK = null;

var indcs = {};
var times = ["min5","min15","min30","min60","day","week","month","min1"];
var currentIndc = null;
var currentTime = "";

var haveDDX = false;
var znzAD1 = null;
var znzAD2 = null;
var znzAD3 = null;
var znzAD4 = null;
var znzAD5 = null;
var znzAD6 = null;


znzIdxBlock.prototype._setDiv = function(divId, retList){
    
    var div = '<table cellspacing="0" cellpadding="0" border="0">';
    div += '<tr><td width="40px">排名</td><td width="60" align="left"><div align="left">名  称</div></td><td align="middle" width="44">成交(亿)</td><td align="right">涨跌幅</td></tr>';
    while (retList.length > 10)
        retList.pop();
    for (var i = 0; i < retList.length; i++){
        div += "<tr>";
        div += "<td align='left'>&nbsp;&nbsp;" + (i + 1) + "</td>";
        div += "<td align='left'><div align='left'><a href='newsort.php?&boardNo="+retList[i][0]+"'>"+decodeURIComponent(retList[i][2])+"</a></div></td>";
        var classN = "";
        if (retList[i][1][6] > 0)
            classN = "red";
        if (retList[i][1][6] < 0)
            classN = "green";

        div += "<td align=\'right\' >"+(parseFloat(retList[i][1][5])/10000).toFixed(2)+"</td>";     
        
        div += "<td align=\'right\' class='"+classN+"'>"+(retList[i][1][6]).toFixed(2) +"%</td>";
        div += "</tr>";
    }
    div += "</table>";
    $(divId).innerHTML = div;
}

$old_znzIdxSort_set = znzIdxSort.prototype._setDiv;
znzIdxSort.prototype._setDiv = function(up, retList){
    var divText = "涨跌幅";
    var div = "";
    
    if("dec" != up)
    {
        div += '<table border="0" width="100%" cellpadding="0" cellspacing="0">';
    }
    else
    {
        div += '<table cellspacing="0" width="100%" cellpadding="0" border="0" style="border-top: 1px solid rgb(204, 204, 204);">';
    }
    if("inc" == up)
    {
        div += '<tr class="h_sh_top_tdtop"><td><div align="center">排名</div></td><td><div align="left">&nbsp;&nbsp;名&nbsp;&nbsp;称</div></td><td>价&nbsp;格</td><td  align="center">';
        div += divText+"</td></tr>\n"; 
    }
    
    while (retList.length > this.count)
        retList.pop();

    for (var i = 0; i < retList.length; i++){
        div += "<tr >";
        div += "<td width='40px' class='table-center'><div align='center'>"+(i+1)+"</div></td>";
        var stockcode = retList[i][0].toLowerCase().replace("hq","");
        div += "<td><div align='left'><a href='realstock.php?code="+stockcode+"'>"+decodeURIComponent(retList[i][1])+"</a></div></td>";
        var classN = "";
        if (retList[i][2] < retList[i][3])
            classN = "red";
        if (retList[i][2] > retList[i][3])
            classN = "green";

        div += "<td class='"+ classN +"'>"+parseFloat(retList[i][3]).toFixed(retList[i][5]?3:2)+"</td>";

        classN = "";

        if (retList[i][4] > 0)
            classN = "red";
        if (retList[i][4] < 0)
            classN = "green";
        retList[i][4] = retList[i][4].toFixed(2)+"%";

        div += "<td align='center' class='" + classN + "'>"+(retList[i][4])+"</td>";
        div += "</tr>";
    }
    div += "</table>";
    return div;
}

znzIdxSort.prototype._set = function(rep){
    var retObj = KISSY.JSON.parse(rep);
    var divStr = "";
    if (retObj["sz"]){
        var retHash = retObj["sz"];
        divStr = this._setDiv("inc", retHash["ratio_inc"]);
        divStr += this._setDiv("dec", retHash["ratio_dec"]);
        innerSet($("sh_a_inc_dec_table"), divStr, null);
    }
    if (retObj["sh"]){
        var retHash = retObj["sh"];
        divStr = this._setDiv("inc", retHash["ratio_inc"]);
        divStr += this._setDiv("dec", retHash["ratio_dec"]);
        innerSet($("sz_a_inc_dec_table"), divStr, null);
    }
}
//2008/07/21  huangliang add
var realBlink = null;
    
function start()
{       
    queryInit();
    logoShow = false;
    znzK = new znzHDStock("znzKLineSWF", "realstock-swf-kline",
         stockCode, stockName, stockType, onDataChange, 3 * 1000, realstock_data, 545, 340, 1, 0.18, null, logoShow);
    znzIdx = new znzIdxSummary('stock-index-all', 10 * 1000, idxsumry_data);
    scrollDiv('stock-index-all', 3*1000, 3, 22);
    
    znzDS = new znzDDZSort('stock-ddzsort-table', 60 * 1000, 'stock-ddzsort-order', ddzsort_data);
        
   
    znzLast = new znzLastVisit('stock-lastv-table', 10 * 1000, true, stockCode, stockType, null, null, null, 'zhicheng.com');
    $('stock-lastv').style.display = "block";
    
    if(withDDZ && !znzEntrst && stockType == 'SH')
    {
        znzEntrst = new znzDDX('realstock-entrust-table', 'DDZ', 'realstock-entrust-graph-swf', 60 * 1000, stockCode, stockType);
        $('realstock-bs-name').className = 'active';
        haveDDX = true;
    }

    
    znzF10Instance = new znzF10("stock-F10", stockCode, stockType, f10_data);   
    znzBoardInstance = new znzBoard("stock-boardInfo", 60 * 1000, stockCode, stockType, board_data);
    znzFin = new znzFinance("realstock-finance", fin_data);


    znzBlockIndec = new znzIdxBlock('stock-news-block399-table', 'stock-news-block300-table', 20 * 1000);
    znzBlockIndec.start();
    znzBigTrade = new znzBigTradeStock("realstock-bigtrade", 10 * 1000, stockCode, stockType);
    znzPriceTab = new znzPriceTable(stockCode, stockType, onPriceTableChange, 60 * 1000);
    var keys = {
                'inc_sh_a_top':'sh_ratio_inc:涨跌幅',       'inc_sz_a_top':'sz_ratio_inc:涨跌幅', 
                'inc_sh_a_last':'sh_ratio_dec:涨跌幅',      'inc_sz_a_last':'sz_ratio_dec:涨跌幅'
               };
    znz6181 = new znzIdxSort(keys, 5, 30 * 1000, stock6181_data);
    $('realstock-finance-info-outer').style.display = 'none';
    $('realstock-finance-partner-outer').style.display = 'none';
    //spcial 
    eventInit();
}

function resetState()
{
    var list = ['realstock-kline-real', 'realstock-kline-day', 'realstock-kline-week', 'realstock-kline-month'];
    var i = 0;
    for(i = 0; i < list.length; i ++)
    {
        $(list[i]).className = "";
    }
}

function eventInit()
{    
    $('realstock-kline-real').onclick = function()
    {
        resetState();
        $('realstock-kline-per-sel').value = "";
        $('realstock-kline-ind-sel').value = "";        
        $('realstock-kline-ind-sel').setAttribute('disabled', 'disabled');
        this.className = "active";
        onKTypeChange("");
    }
    $('realstock-kline-day').onclick = function()
    {
        resetState();
        $('realstock-kline-per-sel').value = "day";
        $('realstock-kline-ind-sel').value = "";
        $('realstock-kline-ind-sel').removeAttribute('disabled');
        this.className = "active";
        onIndChange("");
        onKTypeChange("day");
    }
    $('realstock-kline-week').onclick = function()
    {
        resetState();
        $('realstock-kline-per-sel').value = "week";
        $('realstock-kline-ind-sel').value = "";
        $('realstock-kline-ind-sel').removeAttribute('disabled');
        this.className = "active";
        onIndChange("");
        onKTypeChange("week");
    }
    
    $('realstock-kline-month').onclick = function()
    {
        resetState();
        $('realstock-kline-per-sel').value = "month";
        $('realstock-kline-ind-sel').value = "";
        $('realstock-kline-ind-sel').removeAttribute('disabled');
        this.className = "active";
        onIndChange("");
        onKTypeChange("month");
    }
    
    $('realstock-kline-ind-sel').onchange = function()
    {
        if(!currentTime)
            return;
        
        onIndChange(this.value);
    }
    
    $('realstock-kline-per-sel').onchange = function()
    {
        resetState();
        if(!this.value)
        {
            $('realstock-kline-ind-sel').setAttribute('disabled', 'disabled');
            $('realstock-kline-real').className = 'active';
        }
        else
        {
             $('realstock-kline-ind-sel').removeAttribute('disabled');
        }
        
        if($('realstock-kline-' + this.value))
        {
            $('realstock-kline-' + this.value).className = "active";
        }
        onKTypeChange(this.value);
    }
    
    $('realstock-finance-dataname').onclick = function(){
        $('realstock-finance-data-outer').style.display = "block";
        $('realstock-finance-info-outer').style.display = "none";
        $('realstock-finance-partner-outer').style.display = "none";
        $('realstock-finance-dataname').className = "active";
        $('realstock-finance-infoname').className = "";
        $('realstock-finance-partnername').className = "";
    }
    
    $('realstock-finance-infoname').onclick = function(){
        $('realstock-finance-data-outer').style.display = "none";
        $('realstock-finance-info-outer').style.display = "block";
        $('realstock-finance-partner-outer').style.display = "none";
        $('realstock-finance-dataname').className = "";
        $('realstock-finance-infoname').className = "active";
        $('realstock-finance-partnername').className = "";
    }
        
    $('realstock-finance-partnername').onclick = function(){
        $('realstock-finance-data-outer').style.display = "none";
        $('realstock-finance-info-outer').style.display = "none";
        $('realstock-finance-partner-outer').style.display = "block";
        $('realstock-finance-dataname').className = "";
        $('realstock-finance-infoname').className = "";
        $('realstock-finance-partnername').className = "active";
    }
    
    $('realstock-notice-name').onclick = function(){
        $('realstock-news-name').className = '';
        $('realstock-notice-name').className = 'active';
        $('realstock-news').style.display = 'none';
        $('realstock-notice').style.display = 'block';
        return false;
    }

    $('realstock-news-name').onclick = function(){
        $('realstock-notice-name').className = '';
        $('realstock-news-name').className = 'active';
        $('realstock-news').style.display = 'block';
        $('realstock-notice').style.display = 'none';
        if(!$('realstock-news-iframe').src)
            $('realstock-news-iframe').src = $('realstock-news-iframe').getAttribute('frmsrc');
        return false;
    }
    
    if(haveDDX)
    {
        $('realstock-bs-name').onclick = function(){
            $('realstock-entrust-name').className = '';
            $('realstock-bs-name').className = 'active';
            $('realstock-entrust-box').style.display = 'none';
            $('realstock-bs-box').style.display = 'block';
        }
    }
    $('realstock-entrust-name').onclick = function(){
        $('realstock-bs-name').className = '';
        $('realstock-entrust-name').className = 'active';
        $('realstock-entrust-box').style.display = 'block';
        $('realstock-bs-box').style.display = 'none';
        znzEntrst.upd2swf();
    }
    
    $('realstock-trade-name').onclick = function(){
        $('realstock-price').style.display = "none";
        $('realstock-trade').style.display = "block";
        $('realstock-bigtrade').style.display = "none";
        $('realstock-trade-name').className = "active";
        $('realstock-price-name').className = "";
        $('realstock-bigtrade-name').className = "";
    }

    $('realstock-price-name').onclick = function(){
        $('realstock-price').style.display = "block";
        $('realstock-trade').style.display = "none";
        $('realstock-bigtrade').style.display = "none";
        $('realstock-trade-name').className = "";
        $('realstock-price-name').className = "active";
        $('realstock-bigtrade-name').className = "";
    }
    
    $('realstock-bigtrade-name').onclick = function(){
        $('realstock-price').style.display = "none";
        $('realstock-trade').style.display = "none";
        $('realstock-bigtrade').style.display = "block";
        $('realstock-trade-name').className = "";
        $('realstock-price-name').className = "";
        $('realstock-bigtrade-name').className = "active";
    }
    
    $('stock-news-block300').onclick = function(){
        znzBlockIndec.start();
        
        if ($('stock-news-block300').style.textDecoration == "underline"){
            location = "stockblock.php";
            return;
        }
        
        // change content
        $('stock-news-block300-table').style.display = 'block';
        $('stock-news-block399-table').style.display = 'none';

        
        // change tab
        $('stock-news-block300').className = 'active';
        $('stock-news-block399').className = '';
     
        $('stock-news-block300').style.textDecoration = "underline";
        $('stock-news-block399').style.textDecoration = "none";    
    }   
    
    $('stock-news-block399').onclick = function(){
        znzBlockIndec.start();
        
        if ($('stock-news-block399').style.textDecoration == "underline"){
            location = "stockblock.php?up=1";
            return;
        }
        
        // change content
        $('stock-news-block399-table').style.display = 'block';
        $('stock-news-block300-table').style.display = 'none';
        
        // change tab
        $('stock-news-block399').className = 'active';
        $('stock-news-block300').className = '';        
        $('stock-news-block300').style.textDecoration = "none";
        $('stock-news-block399').style.textDecoration = "underline";        
    }
    
    $('sh_a_inc_dec').onclick = function(){
        
        // change content
        $('sh_a_inc_dec_table').style.display = 'block';
        $('sz_a_inc_dec_table').style.display = 'none';

        
        // change tab
        $('sh_a_inc_dec').className = 'active';
        $('sz_a_inc_dec').className = '';  
    }   
    
    $('sz_a_inc_dec').onclick = function(){        

        
        // change content
        $('sz_a_inc_dec_table').style.display = 'block';
        $('sh_a_inc_dec_table').style.display = 'none';
        
        // change tab
        $('sz_a_inc_dec').className = 'active';
        $('sh_a_inc_dec').className = '';    
    }
}

function onDataChange(obj)
{
    if (obj['ret'] == 'ERR_STOCK_CODE')
    {
        var stateInfo = "交易提示：已退市";
        innerSet($('realstock-values-state'), stateInfo, null);
    }
    
    if (obj['ret'] != 'OK')
        return;
        
    dataObj = obj;
    upd2Finance();
    upd2KLine();    
    valuesSet();    
}

function onPriceTableChange(obj)
{
    if (!obj.length || obj.length < 1)
        return;
        
    var tableStr = '<table  cellpadding="0"  cellspacing="0"><tr><td style="padding-left:5px;" align="left">成交价</td><td align="left" style="padding-left: 5px;">成交量</td><td align="right">内盘</td><td align="right">外盘</td></tr>';
    var maxArr = {};
    var maxVal = 0;
    for(var i=0; i < obj.length; i++)
    {
      var curVal = parseInt(obj[i][1][0]);
      if (curVal > maxVal){
        maxArr = {};
        maxVal = curVal;
      }
      if (curVal == maxVal){
        maxArr[i]=1;
      }      
    }

    for(var i=0; i < obj.length; i++)
    {
        var valColor = 'nocolor';
        if (lastValue){
          if(obj[i][0] > lastValue)
              valColor = 'incolor';
              
          if(obj[i][0] < lastValue)
              valColor = 'decolor';
        }

        tableStr += '<tr><td style="padding-left:5px;" align=\'left\' class=\''+ valColor+'\' width=\'50px\'>' + (obj[i][0]) + '</td>';

        tableStr += '<td align=\'left\'';
        tableStr += '>'+obj[i][1][0].toFixed(0)+'</td>';
        tableStr += '<td align=\'right\' class=\'decolor\'>'+obj[i][1][1].toFixed(0)+'</td>';
        tableStr += '<td align=\'right\' class=\'incolor\'>'+obj[i][1][2].toFixed(0)+'</td>';
        tableStr += '</tr>';
        
        
    }
    tableStr +='</table>';
    innerSet($('realstock-price-table'), tableStr, null);   
  
}

var finTimer = null;
function upd2Finance()
{
    if(!dataObj)
        return;
    
    var lastv = dataObj['info']['instant'][0];
    var currv = dataObj['info']['instant'][2];
    if (currv.toFixed(3) == 0.000){
        currv = lastv;
    }

    if (znzFin)
        znzFin.update(currv);
    else
    {   
        if(finTimer)
            window.clearTimeout(finTimer);
            
        finTimer = window.setTimeout(upd2Finance, 100);    
    }
    
}

var dataStrBuff = [];

function upd2KLine()
{       
    dataStrBuff.push(KISSY.JSON.stringify(dataObj));
}

function valuesSet()
{
    var lastv = dataObj['info']['instant'][0];
    lastValue = lastv;
    var openv = dataObj['info']['instant'][1];
    var currv = dataObj['info']['instant'][2];
    if (currv.toFixed(3) == 0.000){
        currv = lastv;
    }
    var volumn = dataObj['info']['instant'][3];
    var amount = dataObj['info']['instant'][4];
    var highv = dataObj['info']['instant'][5];
    var lowv = dataObj['info']['instant'][6];
    if (lowv > 99900)
        lowv = 0;
    var ina = dataObj['info']['in'];
    var outa = dataObj['info']['out'];
    var longPrice = dataObj['info']['longPrice'];
    var buya = 0;
    var sella = 0;
    var buyas = [];
    var sellas = [];
    var nfix = 2;
    
    if (longPrice == 1)
        nfix = 3;
    
    stockFix = nfix;
    
    var limitRate = 0.1;
    if(stockName.indexOf('ST') >= 0 || stockName.indexOf('PT') >= 0)
    {
        limitRate = 0.05;
    }

    var hlimitv = (lastv * (1 + limitRate));
    var llimitv = (lastv * (1 - limitRate));
    
    innerSet($('realstock-values-hlimit'), hlimitv.toFixed(nfix).toString(), hlimitv - lastv);
    
    if(obj = $('realstock-values-llimit'))
    {
        var color = (llimitv - lastv > 0) ? "red" : (llimitv - lastv < 0 ? "green" : "")
        var currClassName = obj.className;
        obj.className = currClassName.replace(/(green)|(red)/, "") + color;
        obj.innerHTML = llimitv.toFixed(nfix).toString();
    }
    
    innerSet($('realstock-marks-last'), lastv.toFixed(nfix).toString(), lastv - lastv);
    innerSet($('realstock-marks-close'), lastv.toFixed(nfix).toString(), lastv - lastv);
    innerSet($('realstock-marks-open'), openv.toFixed(nfix).toString(), openv - lastv);
    innerSet($('realstock-marks-open2'), openv.toFixed(nfix).toString(), openv - lastv);
    innerSet($('realstock-values-value'), currv.toFixed(nfix).toString(), currv - lastv);
    innerSet($('realstock-values-value2'), currv.toFixed(nfix).toString(), currv - lastv);
    
    if(obj = $('realstock-bs-cvalue'))
    {
        var color = (currv - lastv > 0) ? "red" : (currv - lastv < 0 ? "green" : "")
        var currClassName = obj.className;
        obj.className = currClassName.replace(/(green)|(red)/, "") + color;
        obj.innerHTML = currv.toFixed(nfix).toString();
    }
    
    if (dataObj['info']&&dataObj['info']['items']&&dataObj['info']['items'].length>2&&dataObj['info']['items'][2].length > 0){
        var newamount = dataObj['info']['items'][2][dataObj['info']['items'][2].length-1];
        if (currDate != dataObj['info']['timeInfo'][0] && currDate != '00000000'){
            newamount = 0;
        }
        innerSet($('realstock-bs-camount'), newamount[2], null);
        innerSet($('realstock-bs-camount2'), newamount[2], 0);
    }
    innerSet($('realstock-marks-volumn'), volumn.toString(), null);
    innerSet($('realstock-marks-volumn2'), volumn.toString(), null);
    avag = 0;
    if (volumn > 0)
        avag = (amount*100/volumn).toFixed(2);
    if (amount > 10000){
        amount = (amount/10000).toFixed(2) + " 亿元";
    }else{
        amount = amount + " 万元";
    }
    innerSet($('realstock-marks-amount'), amount.toString(), null);
    innerSet($('realstock-marks-amount2'), amount.toString(), null);
    innerSet($('realstock-marks-avag'), avag.toString(), null);
    innerSet($('realstock-marks-high'), highv.toFixed(nfix).toString(), highv - lastv);
    innerSet($('realstock-marks-low'), lowv.toFixed(nfix).toString(), lowv - lastv);
    innerSet($('realstock-marks-high2'), highv.toFixed(nfix).toString(), highv - lastv);
    innerSet($('realstock-marks-low2'), lowv.toFixed(nfix).toString(), lowv - lastv);

    innerSet($('realstock-inout-in'), ina.toFixed(2).toString(), -1);
    innerSet($('realstock-inout-out'), outa.toFixed(2).toString(), 1);
    
   
    //2008/07/21 huangliang add
    if(realBlink == null)
    {
        realBlink = new blinkCharacter($('realstock-values-value'));
    }
    realBlink.blinks(currv, currv - lastv);
    
    var rate = (currv - lastv) / lastv;
    var delta = currv - lastv;
    var rateStr = (rate * 100).toFixed(2).toString() + '%';
    var deltaStr = delta.toFixed(nfix).toString();
    var rateStr2 = rateStr; 
    var imgDown = '<img height="9" width="9" src="./agents/zhicheng/images/down1.gif" />';
    var imgUp = '<img height="9" width="9" src="./agents/zhicheng/images/up1.gif" />';
    if (delta > 0)
        rateStr = imgUp + ' +' + deltaStr + ' &nbsp; ' + imgUp + ' +' + rateStr; 
    else
        rateStr = imgDown + " " + deltaStr + ' &nbsp; ' + imgDown + " " + rateStr;     
    
    innerSet($('realstock-values-rate'), rateStr, delta);
    innerSet($('realstock-values-rate2'), deltaStr, delta);
    innerSet($('realstock-values-rate3'), rateStr2, delta);
    
    var timeStr = timeStrGen(dataObj['info']['timeInfo'][1]);
    var dataStr = dataObj['info']['timeInfo'][0].toString();
    dataStr = dataStr.substring(0,4)+"-"+dataStr.substring(4,6)+"-"+dataStr.substring(6,8)+" ";
    innerSet($('realstock-values-time'), dataStr + ' ' + timeStr, null);
    
    var stateInfo = "已退市";
    var currTime = dataObj['info']['timeInfo'][1];
    
    if(currTime < "093000" || currTime > "150000" || currTime > "113000" && currTime < "130000")
    {
        stateInfo = "交易结束";
    }
    else
    {
        stateInfo = "交易中...";
        if(openv.toFixed(3) == 0.000)
            stateInfo = "停牌";
    }
    innerSet($('realstock-values-state'), stateInfo, null);
    
    if ( dataObj['info']['index'] == false)
    {
        for(var i=0; i< 5; i++)
        {
            //alert(i);
            var bv = dataObj['info']['instant'][2 * i + 7];
            var ba = dataObj['info']['instant'][2 * i + 8];
            buya += ba;
            buyas[i] = ba;
            innerSet($('realstock-bs-bvalue' + (i+1).toString()), bv.toFixed(nfix).toString(), bv - lastv); 
            innerSet($('realstock-bs-bamount' + (i+1).toString()), ba.toString(), null);
            
            var sv = dataObj['info']['instant'][2 * i + 17];
            var sa =  dataObj['info']['instant'][2 * i + 18];
            sella += sa;
            sellas[i] = sa;
            innerSet($('realstock-bs-svalue' + (i+1).toString()), sv.toFixed(nfix).toString(), sv - lastv); 
            innerSet($('realstock-bs-samount' + (i+1).toString()), sa.toString(), null);
        }
        
        if(currDate != dataObj['info']['timeInfo'][0])
        {
            currDate = dataObj['info']['timeInfo'][0];
            currItems = [];
            innerSet($('realstock-trade-table'), '', null);   
            var args = {
                method : 'get', onComplete : function(rep){
                        
                    //set stock info
                    var ret = rep;
                    var retObj;
                    try
                    {
                        retObj = KISSY.JSON.parse(ret);
                    }
                    catch(E)
                    {
                        //alert(E);
                        return;
                    }

                    if (retObj.length == 2)
                    {
                        var start = 0;
                        if (currDate == retObj[0][0][0])
                            start  = 1;
                        
                        var len = retObj[0].length - start;
                        
                        for (var i= start; i< start + len; i++)
                            avgVol += retObj[0][i][1];
                        avgVol /= len;
                        
                        if (currDate < retObj[1][0][0])
                            totalVol = retObj[1][1][1];
                        else
                            totalVol = retObj[1][0][1];
                            
                        energeSet();
                    }
                    
                    //upd2KLine();
                    
                
                }
            };
            
            var infoURL;
            if ( stockType == 'SH')
                infoURL = 'http://' + rdmDataDomainNameGet() + '/test/info.py/handler.znzDo?cmd=SHHQ' + stockCode + '|' + Math.random().toString();
            else
                infoURL = 'http://' + rdmDataDomainNameGet() + '/test/info.py/handler.znzDo?cmd=SZHQ' + stockCode + '|' + Math.random().toString();
            
            var myAjaj = new Ajaj(infoURL, args); 
        }
        else
        {
            energeSet();
        } 
        
    }
    innerSet($('realstock-analyst-sell'), sella.toFixed(0).toString(), -1);
    innerSet($('realstock-analyst-buy'), buya.toFixed(0).toString(), 1);
    
        
    var bsRate;
    if (buya + sella !== 0)
        bsRate = (buya - sella)/(buya + sella);
    else
        bsRate = 0;
    var bsDelta = buya - sella;
    var bsRateStr = (bsRate * 100).toFixed(2).toString() + '%';
    //委比
    innerSet($('realstock-analyst-rate'), bsRateStr, bsDelta);
    //委差
    innerSet($('realstock-analyst-delta'), bsDelta.toFixed(0).toString(), bsDelta);

    if (dataObj['info']&&dataObj['info']['items']&&dataObj['info']['items'].length>2)
    {
        var tmpbsV;
              
        for( var i=0; i< dataObj['info']['items'][2].length; i++)
        {                    
            if( currItems.length == 10)
            {
                tmpbsV = currItems[0][1];
                currItems.remove(0);
            }
            currItems.push(dataObj['info']['items'][2][i]);
        }
        
        var tableStr = '<table cellpadding=0 cellspacing=0><tr><td align="left">时间</td><td align="right">成交价</td><td>&nbsp;</td><td align="right">成交量(手)</td></tr>';
        for(i=currItems.length-1; i>= 0; i--)
        {
            var volColor = 'nocolor';
            var valColor = 'nocolor';
            
            if (currItems[i][3] == 'B' && dataObj['info']['index'] == false)
            {
                volColor = 'incolor';
            }
            if (currItems[i][3] == 'S' && dataObj['info']['index'] == false)
            {
                volColor = 'decolor';
            }
            
            if(currItems[i][1] > lastv)
                valColor = 'incolor';
                
            if(currItems[i][1] < lastv)
                valColor = 'decolor';
            
            if(i == 0)
                tableStr += '<tr><td align=\'left\' width=\'50px\'>' + timeStrGen(currItems[i][0]) + '</td>';
            else          
                tableStr += '<tr class=\'hasbtm\'><td align=\'left\' width=\'50px\'>' + timeStrGen(currItems[i][0]) + '</td>';
                
            tableStr += '<td align=\'right\' class=\'' + valColor + '\'>' + currItems[i][1].toFixed(nfix) + '</td>'
            if( i==0 && tmpbsV && currItems[i][1] > tmpbsV || i !=0 && currItems[i][1] > currItems[i-1][1])
                tableStr += '<td align=\'center\'><img src=\'agents/zhicheng/images/up1.gif\'/></td>';
            else if( i==0 && tmpbsV && currItems[i][1] < tmpbsV || i !=0 && currItems[i][1] < currItems[i-1][1])
                tableStr += '<td align=\'center\'><img src=\'agents/zhicheng/images/down1.gif\'/></td>';
            else
                tableStr += '<td align=\'center\'>&nbsp;&nbsp;</td>';
                
            tableStr += '<td align=\'right\' class=\'' + volColor + '\'>' + currItems[i][2] + '</td>';
            tableStr += '</tr>';
            
            //tableStr += '<td width=\'20%\' align=\'right\' class=\'' + color + '\'>' + tradeType + '</td></tr>';
            
        }
        tableStr +='</table>';
        innerSet($('realstock-trade-table'), tableStr, null);   

    }
}

function energeSet()
{
    if(avgVol == 0 || totalVol == 0)
        return;
    
    changeRate = (dataObj['info']['instant'][3]*100)/(totalVol*10000);
    
    var changeStr = (changeRate * 100).toFixed(2).toString() + '%';
    innerSet($('realstock-energe-change'), changeStr, 0);

    
    var ticks = dataObj['info']['start'] + dataObj['info']['history'].length -1;
    var rateStr;
    if(ticks == 0)
        rateStr = '--';
    else
        rateStr = ((dataObj['info']['instant'][3]*100)/(avgVol*ticks/240)).toFixed(2).toString();
    
    innerSet($('realstock-energe-rate'), rateStr, 0);
    
}

//2008/07/21 huangliang add 
function blinkCharacter(obj)
{	
	this.obj = obj;
	this.before = 0.00;
}

blinkCharacter.prototype._blink = function()
{
		if(this.timer)
			  window.clearTimeout(this.timer);
		if( this.times == 11)
		{
		    this.obj.style.color = this.color;
			  return;
		}
		
		if(this.times % 2 == 0)
		{
			  this.obj.style.color = this.color;
		}
		else
		{
			this.obj.style.color = "#000000";
		}
		
		this.times ++;
		this.timer = window.setTimeout(this._blink.bind(this) , 150);
}

blinkCharacter.prototype.blinks = function(cur, val)
{
	if(cur == this.before)
		return ;
	this.color = val > 0 ? "#FF0000" : (val == 0 ? "#000000" : "#00A000");
	this.times = -1;
	this._blink();
	this.before = cur;
}

function onIndChange(indKey)
{
    if(currentIndc == indKey)
    {
        return;
    }
    if(currentIndc != null)
    {
        znzK.indRemove(currentIndc);
    }
    currentIndc = indKey;
    if(!indKey)
    {
        return;
    }
    znzK.indAdd(indKey);
    
}

function onKTypeChange(ktype)
{
    if (currentTime != ktype){
        if (znzK){
            znzK.restart(ktype, stockCode, stockType, stockName);
            znzK.updateSpecial();
            currentTime = ktype;
        }
    }
}

window.onload = start;
