



var DATA_SERVEAR_LIST = [
      '202.108.13.239'
    ];

var WEB_SERVER = 'www.znz888.com';

var SWF_SERVER = rdmDataDomainNameGet();

// Global function
function rdmDataDomainNameGet()
{
    var dmName = '';            
    dmName = DATA_SERVEAR_LIST[parseInt(Math.random()*1)];
    return dmName;
}
 

// Major version of Flash required
var requiredMajorVersion = 9;
// Minor version of Flash required
var requiredMinorVersion = 0;
// Minor version of Flash required
var requiredRevision = 0;

// for load swf
function writeswf2(swfid, swfsrc, noRandom){
    document.write(swfLoad2(swfid, swfsrc, noRandom));
}

function swfLoad2(swfid, swfsrc, noRandom)
{
    // check whether maxthon
    //alert(navigator.appName);
    var swfSRC = swfsrc||swfid;
    var tail = '';
    if (!noRandom)
        tail = '?rdm=' + Math.random().toString() + '&from=' + window.location.host;
    else
        tail = '?' + 2 + '&from=' + window.location.host;
    // Version check for the Flash Player that has the ability to start Player Product Install (6.0r65)
    var hasProductInstall = DetectFlashVer(6, 0, 65);
    
    // Version check based upon the values defined in globals
    var hasRequestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
    
    
    // Check to see if a player with Flash Product Install is available and the version does not meet the requirements for playback
    if ( hasProductInstall && !hasRequestedVersion ) 
    {
    	// MMdoctitle is the stored document.title value used by the installation process to close the window that started the process
    	// This is necessary in order to close browser windows that are still utilizing the older version of the player after installation has completed
    	// DO NOT MODIFY THE FOLLOWING FOUR LINES
    	// Location visited after installation is complete if installation is required
    	var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn";
    	var MMredirectURL = window.location;
        document.title = document.title.slice(0, 47) + " - Flash Player Installation";
        var MMdoctitle = document.title;
    
    	return AC_FL_RunContent(
    		"src", "swf/playerProductInstall" + tail,
    		"FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"",
    		"width", "100%",
    		"height", "100%",
    		"align", "middle",
    		"id", swfid,
    		"quality", "high",
    		"bgcolor", "#ffffff",
    		"name", swfid,
    		"allowScriptAccess","always",
    		"type", "application/x-shockwave-flash",
    		"pluginspage", "http://www.adobe.com/go/getflashplayer"
    	);
    } 
    else if (hasRequestedVersion) 
    {
    	// if we've detected an acceptable version
    	// embed the Flash Content SWF when all tests are passed
    	return AC_FL_RunContent(
    			"src", 'swf/' + swfSRC + tail,
    			//"src", swfid,
    			"width", "100%",
    			"height", "100%",
    			"align", "middle",
    			"id", swfid,
    			"quality", "high",
    			"bgcolor", "#ffffff",
    			"name", swfid,
    			"wmode", "opaque",
    			"allowScriptAccess","always",
    			"type", "application/x-shockwave-flash",
    		  "pluginspage", "http://www.adobe.com/go/getflashplayer"
    	);
    }
    else 
    {  // flash is too old or we can't detect the plugin
        var alternateContent = '您的浏览器没有安装Flash播放器，请点击' + '<a href="swf/flashplayer9r47_winax.exe">这里</a>下载安装';
        return alternateContent;
    }
}

// for market big trade stock
function znzMarketBigTradeStock(divID, interval, stockType)
{
    this.divID = divID;
    this.interval = interval;
    this.stockType = stockType || 'SH';
    this.sNumber = 0;
    this.dateTime = "00000000";
    this.tradeItems = [];
    this.running = true;
    this.mTimer = null;
    this.inited = false;
    this._init();
}

znzMarketBigTradeStock.prototype._init = function()
{           
   this._update();
   this.inited = true;    
}

znzMarketBigTradeStock.prototype._update = function()
{
    if(this.mTimer)
        window.clearTimeout(this.mTimer);
    if(this.running)
    {
        if(!this.inited || inHqTime())
            this._refresh();
            
        this.mTimer = window.setTimeout(this._update.bind(this), this.interval);        
    } 
}

znzMarketBigTradeStock.prototype._refresh = function()
{
    var args = {
        method : 'get', onComplete : function(rep){
    
            var ret = rep;
            var retObj = ret.parseJSON();
            if( !retObj || retObj.length != 2 || retObj[1].length != 3)
                return;
                
            if(retObj[0] != this.dateTime)
            {
                this.dateTime = retObj[0];
                this.tradeItems = [];
            }
            
            this.sNumber = retObj[1][1];
            this.dataObj = retObj; 
            this.tradeItems = this.tradeItems.concat(this.dataObj[1][2]);
                
            // limit length to 50
            while(this.tradeItems.length > 50)
            {
                this.tradeItems.shift();
            }          
            this._set();    
         }.bind(this)
     };
    
     var infoURL = 'http://' + rdmDataDomainNameGet()+ '/test/data.py/bigTradeMarket.znzDo?cmd=' + this.stockType.toLowerCase() + '|' + this.dateTime + '|' + this.sNumber + '|' + Math.random().toString();
     //alert(infoURL);
     var myAjaj = new Ajaj(infoURL, args);
}

// rewrite znzMarketBigTradeStock's _set function
znzMarketBigTradeStock.prototype._set = function()
{   
    if(this.tradeItems.length < 1)
    {
        $(this.divID + '-table').style.display = "none";
        return;
    }
    
    var tableStr = '<table cellpadding=0 cellspacing=0>';
    for(i=this.tradeItems.length -1; i>= 0; i--)
    {
        var volColor = 'nocolor';
        var valColor = 'nocolor';
    
        if (this.tradeItems[i][1][3] == 'B')
            volColor = 'incolor';
        if (this.tradeItems[i][1][3] == 'S')
            volColor = 'decolor';
        if(i == 0)
            tableStr += '<tr><td align=\'left\' width="80px">&nbsp;&nbsp;' + this.tradeItems[i][1][0].substr(0, 2) + ":" + this.tradeItems[i][1][0].substr(2, 2) + '</td>';
        else
            tableStr += '<tr class=\'hasbtm\'><td align=\'left\' width="80px">&nbsp;&nbsp;' + this.tradeItems[i][1][0].substr(0, 2) + ":" + this.tradeItems[i][1][0].substr(2, 2) + '</td>';    
        tableStr += '<td align=\'left\' ><a target="_blank" href="http://www.znz888.com/stock/realstock.php?code=' + this.stockType.toLowerCase() + this.tradeItems[i][0] +'">' + decodeURIComponent(this.tradeItems[i][2]) + '</a></td>'
        tableStr += '<td align=\'right\'  class=\'' + volColor + '\'>' + this.tradeItems[i][1][2] + '</td>';
        tableStr += '</tr>';    
    }
    
    tableStr +='</table>';
    innerSet($(this.divID + '-table'), tableStr, null);
    if($(this.divID + '-table').style.display != "block")
    {
        $(this.divID + '-table').style.display = "block";
        
    }
}

znzMarketBigTradeStock.prototype.stop = function()
{
    this.running = false;
    if(this.mTimer)
        window.clearTimeout(this.mTimer);
}

znzMarketBigTradeStock.prototype.restart = function()
{
    this.running = true;
    this._update();
}

//for ddz sort
function znzDDZSort(divID, interval, ctrID, data)
{
    this.divID = divID;
    interval = interval||60000;
    if (!(interval < 60000))
        interval = 60000;

    this.interval = interval;
    this.ctrID = ctrID;
    this.topOrder = true;
    this.dataObj = null;
    if(data)
        this.data = data.substr(0, data.length -1);
    this.inited = false;
    this._init();    
}

znzDDZSort.prototype._init = function()
{
    if(!$(this.ctrID))
        return;
        
    $(this.ctrID).onclick = function()
    {
        
        if (this.topOrder == true)
        {
            this.topOrder = false;
            $(this.ctrID).innerHTML = '切换至排行前十&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
            $(this.ctrID).className = 'incolor';
        }
        else
        {
            this.topOrder = true;
            $(this.ctrID).innerHTML = '切换至排行后十&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
            $(this.ctrID).className = 'decolor';
        }
        
        window.setTimeout(this._refresh.bind(this), 100);
        
    }.bind(this)
    
    this._update();
    this.inited = true;
}

znzDDZSort.prototype._update = function()
{
    if(this.data)
    {
        this._set(this.data);
        this.data = null;
    }
    else
    {
        if(!this.inited || inHqTime())
            this._refresh();  
    }
    
    window.setTimeout(this._update.bind(this), this.interval);

}

znzDDZSort.prototype._refresh = function()
{
     var args = {
        method : 'get', onComplete : function(rep)
        {            
            this._set(rep);            
        }.bind(this)
    };
   
   
    var infoURL;
    if(this.topOrder == true)
        infoURL = 'http://' + rdmDataDomainNameGet() + '/test/ddz.py/history_top10.znzDo?cmd=' + Math.random().toString();  
    else
        infoURL = 'http://' + rdmDataDomainNameGet() + '/test/ddz.py/history_last10.znzDo?cmd='+ Math.random().toString(); 
      
    var myAjaj = new Ajaj(infoURL, args); 
}

znzDDZSort.prototype._set = function(dataStr){
    
    var retObj = dataStr.parseJSON(); 
    if(retObj[0] == -1)
    {
        $(this.divID).style.display = "none";
        return;
    }

    div = '';
    div += '<table>\n';
    div += ' <tr class=\'hasbtm\'><td class=\'table-center\'>名&nbsp;&nbsp;称</td><td class=\'table-center\'>价&nbsp;&nbsp;格</td><td class=\'table-center\'>&nbsp;主力动向</td></tr>'
    
    for(var i=0; i< retObj.length; i++)
    {        
        div += '<tr class=\'hasbtm\'>';        
        var currValue;
        var lastValue;
        var stockName;
        var stockCode;
        var ddzValue;
        
        
        currValue = retObj[i][4]; 
        lastValue = retObj[i][3];
        if (currValue == null || lastValue == null){
            return;
        }
        stockName = decodeURIComponent(retObj[i][2]);  
        stockCode = retObj[i][0];
        ddzValue = retObj[i][1];  
        
      
        var valueColor = 'nocolor';
        if (currValue > lastValue)
            valueColor = 'incolor';
        if (currValue < lastValue)
            valueColor = 'decolor';
            
        var ddzColor = 'nocolor';
        if (ddzValue > 0)
            ddzColor = 'incolor';
        if (ddzValue < 0)
            ddzColor = 'decolor';
              
        div += '<td class=\'table-left\'><div class=\'stock-name\'><a target="_blank" href=\'http://www.znz888.com/stock/realstock.php?code=sh' + stockCode + '\'>' + stockName + '</a></div></td>';
        div += '<td class=\'' + valueColor + ' table-right\'>' + currValue.toFixed(2).toString() + '</td>';
        div += '<td class=\'' + ddzColor + ' table-right\'>' + ddzValue.toFixed(2).toString() + '</td>';
        
        div += '</tr>\n';
    }
    
    div += '</table>'; 
    innerSet($(this.divID), div, null);
    if($(this.divID).style.display != "block")
        $(this.divID).style.display = "block";
}

// for index summary

function znzIdxSummary(divID, interval, data, realDomain, targetType, setFunction, jmpUrl)
{
    this.divID = divID;
    this.interval = interval;
    if(data)   
        this.data = data.substr(0, data.length -1);
    if(realDomain)
        this.realDomain = realDomain;
    
    this.targetType = '_self';    
    if(targetType)
        this.targetType = targetType;
    
    this._set = setFunction || this._set; 
    this.mJumpUrl = jmpUrl || "realstock.php";
    this.inited = false;
    this._init();  
}

znzIdxSummary.prototype._init = function()
{
    this._update();  
    this.inited = true;
}

znzIdxSummary.prototype._update = function()
{
    if(this.mTimer)
        window.clearTimeout(this.mTimer);
    
    if(this.data)
    {
        this._set(this.data);
        this.data = null;
    }
    else
    {
        if(!this.inited || inHqTime())
            this._refresh();
    }
    
    this.mTimer = window.setTimeout(this._update.bind(this), this.interval);
}

znzIdxSummary.prototype._refresh = function()
{    
     var args = {
        method : 'get', onComplete : function(rep){
            this._set(rep);
        }.bind(this)
    };
   
    infoURL = 'http://' + rdmDataDomainNameGet()+ '/test/data.py/prices.znzDo?cmd=sh000001,sz399001,sh000300|' + Math.random().toString(); 
    var myAjaj = new Ajaj(infoURL, args); 
   
}

znzIdxSummary.prototype._set = function(dataStr)
{
    var retObj = dataStr.parseJSON();
               
    var div = '<table><tr>';
    
    var color = 'nocolor';            
    if (retObj['sh000001'][2] > retObj['sh000001'][1])
        color = 'incolor';
    if (retObj['sh000001'][2] < retObj['sh000001'][1])
        color = 'decolor';
    
    var urlPrefix = '';
    
    if (this.realDomain)
    {
        urlPrefix = 'http://' + this.realDomain + '/stock/';
    }

    var flag0, flag1, flag2;
    flag0 = flag1 = flag2 = "+";
    if(retObj['sh000001'][2]-retObj['sh000001'][1] < 0.0)
        flag0 = "";
    if(retObj['sz399001'][2]-retObj['sz399001'][1] < 0.0)
        flag1 = "";        
    if(retObj['sh000300'][2]-retObj['sh000300'][1] < 0.0)
        flag2 = "";  
        
    if(typeof idxSumIndec == "undefined")
            idxSumIndec = "rate";
                        
    div += '<td><a href=\'' + urlPrefix + this.mJumpUrl +'?code=sh000001\' target=\'' + this.targetType + '\'>上证指数</a></td><td class=\''+ color + '\'>' + retObj['sh000001'][2].toFixed(2);
    if(idxSumIndec == "rate")
        div += '<td class=\''+ color + '\'>' + flag0 + ((retObj['sh000001'][2]-retObj['sh000001'][1])*100/retObj['sh000001'][1]).toFixed(2) + '%';
    else     
        div += '<td class=\''+ color + '\'>' + flag0 + (retObj['sh000001'][2]-retObj['sh000001'][1]).toFixed(2);
    div += '</td><td>' +  (retObj['sh000001'][3]/10000).toFixed(2) + '亿元</td>';
    
    color = 'nocolor';            
    if (retObj['sz399001'][2] > retObj['sz399001'][1])
        color = 'incolor';
    if (retObj['sz399001'][2] < retObj['sz399001'][1])
        color = 'decolor';
                    
    div += '<td>|</td><td><a href=\'' + urlPrefix + this.mJumpUrl + '?code=sz399001\' target=\'' + this.targetType + '\'>深证成指</a></td><td class=\''+ color + '\'>' + retObj['sz399001'][2].toFixed(2);
    if(idxSumIndec == "rate")
        div += '<td class=\''+ color + '\'>' + flag1 + ((retObj['sz399001'][2]-retObj['sz399001'][1])*100/retObj['sz399001'][1]).toFixed(2) + '%';
    else
        div += '<td class=\''+ color + '\'>' + flag1 + (retObj['sz399001'][2]-retObj['sz399001'][1]).toFixed(2);
    div += '</td><td>' +  (retObj['sz399001'][3]/10000).toFixed(2) + '亿元</td>';
    
    color = 'nocolor';            
    if (retObj['sh000300'][2] > retObj['sh000300'][1])
        color = 'incolor';
    if (retObj['sh000300'][2] < retObj['sh000300'][1])
        color = 'decolor';
         
    div += '<td>|</td><td><a  href=\'' + urlPrefix + this.mJumpUrl + '?code=sh000300\' target=\'' + this.targetType + '\'>沪深300</a></td><td class=\''+ color + '\'>' + retObj['sh000300'][2].toFixed(2);
    if(idxSumIndec == "rate")
        div += '<td class=\''+ color + '\'>' + flag2 + ((retObj['sh000300'][2]-retObj['sh000300'][1])*100/retObj['sh000300'][1]).toFixed(2) + '%';
    else
        div += '<td class=\''+ color + '\'>' + flag2 + (retObj['sh000300'][2]-retObj['sh000300'][1]).toFixed(2);
    div += '</td><td>' +  (retObj['sh000300'][3]/10000).toFixed(2) + '亿元</td>';
        
    div += '</tr></table>';
    
    innerSet($(this.divID), div, null);
                
}

var sug6181Data = {
    "61" : "61;68Ash;沪A排名;",
    "62" : "62;68Bsh;沪B排名;",
    "63" : "63;68Asz;深A排名;",
    "64" : "64;68Bsz;深B排名;",
    "81" : "81;68A81sh;沪A排名;",
    "82" : "82;68B81sh;沪B排名;",
    "83" : "83;68A81sz;深A排名;",
    "84" : "84;68B81sz;深B排名;"

}

var defaultu = "realstock.php";    
// for query
var suggestQuery = function(queryInputId, selectDivId, codeInputId, queryformId, defUrl, defUrlSubFunc, directSubmitFunc, need8161){
    this.mCurrLine = -1;
    this.mCurrTRs = [];
    this.mQueryInput = $(queryInputId);    
    this.mSelectDiv = $(selectDivId);
    this.mTableID = "";
    this.mCodeInput = $(codeInputId);
    this.mQueryForm = $(queryformId);
    this.mDefUrl = defUrl || "realstock.php";
    this.mDirectSubmitFunc = directSubmitFunc || null; 
    this.mDefUrlSubFunc = defUrlSubFunc || null;
    this.mNeed8161 = need8161 || true;
    this.mOnInput = false;
    this.mSelStockType = null;
    this.mSelStockCode = null;
    this.mSelStockName = null;
    this._init();
    
}

suggestQuery.prototype._init = function()
{   
    if(!this.mQueryInput)
        return;

    this.mQueryInput.value = '代码/名称/拼音';

    this.mQueryInput.onfocus = function()
    {        
        this.oninput = true;
        if(this.mQueryInput.value == '代码/名称/拼音')
            this.mQueryInput.value = '';            
    }.bind(this);
    
    this.mQueryInput.onclick = function()
    {
        if(this.mQueryInput.value == '代码/名称/拼音')
            this.mQueryInput.value = '';
    }.bind(this);
    
    this.mQueryInput.onblur = function ()
    {        
        if(this.mQueryInput.value == '')
        {
            this.mQueryInput.value = '代码/名称/拼音';
            this.mSelectDiv.style.display = 'none';
        }
        this.mOnInput = false;
        //
    }.bind(this);
    
    this.mQueryInput.onkeyup = function (ev)
    {
        ev = ev || window.event || null;
        if (typeof ev.keyCode != "number")
            return;        
        
        if(ev.keyCode == 38 || ev.keyCode == 40 )    // key is up or down
        {
            if (this.mCurrTRs)
            {
                var newLine = this.mCurrLine;
                if(ev.keyCode == 38)
                {
                    if(this.mCurrLine > 0)
                        newLine = this.mCurrLine - 1;  
                }
                else
                {
                    if(this.mCurrLine < this.mCurrTRs.length -1)
                        newLine = this.mCurrLine +1;
                }
                
                this.selectChange(newLine);
             }                
        }
        else
        {
            var query = this.mQueryInput.value;
            
            if (query.indexOf('代码/名称/拼音')>=0){
                query = query.replace('代码/名称/拼音', '');
                this.mQueryInput.value = query;
            }
            query = query.replace(' ', '');
            
            if( query == '') 
            {
                this.mSelectDiv.innerHTML = '';
                this.mSelectDiv.style.display = 'none';
                return;
            }
             
            var args = {
                method : 'get', onComplete : this.onSugRecved.bind(this)
            };
            query = encodeURIComponent(query); 
            query = 'http://' + WEB_SERVER + '/pyui/suggestion.py/handler?query=' + query;
            
            var myAjaj = new Ajaj(query, args);            
        }
    }.bind(this);
    
    var that = this;
    if(this.mDirectSubmitFunc)
    {
        this.mQueryForm.onsubmit = function(){
            if(that.mSelStockCode)
            {                           
                that.mDirectSubmitFunc(that.mSelStockType + that.mSelStockCode, that.mSelStockName);
            }
            else
            {
                alert('没有相应的股票存在！');
            }
            that.mSelectDiv.innerHTML = '';
            that.mSelectDiv.style.display = "none";
            that.mQueryInput.value = '';
            return false;
        };
        return;
    }
    else
    {
        this.mQueryForm.onsubmit = function(){
            this.submit();
            return false;
        };
    }
}

suggestQuery.prototype.onSugRecved = function(rep)
{
    var ret = decodeURIComponent(rep);
    
    var lines = ret.split('|');
    var query = this.mQueryInput.value;
    if (this.mNeed8161 && sug6181Data[query]){
        lines.unshift(sug6181Data[query]);
    }
    
    this.tableid = "select-table-" + Math.random();
    var content = '<table  id=\'' + this.tableid + '\' class=\'modview-select-table\'>'
    for(var i=0; i< lines.length&&i < 10; i++)
    {
        stocks = lines[i].split(';');
        if(stocks.length != 4 )
            continue;
        content += '<tr class=\'realstock-query-select-unselected\'>';        
        content += '<td>' + stocks[0] + '</td>' + '<td class=\'hide\'>' + stocks[1] + '</td>' + '<td>' + stocks[2] + '</td>' + '<td>' + stocks[3] + '</td>';
        content += '</tr>';
    }
    
    content += '</table>';
    this.mSelectDiv.innerHTML = content;
    this.mSelectDiv.style.display = "block";
    window.setTimeout(this.selectInit.bind(this), 100);
}

suggestQuery.prototype.selectInit = function()
{
    var table = $(this.tableid);
    var that = this;  
    if (table)
    {        
        if (table.childNodes[0])
        {            
            this.mCurrTRs = table.childNodes[0].childNodes;            
            this.selectChange(0)
           
            for (var i=0; i< this.mCurrTRs.length; i++)
            {
                this.mCurrTRs[i].onmouseover = function()
                {
                    var j = 0;
                    for(j =0; j< that.mCurrTRs.length; j ++)
                    {
                        if(that.mCurrTRs[j] == this)
                            break;
                    }
                    that.selectChange(j);
                }
                
                this.mCurrTRs[i].onclick = function()
                {                    
                    var j = 0;
                    for(j =0; j< that.mCurrTRs.length; j ++)
                    {
                        if(that.mCurrTRs[j] == this)
                            break;
                    }
                    
                    that.mQueryForm.onsubmit();                    
                }
            }
        }
    }       
}

suggestQuery.prototype.selectChange = function(newLine)
{
    
    if (this.mCurrTRs.length <= 0)
    {
        this.mSelStockType = null;
        this.mSelStockCode = null;
        this.mSelStockName = null;
        return false;
    }
        
    if (this.mCurrLine < 0 || this.mCurrLine > this.mCurrTRs.length -1)
        this.mCurrLine = 0;
        
    this.mCurrTRs[this.mCurrLine].className = "realstock-query-select-unselected";
    this.mCurrTRs[newLine].className = "realstock-query-select-selected";
    this.mCurrLine = newLine;
    
    // set input values
    var tds = this.mCurrTRs[this.mCurrLine].childNodes;      
    var stype = tds[1].innerHTML;
    var code = tds[0].innerHTML;
    
    this.mSelStockType = stype;
    this.mSelStockCode = code;
    this.mSelStockName = tds[2].innerHTML;
    
    this.mCodeInput.name = 'code';
    var nowaction = this.mQueryForm.action.toString();
    
    if (nowaction.lastIndexOf("/") > 0){
        nowaction = nowaction.substring(0, nowaction.lastIndexOf("/")+1);
    }else{
        nowaction = "";
    }    
    
    if(stype == 'SH'){
        this.mQueryForm.action = nowaction + defaultu;
        this.mCodeInput.value = 'sh' + tds[0].innerHTML;
    }else{
        if(stype == 'SZ'){
            this.mQueryForm.action = nowaction + defaultu;
            this.mCodeInput.value = 'sz' + tds[0].innerHTML;                    
        }else{
            this.mQueryForm.action = nowaction + "newsort.php";
            this.mCodeInput.name = 'boardNo';
            this.mCodeInput.value = '' + tds[0].innerHTML;
            if(stype == 'IH'){
                this.mCodeInput.value = 'SHHQ' + tds[0].innerHTML;
            }
            if(stype == 'IZ'){
                this.mCodeInput.value = 'SZHQ' + tds[0].innerHTML;
            }
            if(stype.indexOf('68') == 0){
                this.mCodeInput.name = 'markettype';
                this.mCodeInput.value = tds[1].innerHTML.toString().substring(2);
            }
            
            if(this.mDefUrlSubFunc)
            {
                this.mQueryForm.onsubmit = function(){
                    that.mDefUrlSubFunc(stype);
                    return false;
                };
            }
        }
    }

}

var znzIdxSort = function(keys, count, interval, data){
    this.interval = interval;
    this.count = count;
    this.keys = keys;
    if(data)
        this.data = data.substr(0, data.length -1);
    
    this.inited = false;
    this._init();
    
}
znzIdxSort.prototype._init = function()
{
    this._update();
    this.inited = true;    
}
    
znzIdxSort.prototype._update = function()
{
    if(this.data)
    {
        
        this._set(this.data);
        this.data = null;    
    }
    else
    {
        if(!this.inited || inHqTime())
            this._refresh();
    }
    
    window.setTimeout(this._update.bind(this), this.interval);
}

znzIdxSort.prototype._refresh = function(){
    var args = {
       method : 'get', onComplete : function(rep){    
            this._set(rep);
        }.bind(this)
    };
     
    var infoURL = 'http://'+rdmDataDomainNameGet()+'/test/sort2.py/sortCover.znzDo?cmd=' + Math.random().toString();  
    
    var myAjaj = new Ajaj(infoURL, args); 
}

$old_znzIdxSort_set = znzIdxSort.prototype._setDiv;
znzIdxSort.prototype._setDiv = function(up, retList){
    var divText = "涨跌幅";
    var div = "<div style='width:100%; height:146px; padding-top:5px; background:white; ";

    if(up == "dec")
        div += " margin-top:6px'>"
    else
        div += "'>";
    div += '<table border="0" width="100%" cellpadding="0" cellspacing="0">';
    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 class='hasbtm'>";
        div += "<td width='40px' class='table-center'><div align='center'><img src='./images/" + up + ( i +  1)+".gif'/></div></td>";
        var stockcode = retList[i][0].toLowerCase().replace("hq","");
        div += "<td><div align='left'><a target='_blank' href='http://www.znz888.com/stock/realstock.php?code="+stockcode+"'>"+decodeURIComponent(retList[i][1])+"</a></div></td>";
        var classN = "";
        if (retList[i][2] < retList[i][3])
            classN = "incolor";
        if (retList[i][2] > retList[i][3])
            classN = "decolor";

        div += "<td class='"+ classN +"'>"+parseFloat(retList[i][3]).toFixed(retList[i][5]?3:2)+"</td>";
        classN = "";

        if (retList[i][4] > 0)
            classN = "incolor";
        if (retList[i][4] < 0)
            classN = "decolor";
        retList[i][4] = retList[i][4].toFixed(2) + "%";

        div += "<td align='center' class='" + classN + "'>" + ( retList[i][4] ) + "</td>";
        div += "</tr>";
    }
    div += "</table>";
    div += "</div>";
    return div;
}
znzIdxSort.prototype._set = function(rep){
     var retObj = rep.parseJSON();
     var divStr = "";
     if (retObj["sz"]){
        var retHash = retObj["sz"];
        divStr = this._setDiv("inc", retHash["ratio_inc"]);
        divStr += this._setDiv("dec", retHash["ratio_dec"]);
        innerSet($("sz_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($("sh_a_inc_dec_table"), divStr, null);
     }
}