﻿//全局变量
var qh_count=30;        //默认显示期数
var is_update_3d=1;    //是否自动抓取更新3D数据,如果设置为1,则在首次进入页面时,会自动从官方更新3D数据
var datas;              //3D数据,全局变量
var lx=0;               //显示类型,0为综合走势,1为出号特征,2和值走势,3为奇偶走势
var waitdiv;

set_lx();
function set_lx()
{
    var strHref=document.location.href;
    var index=strHref.indexOf('lx=');
    if(index<0)
        return;
    index+=3;
    strHref=strHref.substr(index,1);
    switch(strHref)
    {
        case '1':
            lx=1;
            break;
        case '2':
            lx=2;
            break;
        case '3':
            lx=3;
            break;
        default:
            lx=0;
            break;
    }
    
}

//设置3D期号选择栏
function set_select_3dqh()
{
    if(is_update_3d>0)
    {
        //需要自动更新3D数据
        is_update_3d=0;
        autoupdate3d();
    }
    var option={
		parameters:"",
		method:"post",
		onSuccess:function(transport){
		    if(transport.responseText==""||transport.responseText=="-1")
		    {
		        var showdiv=document.getElementById("showdiv");
		        showdiv.innerText="数据获取失败，请检查网络或重试。";		        
		        return;
		    }
		    var qhs=transport.responseText.split(',');
		    if(qhs.length>0)
		    {
		        var div_sl1=document.getElementById("div_sl1");
		        var div_sl2=document.getElementById("div_sl2");		        
		        if(div_sl1==null || div_sl2==null)
    		        return;
    		    var str_sl1="<select id='sl_1'>";
    		    var str_sl2="<select id='sl_2'>";
    		    for(var i=0;i<qhs.length;i++)
	    	    {
	    	        str_sl1+="<option value ="+qhs[i]+">"+qhs[i]+"</option>";
	    	        str_sl2+="<option value ="+qhs[i]+">"+qhs[i]+"</option>";
		        }
		        str_sl1+="</select>";
		        str_sl2+="</select>";
		        div_sl1.innerHTML=str_sl1;
		        div_sl2.innerHTML=str_sl2;
		        var sl1=document.getElementById("sl_1");
		        sl1.selectedIndex=qh_count-1;
		        if(is_update_3d>0)
		        {
		            //需要自动更新3D数据
		            is_update_3d=0;
		            autoupdate3d();
		        }
		        get_3d_data(); //默认显示3D综合走势图
		    }
		    },
		onFailure:function(transport){
			//alert("数据提交失败，请检查网络或重试。");
			}
	}
	var request=new Ajax.Request("data.aspx?oper=3dqh",option);
}

//按照sl1与sl2的选项，申请3D数据
function get_3d_data()
{
    waitdiv=document.getElementById("waitdiv");
    if(waitdiv!=null)
        waitdiv.innerHTML="<img src='img/wait.gif' />正在获取数据，请稍后...";
    var qhs=document.getElementById("sl_1").value;
    var qhe=document.getElementById("sl_2").value;
    if(qhs==null||qhe==null)
        return;    
    var option={
		parameters:"qhs="+qhs+"&qhe="+qhe,
		method:"post",
		onSuccess:function(transport){
		    if(transport.responseText==""||transport.responseText=="-1")
		    {
		        alert("没有找到指定数据，请重新选择！");
		        return;
		    }		    
		    eval("datas="+transport.responseText);      //转换数据为java数组		    
		    if(datas.length<0)
		    {
		        if(waitdiv!=null)
		            waitdiv.innerHTML="数据获取失败，请检查网络或重试。";
		        return;
		    }
		    if(waitdiv!=null)
		        waitdiv.innerHTML="<img src='img/wait.gif' />数据获取成功，正在准备输出...";
		    setTimeout(out3d,500);          //延迟半秒，以便显示新的等待提示
		    },
		onFailure:function(transport){
			//alert("数据提交失败，请检查网络或重试。");
			}
	}
	var request=new Ajax.Request("data.aspx?oper=3ddata",option);
}

//根据lx类型,输出3D图表
function out3d()
{
    switch(lx)
    {
        case 0:
            out3dzh();
            break;
        case 1:
            out3dch();
            break;
        case 2:
            out3dhz();
            break;
        case 3:
            out3djo();
            break;
    }
    if(waitdiv!=null)
        waitdiv.innerHTML="";
}

//输出3D综合走势数据
function out3dzh()
{
    lx=0;
    var btdiv=document.getElementById("btdiv");
    if(btdiv!=null)
        btdiv.innerText="福彩3D综合走势图";        
    var showdiv=document.getElementById("showdiv");		   
	if(showdiv!=null)
	{
	    //以下代表成功获取数据时组织输出html
	    var outhtml="<TABLE cellSpacing=0 borderColorDark=#ecf5ff cellPadding=0 width=950px align=center bgColor=#aae3ff borderColorLight=#4da6ff border=1><TBODY><TR><TD rowSpan=2 class=bt>开奖<br>期数</TD><TD rowSpan=2 class=bt>中奖号</TD><TD colSpan=10 class=bt>0-9中奖号码分布图</TD><TD colSpan=10 class=bt>百位中奖号码分布图</TD><TD colSpan=10 class=bt>十位中奖号码分布图</TD><TD colSpan=10 class=bt>个位中奖号码分布图</TD><TD colSpan=3 class=bt>号码分析</TD></tr>";   //表头
	    outhtml+="<tr>";
	    for(var i=0;i<4;i++)
	        for(var j=0;j<10;j++)
	            outhtml+="<TD class=bt>"+j+"</TD>";
	    outhtml+="<TD class=bt>和值</TD><TD class=bt>奇偶</TD><TD class=bt>大小</TD></tr>";
		var count_jh=new Array();
		for(i=0;i<40;i++)
		    count_jh[i]=0;
		var hz,js,os,ds,xs;
		var html_jh=new Array();		
		for(i=0;i<4;i++)
		{
		    html_jh[i]=new Array();
		    for(j=0;j<10;j++)
		            html_jh[i][j]=0;
		}
		for(i=0;i<datas.length;i++)
		{
		    outhtml+="<TR><td class=qh>"+datas[i][0]+"</td><td class=jh>&nbsp;"+datas[i][1]+"&nbsp;"+datas[i][2]+"&nbsp;"+datas[i][3]+"</td>";
		    hz=0;
		    js=0;
		    os=0;
		    ds=0;
		    xs=0;
		    for(j=1;j<=3;j++)
		    {
		        //计算和值
		        hz+=datas[i][j];
		        //计算奇偶比
		        if(datas[i][j]%2==1)
		            js++;
		        else
		            os++;		            
		        //计算大小比		        
		        if(datas[i][j]>4)
		            ds++;
		        else
		            xs++;
		        html_jh[0][datas[i][j]]++;          //0-9奖号分布数据
		        html_jh[j][datas[i][j]]++;          //百，十，个位分别统计分布数据
		        count_jh[datas[i][j]]++;            //统计0-9奖号出现次数
		        count_jh[j*10+datas[i][j]]++;            //统计百，十，个位奖号出现次数
		    }
		    //输出奖号及百，十，个位分布情况
		    for(j=0;j<4;j++)
		        for(k=0;k<10;k++)
		        {
		            switch(j)
		            {
		                case 0:     //0-9分布情况
		                    if(html_jh[j][k]==3)
		                        outhtml+="<td class=jh2_3>"+k+"</td>";      //3重号中奖
		                    else if(html_jh[j][k]==2)
		                        outhtml+="<td class=jh2_2>"+k+"</td>";      //2重号中奖
		                    else if(html_jh[j][k]==1)
		                        outhtml+="<td class=jh2_1>"+k+"</td>";      //中奖
		                    else
		                        outhtml+="<td class=jh2_0></td>";      //没有中奖
		                    break;
                        case 1:     //百位
                            if(html_jh[j][k]==1)
		                        outhtml+="<td class=jh1_1>"+k+"</td>";      //中奖
		                    else
		                        outhtml+="<td class=jh1_0></td>";      //没有中奖
                            break;
                        case 2:     //十位
                            if(html_jh[j][k]==1)
		                        outhtml+="<td class=jh0_1>"+k+"</td>";      //中奖
		                    else
		                        outhtml+="<td class=jh0_0></td>";      //没有中奖
                            break;
                        case 3:     //个位
                            if(html_jh[j][k]==1)
		                        outhtml+="<td class=jh1_1>"+k+"</td>";      //中奖
		                    else
		                        outhtml+="<td class=jh1_0></td>";      //没有中奖
                            break;
		            }
		            html_jh[j][k]=0;        //奖数据清零，以便下个循环使用
		        }
		    //输出和值		    
		    outhtml+="<td class=bl>"+hz+"</td>";
		    //输出奇偶比
		    outhtml+="<td class=bl>"+js+":"+os+"</td>";
		    //输出大小比
		    outhtml+="<td class=bl>"+ds+":"+xs+"</td>";
		    outhtml+="</tr>";
		}
		
		
		//自选号码功能
		outhtml+="<tr><td colSpan=12 class=bt>模拟自选号</td>";		
		for(i=0;i<3;i++)
		    for(j=0;j<10;j++)
		        if(i%2==1)
		            outhtml+="<td class='zxrb_0' onclick='zx_3d_click(this,"+j+",\"r\");'></td>";
		        else
		            outhtml+="<td class='zxbb_0' onclick='zx_3d_click(this,"+j+",\"b\");'></td>";
		outhtml+="<td class=bt colSpan=3></td>";
		outhtml+="</tr>";
		
		
		
		
		
		outhtml+="</TBODY></TABLE><div class=bz>图标说明：0-9中奖号码分布图中，<span class=jh2_1>&nbsp;8&nbsp;</span>-本期该号码出现1次 <span class=jh2_2>&nbsp;8&nbsp;</span>-本期该号码出现2次 <span class=jh2_3>&nbsp;8&nbsp;</span>-本期该号码出现3次</div><div class=bz>友情提醒：如您使用的是IE浏览器请勿过大选择数据显示,如想查询更多数据请使用Firefox浏览器.</div>";
		showdiv.innerHTML=outhtml;
	}
}

//输出3D和值分布数据
function out3dhz()
{
    lx=2;
    var btdiv=document.getElementById("btdiv");
    if(btdiv!=null)
        btdiv.innerText="3D和值分布图";    
    var showdiv=document.getElementById("showdiv");		   
	if(showdiv!=null)
	{
	//以下代表成功获取数据时组织输出html
	    var outhtml="<TABLE cellSpacing=0 borderColorDark=#ecf5ff cellPadding=0 width=950px align=center bgColor=#aae3ff borderColorLight=#4da6ff border=1><TBODY><TR><TD rowSpan=2 class=bt>开奖<br>期数</TD><TD rowSpan=2 colSpan=3 class=bt>开奖号码</TD><TD rowSpan=2 class=bt>和值</TD><TD colSpan=10 class=bt>和值尾数</TD><TD colSpan=28 class=bt>和值分布</TD></TR>";   //表头
	    outhtml+="<TR>";
	    for(var i=0;i<10;i++)
	        outhtml+="<TD class=bt>"+i+"</TD>";
	    for(i=0;i<28;i++)
	        outhtml+="<TD class=bt>"+i+"</TD>";
	    outhtml+="</TR>";
	    var hzyls=new Array();
	    for(i=0;i<32;i++)
	        hzyls[i]=0;
	    var hznow;
	    var hznowstr;
	    var html_hw=new Array();
	    for(i=0;i<10;i++)
	        html_hw[i]=0;
	    var html_hz=new Array();
	    for(i=0;i<28;i++)
	        html_hz[i]=0;
	    for(i=0;i<datas.length;i++)
	    {
	        hznow=datas[i][1]+datas[i][2]+datas[i][3];
	        hznowstr=String(hznow);
	        html_hw[hznowstr.substr(hznowstr.length-1,1)]++;
	        html_hz[hznow]++;
	        outhtml+="<tr><td class='qh'>"+datas[i][0]+"</td>";
	        for(var j=1;j<=3;j++)
	            outhtml+="<td class='jh'>"+datas[i][j]+"</td>";
	        outhtml+="<td class='hz_hz'>"+hznow+"</td>";
	        for(j=0;j<10;j++)
	        {
	            if(html_hw[j]==1)
	                outhtml+="<td class='hw_1'>"+j+"</td>";
	            else
	                outhtml+="<td class='hw_0'>&nbsp;</td>";
	            html_hw[j]=0;           //清零，以便下个循环使用
	        }
	        for(j=0;j<28;j++)
	        {
	            if(html_hz[j]==1)
	            {
	                //位于本区间
	                hzyls[j]=0;
	                outhtml+="<td class='hz_1'>"+j+"</td>";
	            }
	            else
	            {
	                //遗漏增加
	                hzyls[j]++;
	                outhtml+="<td class='hz_0'>"+hzyls[j]+"</td>";
	            }
	            html_hz[j]=0;
	        }
	        outhtml+="</tr>";
	    }
	    
	    outhtml+="</TBODY></TABLE>";
	    showdiv.innerHTML=outhtml;
	}
}

//输出3D出号特征分布数据
function out3dch()
{
    lx=1;
    var btdiv=document.getElementById("btdiv");
    if(btdiv!=null)
        btdiv.innerText="3D出号特征图";
    var showdiv=document.getElementById("showdiv");    
	if(showdiv!=null)
	{
	    //以下代表成功获取数据时组织输出html
	    var outhtml="<TABLE cellSpacing=0 borderColorDark=#ecf5ff cellPadding=0 width=950px align=center bgColor=#aae3ff borderColorLight=#4da6ff border=1><TBODY><TR><TD class=bt>开奖<br>期数</TD><TD colSpan=3 class=bt>开奖号码</TD><TD class=bt>和值</TD><TD colSpan=3 class=bt>大小顺序</TD><TD class=bt>大小比</TD><TD colSpan=3 class=bt>奇偶顺序</TD><TD class=bt>奇偶比</TD><TD colSpan=3 class=bt>201顺序</TD><TD class=bt>201比</TD></TR>";   //表头
	    var hz;
	    var html_dx,html_jo,html_201;
	    var count_d,count_x,count_j,count_o,count_2,count_0,count_1;
	    for(i=0;i<datas.length;i++)
	    {
	        outhtml+="<tr><td class='qh'>"+datas[i][0]+"</td>";
	        hz=0;
	        html_dx="";
	        html_jo="";
	        html_201="";
	        count_d=0;
	        count_x=0;
	        count_j=0;
	        count_o=0;
	        count_2=0;
	        count_0=0;
	        count_1=0;
	        for(j=1;j<=3;j++)
	        {
	            outhtml+="<td class='jh'>"+datas[i][j]+"</td>";
	            if(datas[i][j]>4)
	            {
	                html_dx+="<td class='dx_d'>大</td>";
	                count_d++;
	            }
	            else
	            {
	                html_dx+="<td class='dx_x'>小</td>";
	                count_x++;
	            }
	            if(datas[i][j]%2==1)
	            {
	                html_jo+="<td class='jo_j'>奇</td>";
	                count_j++;
	            }
	            else
	            {
	                html_jo+="<td class='jo_o'>偶</td>";
	                count_o++;
	            }
	            if(datas[i][j]%3==2)
	            {
	                html_201+="<td class='t201_2'>2</td>";
	                count_2++;
	            }
	            else if(datas[i][j]%3==1)
	            {
	                html_201+="<td class='t201_1'>1</td>";
	                count_1++;
	            }
	            else
	            {
	                html_201+="<td class='t201_0'>0</td>";
	                count_0++;
	            }
	            hz+=datas[i][j];
	        }
	        outhtml+="<td class='bl'>"+hz+"</td>"+html_dx+"<td class=bl>"+count_d+":"+count_x+"</td>"+html_jo+"<td class=bl>"+count_j+":"+count_o+"</td>"+html_201+"<td class=bl>"+count_2+":"+count_0+":"+count_1+"</td>";
	        outhtml+="</tr>";
	    }
	    
	    outhtml+="</TBODY></TABLE>";
	    showdiv.innerHTML=outhtml;
	}
}

//输出3D奇偶走势数据
function out3djo()
{
    lx=3;
    var btdiv=document.getElementById("btdiv");
    if(btdiv!=null)
        btdiv.innerText="3D奇偶走势图";        
    var showdiv=document.getElementById("showdiv");		   
	if(showdiv!=null)
	{
	    //以下代表成功获取数据时组织输出html
	    var outhtml="<TABLE cellSpacing=0 borderColorDark=#ecf5ff cellPadding=0 width=950px align=center bgColor=#aae3ff borderColorLight=#4da6ff border=1><TBODY><TR><TD rowSpan=3 class=bt>开奖<br>期数</TD><TD rowSpan=3 colSpan=3 class=bt>开奖<br>号码</TD><TD colSpan=10 class=bt>奇偶格局</TD><TD colSpan=10 class=bt>百　位</TD><TD colSpan=10 class=bt>十　位</TD><TD colSpan=10 class=bt>个　位</TD></tr>";   //表头
	    outhtml+="<tr>";
	    for(var i=0;i<4;i++)
	        outhtml+="<TD colSpan=5 class=bt>奇数</TD><TD colSpan=5 class=bt>偶数</TD>";
	    outhtml+="</tr><tr>";
	    for(i=0;i<4;i++)
	    {
	        for(var j=1;j<10;j+=2)
	            outhtml+="<TD class=bt>"+j+"</TD>";
	        for(j=0;j<10;j+=2)
	            outhtml+="<TD class=bt>"+j+"</TD>";
	    }
	    outhtml+="</tr>";
	    var html_jh=new Array();
	    for(i=0;i<4;i++)
	    {
	        html_jh[i]=new Array();
	        for(j=0;j<10;j++)
	            html_jh[i][j]=0;
	    }
	    var tempindex;
		for(i=0;i<datas.length;i++)
		{
		    outhtml+="<TR><td class=qh>"+datas[i][0]+"</td>";		    
		    for(j=1;j<=3;j++)
		    {		        
		        html_jh[0][datas[i][j]]++;          //奇偶分布数据
		        html_jh[j][datas[i][j]]++;          //百，十，个分布数据
		        outhtml+="<td class=jh>"+datas[i][j]+"</td>";
		    }
		    for(k=0;k<4;k++)
		            for(m=0;m<10;m++)
		            {
		                switch(k)
		                {
		                    case 0:     //奇偶分布情况
		                        if(m<5)
		                        {
		                            //输出奇数
		                            tempindex=m*2+1;        //获得临时索引
		                            if(html_jh[k][tempindex]==3)
		                                outhtml+="<td class=jh2_3>"+tempindex+"</td>";      //3重号中奖
		                            else if(html_jh[k][tempindex]==2)
		                                outhtml+="<td class=jh2_2>"+tempindex+"</td>";      //2重号中奖
		                            else if(html_jh[k][tempindex]==1)
		                                outhtml+="<td class=jh2_1>"+tempindex+"</td>";      //中奖
		                            else
		                                outhtml+="<td class=jh3_0></td>";      //没有中奖
		                            html_jh[k][tempindex]=0;            //清零，以便一下循环使用
		                        }
		                        else
		                        {
		                            //输出偶数
		                            tempindex=(m-5)*2;        //获得临时索引
		                            if(html_jh[k][tempindex]==3)
		                                outhtml+="<td class=jh2_3>"+tempindex+"</td>";      //3重号中奖
		                            else if(html_jh[k][tempindex]==2)
		                                outhtml+="<td class=jh2_2>"+tempindex+"</td>";      //2重号中奖
		                            else if(html_jh[k][tempindex]==1)
		                                outhtml+="<td class=jh2_1>"+tempindex+"</td>";      //中奖
		                            else
		                                outhtml+="<td class=jh2_0></td>";      //没有中奖
		                            html_jh[k][tempindex]=0;            //清零，以便一下循环使用
		                        }
		                        break;
                            default:     //百位
                                if(m<5)
		                        {
		                            //输出奇数
		                            tempindex=m*2+1;        //获得临时索引
		                            if(html_jh[k][tempindex]==1)
		                                outhtml+="<td class=jh0_1>"+tempindex+"</td>";      //中奖
		                            else
		                                outhtml+="<td class=jh0_0></td>";      //没有中奖
		                            html_jh[k][tempindex]=0;            //清零，以便一下循环使用
		                        }
		                        else
		                        {
		                            //输出偶数
		                            tempindex=(m-5)*2;        //获得临时索引
		                            if(html_jh[k][tempindex]==1)
		                                outhtml+="<td class=jh1_1>"+tempindex+"</td>";      //中奖
		                            else
		                                outhtml+="<td class=jh1_0></td>";      //没有中奖
		                            html_jh[k][tempindex]=0;            //清零，以便一下循环使用
		                        }
                                break;
		                }
		            }
		    outhtml+="</tr>";
		}
		
		
		//自选号码功能
		outhtml+="<tr><td colSpan=14 class=bt>自选号</td>";		
		for(i=0;i<3;i++)
		{
		    for(j=1;j<10;j+=2)
		        outhtml+="<td class=zxrb_0 onclick='zx_3d_click(this,"+j+",\"r\");'></td>";
		    for(j=0;j<10;j+=2)
		        outhtml+="<td class=zxbb_0 onclick='zx_3d_click(this,"+j+",\"b\");'></td>";
		}
		outhtml+="</tr>";		
		outhtml+="</TBODY></TABLE><div class=bz>图标说明：奇偶格局分布图中，<span class=jh2_1>&nbsp;8&nbsp;</span>-本期该号码出现1次 <span class=jh2_2>&nbsp;8&nbsp;</span>-本期该号码出现2次 <span class=jh2_3>&nbsp;8&nbsp;</span>-本期该号码出现3次</div>";
		showdiv.innerHTML=outhtml;
	}
}

//自动更新3D数据
function autoupdate3d()
{    
    var option={
		parameters:"",
		method:"post",
		onSuccess:function(transport){
		    //无需返回数据，自动更新后，再申请一次新数据
		    set_select_3dqh();
		    },
		onFailure:function(transport){
			//alert("数据提交失败，请检查网络或重试。");
			}
	}
	var request=new Ajax.Request("data.aspx?oper=3dautoupdate",option);
}



//自选3D点击函数
function zx_3d_click(obj,no,color)
{
    if(obj.innerHTML=="")
    {
        obj.innerHTML=no;
        if(color=="r")
            obj.className="zxrb_1";
        else
            obj.className="zxbb_1";
    }
    else
    {
        obj.innerHTML="";
        if(color=="r")
            obj.className="zxrb_0";
        else
            obj.className="zxbb_0";
    }
}

//格式化输出数字函数，按两位进行输出
function FormatNumber(data)
{
    if(data<10)
        return "0"+data;
    else
        return data;
}

