﻿/*-----------------------------------------------------------------------------------------------------------------------------------
作者:Traverlin 2010-01-21

A.使用说明:
1.下载本脚本到您对应的项目目录,并添加该脚本引用
如：<script type="text/javascript" src="<%=CurrentThemeVirtualPath %>/Scripts/LoadScriptUrl.js"></script>



2.在您要调用的当前页面添加该隐藏div标签，注意ID不能改变且尽量将本对Div添加靠页面头部，以免出现脚本未声明类型错误。
如：<div id="scriptLoader" style="display:none;"></div> 

3.页面事件调用代码：[StockList.load（参数1，参数2）详细参数参见B.数据源文档及格式说明]
如：
<script type="text/javascript" language="javascript">
StockList.load(dataSourceType,functionName);//如：StockList.Load("quotation_SelectByStockID[mydefinename],quotationTop_Select16StockOrder","StockList.Process1(),StockList.Process2()");
</script>


4.根据第3个步骤填写的（多个或单个）内定参数名称和（多个或单个）方法名，依次在StockList对象内声明对应的处理方法。并可直接把声明的那些参数当一个真实javascript参数变量使用。
详细参数参照B说明

==========================================================================================================================================

B.数据源文档及格式说明：

1.服务器端提供数据源列表：

[根据股票ID查询股票实体行情]
如：var stockquotation_only="";
 

[查询4块深市和沪市排行]
如：var quotationtop_select4shszorder="";

[查询全部股票涨跌幅排行]
如：var quotationtop_selectallorder="";

[查询全部多只股票实时行情]{可选参数：stockid<多只股票可用,进行分隔>}
如：var stockquotation_more="";

 
 
[开放附加参数接口条件：系统固定参数（数据变量名称、方法名称）：source,fun；查询条件可选参数：stockid,stockname,stockcode；可选显示条数参数：topcount]
注意：请勿修改该脚本文件的方法名称、变量名称。 

-------------------------------------------------------------------------------------------------------------------------------------*/

var _ = function(tag) {
    return document.createElement(tag);
}
var Util = {
    scriptCount: 0,
    getData: function(src) {
        var loader = _("script");
        loader.type = "text/javascript";
        loader.language = "javascript";
        loader.charset = "utf-8";
        loader.id = "scriptLoader_" + Util.scriptCount;
        loader.src = src.replace("&list=", "Util.delScriptLoader('" + Util.scriptCount + "');&list=");

        if (document.getElementById("scriptLoader")) {
            document.getElementById("scriptLoader").appendChild(loader);
            Util.scriptCount++;
        }
    },
    delScriptLoader: function() {
        for (var id = 0; id < 10; id++) {
            if (document.getElementById("scriptLoader_" + id)) {
                document.getElementById("scriptLoader_" + id).parentNode.removeChild(document.getElementById("scriptLoader_" + id));
            }
        }     
    },
    getRandomNumber: function() {
        var date = new Date();
        return Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()) + Math.random().toString().replace(".", "");
    }
}

var StockList = {

    loaderUrl: "http://data.lqz.cn/OpenDataHandler.ashx?action=openstockdata&rn=@rn&topcount=10",
    threadScript: -1,
    load: function(dataSourceType, functionName, selectCondition) {
        var sourceUrl = StockList.loaderUrl.replace("@rn", Util.getRandomNumber());

        if (dataSourceType.length > 0) {
            sourceUrl = sourceUrl + "&source=" + dataSourceType;
            
        }

        if (functionName.length > 0) {
            sourceUrl = sourceUrl + "&fun=" + functionName;           
        }

        if (selectCondition) {
            sourceUrl = sourceUrl + "&" + selectCondition;
        }



        Util.getData(sourceUrl);
        return sourceUrl;
    } 

};