// charset = utf-8;
// Switches

// Globals
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 znzF10Instance = null;
var znzBoardInstance = null;

var znzAD1 = null;
var znzAD2 = null;
var znzAD3 = null;
var znzAD4 = null;
var znzAD5 = null;
var znzAD6 = null;

//2008/07/21  huangliang add
var realBlink = null;

    
function start()
{
    var onloadtime = new Date().getTime();        
    var sugReal = new suggestQuery('realstock-query-query', 'realstock-query-select', 'realstock-query-code', 'realstock-query-form', null, null, null, true);
    
    znzReal = new znzRealStock('znzRealSWF', 'realstock-swf-real', stockCode, stockName, stockType, onDataChange, 3 * 1000, realstock_data, 545, 270, null);
    znzIdx = new znzIdxSummary('stock-index-all', 10 * 1000, idxsumry_data);
    znzDS = new znzDDZSort('stock-ddzsort-table', 60 * 1000, 'stock-ddzsort-order', ddzsort_data);
        
   
    znzLast = new znzLastVisit('stock-lastv-table', 10 * 1000, true, stockCode, stockType);
    $('stock-lastv').style.display = "block";    
    
    znzF10Instance = new znzF10("stock-F10", stockCode, stockType, f10_data);        
    //znzBoardInstance = new znzBoard("stock-boardInfo", 60 * 1000, stockCode, stockType, board_data);
    znzMystocks =  new  znzMyStock('stock-mystock-table-content', 10 * 1000, 'znzMystocks');    
    //spcial 
    eventInit();
    var inittime = new Date().getTime(); 
}

function eventInit()
{
    if($('stock-lastv-name'))
    {
        $('stock-lastv-name').onclick = function()
        {
            this.className = 'title-current';
            $('stock-mystock').className = "title-uncurr";
            
            $('stock-lastv-table').style.display = "block";
            $('stock-mystock-table').style.display = "none";
        }
    }
    
    if($('stock-mystock'))
    {
        $('stock-mystock').onclick = function()
        {
            this.className = 'title-current';
            $('stock-lastv-name').className = "title-uncurr";
            
            $('stock-lastv-table').style.display = "none";
            $('stock-mystock-table').style.display = "block";
        }
    }
    $('his-trade').onclick = function()
    {
        this.className = "";
        $('his-bigtrade').className = "notnow-tab";
        $('his-price').className = "notnow-tab";
        
        $('his-trade-table').style.display = "block";
        $('his-price-table').style.display = "none";
        $('his-bigtrade-table').style.display = "none";
        if(!$('his-trade-frame').src)
        {
            $('his-trade-frame').src = $('his-trade-frame').getAttribute('frmsrc');
        }
    }
    $('his-bigtrade').onclick = function()
    {
        this.className = "";
        $('his-trade').className = "notnow-tab";
        $('his-price').className = "notnow-tab";
        
        $('his-bigtrade-table').style.display = "block";
        $('his-price-table').style.display = "none";
        $('his-trade-table').style.display = "none";
        if(!$('his-bigtrade-frame').src)
        {
            $('his-bigtrade-frame').src = $('his-bigtrade-frame').getAttribute('frmsrc');
        }
    }
    $('his-price').onclick = function()
    {
        this.className = "";
        $('his-trade').className = "notnow-tab";
        $('his-bigtrade').className = "notnow-tab";
        
        $('his-price-table').style.display = "block";
        $('his-bigtrade-table').style.display = "none";
        $('his-trade-table').style.display = "none";
        if(!$('his-price-frame').src)
        {
            $('his-price-frame').src = $('his-price-frame').getAttribute('frmsrc');
        }
    }
}

function onDataChange(obj)
{
    if (obj['ret'] == 'ERR_STOCK_CODE')
    {
        var stateInfo = "已退市";
        innerSet($('realstock-values-state'), stateInfo, null);
    }
    
    if (obj['ret'] != 'OK')
        return;
        
    dataObj = obj;   
    valuesSet();    
}

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 longPrice = dataObj['info']['longPrice'];
    var nfix = 2;
    
    if (longPrice == 1)
        nfix = 3;
    
    stockFix = nfix;
    

    innerSet($('realstock-values-value'), currv.toFixed(nfix).toString(), currv - lastv);
    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);    
    
    //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; 
    if (delta > 0)
        rateStr = '+' + deltaStr + ' ' + '+' + rateStr; 
    else
        rateStr = deltaStr + ' ' + rateStr;     
    
    innerSet($('realstock-values-rate'), rateStr, 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);
 

    innerSet($('realstock-analyst-sell'), sella.toFixed(0).toString(), -1);
    innerSet($('realstock-analyst-buy'), buya.toFixed(0).toString(), 1);
}

window.onload = start;

//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;
}
