﻿// 博饼 JScript 文件
// <!CDATA[
//预加载图片
    var BocakeCount = 500;
    var myimages=new Array()
    function preloadimages(){
    for (i=0;i<preloadimages.arguments.length;i++){
    myimages[i]=new Image()
    myimages[i].src=preloadimages.arguments[i]
    }
    }
//产生随机数,随机整数1到10时使用rand(10),随机浮点数时，使用rnd()
　　rnd.today=new Date(); 
　　rnd.seed=rnd.today.getTime(); 
　　function rnd() { 
　　rnd.seed = (rnd.seed*9301+49297) % 233280; 
　　return rnd.seed/(233280.0); 
　　}; 
　　function rand(number) { 
　　return Math.ceil(rnd()*number); 
　　}; 
    function GetCharInStringCount(StrCollect,ByChar) //用于判断字符串在字符串中匹配个数
    {
        var TempCharCount = 0;
        for (var i = 0; i < (StrCollect.length); i++)
        { 
            if (StrCollect.substring(i,(i+1)) == ByChar)
            {
                ++TempCharCount;
            }
        }
        return TempCharCount;
    }
    
    
//-------声明---------------
    var timer1;//
    var timer2;//  
    var BocakeResultNum; //用于存储返回序列,以判断中奖结果
    var expressionImg=0;
    var typename="";        //中奖类别
//------------------------   
    function ChangeImageByBocakeResultNum(BocakeResultNum)    //显示按产生的序列更换图片
    {
        for(var i=0;i<6;i++)
        {
             var j=BocakeResultNum.substring(i,(i+1));
             document.getElementById(('image' + (i+1))).src="images/image" + j + ".gif";
        }
    }
 
    function GetIntegralByReturnValue(ReturnValueStr)  //根据序号计算得分
    {
        switch (ReturnValueStr)
        {
             case "444444":           //全红       40分
                TempInTegral=40;
                expressionImg=0;
                typename="全红";
                break;
            default:
                if(GetCharInStringCount(ReturnValueStr, "4")==4 && GetCharInStringCount(ReturnValueStr, "1")==2) //五红带二   31分
                {
                     TempInTegral=45;
                     expressionImg=0;
                     typename="状元插金花";
                     break;
                }
                if(GetCharInStringCount(ReturnValueStr, "4")==5 && GetCharInStringCount(ReturnValueStr, "6")==1) //五红带六   34分
                {
                    
                     TempInTegral=34;
                     expressionImg=0;
                     typename="五红带六";
                     break;
                }
                if(GetCharInStringCount(ReturnValueStr, "4")==5 && GetCharInStringCount(ReturnValueStr, "5")==1) //五红带五   33分
                {
                     TempInTegral=33;
                     expressionImg=0;
                     typename="五红带五";
                     break;
                }
                if(GetCharInStringCount(ReturnValueStr, "4")==5 && GetCharInStringCount(ReturnValueStr, "3")==1) //五红带三   32分
                {
                     TempInTegral=32;
                     expressionImg=0;
                     typename="五红带三";
                     break;
                }
                if(GetCharInStringCount(ReturnValueStr, "4")==5 && GetCharInStringCount(ReturnValueStr, "2")==1) //五红带二   31分
                {
                     TempInTegral=31;
                     expressionImg=0;
                     typename="五红带二";
                     break;
                }
                if(GetCharInStringCount(ReturnValueStr, "4")==5 && GetCharInStringCount(ReturnValueStr, "1")==1) //五红带一   30分
                {
                     TempInTegral=30;
                     expressionImg=0;
                     typename="五红带一";
                     break;
                }
                
                if(GetCharInStringCount(ReturnValueStr, "1")==5 || GetCharInStringCount(ReturnValueStr, "2")==5 
                   || GetCharInStringCount(ReturnValueStr, "3")==5 || GetCharInStringCount(ReturnValueStr, "5")==5)
                {
                    if(GetCharInStringCount(ReturnValueStr, "6")==1) //五子带六   29分
                    {   
                        TempInTegral=29;
                        expressionImg=0;
                        typename="五子带六";
                        break;
                     }
                }
                
                if(GetCharInStringCount(ReturnValueStr, "1")==5 || GetCharInStringCount(ReturnValueStr, "2")==5 
                   || GetCharInStringCount(ReturnValueStr, "3")==5  || GetCharInStringCount(ReturnValueStr, "6")==5
                   )
                {
                    if(GetCharInStringCount(ReturnValueStr, "5")==1) //五子带五   28分 
                    {  
                         TempInTegral=28;
                         expressionImg=0;
                         typename="五子带五";
                         break;
                     }
                }
                
                if(GetCharInStringCount(ReturnValueStr, "1")==5 || GetCharInStringCount(ReturnValueStr, "2")==5 
                   || GetCharInStringCount(ReturnValueStr, "3")==5 || GetCharInStringCount(ReturnValueStr, "5")==5 
                   || GetCharInStringCount(ReturnValueStr, "6")==5)
                {
                    if(GetCharInStringCount(ReturnValueStr, "4")==1) //五子带四   27分   
                    {
                         TempInTegral=27;
                         expressionImg=0;
                         typename="五子带四";
                         break;
                     }
                }
                if(GetCharInStringCount(ReturnValueStr, "1")==5 || GetCharInStringCount(ReturnValueStr, "2")==5 
                  || GetCharInStringCount(ReturnValueStr, "5")==5 || GetCharInStringCount(ReturnValueStr, "6")==5)
                {
                    if(GetCharInStringCount(ReturnValueStr, "3")==1) //五子带三   26分
                    {   
                        TempInTegral=26;
                        expressionImg=0;
                        typename="五子带三";
                        break;
                     }
                }
                
                if(GetCharInStringCount(ReturnValueStr, "1")==5 ||  GetCharInStringCount(ReturnValueStr, "3")==5
                   || GetCharInStringCount(ReturnValueStr, "5")==5 || GetCharInStringCount(ReturnValueStr, "6")==5)
                {
                    if(GetCharInStringCount(ReturnValueStr, "2")==1) //五子带二   25分
                    {   
                         TempInTegral=25;
                         expressionImg=0;
                         typename="五子带二";
                         break;
                     }
                }
                
                if(GetCharInStringCount(ReturnValueStr, "2")==5 ||  GetCharInStringCount(ReturnValueStr, "3")==5
                   || GetCharInStringCount(ReturnValueStr, "5")==5 || GetCharInStringCount(ReturnValueStr, "6")==5)
                {
                    if(GetCharInStringCount(ReturnValueStr, "1")==1) //五子带一   24分
                    {   
                         TempInTegral=24;
                         expressionImg=0;
                         typename="五子带一";
                         break;
                     }
                }
                
                if (GetCharInStringCount(ReturnValueStr, "4") == 4)
                {
                    switch(Result(ReturnValueStr))
                    {
                        case 28:                //状元带12  19分
                            TempInTegral=19;
                            expressionImg=0;
                            typename="状元带12";
                            break;
                        case 27:                //状元带11  18分
                            TempInTegral=18;
                            expressionImg=0;
                            typename="状元带11";
                            break;
                        case 26:                //状元带10  17分
                            TempInTegral=17;
                            expressionImg=0;
                            typename="状元带10";
                            break;
                        case 25:                //状元带9   16分
                            TempInTegral=16;
                            expressionImg=0;
                            typename="状元带9";
                            break;
                        case 24:                //状元带8   15分
                            TempInTegral=15;
                            expressionImg=0;
                            typename="状元带8";
                            break;
                        case 23:                //状元带7   14分
                            TempInTegral=14;
                            expressionImg=0;
                            typename="状元带7";
                            break;
                        case 22:                //状元带6   13分
                            TempInTegral=13;
                            expressionImg=0;
                            typename="状元带6";
                            break;
                        case 21:                //状元带5   12分
                            TempInTegral=12;
                            expressionImg=0;
                            typename="状元带5";
                            break;
                        case 20:                //状元带4   11分
                            TempInTegral=11;
                            expressionImg=0;
                            typename="状元带4";
                            break;
                        case 19:                //状元带3   10分
                            TempInTegral=10;
                            expressionImg=0;
                            typename="状元带3";
                            break;
                    }
              
                }
                else if (GetCharInStringCount(ReturnValueStr, "4") == 3)//三红    6分
                {
                    TempInTegral=6;
                    expressionImg=0;
                    typename="三红";
                    break;
                }
                else if (GetCharInStringCount(ReturnValueStr, "1") == 4)//四进   4分
                {
                    TempInTegral=4;
                    expressionImg=0;
                    typename="四进";
                    break;
                }
                else if (GetCharInStringCount(ReturnValueStr, "2") == 4)//四进   4分
                {
                    TempInTegral=4;
                    expressionImg=0;
                    typename="四进";
                    break;
                }
                else if (GetCharInStringCount(ReturnValueStr, "3") == 4)//四进   4分
                {
                    TempInTegral=4;
                    expressionImg=0;
                    typename="四进";
                    break;
                }
                else if (GetCharInStringCount(ReturnValueStr, "5") == 4)//四进   4分
                {
                    TempInTegral=4;
                    expressionImg=0;
                    typename="四进";
                    break;
                }
                else if (GetCharInStringCount(ReturnValueStr, "6") == 4)//四进   4分
                {
                    TempInTegral=4;
                    expressionImg=0;
                    typename="四进";
                    break;
                }
                else if (GetCharInStringCount(ReturnValueStr, "4") == 2)//二举    2分
                {
                    TempInTegral=2;
                    expressionImg=0;
                    typename="二举";
                    break;
                }
                else if (GetCharInStringCount(ReturnValueStr, "4") == 1)
                {
                    if (GetCharInStringCount(ReturnValueStr, "1") == 1 && GetCharInStringCount(ReturnValueStr, "2") == 1
                        && GetCharInStringCount(ReturnValueStr, "3") == 1 && GetCharInStringCount(ReturnValueStr, "5") == 1
                        && GetCharInStringCount(ReturnValueStr, "6") == 1)//对堂   8分
                    {
                        TempInTegral=8;
                        expressionImg=0;
                        typename="对堂";
                        break;
                    }
                    else //一秀  1分
                    {
                        TempInTegral=1;
                        expressionImg=0;
                        typename="一秀";
                        break;
                    }
                }
                else if(GetCharInStringCount(ReturnValueStr, "1") == 6 || GetCharInStringCount(ReturnValueStr, "2") ==6
                         || GetCharInStringCount(ReturnValueStr, "3") == 6 || GetCharInStringCount(ReturnValueStr, "5") == 6
                         || GetCharInStringCount(ReturnValueStr, "6") == 6) //全黑      -10分
                {
                    TempInTegral=-10;
                    //TempInTegral=-20;
                    expressionImg=2;
                    typename="全黑";
                    break;
                }
                
                else //没中任何奖 -5分
                {
                    TempInTegral=-5;
                    //TempInTegral=-10;
                    expressionImg=2;
                    typename="没中任何奖";
                    break;
                }
                break;
        }
        return TempInTegral;//返回该序列的分数
    }
    
   function Result(str)
   {
        var count=0;
        for(var i=0;i<6;i++)
        {
	        count+=parseInt(str.substring(i,(i+1)));	
        }
        return count;
   }
     
    function GetBocakeNameByIntegral(integral) //根据分数计算试手气的奖项名称
    {
        switch (integral)
        {
            case -5:
                return "运气不佳~\r\n\r\n很遗憾没中奖，扣5分";
            case -10:
                return "您运气真不佳~\r\n\r\n博到了：全黑，扣10分";
//            case -10:
//                return "运气不佳~\r\n\r\n很遗憾没中奖，扣10分";
//            case -20:
//                return "您运气真不佳~\r\n\r\n博到了：全黑，扣20分";   
            case 1:
                return "运气一般哦~\r\n\r\n奖项为：一秀，加1分";
            case 2:
                return "运气还好~\r\n\r\n奖项为：二举，加2分";
            case 4:
                return "运气还可以~\r\n\r\n奖项为：四进，加4分";
            case 6:
                return "运气还不错~\r\n\r\n奖项为：三红，加6分";
            case 8:
                return "运气还不错~\r\n\r\n奖项为：对堂，加8分";
            case 10:
                return "恭喜!\r\n\r\n你中了：状元带3，加10分";
            case 11:
                return "恭喜!\r\n\r\n你中了：状元带4，加11分";
            case 12:
                return "恭喜!\r\n\r\n你中了：状元带5，加12分";
            case 13:
                return "恭喜!\r\n\r\n你中了：状元带6，加13分";
            case 14:
                return "恭喜!\r\n\r\n你中了：状元带7，加14分";
            case 15:
                return "恭喜!\r\n\r\n你中了：状元带8，加15分";
            case 16:
                return "恭喜!\r\n\r\n你中了：状元带9，加16分";
            case 17:
                return "恭喜!\r\n\r\n你中了：状元带10，加17分";
            case 18:
                return "恭喜!\r\n\r\n你中了：状元带11，加18分";
            case 19:
                return "恭喜!\r\n\r\n你中了：状元带12，加19分";
            case 24:
                return "恭喜!\r\n\r\n你中了：五子带一，加24分";
            case 25:
                return "恭喜!\r\n\r\n你中了：五子带二，加25分";
            case 26:
                return "恭喜!\r\n\r\n你中了：五子带三，加26分";
            case 27:
                return "恭喜!\r\n\r\n你中了：五子带四，加27分";
            case 28:
                return "恭喜!\r\n\r\n你中了：五子带五，加28分";
            case 29:
                return "恭喜!\r\n\r\n你中了：五子带六，加29分";
            case 30:
                return "恭喜!\r\n\r\n你中了：五红带一，加30分";
            case 31:
                return "恭喜!\r\n\r\n你中了：五红带二，加31分";
            case 32:
                return "恭喜!\r\n\r\n你中了：五红带三，加32分";
            case 33:
                return "恭喜!\r\n\r\n你中了：五红带五，加33分";
            case 34:
                return "恭喜!\r\n\r\n你中了：五红带六，加34分";
            case 40:
                return "恭喜!恭喜!\r\n\r\n你中了：全红，加40分";
            case 45:
                return "恭喜!恭喜!\r\n\r\n你中了状元插金花，加45分";
        }
    }   
    
    //代表服务器开始图片循环改变
    function ServerGoSartLoopChange()
    { 
        ClientGoSartLoopChange();
        //timer2=setTimeout("ServerGoSartLoopChange()",50);
    }
   String.prototype.toFormatString = function(){  
       var _str = this;
       for(var i = 0; i < arguments.length; i++){    
          _str = eval("_str.replace(/\\{"+ i +"\\}/ig,'" + arguments[i] + "')");
       }
       return _str;
    }

    function $(obj){
       return document.getElementById(obj);
    }

    function ShowMessageBox(msg, operationResult)
    {
        var title;
        title = '提示';
        switch(operationResult)
        {
            case OPERATION_YES :
                MessageBox(msg,title,MB_ICON,MB_OK);
                break;
            case OPERATION_QUES :
                MessageBox(msg,title,MB_ICON_Fail,MB_OK);
                break;
            case OPERATION_ERROR :
                MessageBox(msg,title,MB_ICON_Success,MB_OK);
                break;
        }
    }

    function StopBocke()
    {  
        document.getElementById('GoStop').disabled=true ;
        document.getElementById('GoBocake').disabled=false ;
        var number=Award.ServerResult();
        BocakeResultNum=number.value;
        //BocakeResultNum ="555551";
        window.clearTimeout(timer1);
        ChangeImageByBocakeResultNum(BocakeResultNum);
        var flag=0;
        var count=GetIntegralByReturnValue(BocakeResultNum);
//        if(count==-5 || count==-10)
//        {
//            flag=0;
//        }
//        else
//        {
//            flag=1;
//        }

        //每博一次就扣10分
        var obj=Award.userCountScore();
        obj=Award.BocakeLog(count,BocakeResultNum,typename);
        var info=Ajax.GetUserInfo();
        var arr=info.value.split(',');
        var card=Ajax.GetIntegralCount(arr[1]);
        document.getElementById("lblUserName").innerHTML="用户名：<font color='red'>"+arr[0]+"</font>";
        document.getElementById("lblIntegral").innerHTML="总积分：<font color='red'>"+card.value+"</font>";
        //Award.Subtrahend();
        ShowMessageBox(GetBocakeNameByIntegral(GetIntegralByReturnValue(BocakeResultNum)),expressionImg);
    }
     function StartBocake()
     {
         var objt=Ajax.Jump();
        if(objt.value==true)
        {
            alert("管理员已关闭博饼功能，请稍后再博！");
            jump();
            return;
        }
        var logic=Award.IsLogin();
        document.getElementById('GoStop').disabled=false ;    
        if(logic.value=="true")             //判断用户是否已经登录
        {       
            var allCount=Award.IsHistoryCount();           
            if( allCount.value >= BocakeCount)
            {
                alert("你今天的博饼次数已经用完了，今天不可再博！");
                document.getElementById('GoStop').disabled=true;
                return;
            } 
            var isCount=Award.IsNilTen();
            if(isCount.value==true)             //判断登录用户玩博饼游戏的积分是否<10分
            {
                
                StartSwitch();                   //开始博饼
            }
            else
            {
                ShowMessageBox("对不起!你积分不够，您玩博饼的次数为零！不能再玩了",1);
                document.getElementById('GoStop').disabled=true;
            }
        }
        else
        {
            ShowMessageBox("对不起!您还未登录，还不能玩博饼游戏",1);
            document.getElementById('GoStop').disabled=true;
        }
     }
        function jump()
        {
            document.location.href="../Bocake.aspx";
        }    
     function StartSwitch()
     {
        document.getElementById('GoBocake').disabled=true;
        ClientStartImg();
     }
    
    //开始启动随机图片
    function ClientStartImg()
    {
        BocakeResultNum='';
        for(var i=0;i<6;i++)
        {
            BocakeResultNum=BocakeResultNum + rand(6);
        }        
        ChangeImageByBocakeResultNum(BocakeResultNum);
       timer1=setTimeout("ClientStartImg()",50);
    }
    