function TSVideo(objId,interfaceObj){var rtnObj={id:objId},msg={NO_OBJECT:"The TSVideo object is not found."};function $(id){return document.getElementById(id);};function _addEvent(elem,evtName,func){function _set(id){var elem=(typeof id=='string')?$(id):id;if(elem){if(document.addEventListener){elem.addEventListener(evtName,func,false);}else if(document.attachEvent){elem.attachEvent("on"+evtName,func);}else{elem.body["on"+evtName]=func;}}}if(typeof elem=='object'&&elem["length"]){for(var i=0;i<elem.length;i++){_set(elem[i]);}}else{_set(elem);}};function _error(msg){alert(msg);};function _getSWF(){if(document[rtnObj.id])return document[rtnObj.id];if(navigator.appName.indexOf("Microsoft Internet")==-1){if(document.embeds&&document.embeds[rtnObj.id])return document.embeds[rtnObj.id];}else return document.getElementById(rtnObj.id);};function _sendAction(action){var swfObj=_getSWF(),result;if(swfObj){result=swfObj.sendAction(action);if(result==null||!result[0]){_error(result[1]);}}else{_error(msg.NO_OBJECT);}};function _getValue(property){var swfObj=_getSWF(),result;if(swfObj){result=swfObj.getValue(property);if(result==null||!result[0]){_error(result[1]);}else{return result;}}else{_error(msg.NO_OBJECT);}};function _move(e,setValueFunc,getValueFunc){var dragObject=null,mouseOffset=null,topLeft=null,bottomRight=null,updateInterval=null,timeInterval=500,e=$(e);if(!e){return;}function _mouseCoords(evt){evt=evt||window.event;if(evt.pageX||evt.pageY){return{x:evt.pageX,y:evt.pageY};}return{x:evt.clientX+document.body.scrollLeft-document.body.clientLeft,y:evt.clientY+document.body.scrollTop-document.body.clientTop};};function _getMouseOffset(target,evt){evt=evt||window.event;var docPos=_getTopLeft(target),mousePos=_mouseCoords(evt);return{x:mousePos.x-docPos.x,y:mousePos.y-docPos.y};}function _setPathLimits(e){topLeft=_getTopLeft(e.parentNode);bottomRight=_getBottomRight(e.parentNode);};function _getTopLeft(e){var left=0,top=0;while(e.offsetParent){left+=e.offsetLeft;top+=e.offsetTop;e=e.offsetParent;}left+=e.offsetLeft;top+=e.offsetTop;return{x:left,y:top};}function _getBottomRight(e){var width=e.offsetWidth,height=e.offsetHeight,corner=_getTopLeft(e);return{x:(corner.x+width),y:(corner.y+height)};}function _mouseMove(evt){evt=evt||window.event;t=evt.target||evt.srcElement;if(dragObject){var mousePos=_mouseCoords(evt);dragObject.style.position="absolute";dragObject.style.top=((mousePos.y-mouseOffset.y)<topLeft.y)?topLeft.y:(((mousePos.y-mouseOffset.y+t.offsetHeight)>bottomRight.y)?bottomRight.y-t.offsetHeight:mousePos.y-mouseOffset.y)+"px";dragObject.style.left=((mousePos.x-mouseOffset.x)<topLeft.x)?topLeft.x:(((mousePos.x-mouseOffset.x+t.offsetWidth)>bottomRight.x)?bottomRight.x-t.offsetWidth:mousePos.x-mouseOffset.x)+"px";return false;}}function _setPos(e){var pW=e.parentNode.offsetWidth,pH=e.parentNode.offsetHeight;if(pW>pH){e.style.left=topLeft.x+getValueFunc()[1]/100*(pW-e.offsetWidth)+"px";e.style.position="absolute";}else{e.style.top=topLeft.y+getValueFunc()[1]/100*(pH-e.offsetHeight)+"px";e.style.position="absolute";}};_setPathLimits(e);_addEvent(e,"mousemove",_mouseMove);_addEvent(e,"mouseup",function(){var hDisp=(parseFloat(dragObject.style.left)-topLeft.x)/(e.parentNode.offsetWidth-e.offsetWidth)*100,vDisp=(parseFloat(dragObject.style.top)-topLeft.y)/(e.parentNode.offsetHeight-e.offsetHeight)*100;setValueFunc((isNaN(hDisp))?vDisp:hDisp);updateInterval=setInterval(function(){_setPos(e)},timeInterval);dragObject=null;return false;});_addEvent(e,"mousedown",function(evt){var evt=evt||window.event,t=evt.target||evt.srcElement;dragObject=t;mouseOffset=_getMouseOffset(t,evt);if(updateInterval){clearInterval(updateInterval);updateInterval=null;}return false;});updateInterval=setInterval(function(){_setPos(e)},timeInterval);};function _play(){_sendAction(["play"]);};function _pause(){_sendAction(["pause"]);};function _stop(){_sendAction(["stop"]);};function _setVolume(value){value=Number(value);if(!isNaN(value)){_sendAction(["volume",value]);}};function _load(filePath){_sendAction(["load",filePath]);};function _caption(filePath){_sendAction(["caption",filePath]);};function _seek(percent){percent=Number(percent);if(!isNaN(percent)){_sendAction(["seek",percent]);}};function _getStatus(){return _getValue(["status"]);};function _getVolume(){return _getValue(["volume"]);};function _getPlaying(){return _getValue(["playing"]);};function _getDuration(){return _getValue(["duration"]);};function _getCaption(){return _getValue(["caption"]);};function _getElapsed(){return _getValue(["elapsed"])};function _setInterface(obj){if(obj["play_control"]){_addEvent(obj["play_control"],"click",rtnObj.play);}if(obj["pause_control"]){_addEvent(obj["pause_control"],"click",rtnObj.pause);}if(obj["stop_control"]){_addEvent(obj["stop_control"],"click",rtnObj.stop);}if(obj["mute_control"]){_addEvent(obj["mute_control"],"click",function(){var volume=rtnObj.getVolume()[1];if(volume>0){rtnObj.volume=volume;rtnObj.setVolume(0);}else if(rtnObj.volume){rtnObj.setVolume(rtnObj.volume);}else{rtnObj.volume=0;}});}if(obj["volume_control"]){_move(obj["volume_control"],rtnObj.setVolume,rtnObj.getVolume);}if(obj["seek_control"]){_move(obj["seek_control"],rtnObj.seek,rtnObj.getElapsed);}};rtnObj.play=_play;rtnObj.pause=_pause;rtnObj.stop=_stop;rtnObj.setVolume=_setVolume;rtnObj.load=_load;rtnObj.seek=_seek;rtnObj.caption=_caption;rtnObj.getStatus=_getStatus;rtnObj.getVolume=_getVolume;rtnObj.getPlaying=_getPlaying;rtnObj.getDuration=_getDuration;rtnObj.getCaption=_getCaption;rtnObj.getElapsed=_getElapsed;if(interfaceObj){_setInterface(interfaceObj);}return rtnObj;};