﻿// JScript File
//禁用标准读音 我的语音相关按钮         ---------------------byzmduan
function disableNavBtn(tag)
	{
	    if(typeof tag=="undefined")
	        tag=false;
	    Element.hide('btnEval');
	    if(tag)
	    {
	        $("btnPalCon").disabled=tag;
	        $("btnPalCon").onclick=function(){return false;}
	        $("btnPalyStd").disabled=tag;
	        $("btnPalyStd").onclick=function(){return false;}
	        $("btnRecord").disabled=tag;
	        $("btnRecord").onclick=function(){return false;}	        
	    }
	    else
	    {
	        $("btnPalCon").disabled=tag;
	        $("btnPalCon").onclick=function()
            {
                if(PageUtil.timer!=null)clearTimeout(PageUtil.timer);
                gEvalObject=null;
                
                EvalUtil.onunload();
                Study.createBegin(userName,preStudyType,preContent);              
            }
            $("btnPalyStd").disabled=tag;
	        $("btnPalyStd").onclick=function(){	      	    
		        if(!(Prototype.BrowserFeatures.XPath))
		        {
		            if(EvalUtil.isDisable(this))return;
			        var stdRec=$('StdRecorder');
			        var usrRec=$('UserRecorder');
			        if(stdRec && stdRec.CanPlay)
			        {
				        Element.hide(this);
				        Element.show('btnStopStd');
				        if(usrRec && usrRec.CanPlay)
				        {
					        Element.show('btnPalyUsr');
					        Element.hide('btnStopUsr');
					        usrRec.Stop();
				        }
				        if(gSyntObject.Sentences.length>0)
				        {
				            stdRec.Play();
				        }
			        }
		        }
	        };       
	        $("btnRecord").disabled=tag;
	        $("btnRecord").onclick=function(){
		        if(!(Prototype.BrowserFeatures.XPath))
		        {
		            if(EvalUtil.isDisable(this))return;
		            //Element.hide("btnEval");           
		           if(gEvalObject != null)
		           {
		            for(var length=EvalUtil.errBoxInfo.length,len=0;len<length;len++)
		            {
                        if(EvalUtil.errBoxInfo[len].ShengMu)
                        {
                            delete EvalUtil.errBoxInfo[len].ShengMu
                        }
                         if(EvalUtil.errBoxInfo[len].YunMu)
                        {
                            delete EvalUtil.errBoxInfo[len].YunMu
                        }
                         if(EvalUtil.errBoxInfo[len].ShengDiao)
                        {
                            delete EvalUtil.errBoxInfo[len].ShengDiao
                        }
                     }
		                gEvalObject = null;
		                EvalUtil.refreshlistView();
		                EvalUtil.setPageStatus(false);
		               if(Element.hasClassName('words_area','single'))
		               {
		                    $$('#words_area div').each(function(div)
		                    {
		                        Element.removeClassName(div,"error");		          
		                    });
		                }
		                else
		                {
		                    $$('#words_area div strong font').each(function(font)
		                    {
		                        Element.removeClassName(font,"texterror");		          
		                    });
		                }
		           }	
        		   
			        EvalUtil.setLink('btnEval',false);
			        var stdRecoder=$('StdRecorder');
			        var userRecorder=$('UserRecorder');
			        var boxRecorder =$('boxUserRecorder');
			        userRecorder.style.visibility='visible';
        			
			        //EvalUtil.setLink('btnSaveFile',false);
			        EvalUtil.setLink('btnPalyStd',false);
			        EvalUtil.setLink('btnPalyUsr',false);
        			
			        Element.hide('btnPalyUsr');
			        Element.hide('btnStopUsr');
			        Element.hide(this);
			        Element.show('btnStopRecord');
			        $('btnStopRecord').style.display='';
			        if(userRecorder && userRecorder.CanPlay){
				        userRecorder.Stop();
				        userRecorder.Close();
			        }
			        if(stdRecoder && stdRecoder.CanPlay){
				        stdRecoder.Stop();
				        Element.hide('btnStopStd');
				        Element.show('btnPalyStd');
			        }	
			        if(boxRecorder && boxRecorder.CanPlay){
				        boxRecorder.Stop();
				        boxRecorder.Close();
			        }			
			        setTimeout("$('UserRecorder').Record()",500);
		        }
		        }
	        };
	           
	}
//-----------------------------------------------------------------------------------------------
var Lession = {		
	WebService:"",
	type:"",
	createLession:function(userName,lessonType,subject){
	    var params = [];				
		params[0] = {"Name":"userName","Value":userName};
		params[1] = {"Name":"lessonType","Value":lessonType};
		params[2] = {"Name":"subject","Value":subject};					
		Lession.type = lessonType;					
		WebServiceClient.Invoke(Lession.WebService,"CreateLession",params,this.OnCreateReturn);
	},
	OnCreateReturn:function(result){
	
        if(result != "" && result != null )
	    {	        
	    //--------------------------------------------psci1.6 add ---------------------------	        
	        if(Lession.type == 4 && result.indexOf("\\Passages") != -1){
	            var sounder = getCookie("assay_sounder"); 
	            if(sounder && (sounder != "Passages")){
	                result = result.replace("Passages",sounder);
	            }	            
	        }
	     //-------------------------------------------------------------------------------------
	        if(result=="login")
	        {
	            window.location.href="/other/login.aspx?url="+encodeURIComponent("/study/LearningIndex.aspx");
	            return;
	        }
	        if(result.indexOf("0,") != -1)
	        {
	             if(Study.tt != null)
                {
                  clearTimeout(Study.tt);
                } 
	            alert('创建课程失败！');
	            cancelLoading('');
	            return;
	        }
	        if(result == "1001")
	        {
	            studyRequreTime();
	            return;
	        }
	        if(result == "1003")//Vnet用户,无时长，无交易异常
	        {
	            if(window.confirm("您的余额不足，开通学习服务赠送一次测试机会！点击“确定”去互联星空支付，点击“取消”返回。"))
	           {
	               window.location.href="../VnetPay/Charge.aspx?flag=period";
	               return;
	           }
	           else
	           {	  
	                if(Study.tt != null)
                    {
                      clearTimeout(Study.tt);
                    }           
	                cancelLoading('');
	                return;
	            }	         
	        }
	        if(result == "1004")//Vnet用户,无时长，有交易异常
	        { 
	        if(window.confirm("您的学习时长未及时更新，您要再次登录更新学习时长吗？"))
	           {
	                window.location.href="../other/login.aspx";
	                return;
	           }
	           else
	           {	 
	                if(Study.tt != null)
                    {
                      clearTimeout(Study.tt);
                    }           
	                cancelLoading('');
	                return;
	           }
	          
	          
	        }
	        if(result == "1002")
	        {
	             if(Study.tt != null)
                {
                  clearTimeout(Study.tt);
                }
	            cancelLoading('');
	            return;
	        }
	        if(result == "0001")
	        {
	         if(Study.tt != null)
                {
                  clearTimeout(Study.tt);
                }
	            alert('系统出现异常');	           
	            cancelLoading('');
	            return;
	        }
            var proxy=window.frames['dd'];//document.getElementById('t').contentWindow;
            Study.url=result;
            if(result.indexOf("|")!= -1)
            {
                result=result.split("|")[0];
            } 
            //proxy.MediaService.WebService="http://med.isay365.com/TransactFileService/Service.asmx";
            proxy.MediaService.url=result;
            proxy.MediaService.type=Lession.type;
            proxy.MediaService.OnGetMp3();
	    }
	    else
	    {
            if(Study.tt != null)
            {
                clearTimeout(Study.tt);
            }
	      alert('无该课程对应的内容。');
	      disableNavBtn(true);   //---------------禁用相关按钮 
	      cancelLoading('');
	    }
	},		
    evaluate:function(userName,distData)
    {
        var params=[];
        params[0] = {"Name":"userName","Value":userName};
		params[1] = {"Name":"distData","Value":distData};
		params[2] = {"Name":"partType","Value":preStudyType};
		WebServiceClient.Invoke(Lession.WebService,"EvaluateResult",params,EvalUtil.evalResponse);
    },   
	getLessonText:function(path,type)
	{
	    var params=[];
	    params[0] = {"Name":"lessionPath","Value":path};
	    params[1] ={"Name":"type","Value":type};
	    WebServiceClient.Invoke(Lession.WebService,"GetWaveText",params,this.getLessonTextReturn);
	},
	getLessonTextReturn:function(result)
	{
    try{	  
            if(Study.tt != null)
            {
              clearTimeout(Study.tt);
            }
            if(result.indexOf("Category") == -1)
            {
                alert(result);
                alert('未获取到语音文本信息');
                cancelLoading('');
                return;
            }        
            if(Study.type.substr(Study.type.length-1) == "2" || Study.type.substr(Study.type.length-1) == "1")
             {
                
                    if(Study.type.substr(Study.type.length-1) == "1")
                    {
                         try
                         {
                            eval('gSyntObjectC='+result);
                         }catch(e)
                         {  
                            gSyntObjectC=null;
                            Study.createBegin(Study.user,Study.type,Study.content);
                            return;
                          }
                        gSyntObject= Object.extend(gSyntObjectC,gSyntObjectC.ReadOption);                       
                    }
                    else
                    {
                         try
                         {
                             gSyntObjectW=eval('('+result+')');
                         }catch(e)
                         {  
                            gSyntObjectW=null;
                            Study.createBegin(Study.user,Study.type,Study.content);
                            return;
                          }                       
                        gSyntObject=Object.extend(gSyntObjectW,gSyntObjectW.ReadOption);                        
                    }                            		                
                  EvalUtil.onload();
            }
            if(Study.type.substr(Study.type.length-1) == "3" || Study.type.substr(Study.type.length-1) == "4")
            {
                gSyntObjectS=eval('('+result+')');
                gSyntObjectS= Object.extend(gSyntObjectS,gSyntObjectS.ReadOption);      
                PageUtil.onload();
            }       
        }catch(ex)
        {            
           cancelLoading('');           		            
        }
	},
	
	payForStudy:function()
	{
	    var params=[];
	    params[0] = {"Name":"userName","Value":userName};
	    WebServiceClient.Invoke(Lession.WebService,"payForStudy",params,this.payReturn);
	},	
	payReturn:function(result)
	{
	try{
	        if(result == "0000")
	        {
	    	     Lession.createLession(userName,Lession.type,Study.content);
	    	     return;	        
	        }
	        else if(result == "0001")
	        {
	            alert('您的余额不足！');
	            window.location.href="../user/count.aspx";
	            cancelLoading('');
	        }
	        else
	        {	    
	            alert("学习充值失败，请重试！");
	            cancelLoading('');
	        }	    
            if(Study.tt != null)
            {
              clearTimeout(Study.tt);
            }
       }catch(e){}
	}
}






