﻿(function($){
    var opts = {};
    //jQuery.fn.GetWdhq
    GetWdhq= function(url,options){
    opts = $.extend({callTime:10*1000},{url:url},options);
    Update(opts,UpdateHandler);
    };

    function Update(opts,fun){
        $.getJSON(opts.url,fun);
        setTimeout(function(){Update(opts,fun)},opts.callTime);
    }

    //刷新数据
    function UpdateHandler(data){
        //alert("test");
        opts = $.extend(opts,data["geguhangqing"],data["jibenxinxi"],{LastestBuy:data["wudanghangqing"]["buy"],LastestSale:data["wudanghangqing"]["out"]});
        opts["LastClosePrice"] = parseFloat(opts["LastClosePrice"]);
        //最新价
        //opts["newValue"] = data["geguhangqing"]["NewPrice"];
        //昨日收盘价
        //opts["lastValue"] = data["geguhangqing"]["LastClosePrice"];
        //获取最大值
        //opts[""]
        //买手总数
        var BuySum = 0;
        //卖手总数
        var SaleSum =0;
        //买卖最大手数
        var maxValue = 0;
        for(var i=0;i<opts["LastestBuy"].length;i++){
            var value = opts["LastestBuy"][i];
            value["count"] =  parseInt(value.count);
            value["price"] = parseFloat(value.price);
            BuySum += value["count"];
            maxValue = maxValue<value["count"]?value["count"]:maxValue;
        }
        for(var i=0;i<opts["LastestSale"].length;i++){
            var value = opts["LastestSale"][i];
            value["count"] =  parseInt(value.count);
            value["price"] = parseFloat(value.price);
            SaleSum += value["count"];
            maxValue = maxValue<value["count"]?value["count"]:maxValue;
        }
        opts["maxValue"] = maxValue;
        //委比
         var sockVB = formatFloat((BuySum-SaleSum)/(BuySum+SaleSum)*100);
         var sockVC = BuySum-SaleSum;
        //刷新即时信息-------------------------------------
        $("#StockName").html(opts["StockName"]);
        $("#StockCode").html("("+opts["area"]+":"+opts["StockCode"]+")");
        $("#ABlock").html(opts["time"]);
        setValue($("NewPrice"),parseFloat(opts["NewPrice"]),opts["LastClosePrice"]);
        //刷新今日数据
        setValue($("#TodayOpenPrice"),parseFloat(opts["TodayOpenPrice"]),opts["LastClosePrice"]);
        setValue($("#HighestPrice"),parseFloat(opts["HighestPrice"]),opts["LastClosePrice"]);
        setValue($("#FloorPrice"),parseFloat(opts["FloorPrice"]),opts["LastClosePrice"]);
        setValue($("#StockB"),changeTwoDecimal_f(parseFloat(opts["NewPrice"])),opts["LastClosePrice"]);
        $("#ChangeRates").html(parseFloat(opts["FloorPrice"]));
        $("#LastClosePrice").html(opts["LastClosePrice"]);
        $("#stock37").html(opts["ExchangeRate"]);
        var than = opts["TransactionsHand"];
        $("#TransactionsHand").html(than+"手");
        $("#Than").html(opts["Than"]);
        var within = changeTwoDecimal_f(parseInt(opts["Within"])/10000);
        $("#Within").html(within+"万");
        var outside = changeTwoDecimal_f(parseInt(opts["Outside"])/10000);
        $("#Outside").html(outside+"万");
		var Turnover = opts["Turnover"].length>=9?parseInt(opts["Turnover"])/1000+"亿元":opts["Turnover"]+"万元";
		$("#ExchangeRate").html(Turnover);//成交额
        //刷新侧边栏----------------------------------------------------------
        //卖
        var wdhqSale = opts["LastestSale"];
        //买
        var wdhqBuy = opts["LastestBuy"];
        //获取div
         var wdhqS = $("#LastestSale");
         var wdhqB = $("#LastestBuy");
         UpdateLastestSale(wdhqB,"买",wdhqBuy);
         UpdateLastestSale(wdhqS,"卖",wdhqSale);
         setValue($("#stockVB"),sockVB,0,"%");
         setValue($("#stockVC"),sockVC);
         var r = setValue($("#Price"),parseFloat(opts["NewPrice"]),opts["LastClosePrice"]);

         if(r==1){
            UpdateColor($("#ChangeRates"),true);
            $("#sgimg").attr("src","/Templets/images/imgmap2.gif");
         }
         else if(r==-1){
             $("#sgimg").attr("src","/Templets/images/imgmap3.gif");
            UpdateColor($("#ChangeRates"),false);
         }
         $("#ChangeRates").html(opts["Change"]+"("+opts["ChangeRates"]+")");
         $("#stockVB").html(sockVB+"%");
         $("#stockVC").html(sockVC);
         //$("#Price").html(opts["NewPrice"]);
    }

    //根据值设置颜色
    //div表示设置的元素
    //value表示当前值；stand表示比较的标准
    function setValue(elem,value,stand,text){
        var result = 0;
        if(stand==null){
            stand=0;
        }
        if(text==null){
            text="";
        }
        var check;
        if(value>stand){
            check=true;
            result=1;
        }else if(value<stand){
            check=false;
            result=-1;
        }
        UpdateColor(elem,check);
        elem.html(value+text);
        return result;
    }
    //刷新即时信息,true为升
    function UpdateColor(elem,check){
        elem.removeClass("fontred");
        elem.removeClass("fontgreen");
        if(check==true){
            elem.addClass("fontred");
        }else if(check==false){
            elem.addClass("fontgreen");
        }
    }

   //刷新五大行情
   function UpdateLastestSale(div,txt,data)
   {
       //var lastestSale = $("#LastestSale");
       //var wdhqDiv = div;
       var ul = $("<ul></ul>");
       var NumLabels = ["一","二","三","四","五"];
	   if(txt == "卖")
	   {
		   NumLabels = NumLabels.reverse();
	   }
        for(var i=0;i<data.length;i++){
            var value = data[i];
            var li = $("<li></li>");
            var nameSpan =$("<span></span>").text(txt+NumLabels[i]);
            var priceSpan =$("<span></span>").text(changeTwoDecimal_f(value.price));
            var countSpan = $("<span></span>").text(value.count);
            var lastSpan = $("<span class='LastestN'></span>");
            if(value.price>opts.LastClosePrice){
				lastSpan.removeClass('LastestN');
                priceSpan.addClass("fontred");
                countSpan.addClass("fontred");
                lastSpan.addClass("LastestU");
            }else if(value.price<opts.LastClosePrice){
				lastSpan.removeClass('LastestN');
                priceSpan.addClass("fontgreen");
                countSpan.addClass("fontgreen");
                lastSpan.addClass("LastestD");
            }
            var BarLen=value.count/opts.maxValue*20;
            lastSpan.width(BarLen);
            li.append(nameSpan,priceSpan,countSpan,lastSpan);
            ul.append(li);
        }
        //wdhqDiv.clear()
        div.html(ul);
   }
//*****************************************************
//*****************************************************
//		换手率 两位小数点等等 by zengs 2009-12-23
//*****************************************************
//*****************************************************
   function changeTwoDecimal_f(x)
   {
		var f_x = parseFloat(x);
		if (isNaN(f_x))
		{
		//alert('function:changeTwoDecimal->parameter error');
		return false;
		}
		var f_x = Math.round(x*100)/100;
		var s_x = f_x.toString();
		var pos_decimal = s_x.indexOf('.');
		if (pos_decimal < 0)
		{
			pos_decimal = s_x.length;
			s_x += '.';
		}
		while (s_x.length <= pos_decimal + 2)
		{
			s_x += '0';
		}
		return s_x;
	}



})(jQuery);

