﻿function moveSelected(oSourceSel,oTargetSel,numSelect)
{
    //建立存储value和text的缓存数组
    var arrSelValue = new Array();
    var arrSelText = new Array();
    //此数组存贮选中的options，以value来对应
    var arrValueTextRelation = new Array();
    var index = 0;//用来辅助建立缓存数组

    //存储源列表框中所有的数据到缓存中，并建立value和选中option的对应关系
    for(var i=0; i<oSourceSel.options.length; i++)
    {
        if(oSourceSel.options[i].selected)
        {
            //存储
            arrSelValue[index] = oSourceSel.options[i].value;
            arrSelText[index] = oSourceSel.options[i].text;
            //建立value和选中option的对应关系
            arrValueTextRelation[arrSelValue[index]] = oSourceSel.options[i];
            index ++;
        }
    }
        
    //判断移动的数目是否已足够.
    
   
    var numOTarget = oTargetSel.options.length;
    if(numSelect!=0 && numOTarget + arrSelText.length > numSelect){
		alert("您至多只能选择"+ numSelect +"条 \n\n您已经选择了"+ numOTarget +"条 \n\n您还可以选择"+ (numSelect-numOTarget) +"条");
		return;
    }
    
    //判断所选条目是否可比较
    
    var typeHB = false;
    var typeZQ = false;
    var typeOther = false;
    var typeName = ""; 
   
    for(var i=0; i<arrSelText.length; i++)
    {
        typeName = arrSelText[i].toString();
        typeName = typeName.substring(0,typeName.indexOf("-",0));
         if(typeName=="货币型")
        {
           if(typeZQ || typeOther)
            {
                alert("您选择的货币型与其他类型不可比较");
                return;
            }
            typeHB = true;
        }
        else if(typeName=="债券型")
        {
            if(typeHB || typeOther)
            {
                alert("您选择的债券型与其他类型不可比较");
                return;
            }
            typeZQ = true;
        }
        else
        {
            if(typeHB || typeZQ)
            {
                alert("您的选择类型与货币型或债券型不可比较");
                return;
            }
            typeOther = true;
        }
    }
    //判断所选条目 与 已选条目是否可比较
    for(var i=0; i<oTargetSel.options.length; i++)
    {
        if(oSourceSel.id.toString() == "TargetListBox")
        {//如果是从右向左删除数据，则跳过判断。
             typeHB = false;
             typeZQ = false;
             typeOther = false;
        }
        typeName = oTargetSel.options[i].text;
        typeName = typeName.substring(0,typeName.indexOf("-",0));
        
        if(typeName=="货币型")
        {
           if(typeZQ || typeOther)
            {
                alert("选择基金的类型与已有基金类型(货币型)不可比较");
                return;
            }
            typeHB = true;
        }
        else if(typeName=="债券型")
        {
            if(typeHB || typeOther)
            {
                alert("选择基金的类型与已有基金类型(债券型)不可比较");
                return;
            }
            typeZQ = true;
        }
        else
        {
            if(typeHB || typeZQ)
            {
                alert("选择基金的类型与已有基金类型不可比较");
                return;
            }
            typeOther = true;
        }
    }
    
    //增加缓存的数据到目的列表框中，并删除源列表框中的对应项
    for(var i=0; i<arrSelText.length; i++)  
    {
        //增加
        var oOption = document.createElement("option");
        oOption.text = arrSelText[i];
        oOption.value = arrSelValue[i];
        oTargetSel.add(oOption);
        //删除源列表框中的对应项
        oSourceSel.removeChild(arrValueTextRelation[arrSelValue[i]]);
    }
    
    //存储比较
    SetCookie("strText",writeSession("1"));
    SetCookie("strValue",writeSession("2"));

}

//以下为存储基金比较的选择---------------------------
function GetCookieVal(offset)
//获得Cookie解码后的值
{
    var endstr = document.cookie.indexOf (";", offset);
    if (endstr == -1)
    endstr = document.cookie.length;
    return unescape(document.cookie.substring(offset, endstr));
}

//设定Cookie值
function SetCookie(name, value)
{
    var expdate = new Date();
    var argv = SetCookie.arguments;
    var argc = SetCookie.arguments.length;
    var expires = (argc > 2) ? argv[2] : null;

    if(expires!=null) expdate.setTime(expdate.getTime() + ( expires * 1000 ));
    
    document.cookie = name + "=" + escape (value) +((expires == null) ? "" : ("; expires="+ expdate.toGMTString()))
   // +((secure == true) ? "; secure" : "");
}

function DelCookie(name)
//删除Cookie
{
    var exp = new Date();
    exp.setTime (exp.getTime() - 1);
    var cval = GetCookie (name);
    document.cookie = name + "=" + cval + "; expires="+ exp.toGMTString();
}

function GetCookie(name)
//获得Cookie的原始值
{
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i < clen)
    {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg)
        return GetCookieVal (j);
        i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0) break;
    }
    return null;
}

//写入最近浏览的基金
function writeRecentFund(fundcode,fdate,fundname)
{
    var thisFund = fundcode + ","  + fdate + "," + fundname;
    var getFondName = GetCookie("fondName");
    
    if(getFondName==null||getFondName=="")
    {
        SetCookie("fondName","|" + thisFund);
    }
    else
    {
        
        var isFondIn = false;
        var numFondAt = 0;
        var fondNameArray = getFondName.split('|');
        
        var tArr=new Array(10);
        
        var j=0;
        for(var i=0;i<fondNameArray.length;i++)
        {   
            if(fondNameArray[i]==thisFund)
            {
            }
            else
            {
                tArr[j]=fondNameArray[i];
                j++;
            }
        }
        getFondName = "";
        var k = 8;
        for(var i=0;i<tArr.length-1;i++)
        {
            if(!(tArr[i]== null || tArr[i]==""))
            {
                getFondName += "|" + tArr[i];
            }
            if(i>=k-1)
            {
                i = tArr.length;
            }
        }
        getFondName = getFondName.replace("||","|");
        getFondName = "|" + thisFund + getFondName ; 
        SetCookie("fondName",getFondName);
        //SetCookie("fondName","");
    }
}

//读取最近浏览过的基金
function readRecentFund()
{
    var getFondName = GetCookie("fondName");
    var strReturn = "";

    if(getFondName==null||getFondName=="")
    {
        return "";
    }
    else
    {
        var fondNameArray = getFondName.split('|');
        var fondArray;
        strReturn+="<ul>"
        for(var i=0;i<fondNameArray.length;i++)
        {   
            if(fondNameArray[i]!= null&&fondNameArray[i]!="")
            {
                fondArray = fondNameArray[i].split(',');
               // strReturn += " <p class='title_01'><a href='fund_review.aspx?fcode="+ fondArray[0] +"&fdate="+ fondArray[1] +"'>"+ fondArray[2] +" ("+ fondArray[0] +")</a></p>";
                strReturn += " <li><a href='/fundinfo/"+ fondArray[0] +"'>"+ fondArray[2]+ "</a></li>";
            }
        }
        strReturn+="</ul>"
    }
    return strReturn;
}


//得到指定的节点对象
function _gO(tag)
{
var o=document.getElementById(tag);
if(o==null)
alert("程序错误:"+tag+"不存在！");
else
return o;
}

Date.prototype.format = function(format)
{
  var o = {
    "M+" : this.getMonth()+1, //month
    "d+" : this.getDate(),    //day
    "h+" : this.getHours(),   //hour
    "m+" : this.getMinutes(), //minute
    "s+" : this.getSeconds(), //second
    "q+" : Math.floor((this.getMonth()+3)/3),  //quarter
    "S" : this.getMilliseconds() //millisecond
  }
  
  if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
    (this.getFullYear()+"").substr(4 - RegExp.$1.length));
    
  for(var k in o)
  if(new RegExp("("+ k +")").test(format))
    format = format.replace(RegExp.$1,
      RegExp.$1.length==1 ? o[k] : 
        ("00"+ o[k]).substr((""+ o[k]).length));
        
  return format;
}
