﻿//功能描述：声音文件
//文件路径：js/lessonSound.js
/*********************************************************
 功能：打开声音
 类型： 接口函数
 参数：	pFileName:文件名；
	pPlayID:播放标识符(字符串);
	pAutoPlay:是否自动播放(true/false)
 返回值:无;
 创建人:代振国	       更改时间：06/04/21 10:00
*********************************************************/
function lrloadsound(pPlayID,url)
{
	var mMediaPlayer=document.getElementById(pPlayID);
	if (mMediaPlayer!=null)
	{
	                  mMediaPlayer.removeNode(true);
	}
	
	var soundhtml="<OBJECT id='" + pPlayID+ "' name='"+pPlayID+"' codeBase=http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0 height=1 width=1 align=middle classid=clsid:d27cdb6e-ae6d-11cf-96b8-444553540000 ><PARAM NAME='allowScriptAccess' VALUE='sameDomain'><PARAM NAME='movie' VALUE="+url+"><PARAM NAME='quality' VALUE='high' ><PARAM NAME='bgcolor' VALUE='#ffffff'><PARAM NAME='wmode' VALUE='transparent'><embed  src="+url+" width='1' height='1' align='middle' quality='high' bgcolor='#ffffff' id='"+ pPlayID +"' name='"+pPlayID+"' allowScriptAccess='sameDomain' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' wmode='transparent' /></OBJECT>";
	if(window.ActiveXObject) 
		document.body.insertAdjacentHTML("BeforeEnd", soundhtml);
	else{
		var range=document.body.ownerDocument.createRange(); 
		range.setStartBefore(document.body); 
		var fragment = range.createContextualFragment(soundhtml);  
		document.body.insertBefore(fragment,document.body.firstChild); 
	} 

	//document.body.insertAdjacentHTML("BeforeEnd", soundhtml);
	//BeforeEnd
	return 1;
}


function lrsoundfileopen(pFileName,pPlayID,pAutoPlay,stid)
{ 
	stens_one_id = stid;
	var mMediaPlayer = IEorFirefox(pPlayID);
	if (mMediaPlayer==null)
	{
	                  return 0;
	}
        
	mMediaPlayer.sndloadurl(pFileName,pAutoPlay,"PlayerEvent");

	return 1;
}

function LRSoundFileallOpen(pFileName,pPlayID,pAutoPlay,stid)
{ 

	var mMediaPlayer = IEorFirefox(pPlayID);
	if (mMediaPlayer==null)
	{
	                  return 0;
	}
       
	mMediaPlayer.sndloadurl(pFileName,pAutoPlay,"PlayerEventall");

	return 1;
}

function lrsoundfileopenone(pFileName,pPlayID,pAutoPlay)
{ 	
	
	var mMediaPlayer = IEorFirefox(pPlayID);
	if (mMediaPlayer==null)
	{
	                  return 0;
	}

	mMediaPlayer.sndloadurl(pFileName,pAutoPlay,"PlayerEvent");

	return 1;
}

/*********************************************************
 功能：关闭
 类型： 接口函数
 参数：	pPlayID:播放标识符(字符串);
 返回值:无;
 创建人:代振国	           更改时间：06/04/21 10:00
*********************************************************/
function lrsoundclose(pPlayID)
{
   var mMediaPlayer = IEorFirefox(pPlayID);
    if (mMediaPlayer!=null)
    {
	  mMediaPlayer.removeNode(true);
    }
   return 1;
}


function lrsoundplay(pPlayID)
{
    var mMediaPlayer = IEorFirefox(pPlayID);
    if (mMediaPlayer!=null)
    {
	mMediaPlayer.sndplay();
    }
   return 1;
}

function LRSoundStop(pPlayID)
{
   var mMediaPlayer = IEorFirefox(pPlayID);
   if (mMediaPlayer!=null)
   {
	mMediaPlayer.sndstop();
   }
   return 1;
}

function PlayerEvent(txt)
{
     switch(txt){
	case "play_finished"://播放完毕
		break;
	case "load_finished"://加载成功
		break;
	case "load_error"://加载失败
		break;
	case "load_start"://开始加载
		break;
	case "play_start"://开始播放
		break;
	case "play_stop"://停止播放
		break;
             }
}

function PlayerEventall(txt)
{
     switch(txt){
	case "play_finished"://播放完毕
		of_renext();
		break;
	case "load_finished"://加载成功
		break;
	case "load_error"://加载失败
		break;
	case "load_start"://开始加载
		break;
	case "play_start"://开始播放
		break;
	case "play_stop"://停止播放
		break;
             }
}


/********************************************************
功能：让Firefox支持outerHTML方法
*********************************************************/
if(window.HTMLElement) {
    HTMLElement.prototype.__defineSetter__("outerHTML",function(sHTML){
        var r=this.ownerDocument.createRange();
        r.setStartBefore(this);
        var df=r.createContextualFragment(sHTML);
        this.parentNode.replaceChild(df,this);
        return sHTML;
        });

    HTMLElement.prototype.__defineGetter__("outerHTML",function(){
     var attr;
        var attrs=this.attributes;
        var str="<"+this.tagName.toLowerCase();
        for(var i=0;i<attrs.length;i++){
            attr=attrs[i];
            if(attr.specified)
                str+=" "+attr.name+'="'+attr.value+'"';
            }
        if(!this.canHaveChildren)
            return str+">";
        return str+">"+this.innerHTML+"</"+this.tagName.toLowerCase()+">";
        });
        
 HTMLElement.prototype.__defineGetter__("canHaveChildren",function(){
  switch(this.tagName.toLowerCase()){
            case "area":
            case "base":
         case "basefont":
            case "col":
            case "frame":
            case "hr":
            case "img":
            case "br":
            case "input":
            case "isindex":
            case "link":
            case "meta":
            case "param":
            return false;
        }
        return true;

     });
}

function IEorFirefox(pPlayID){
	var mMediaPlayer = document.getElementById(pPlayID);
	var firefoxnum = 0;
	if(window.ActiveXObject) 
		mMediaPlayer = mMediaPlayer;
	else{
	    var ua = navigator.userAgent.toLowerCase();
	    
	    if (document.getBoxObjectFor)
                firefoxnum = ua.match(/firefox\/([\d.]+)/)[1];
                
            if (parseInt(firefoxnum) >= 3){ 
	 	mMediaPlayer = mMediaPlayer.getElementsByTagName("embed")[0];
	    }else
	    	mMediaPlayer = mMediaPlayer;
	}
	return mMediaPlayer;
}