﻿function Scrollfn()
{  
    var agt=navigator.userAgent.toLowerCase();  
    var ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1) && (agt.indexOf("omniweb") == -1));  
    this.IeTrueBody=function(){return (document.compatMode && document.compatMode!="BackCompat")?document.documentElement : document.body;  }
    this.GetScrollTop=function(){return ie ? this.IeTrueBody().scrollTop : window.pageYOffset;}
    this.SetScrollTop=function(number){$(document.body).scrollTop(number)};
    this.setHeight=function(idname,ralativeHeight){
            var obj = document.getElementById(idname);
            if(obj==null)return;
            if(ralativeHeight==undefined)
            {
            obj.style.top=this.GetScrollTop()+"px";
            }else if(typeof(ralativeHeight)=="number")
            {
                obj.style.top=(this.GetScrollTop()+ralativeHeight)+"px";
            }else
            {
                return;
            }
            
        }
}
    //根据题型计算该题型下的得分
    //SueId 题型Id
function getUserForm(SueId,SubjectScore,UsrId,UPrId,CagId)
{
   this.Answer=a();    //获取该题型答案数组
    function a(){
            var b=new Array();
            var s=$("input[name='Answer"+SueId+"']");
            for(var i=0; i<s.length;i++)
            {
                b.push(s[i].value);
            }
            return b;
        }
        
    this.UserOption=b();   //获取该题型用户输入数组
    
    function b(){
        var b= new Array();
        var i=1;
        var obj = $("input[name='options"+SueId+""+i+"']")
            while(obj.length>0){
                    var flag=false;
                    var b1=new Array();
                    for(var j=0;j<obj.length;j++){
                        if(obj[j].checked==true)
                        {
                            b1.push(obj[j].value);
                            flag=true;
                        }
                    }
                    if(!flag)b1.push("");
                    b.push(b1.join(","));
                    i++;
                  obj = $("input[name='options"+SueId+""+i+"']");  
            }
        return b;
    }
    
    this.Score = c(this.Answer,this.UserOption)*SubjectScore;
    function c(a,b){
        var SutIds=$("input[name='SutId"+SueId+"']"); //题目Id数组
        if(a.length!=b.length)
            {
                alert("数据有错误");
            }
        var correctCount=0;
        var arr = new Array();
        for(var i=0;i<a.length;i++){
            if(a[i]==b[i]&&typeof(a[i])==typeof(b[i]))
            {
                correctCount++;
                arr.push(0);
                //对于对题设置颜色
              $("input[name='options"+SueId+""+(i+1)+"']").parent().parent().parent().css({"background-color":"#FFFFFF"});
            }else{
                arr.push(1);
                
                //对于错题设置颜色
                $("input[name='options"+SueId+""+(i+1)+"']").parent().parent().parent().css({"background-color":"#DC9994"});
            }
        }
                if(SutIds.length==arr.length)   //更新题目的提交次数和错误次数
                {
              //  alert(SutIds);
                    if(UsrId==null||UsrId==undefined) UsrId='';
                    if(UPrId==null||UPrId==undefined)UPrId='';
                    if(CagId==null||CagId==undefined)CagId='';
                    var stu = getSutIds(SutIds);
                    $.ajax({
                        url:"Async/Preview.aspx",
                        dataType:'json',
                        type:'POST',
                        data:'todo=SaveHardIndex&SutIds='+ stu+'&Hards='+arr.join(",")+'&UsrId='+UsrId+'&UPrId='+UPrId+'&CagId='+CagId,
                        success:function(data){
                        }
                    })
                }
                
                function getSutIds(sutIds){
                        var s=new Array();
                        for(var t=0; t<sutIds.length; t++){
                            s.push(sutIds[t].value);
                        }
                        return s.join(",");
                }
        return correctCount;
    }
    
    function getString(subjectcount,score,sueid){
                    var array  = {};
                    for(var j=0; j<Paper.length;j++){
                        if(Paper[j]["SueId"]==sueid){
                            array["title"]=Paper[j]["Title"];
                            array["allscore"]=subjectcount* parseFloat(Paper[j]["SubjectScore"]);
                            }
                    }
                    array["userScore"]=score
                    return array;
                }
    this.toArray = getString(this.Answer.length,this.Score,SueId);
   
}
function forPaper(ParId,UOrId,UPrId,UsrId){
            if(UsrId==null ||UsrId==undefined) UsrId='';
        var tips = new Array();
            window.clearInterval(IntervalID); //终结时间间隔
            function getPaperScore(){
                var score=0;
                for(var i=0; i<Paper.length;i++){
                    var t = new getUserForm(Paper[i].SueId,Paper[i].SubjectScore,UsrId,UPrId);
                    score+=t.Score
                    tips.push(t.toArray);
                }
                return score;
            }
            this.totalScore=getPaperScore();
            
            if(UOrId==undefined)UOrId="";
            if(UPrId==undefined)UPrId="";
            
            function toStrings(yourscore){
                var t="<div class=\"index_page\"><h2 class=\"fengmian_top\"></h2>";
                t+="<div class=\"text\">";
                t+="<h2 class=\"title\">答题结束，请查阅分数统计！</h2>";
                t+="<p><strong>";
                t+="本试卷总分"+TotalScore;
                var total=0;
                t+=' 花费的时间:'+new date().secondsToString(alcopy-a1)+'</strong></p>';
               // t+="<table class='statistc'><tr><th width='30%'>项目</th><th width='30%'>分数</th><th width='30%'>你的得分</th></tr> ";
                t+="<div class=\"shuom\">";
                t+="<div class=\"neirong\">";
                t+="<table style=\"text-align:center;\" width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
                t+="  <tr><th>项目</th><th>分数</th><th>你的得分</th></tr>";
                for(var s=0; s<tips.length;s++){
                    var arr = new Array();
                    arr.push('<tr>');
                   arr.push('<td>'+tips[s]["title"]+'</td>');
                    arr.push("<td ><span style=\"font-family: Verdana; color:#3c6403; font-weight:bold; font-size:14px;\">"+tips[s]["allscore"]+"</span></td>");
                   arr.push("<td><span style=\"font-family: Verdana; color:#3c6403; font-weight:bold; font-size:14px;\">"+tips[s]["userScore"]+"</span></td>");
                    arr.push('</tr>');
                    t+=arr.join("");
                    total+=parseInt(tips[s]["allscore"]);
                }
                t+="<tr><td>合计</td><td><span style=\"font-family: Verdana; color:#f00; font-weight:bold; font-size:14px;\">"+total+"</span></td><td><span style=\"font-family: Verdana; color:#f00; font-weight:bold; font-size:14px;\">"+yourscore+"</span></td></tr>";
                t+="</table>";
                t+="</div></div>";
                t+=" <h2 class=\"title\">您的最终得分为：<span style=\"font-family:Verdana; color:#f00; font-size:30px; padding:0 10px;\">"+yourscore+"</span>分</h2>";
                t+="<div style=\"padding-top:10px; text-align:center;\"></div>";
                t+="</div>";
                t+="<h2 class=\"fengmian_bottom\"></h2></div>";
                return t;
            }
            
            
                    $.ajax({
                        type:         "POST",
                        dataType:  "json",
                        url:           "Async/Preview.aspx",
                        data:         "todo=save&totalscore="+this.totalScore+"&ParId="+ParId+"&UOrId="+UOrId+"&UPrId="+UPrId,
                        success:    function(data){
                                        if(data.success.toString()=="true")
                                                {
                                                    HoverLi(0);
                                                    $(".index_page").html(toStrings(data.totalscore));
                                                    $(".answer").css("display","block");
                                                    $(".Analysis").css("display","block");
                                                }
                                        }
                        });
                
                //改变答题按钮
                $(".done").attr("disabled","true");
                $(".start").attr("disabled","true");
                $(".jiancha").attr("disabled","true");
                $("#loadingDiv").css("display","none");
}

function submitPaper(ParId,UOrId,UPrId,UsrId){
        var submit = window.confirm("你确定要交卷吗?");
        if(submit){
            $("#Tips").html("程序正在为你的试卷计算分数，请耐心等待几秒钟");
            $("#loadingDiv").css("display","block");
            window.setTimeout("forPaper('"+ParId+"','"+UOrId+"','"+UPrId+"','"+UsrId+"')",2000);
        }else{
            CheckOptions();
        }
}

function ErrorforPaper(CagId,UsrId){
         if(UsrId==null ||UsrId==undefined) UsrId='';
                 var tips = new Array();
            window.clearInterval(IntervalID); //终结时间间隔
            function getPaperScore(){
                var score=0;
                for(var i=0; i<Paper.length;i++){
                    var t = new getUserForm(Paper[i].SueId,Paper[i].SubjectScore,UsrId,null,CagId);
                    score+=t.Score
                    tips.push(t.toArray);
                }
                return score;
            }
            this.totalScore=getPaperScore();
            
            function toStrings(yourscore){
                var t="<div class=\"index_page\"><h2 class=\"fengmian_top\"></h2>";
                t+="<div class=\"text\">";
                t+="<h2 class=\"title\">答题结束，请查阅分数统计！</h2>";
                t+="<p><strong>";
                t+="本试卷总分"+TotalScore;
                var total=0;
                t+=' 花费的时间:'+new date().secondsToString(alcopy-a1)+'</strong></p>';
               // t+="<table class='statistc'><tr><th width='30%'>项目</th><th width='30%'>分数</th><th width='30%'>你的得分</th></tr> ";
                t+="<div class=\"shuom\">";
                t+="<div class=\"neirong\">";
                t+="<table style=\"text-align:center;\" width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
                t+="  <tr><th>项目</th><th>分数</th><th>你的得分</th></tr>";
                for(var s=0; s<tips.length;s++){
                    var arr = new Array();
                    arr.push('<tr>');
                   arr.push('<td>'+tips[s]["title"]+'</td>');
                    arr.push("<td ><span style=\"font-family: Verdana; color:#3c6403; font-weight:bold; font-size:14px;\">"+tips[s]["allscore"]+"</span></td>");
                   arr.push("<td><span style=\"font-family: Verdana; color:#3c6403; font-weight:bold; font-size:14px;\">"+tips[s]["userScore"]+"</span></td>");
                    arr.push('</tr>');
                    t+=arr.join("");
                    total+=parseInt(tips[s]["allscore"]);
                }
                t+="<tr><td>合计</td><td><span style=\"font-family: Verdana; color:#f00; font-weight:bold; font-size:14px;\">"+total+"</span></td><td><span style=\"font-family: Verdana; color:#f00; font-weight:bold; font-size:14px;\">"+yourscore+"</span></td></tr>";
                t+="</table>";
                t+="</div></div>";
                t+=" <h2 class=\"title\">您的最终得分为：<span style=\"font-family:Verdana; color:#f00; font-size:30px; padding:0 10px;\">"+yourscore+"</span>分</h2>";
                t+="<div style=\"padding-top:10px; text-align:center;\"></div>";
                t+="</div>";
                t+="<h2 class=\"fengmian_bottom\"></h2></div>";
                return t;
            }
                HoverLi(0);        
                $("#tbc_00").html(toStrings(this.totalScore));
                $(".answer").css("display","block");
                $(".Analysis").css("display","block");
                            //改变答题按钮
                $(".done").attr("disabled","true");
                $(".start").attr("disabled","true");
                $(".jiancha").attr("disabled","true");
                $("#loadingDiv").css("display","none");
}

function submitErrorPaper(UsrId,CagId){
       var submit = window.confirm("你确定要交卷吗?");
        if(submit){
            $("#Tips").html("程序正在为你的试卷计算分数，请耐心等待几秒钟");
            $("#loadingDiv").css("display","block");
            window.setTimeout("ErrorforPaper('"+CagId+"','"+UsrId+"')",2000);
        }else{
            CheckOptions();
        }
}

function xx(ParId,UOrId,UPrId,UsrId)
    {
        if(UsrId==null ||UsrId==undefined) UsrId='';
        var submit = window.confirm("你确定要交卷吗?");
        var tips = new Array();
        if(submit)
        {
            window.clearInterval(IntervalID); //终结时间间隔
            function getPaperScore(){
                var score=0;
                for(var i=0; i<Paper.length;i++){
                    var t = new getUserForm(Paper[i].SueId,Paper[i].SubjectScore,UsrId,UPrId);
                    score+=t.Score
                    tips.push(t.toArray);
                }
                return score;
            }
            this.totalScore=getPaperScore();
            
            if(UOrId==undefined)UOrId="";
            if(UPrId==undefined)UPrId="";
            
            function toStrings(yourscore){
                var t='本试卷总分: '+TotalScore;
                var total=0;
                t+=' 你的得分为:'+yourscore+'&nbsp;&nbsp;&nbsp;得分率为:'+Math.floor((yourscore/TotalScore)*100)+'\%  花费的时间:'+new date().secondsToString(alcopy-a1)+'<br />';
                t+="<table class='statistc'><tr><th width='30%'>项目</th><th width='30%'>分数</th><th width='30%'>你的得分</th></tr> ";
                for(var s=0; s<tips.length;s++){
                    var arr = new Array();
                    arr.push('<tr>');
                   arr.push('<td>'+tips[s]["title"]+'</td>');
                    arr.push('<td>'+tips[s]["allscore"]+'</td>');
                   arr.push('<td>'+tips[s]["userScore"]+'</td>');
                    arr.push('</tr>');
                    t+=arr.join("");
                    total+=parseInt(tips[s]["allscore"]);
                }
                t+="<tr><td>合计</td><td>"+total+"</td><td>"+yourscore+"</td></tr>";
                t+="</table>";
                return t;
            }
            
            
                    $.ajax({
                        type:         "POST",
                        dataType:  "json",
                        url:           "Async/Preview.aspx",
                        data:         "todo=save&totalscore="+this.totalScore+"&ParId="+ParId+"&UOrId="+UOrId+"&UPrId="+UPrId,
                        success:    function(data){
                                        alert(data.success);
                                        if(data.success.toString()=="true")
                                                {
                                                    HoverLi(0);
                                                    $("#result").html(toStrings(data.totalscore));
                                                    $(".answer").css("display","block");
                                                    $(".Analysis").css("display","block");
                                                }
                                        }
                        });
                
                //改变答题按钮
                $(".done").attr("disabled","true");
                $(".start").attr("disabled","true");
                $(".jiancha").attr("disabled","true");
                
                
        }else{
            CheckOptions();
        }
    }
    
function showsentence(content)
{
    
	$.layerSetup({
				 id:"sentence",
				 title:'Short sentence',
				 target:window.parent,
				 cssurl:'/skin/js/Plugins/window/showwinmin1css/css.css',
				 content:content,
				 isbg:true,
				 templete:'<div class="showwint_mini_title"><span class="showwint_mini_close_btn"><a href="javascript:void(null);" class="layerclose"></a></span><span class="showwint_mini_title_content" id="@moveid@"><span id="@titleid@"></span></span></div><div class="showwint_mini_content"><div class="showwint_mini_content_content" id="@contentid@"></div><div class="btn_close"><input type="button" value="确定" name="queding" onclick="void(null)" ></div></div>'
				 });
	$.layershow();
    a.setHeight("sentence",150)
}

function dopaper(button){
    if(button.value=="开始"){
        beginExam=true;
        HoverLi(1);
        button.value="暂停";
        LanchClock(); //启动考试计时器
            $("input[name='jiancha']").removeAttr("disabled");
            $("input[name='done']").removeAttr("disabled");
        }else{
            button.value="开始";
            HoverLi(0);
            StopClock(); //停止考试计时器
            beginExam=false;
        $("input[name='jiancha']").attr("disabled","true");
        $("input[name='done']").attr("disabled","true");
        }
  //  button.parentNode.style.display='none';
   // document.getElementById("submt").parentNode.style.display='block';
}

//生成考试计时器
function date(Id){
        function getHours(allseconds){
            return Math.floor(allseconds/3600);
        }
       function getMinutes(allseconds){
            if((allseconds%3600)==0)return 0
            return Math.floor((allseconds%3600)/60);
        }
        function getSeconds(allseconds){
            if((allseconds%60)==0)return 0
            return allseconds%60;
        }
       function toString(allseconds){
                var ret = new Array();
               var hours= getHours(allseconds);
               ret.push(((hours<10)?"0":"")+hours);
               var minute= getMinutes(allseconds);
               ret.push(((minute<10)?"0":"")+minute);
               var second= getSeconds(allseconds);
               ret.push(((second<10)?"0":"")+second);
               return ret.join(":");
        }
        this.secondsToString=function(allseconds){
           return toString(allseconds);
        }
        this.Instance=function(allseconds){
            $(Id).html(toString(allseconds));
        }
        this.Inital=function(allseconds){
            $(Id).html(toString(allseconds));
        }
}

function CheckOptions(){
    function kemu(k){
        var flag=true;
        var j=1;
        while(flag){
           if(!unitsIsCheck(k,j)){
                flag=false;
                break;
           }
           j++;
        }
       return j; //返回J行
    }
    
    for(var s=0;s<Paper.length;s++){
        var k=Paper[s].SueId;
        var b=kemu(k);
        var index="#tbc_0"+(s+1);
        var length=parseInt($(index+"  DL.timu > dt:last").text());
        if(b<=length){
            alert(Paper[s].Title+"第"+b+"行没有答题，请答题");
            HoverLi(s+1);
            $(index+" DL.timu:eq("+(b-1)+")").scrollTop(30);
            s=Paper.length;
        }
    }
    
}


function unitsIsCheck(k,n){
        var flag=false;
        var s="options"+k.toString()+n.toString();
        var obj=document.getElementsByName(s);
        if(obj!=null){
            for(var i=0; i<obj.length;i++){
                if(obj[i].checked){
                flag=true;
                break;
                }
            }
         }else{
                flag=true;
     }
        return flag;
}

