﻿var IsIE = (navigator.appName=="Microsoft Internet Explorer") && parseInt(navigator.appVersion) >=4;
try{document.execCommand("BackgroundImageCache", false, true)}catch(e){}

var CONST_Grid_Over_Color = "#e1edf6";
var CONST_Grid_Favorite_Color = "#fff7d2";
var NetValueArray = [];
var myFavoriteFund = null;
function InitDataAndSortData(){
    //初始化全局数据   
    var oneArray = NetValueContent.split('|');
    for(var i=0;i<oneArray.length;i++){
        NetValueArray.push(oneArray[i].split(','));
    }
    //初始化我关注的基金代码
    InitFavoriteFunction();
    SortData(document.getElementById('linkPercent'));
    document.getElementById("loadingFrame").style.display = "none"; 
    parent.window.dyniframesize("iframeContent");
}

function InitFavoriteFunction(){
    if( typeof(window.parent.User) != 'undefined' &&  typeof(window.parent.User.FavoriteFund) != 'undefined' && window.parent.User.FavoriteFund != "" )
    {
        myFavoriteFund = window.parent.User.FavoriteFund;
    }
}

function SortData(obj)
{ 
	var sortMode = "0";
	if (obj.getAttribute("order") != null) { sortMode = obj.getAttribute("order"); }
	//排序并生成数据和显示
	BindData(obj.getAttribute("tag"), sortMode);
    //换图标
    arrow = document.getElementById("arrowImg");
    if(arrow)
    {
        arrow.parentNode.removeChild(arrow);
    }
    if (sortMode != "1") 
    {
	    obj.setAttribute("order", "1"); 
        obj.parentNode.innerHTML = obj.parentNode.innerHTML + "<img id='arrowImg' src='/Image/arrowDown.gif' align='absmiddle' border='0' />";
    }
    else
    {
	    obj.setAttribute("order", "0");
        obj.parentNode.innerHTML = obj.parentNode.innerHTML + "<img id='arrowImg' src='/Image/arrowUp.gif' align='absmiddle' border='0' />";
    }

	parent.window.ChangeMode();
}

function sortbyCode(x, y) { if(parseFloat(x[0]) < parseFloat(y[0])) { return 1; } else { return -1; }}
function sortbyName(x, y) { return y[1].localeCompare(x[1]); }
function sortbyCNV(x, y) { if(parseFloat(x[2]) < parseFloat(y[2])) { return 1; } else { return -1; }}
function sortbyCTNV(x, y) { if(parseFloat(x[3]) < parseFloat(y[3])) { return 1; } else { return -1; }}
function sortbyPNV(x, y) { if(parseFloat(x[4]) < parseFloat(y[4])) { return 1; } else { return -1; }}
function sortbyPTNV(x, y) { if(parseFloat(x[5]) < parseFloat(y[5])) { return 1; } else { return -1; }}
function sortbyDisValue(x, y) { if(parseFloat(x[6]) < parseFloat(y[6])) { return 1; } else { return -1; }}
function sortbyPercent(x, y) { if(parseFloat(x[7]) < parseFloat(y[7])) { return 1; } else { 	return -1; }}
function sortbyWeekPercentValue(x, y) { if(parseFloat(x[8]) < parseFloat(y[8])) { return 1; } else { 	return -1; }}
function sortbyMonthPercentValue(x, y) { if(parseFloat(x[9]) < parseFloat(y[9])) { return 1; } else { 	return -1; }}
function sortbyQuarterPercentValue(x, y) { if(parseFloat(x[10]) < parseFloat(y[10])) { return 1; } else { 	return -1; }}
function sortbyHalfPercentValue(x, y) { if(parseFloat(x[11]) < parseFloat(y[11])) { return 1; } else { 	return -1; }}
function sortbyYearPercentValue(x, y) { if(parseFloat(x[12]) < parseFloat(y[12])) { return 1; } else { 	return -1; }}

var preSort;
function BindData(sort, sortMode)
{
    if(preSort != undefined && preSort == sort){
        NetValueArray.reverse();
    }
	else if (sort == "代码")
	{
		NetValueArray.sort(sortbyCode);
	}
	else if (sort == "名称")
	{
		NetValueArray.sort(sortbyName);
	}
	else if (sort == "当天单位净值")
	{
		NetValueArray.sort(sortbyCNV);
	}
	else if (sort == "当天累计净值")
	{
		NetValueArray.sort(sortbyCTNV);
	}
	else if (sort == "单位净值")
	{
		NetValueArray.sort(sortbyPNV);
	}
	else if (sort == "累计净值")
	{
		NetValueArray.sort(sortbyPTNV);
	}
	else if (sort == "增长值")
	{
		NetValueArray.sort(sortbyDisValue);
	}
	else if (sort == "增长率")
	{
		NetValueArray.sort(sortbyPercent);
	}	
	else if (sort == "周增长")//8
	{
		NetValueArray.sort(sortbyWeekPercentValue);
	}
	else if (sort == "月增长")//9
	{
		NetValueArray.sort(sortbyMonthPercentValue);
	}
	else if (sort == "季增长")//10
	{
		NetValueArray.sort(sortbyQuarterPercentValue);
	}
	else if (sort == "半年")//11
	{
		NetValueArray.sort(sortbyHalfPercentValue);
	}
	else if (sort == "年增长")//12
	{
		NetValueArray.sort(sortbyYearPercentValue);
	}	
	if (preSort != sort && sortMode == "1")
	{
		NetValueArray.reverse();
	}
	preSort = sort;
	
	var tables = [];
	var tablesTemp = [];
	tables.push('<table id="tblContent" class="tableBody" cellpadding="0" cellspacing="0" border="1" width="950px" bordercolor="#cccccc"><tr style="height: 1px">');	
	tables.push('<th style="width: 30px;"></th><th style="width: 50px;"></th><th style="width: 150px;"></th><th style="width: 55px;"></th><th style="width: 60px;"></th><th style="width: 60px;"></th><th style="width: 60px;"></th><th style="width: 60px;"></th><th style="width: 60px;"></th><th style="width: 60px;"></th><th style="width: 60px;"></th><th style="width: 60px;"></th><th style="width: 60px;"></th><th style="width: 60px;"></th><th style="width: 50px;"></th></tr>');
	var order = 1;
	for(var i=0;i<NetValueArray.length;i++)
	{
	    try{   
		    if ((sort == "当天单位净值" || sort == "当天累计净值") && NetValueArray[i][2] == 0)
		    {
			    PushTR(i, "--", NetValueArray[i], tablesTemp);
		    }
		    else if ((sort == "增长值" || sort == "增长率") && (NetValueArray[i][2] == 0 || NetValueArray[i][4] == 0))
		    {
			    PushTR(i, "--", NetValueArray[i], tablesTemp);
		    }
		    else if ((sort == "单位净值" || sort == "累计净值") && NetValueArray[i][4] == 0)
		    {
			    PushTR(i, "--", NetValueArray[i], tablesTemp);
		    }
		    else if(sort == "周增长" && NetValueArray[i][8] == "-198500.00")
		    {
		        PushTR(i, "--", NetValueArray[i], tablesTemp);
		    }
		    else if(sort == "月增长" && NetValueArray[i][9] == "-198500.00")
		    {
		        PushTR(i, "--", NetValueArray[i], tablesTemp);
		    }
		    else if(sort == "季增长" && NetValueArray[i][10] == "-198500.00")
		    {
		        PushTR(i, "--", NetValueArray[i], tablesTemp);
		    }
		    else if(sort == "半年" && NetValueArray[i][11] == "-198500.00")
		    {
		        PushTR(i, "--", NetValueArray[i], tablesTemp);
		    }
		    else if(sort == "年增长" && NetValueArray[i][12] == "-198500.00")
		    {
		        PushTR(i, "--", NetValueArray[i], tablesTemp);
		    }
		    else
		    {
			    PushTR(i, order, NetValueArray[i], tables);
			    order++;
		    }
		}
		catch(e){}
	}

	tables.push(tablesTemp.join(''));
	tables.push('</table>');
	parseHTML(document.getElementById("NetValueList"), tables.join(''));	
}

function parseHTML(el, html) {    
    if (window.attachEvent) {
        el.innerText = "";     
        el.insertAdjacentHTML("afterBegin", html); 
    } else {
        el.innerHTML = html;
    }
}

function returnColor(value){
    var color = "";
    value = parseFloat(value);
    if(value){
        if(value > 0){
            color = "style='color:red'";
        }
        else if(value < 0){
            color = "style='color:green'";
        }
    }
    return color;
}
function GetFavoriteColor(code){
    var returnColor = "";
    if(myFavoriteFund != null){
        Codes = myFavoriteFund.split(';');
        if(Codes.indexOf(code)!=-1){
            return returnColor=CONST_Grid_Favorite_Color;
        }
    }
    return returnColor;
}
function PushTR(i, order, netValues, tables)
{
    //颜色变量初始化   
	var percentColor,disValueColor,weekColor,monthColor,quarterColor,halfColor,yearColor,favColor;
	disValueColor = returnColor(netValues[6]);
	percentColor = returnColor(netValues[7]);
	weekColor = returnColor(netValues[8]);
	monthColor = returnColor(netValues[9]);
	quarterColor = returnColor(netValues[10]);
	halfColor = returnColor(netValues[11]);
	yearColor = returnColor(netValues[12]);	
    favColor = GetFavoriteColor(netValues[0]);
    
	tables.push('<tr bgColor="'+favColor+'" style="cursor:pointer;" type="code" code="'+netValues[0]+'" onmouseout="changebg(this)" onmouseover="changebg1(this)">');
    //没有渲染我关注的
	//tables.push(GetFavoriteColumn(netValues[0],netValues[1]));
	tables.push("<td>"+order+"</td>");
	tables.push('<td>' +netValues[0]+'</td>');
	tables.push('<td><a target="_blank" href="http://fund.fund123.cn/html/'+netValues[0]+'">' +netValues[1]+'</td>');
	tables.push("<td>" +(netValues[2] == 0 ? "--" : FormatNumber(netValues[2], 4))+"</td>");
	tables.push("<td>" +(netValues[2] == 0 ? "--" : FormatNumber(netValues[3], 4))+"</td>");

	tables.push("<td style='color: #666'>" +(netValues[4] == 0 ? "--" : FormatNumber(netValues[4], 4))+"</td>");
	tables.push("<td style='color: #666'>" +(netValues[4] == 0 ? "--" : FormatNumber(netValues[5], 4))+"</td>");
	tables.push("<td "+disValueColor+">" +(netValues[2] == 0 || netValues[4] == 0 ? "--" : FormatNumber(netValues[6], 4))+"</td>");
	tables.push("<td "+percentColor+">" +(netValues[2] == 0 || netValues[4] == 0 ? "--" : (FormatNumber(netValues[7], 2)+"%"))+"</td>");
	tables.push("<td title='周增长' "+weekColor+">" +(netValues[8] != "-198500.00" ? (FormatNumber(netValues[8],2)+"%") : "--")+"</td>");
	tables.push("<td title='月增长' "+monthColor+">" +(netValues[9] != "-198500.00" ? (FormatNumber(netValues[9],2)+"%") : "--")+"</td>");
	tables.push("<td title='季增长' "+quarterColor+">" +(netValues[10] != "-198500.00" ? (FormatNumber(netValues[10],2)+"%") : "--")+"</td>");
	tables.push("<td title='半年增长' "+halfColor+">" +(netValues[11] != "-198500.00" ? (FormatNumber(netValues[11],2)+"%") : "--")+"</td>");
	tables.push("<td title='年增长' "+yearColor+">" +(netValues[12] != "-198500.00" ? (FormatNumber(netValues[12],2)+"%") : "--")+"</td>");	
	tables.push('<td><a target="_blank" href="http://fx.fund123.cn/html/NetValueHistory'+netValues[0]+'.html">');
	tables.push('走势图</a>');	
	tables.push('</td>');	
	tables.push("</tr>");
}

function SortListTableVarMode(text, value)
{
	var tblContent = document.getElementById("tblContent");
	var trs = tblContent.getElementsByTagName("TR");
	var Len = 0;
	
	if (value == "0")
	{
		for (var i=0;i<trs.length;i++)
		{
			if (trs[i].getAttribute("type") == "code")
			{
				trs[i].style.display = "";
				Len = Len +1;
			}
		}
		
		currCodes = null;
	}
	else
	{	   
	    var codes = value.split(";");	   
		for (var i=0;i<trs.length;i++)
		{
			if (trs[i].getAttribute("type") == "code")
			{
			    if(codes.indexOf(trs[i].getAttribute("code"))!=-1){
			        trs[i].style.display = "";
			        Len = Len +1;
			    }
			    else{
			        trs[i].style.display = "none";
			    }
			}
		}			
	}
	ShowFundNumber(Len)
}

function ShowFundNumber(Num){
    var Dom = document.getElementById("FundNumber");
    Dom.innerHTML = "<span style='COLOR: #666'>"+Num+"只</span>";
}

function changebg(obj) 
{ 
    if( obj.__bgColor == CONST_Grid_Favorite_Color )
    {
        return;
    }
    obj.bgColor = "#FFFFFF";
}
function changebg1(obj)
{ 
    if( obj.bgColor != CONST_Grid_Favorite_Color )
    {
        obj.bgColor = CONST_Grid_Over_Color; 
    }
    obj.__bgColor = obj.bgColor;
}

function FormatNumber(srcStr,nAfterDot)
{
    srcStr = parseFloat(srcStr);
    return srcStr.toFixed(nAfterDot);
} 

function findParentElement(obj, tagName) {
    var parentObj = obj;
    if (parentObj == null || parentObj.tagName == tagName) return parentObj;
    else return findParentElement(parentObj.parentNode, tagName);
}

function findChildElement(obj, tagName) {
    for (var i=0; i<obj.childNodes.length; ++i) {
        var child = obj.childNodes[i];
        if (child && child.tagName && child.tagName == tagName) {
            return child;
        }
    }
    
    return null;
}

function onovergrid(obj, evt) {
    var srcTarget = null;
    if (IsIE) {
        srcTarget = window.event.srcElement;
    } else {
        srcTarget = evt.target;
    }
    srcTarget = findParentElement(srcTarget, "TD");
    if (srcTarget) {
        if (srcTarget.tagName == "TD") {
            if (srcTarget.getAttribute("isfav")) {
                changeImage(srcTarget);
            } else {
                var tr = srcTarget.parentNode;
                if (tr && tr.getAttribute("type")) {
                    changebg1(tr);
                    
                }
            }
        }
    }
}

function onoutgrid(obj, evt) {
    var srcTarget = null;
    if (IsIE) {
        srcTarget = window.event.srcElement;
    } else {
        srcTarget = evt.target;
    }
    srcTarget = findParentElement(srcTarget, "TD");
    if (srcTarget) {
        if (srcTarget.tagName == "TD") {
            if (srcTarget.getAttribute("isfav")) {
                changeImage2(srcTarget);
            } else {
                var tr = srcTarget.parentNode;
                if (tr && tr.getAttribute("type")) {
                    changebg(tr);
                }
            }
        }
    }
}