home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 May / CHIPHEFT052001.ISO / chiptv / desktop / script / msf5.js < prev   
Encoding:
Text File  |  2001-03-07  |  24.9 KB  |  552 lines

  1. <!-- vor alten Browsern verstecken 
  2. // Streaming Script Library 
  3. // (c) 2000 by Medien Service Fette GmbH
  4. // Version 0.65 -- 03-12-2000
  5. //
  6. // ###################################################################
  7. // Vielen Dank, dass Sie sich fuer unseren SourceCode interessieren.
  8. // Beachten Sie bitte folgende Hinweise:
  9. //
  10. // Programmierung (c) 2000 by Medien Service Fette GmbH; Extertal
  11. // Inhalte (c) 2000 by CHIPtv GmbH; Muenchen
  12. //
  13. // Diese Seiten sind urheberrechtlich geschuetzt!
  14. // Alle Bestandteile dieser Seiten duerfen nicht kopiert werden. 
  15. // Eine Nachahmung ist ebenfalls untersagt. Die Programmierung
  16. // darf weder im Ganzen noch in einzelnen Bestandteilen fuer
  17. // andere Projekte verwendet werden.
  18. // Alle Videos, Bilder, Grafiken, Texte usw. duerfen nicht ohne
  19. // schriftliche Genehmigung der CHIPtv GmbH verwendet werden.
  20. // ###################################################################
  21.  
  22.  
  23. var isIE = navigator.appVersion.indexOf("MSIE")>0;       // einfach ein Internet-Explorer
  24. var isNav = navigator.appVersion.indexOf("Nav")>0;       // einfach ein Netscape Navigator
  25. var isIE3 = navigator.appVersion.indexOf("MSIE 3")>0;    // IE 3.x
  26. var isIE4 = navigator.appVersion.indexOf("MSIE 4")>0;    // IE 4.x
  27. var isIE55 = navigator.appVersion.indexOf("MSIE 5.5")>0; // IE 5.5
  28. var isIE5 = navigator.appVersion.indexOf("MSIE 5")>0;    // IE 5.x (aber nicht 5.5!)
  29.     isIE5 = isIE5 && !isIE55;                              // ist es wirklich der 5er oder doch der 5.5er?
  30. var isNav4 = navigator.appVersion.indexOf("Nav 4")>0;    // Navigator 4.x
  31. //alert ("isIE3=" + isIE3 + " isIE4=" + isIE4 + " isIE5=" + isIE5 + " isIE5.5=" + isIE55 + " isNav4=" + isNav4);
  32.  
  33.  
  34. // Zuerst werden die speziellen Scripte fuer den Player ins HTML-Document geschrieben ...
  35. // Dieses Script faengt die MP-ScriptCommand-Events ab und wertet sie aus
  36.     document.writeln('<script FOR="MSFMP" EVENT="PlayStateChange(lOldState, lNewState)" LANGUAGE="JavaScript">');
  37.     document.writeln('  msf_mppsc(lOldState, lNewState);');
  38.     document.writeln('  window.status = "PlayStateChange lOldState="+lOldState+" lNewState="+lNewState;');
  39.     document.writeln('</script>');
  40.  
  41.     document.writeln('<script FOR="MSFMP" EVENT="ScriptCommand(sType, sParam)" LANGUAGE="JavaScript">');
  42.     document.writeln('  msf_mpsc(sType, sParam);');
  43.     document.writeln('  window.status ="ScriptCommand sType="+sType+"  sParam="+sParam;');
  44.     document.writeln('</script>');
  45.  
  46.     document.writeln('<script FOR="MSFMP" EVENT="OpenStateChange(lOldState, lNewState)" LANGUAGE="JavaScript">');
  47.     document.writeln('  msf_mposc(lOldState, lNewState);');
  48.     document.writeln('  window.status = "OpenStateChange lOldState="+lOldState+" lNewState="+lNewState;');
  49.     document.writeln('</script>');
  50.  
  51. // Ende der spezillen Scripte fuer den Player
  52.  
  53.  
  54. var msf_docpath = document.URL // der Pfad, in dem das Host-Dokument liegt, das dieses Script eingebunden hat
  55. var msf_divs = new Array(); // nimmt alle msf-divs im Host-Dokument auf
  56. var msf_stage = new Array(); // nimmt alle von uns erzeugten IFRAMs im Host-Dokument auf
  57. var msf_isMpPause = false; // false wenn keine Pause funktion und true wenn in Pause-Modus
  58. var msf_position_Interval = 0 // uebernimmt den Pointer zum Interval fuer die Positionsanzeige
  59. var msf_GesamtZeit = "" // nimmt die Gesamtzeit des Videos als String auf
  60. var msf_jn = new Array(); // nimmt die Schalter fuer Beitraege auf
  61.  
  62. function msf_positionChange(){
  63.   document.all.msf_mpposition.innerText = msf_givTimeString(MSFMP.CurrentPosition) + " / " + msf_GesamtZeit;
  64. }
  65.  
  66. function msf_givTimeString(sekunden){
  67.   var TimeString = "";
  68.   sekunden = parseInt(sekunden);
  69.   var Minuten = (sekunden - sekunden % 60) / 60;
  70.   var Stunden = (Minuten - Minuten % 60) / 60;
  71.   Minuten = Minuten % 60;
  72.   sekunden = sekunden % 60;
  73.   var z = "";
  74.   z = "00" + String(sekunden);
  75.   z =  "00" + String(Minuten) + ":" + z.substr(z.length-2,2);
  76.   z = z.substr(z.length-5,5);
  77.   
  78.   if (Stunden != 0) {
  79.     z = "00" + String(Stunden) + ":" + z;
  80.     z = z.substr(z.length-8,8) 
  81.   }
  82.   return z
  83. }
  84.  
  85. // Funktionen fuer die klassischen Mediaplayer Schaltflaechen
  86. function msf_mp_play(){
  87.   MSFMP.Play();
  88. }
  89.  
  90. function msf_mp_stop(){
  91.   MSFMP.stop();
  92.   MSFMP.CurrentPosition=0;
  93.   msf_isMpPause=false;
  94. }
  95.  
  96. function msf_mp_pause(){
  97.   if (MSFMP.PlayState==2) {
  98.     MSFMP.Pause();
  99.   } else {
  100.   if (MSFMP.PlayState==1) MSFMP.Play();
  101.   }
  102. }
  103.  
  104. // Funktionen fuer die klassischen Videorecorder Schaltflaechen
  105. function msf_vcr_play(){
  106.   switch (MSFMP.PlayState){
  107.     case 2:
  108.       MSFMP.Pause();
  109.       break;
  110.     case 1:
  111.       MSFMP.Play();
  112.       break;
  113.     case 0:
  114.       MSFMP.Play();
  115.       break;
  116.   }
  117. }
  118.  
  119. function msf_vcr_stop(){
  120.   if (MSFMP.PlayState==2) {
  121.     MSFMP.Pause();
  122.   }
  123. }
  124.  
  125.  
  126. function msf_mp_mute(){
  127.   if (MSFMP.Mute) {
  128.     MSFMP.Mute=false;
  129.     document.images.msf_mpmute.src=document.images.msf_mpmute.msf_srce;
  130.   } else {
  131.     MSFMP.Mute=true;
  132.     document.images.msf_mpmute.src=document.images.msf_mpmute.msf_srcp;
  133.   }
  134. }
  135.  
  136.  
  137. function msf_mposc(StateOld, StateNew){// Verarbeitet die OpenStateChange Events des MediaPlayers
  138. //  MSFMP.TransparentatStart="false";
  139.   switch (StateNew){
  140.     case 6: // Video geoeffnet
  141.       if (document.images.msf_mpplay) document.images.msf_mpplay.src=document.images.msf_mpplay.msf_srce;
  142.       if (document.images.msf_mpstop) document.images.msf_mpstop.src=document.images.msf_mpstop.msf_srcd;
  143.       if (document.images.msf_mppause) document.images.msf_mppause.src=document.images.msf_mppause.msf_srcd;
  144.       if (document.images.msf_vcrplay) document.images.msf_vcrplay.src=document.images.msf_vcrplay.msf_srce;
  145.       if (document.images.msf_vcrstop) document.images.msf_vcrstop.src=document.images.msf_vcrstop.msf_srcp;
  146.       if (document.images.msf_mpmute) document.images.msf_mpmute.src=document.images.msf_mpmute.msf_srce;
  147.       msf_GesamtZeit = msf_givTimeString(MSFMP.duration);
  148.  
  149.       if (document.all.msf_mpposition){ // sollen die Zeiten angezeigt werden?
  150.         if (MSFMP.IsDurationValid){ // koennen die Zeiten angezeigt werden, oder ist es ein LiveStream?
  151.           msf_positionChange(); // initialisieren der Anzeige
  152.           msf_position_Interval = window.setInterval("msf_positionChange()",1000); // Timer auf 1 Sekunde setzen
  153.         } else {
  154.           document.all.msf_mpposition.innerText = " "; // LiveStream ... nichts anzeigen
  155.         }
  156.       }
  157.  
  158.       if (document.all.msf_autoinhalt) { // soll ein automatisches Inhaltsverzeichnis eingefuegt werden?
  159.         msf_include_autoinhalt();
  160.       }
  161.  
  162.       break;
  163.   }
  164. }
  165.  
  166.  
  167. function msf_mppsc(StateOld, StateNew){// Verarbeitet die PlayStateChange Events des MediaPlayers
  168.     switch (StateNew){
  169.       case 0: //Stopped
  170.               if (document.images.msf_mpplay) document.images.msf_mpplay.src=document.images.msf_mpplay.msf_srce;
  171.                 if (document.images.msf_mpstop) document.images.msf_mpstop.src=document.images.msf_mpstop.msf_srcd;
  172.                 if (document.images.msf_mppause) document.images.msf_mppause.src=document.images.msf_mppause.msf_srcd;
  173.               if (document.images.msf_vcrplay) document.images.msf_vcrplay.src=document.images.msf_vcrplay.msf_srce;
  174.                 if (document.images.msf_vcrstop) document.images.msf_vcrstop.src=document.images.msf_vcrstop.msf_srcp;
  175.               break;
  176.       case 1: //Paused
  177.               if (document.images.msf_mpplay) document.images.msf_mpplay.src=document.images.msf_mpplay.msf_srce;
  178.                 if (document.images.msf_mpstop) document.images.msf_mpstop.src=document.images.msf_mpstop.msf_srce;
  179.                 if (document.images.msf_mppause) document.images.msf_mppause.src=document.images.msf_mppause.msf_srcp;
  180.               if (document.images.msf_vcrplay) document.images.msf_vcrplay.src=document.images.msf_vcrplay.msf_srce;
  181.                 if (document.images.msf_vcrstop) document.images.msf_vcrstop.src=document.images.msf_vcrstop.msf_srcp;
  182.               break;
  183.       case 2: //Playing
  184.               if (document.images.msf_mpplay) document.images.msf_mpplay.src=document.images.msf_mpplay.msf_srcp;
  185.                 if (document.images.msf_mpstop) document.images.msf_mpstop.src=document.images.msf_mpstop.msf_srce;
  186.                 if (document.images.msf_mppause) document.images.msf_mppause.src=document.images.msf_mppause.msf_srce;
  187.               if (document.images.msf_vcrplay) document.images.msf_vcrplay.src=document.images.msf_vcrplay.msf_srcp;
  188.                 if (document.images.msf_vcrstop) document.images.msf_vcrstop.src=document.images.msf_vcrstop.msf_srce;
  189.               break;
  190.       case 3: //Waiting
  191.               if (document.images.msf_mpplay) document.images.msf_mpplay.src=document.images.msf_mpplay.msf_srcd;
  192.                 if (document.images.msf_mpstop) document.images.msf_mpstop.src=document.images.msf_mpstop.msf_srcd;
  193.                 if (document.images.msf_mppause) document.images.msf_mppause.src=document.images.msf_mppause.msf_srcd;
  194.               if (document.images.msf_vcrplay) document.images.msf_vcrplay.src=document.images.msf_vcrplay.msf_srcd;
  195.                 if (document.images.msf_vcrstop) document.images.msf_vcrstop.src=document.images.msf_vcrstop.msf_srcd;
  196.               break;
  197.       case 4: //Scan Forward
  198.               if (document.images.msf_mpplay) document.images.msf_mpplay.src=document.images.msf_mpplay.msf_srcd;
  199.                 if (document.images.msf_mpstop) document.images.msf_mpstop.src=document.images.msf_mpstop.msf_srcd;
  200.                 if (document.images.msf_mppause) document.images.msf_mppause.src=document.images.msf_mppause.msf_srcd;
  201.               if (document.images.msf_vcrplay) document.images.msf_vcrplay.src=document.images.msf_vcrplay.msf_srcd;
  202.                 if (document.images.msf_vcrstop) document.images.msf_vcrstop.src=document.images.msf_vcrstop.msf_srcd;
  203.               break;
  204.       case 5: //Scan Reverse
  205.               if (document.images.msf_mpplay) document.images.msf_mpplay.src=document.images.msf_mpplay.msf_srcd;
  206.                 if (document.images.msf_mpstop) document.images.msf_mpstop.src=document.images.msf_mpstop.msf_srcd;
  207.                 if (document.images.msf_mppause) document.images.msf_mppause.src=document.images.msf_mppause.msf_srcd;
  208.               if (document.images.msf_vcrplay) document.images.msf_vcrplay.src=document.images.msf_vcrplay.msf_srcd;
  209.                 if (document.images.msf_vcrstop) document.images.msf_vcrstop.src=document.images.msf_vcrstop.msf_srcd;
  210.               break;
  211.       case 6: //Skip Forward
  212.               if (document.images.msf_mpplay) document.images.msf_mpplay.src=document.images.msf_mpplay.msf_srcd;
  213.                 if (document.images.msf_mpstop) document.images.msf_mpstop.src=document.images.msf_mpstop.msf_srcd;
  214.                 if (document.images.msf_mppause) document.images.msf_mppause.src=document.images.msf_mppause.msf_srcd;
  215.               if (document.images.msf_vcrplay) document.images.msf_vcrplay.src=document.images.msf_vcrplay.msf_srcd;
  216.                 if (document.images.msf_vcrstop) document.images.msf_vcrstop.src=document.images.msf_vcrstop.msf_srcd;
  217.               break;
  218.       case 6: //Skip Reverse
  219.               if (document.images.msf_mpplay) document.images.msf_mpplay.src=document.images.msf_mpplay.msf_srcd;
  220.                 if (document.images.msf_mpstop) document.images.msf_mpstop.src=document.images.msf_mpstop.msf_srcd;
  221.                 if (document.images.msf_mppause) document.images.msf_mppause.src=document.images.msf_mppause.msf_srcd;
  222.               if (document.images.msf_vcrplay) document.images.msf_vcrplay.src=document.images.msf_vcrplay.msf_srcd;
  223.                 if (document.images.msf_vcrstop) document.images.msf_vcrstop.src=document.images.msf_vcrstop.msf_srcd;
  224.               break;
  225.       case 7: //Closed
  226.               if (document.images.msf_mpplay) document.images.msf_mpplay.src=document.images.msf_mpplay.msf_srcd;
  227.                 if (document.images.msf_mpstop) document.images.msf_mpstop.src=document.images.msf_mpstop.msf_srcd;
  228.                 if (document.images.msf_mppause) document.images.msf_mppause.src=document.images.msf_mppause.msf_srcd;
  229.               if (document.images.msf_vcrplay) document.images.msf_vcrplay.src=document.images.msf_vcrplay.msf_srcd;
  230.                 if (document.images.msf_vcrstop) document.images.msf_vcrstop.src=document.images.msf_vcrstop.msf_srcd;
  231.               break;
  232.   }
  233. }
  234. function msf_loadUrl(stagenumber,URL){
  235.   msf_stage[stagenumber].style.visibility =  "hidden";
  236.   msf_divs[stagenumber].style.visibility =  "hidden";
  237.   msf_stage[stagenumber].src =  msf_docpath + URL;
  238.   msf_stage[stagenumber].style.visibility =  "visible";
  239. }
  240.  
  241. function msf_mpsc(scriptType, fullParameter){ // verarbeitet die ScriptCommand Events des MediaPlayers
  242.     var scriptParameter = fullParameter.split("+"); // zerteilt die Parameterkette in einzelne Teile
  243.     var ParaAnz = scriptParameter.lenght // anzahl der Parameter
  244.     switch (scriptType){
  245.       case "msf_command":     switch (scriptParameter[0]){
  246.                                 case "stagehidden": if (scriptParameter[1]=="all"){
  247.                                                     for (var i = 0; i <=msf_stage.length-1; i++) {
  248.                                                         msf_stage[i].style.visibility =  "hidden";
  249.                                                         msf_divs[i].style.visibility =  "hidden";
  250.                                                       }
  251.                                                   } else {
  252.                                                     msf_stage[scriptParameter[1]].style.visibility =  "hidden";
  253.                                                       msf_divs[scriptParameter[1]].style.visibility =  "hidden";
  254.                                                   }
  255.                                 break;
  256.                               
  257.                               case "nextvideo":  if (parent.msf_sendung==true){
  258.                                                    parent.msf_confirm = false; // nicht nachfragen!
  259.                                                    parent.msf_close();
  260.                                                  }
  261.                               break;
  262.                               
  263.                               }
  264.                             break;
  265.  
  266.       case "msf_bild":        switch (scriptParameter[0]){
  267.                                 case "load": msf_stage[scriptParameter[1]].style.visibility =  "hidden";
  268.                                              msf_divs[scriptParameter[1]].style.visibility =  "hidden";
  269.                                              msf_include_pict(parseInt(scriptParameter[1]),  msf_docpath + scriptParameter[2]);
  270.                                              msf_divs[scriptParameter[1]].style.visibility =  "visible";
  271.                               break;
  272.                               case "pop": msf_stage[scriptParameter[1]].style.visibility =  "hidden";
  273.                                              msf_divs[scriptParameter[1]].style.visibility =  "hidden";
  274.                                            //1 stage, 2 bild oben, 3 bild unten
  275.                                              msf_include_pictonpict(parseInt(scriptParameter[1]),  msf_docpath + scriptParameter[2],  msf_docpath + scriptParameter[3]);
  276.                                              msf_divs[scriptParameter[1]].style.visibility =  "visible";
  277.                                 break;
  278.                               }
  279.                             break;
  280.  
  281.       case "msf_text":        switch (scriptParameter[0]){
  282.                                 case "load": msf_stage[scriptParameter[1]].style.visibility =  "hidden";
  283.                                              msf_divs[scriptParameter[1]].style.visibility =  "hidden";
  284.                                            msf_stage[scriptParameter[1]].src =  msf_docpath + scriptParameter[2];
  285.                                            msf_stage[scriptParameter[1]].style.visibility =  "visible";
  286.                                 break;
  287.                               case "paste": msf_stage[scriptParameter[1]].style.visibility =  "hidden";
  288.                                              msf_divs[scriptParameter[1]].style.visibility =  "hidden";
  289.                                              msf_include_text(parseInt(scriptParameter[1]),  scriptParameter[2], scriptParameter[3]);
  290.                                              msf_divs[scriptParameter[1]].style.visibility =  "visible";
  291.                                 break;
  292.                               case "pastea": msf_stage[scriptParameter[1]].style.visibility =  "hidden";
  293.                                              msf_divs[scriptParameter[1]].style.visibility =  "hidden";
  294.                                              msf_include_texta(parseInt(scriptParameter[1]),  scriptParameter[2], scriptParameter[3]);
  295.                                              msf_divs[scriptParameter[1]].style.visibility =  "visible";
  296.                                 break;
  297.                               case "txtonpict": msf_stage[scriptParameter[1]].style.visibility =  "hidden";
  298.                                              msf_divs[scriptParameter[1]].style.visibility =  "hidden";
  299.                                            //1 stage, 2 text, 3 url, 4 msf_style
  300.                                              msf_include_textonpict(parseInt(scriptParameter[1]),  scriptParameter[2],  msf_docpath + scriptParameter[3], scriptParameter[4]);
  301.                                              msf_divs[scriptParameter[1]].style.visibility =  "visible";
  302.                                 break;
  303.                               }
  304.                             break;
  305.       }
  306. }
  307.  
  308.  
  309. // Es folgen die Funktionen, die in den DIVs unseren HTML-Code eintragen ...
  310. function msf_include_pict(stage, url){
  311.   msfobj  = '<img';
  312.   msfobj += ' src="' + url + '"';
  313.   msfobj += ' border="0" vspace="0" hspace="0">';
  314.   msf_divs[stage].innerHTML= msfobj;
  315. }
  316.  
  317. function msf_include_textonpict(stage, text, url, msf_style){
  318.   msfobj  = '<div style="position:absolute; left:1px; top:1px; width:320px; height:240px; z-index:1; background-image: url(';
  319.   msfobj +=  url + '); background-repeat:no-repeat">';
  320.   msfobj += '<table width="100%" border="0" cellspacing="0" cellpadding="0" height="99%" align="center"><tr><td>';
  321.   if (msf_style==null){
  322.     msfobj += '<div>' + text + '</div></td></tr></table></div>';
  323.   } else {
  324.     msfobj += '<div class="' + msf_style +'">' + text + '</div></td></tr></table></div>';
  325.   }
  326.   msf_divs[stage].innerHTML= msfobj;
  327. }
  328.  
  329. function msf_include_pictonpict(stage, pict, url){
  330.   msfobj  = '<div style="position:absolute; left:0px; top:0px; width:320px; height:320px; z-index:1; background-image: url(';
  331.   msfobj +=  url + '); background-repeat:no-repeat">';
  332.   msfobj += '<table width="100%" border="0" cellspacing="0" cellpadding="0" height="99%" align="center"><tr><td>';
  333.   msfobj += '<img';
  334.   msfobj += ' src="' + pict + '"';
  335.   msfobj += ' border="0" vspace="0" hspace="0">';
  336.   msfobj += '</td></tr></table></div>';
  337.   msf_divs[stage].innerHTML= msfobj;
  338. }
  339.  
  340.  
  341.  
  342. function msf_include_text(stage, text, msf_style){
  343.   if (msf_style==null){
  344.     msfobj  = '<p>';
  345.   } else {
  346.     msfobj  = '<p class="' + msf_style +'">';
  347.   }
  348.   msfobj += text;
  349.   msfobj += '</p>';
  350.   msf_divs[stage].innerHTML= msfobj;
  351. }
  352.  
  353. function msf_include_texta(stage, text, msf_style){
  354.   if (msf_style==null){
  355.     msfobj  = '<p>';
  356.   } else {
  357.     msfobj  = '<p class="' + msf_style +'">';
  358.   }
  359.   msfobj += text;
  360.   msfobj += '</p>';
  361.   msf_divs[stage].innerHTML = msf_divs[stage].innerHTML + msfobj;
  362. }
  363.  
  364.  
  365.  
  366. function msf_include_mpstandard(){
  367.   // Wenn das DIV mit der ID mpstandard existiert,
  368.   // wird durch dieses Script der MediaPlayer eingefuegt 
  369.   msfobj = '<object id="MSFMP" ';
  370.   //  msfobj += "WIDTH="+parseInt(document.all.mpstandard.style.width)+" ";
  371.   //  msfobj += "HEIGHT="+parseInt(document.all.mpstandard.style.height)+" ";
  372.   msfobj += 'classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" ';
  373.   msfobj += 'codebase="http://activex.microsoft.com/activex/controls/mplayer/de/nsmp2inf.cab#Version=6,4,5,715" ';
  374.   msfobj += 'standby="Microsoft Windows Media Player wird geladen ..." ';
  375.   msfobj += 'type="application/x-oleobject" align="top"> ';
  376.   msfobj += '</object>';
  377.   document.all.msfmpstandard.innerHTML=msfobj;
  378.   var as = document.all.msfmpstandard.msf_AutoStart;
  379.   if (as==null) as=false;
  380.     with (document.all.MSFMP) {
  381.       AnimationatStart = "false";
  382.       TransparentatStart = "true";
  383.       AutoStart = as;
  384.       ShowPositionControls = "true";
  385.       ShowAudioControls = "false";
  386.       ShowTracker = "true";
  387.       ShowControls = "true";
  388.       ShowStatusBar = "true";
  389.       SendPlayStateChangeEvents = "true";
  390.       autosize = "true";
  391.       FileName = msf_docpath + parent.msf_asx;
  392.     }
  393. }
  394.  
  395. function msf_include_mpdisplay(){
  396.   // Wenn das DIV mit der ID mp_display existiert,
  397.   // wird durch dieses Script das Display des MediaPlayer's eingefuegt 
  398.   alert ("MP einfuegen");
  399.   msfobj  = '<object id="MSFMP"';
  400.   msfobj += '  classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95"';
  401.   msfobj += '  codebase="http://activex.microsoft.com/activex/controls/mplayer/de/nsmp2inf.cab#Version=6,4,5,715"';
  402.   msfobj += '  standby="Microsoft Windows Media Player wird geladen ..."';
  403.   msfobj += '  type="application/x-oleobject" width="160" height="120" align="bottom">';
  404.   msfobj += '  <param name="AnimationatStart" value="false">';
  405.   msfobj += '  <param name="TransparentatStart" value="true">';
  406.   msfobj += '  <param name="AutoStart" value="false">';
  407.   msfobj += '  <param name="ShowControls" value="false">';
  408. //  msfobj += '  <param name="SendPlayStateChangeEvents" value="true">';
  409. //  msfobj += '  <param name="FileName" value="' + msf_docpath + parent.msf_asx + '">';
  410.   msfobj += '</object>';
  411.   alert ("msfobj=" + msfobj);
  412.   document.all.msf_mpdisplay.innerHTML=msfobj;
  413.   var as = document.all.msf_mpdisplay.msf_AutoStart;
  414.   if (as==null) as=false;
  415.   with (document.all.MSFMP) {
  416.    AutoStart = as;
  417.    FileName = msf_docpath + parent.msf_asx;
  418.    SendPlayStateChangeEvents = true;
  419.   }    
  420. }
  421.  
  422. function msf_include_autoinhalt(){
  423.   // Wenn das DIV msf_autoinhalt existiert, und ein Video geladen wurde,
  424.   // dann wird in diesem DIV ein Inhaltsverzeichnis aus den 
  425.   // Markereintraegen des Videos erstellt, wenn das Video denn welche hat ...
  426.     msfobj  =  '<table id="msf_inhalt" style="position:absolute; left:0px; top:0px" width="100%" border="0" cellspacing="0" cellpadding="0" align="left">';
  427.     for (var i = 1; i <=document.all.MSFMP.MarkerCount; i++) { // alle Marker ermitteln
  428.       msfobj  += '<tr><td class="msfinhalt" onmouseout="javascript:this.className=\'msfinhalt\'" onmouseover="javascript:this.className=\'msfinhaltover\'"';
  429.       msfobj  += ' onclick="msf_jumptomarker(';
  430.       msfobj  += i + ")\">";
  431.         msfobj  += '<p>' + document.all.MSFMP.GetMarkerName(i);
  432.       msfobj  += '</p></td></tr>';
  433.     }
  434.     msfobj  += '</table>';
  435.     document.all.msf_autoinhalt.innerHTML = msfobj;
  436.  
  437. }
  438.  
  439. function msf_jumptomarker(marker){
  440.   document.all.MSFMP.CurrentMarker = marker;
  441.   msf_mp_play();
  442. }
  443.  
  444. function msf_load(){
  445.   // Diese Routine wird von der HTML-Datei im 
  446.   // BODY-Tag als Onload-Event eingebunden
  447.   // Zuerst den Pfad zu den Einzelteilen feststellen
  448.   // Der ergibt sich aus dem Dateinamen der HTML-Datei, die das
  449.   // Script-Hostet
  450.   msf_docpath = msf_docpath.substring(0,msf_docpath.length-4)+ "\\";
  451.  
  452.   if (document.all.msf_beitr){
  453.     for (var i = 0; i <=document.all.msf_beitr.length-1; i++) {
  454.       msf_jn[document.all.msf_beitr[i].msf_num]=document.all.msf_beitr[i];
  455.         parent.msf_beitraege[document.all.msf_beitr[i].msf_num]="ja";
  456.     }
  457.   }
  458.  
  459.   // ermitteln, wie viele, und welche msf_div's im dokument vorhanden sind.
  460.   if (document.all.msf_div){
  461.     for (var i = 0; i <=document.all.msf_div.length-1; i++) {
  462.       msf_divs[document.all.msf_div[i].msf_num]=document.all.msf_div[i];  
  463.     }
  464.  
  465.     // an die Selbe position wie alle vorhandenen msf_div's einen IFrame schreiben und die Referenz merken
  466.     for (var i = 0; i <=msf_divs.length-1; i++) {
  467.       msfobj  = '<IFRAME';
  468.       msfobj += ' id="msf_iframe'+i+'" ';
  469.       msfobj += ' FRAMEBORDER=0 ';
  470.       msfobj += ' border=0 ';
  471.       msfobj += ' style="position:absolute;';
  472.       msfobj += ' width:' + parseInt(msf_divs[i].style.width) + 'px;';
  473.       msfobj += ' height:' + parseInt(msf_divs[i].style.height) + 'px;';
  474.       msfobj += ' top:' + parseInt(msf_divs[i].style.top) + 'px;';
  475.       msfobj += ' left:' + parseInt(msf_divs[i].style.left) + 'px;';
  476.       msfobj += ' visibility: hidden"';
  477.       msfobj += ' src=""';
  478.       msfobj += ' ></IFRAME>';
  479.       msf_divs[i].insertAdjacentHTML("AfterEnd",msfobj);
  480.       eval('msf_stage[i]=document.all.msf_iframe'+i);
  481.       msf_divs[i].style.visibility="hidden";
  482.     }
  483.   }
  484.  
  485.   // Hier werden der Reihe nach die verschiedenen
  486.   // eingebundenen DIVs geprueft, und gegebenenfalls
  487.   // mit unseren speziellen Inhalten gefuellt.
  488.   // Der eigentliche Austausch erfolgt in eigenen Funktionen
  489.   if (document.all.msfmpstandard) msf_include_mpstandard();
  490.   if (document.all.msf_mpdisplay) msf_include_mpdisplay();
  491.   if (document.all.msf_mpdisplay55) msf_setmp();
  492.  
  493.   // klassische mediaplayer schaltflaechen
  494.   if (document.images.msf_mpplay) document.images.msf_mpplay.onclick = msf_mp_play;
  495.   if (document.images.msf_mpstop) document.images.msf_mpstop.onclick = msf_mp_stop;
  496.   if (document.images.msf_mppause) document.images.msf_mppause.onclick = msf_mp_pause;
  497.  
  498.   // klassische Videorecorder Schaltflaechen
  499.   if (document.images.msf_vcrplay) document.images.msf_vcrplay.onclick = msf_vcr_play;
  500.   if (document.images.msf_vcrstop) document.images.msf_vcrstop.onclick = msf_vcr_stop;
  501.  
  502.   // Standard Mute Schaltflaeche
  503.   if (document.images.msf_mpmute) document.images.msf_mpmute.onclick = msf_mp_mute;
  504.   
  505.   // Sendung starten Schaltflaeche
  506.   if (document.images.msf_sendung_start) document.images.msf_sendung_start.onclick = msf_sendung_go;
  507. }
  508.  
  509. function msf_sendung_go(){
  510.   parent.msf_confirm = false;
  511.   parent.msf_sendung_starten();
  512. }
  513.  
  514.  
  515. function msf_ja_nein(nummer){
  516.   if (msf_jn[nummer].msf_value == "ja") {
  517.     msf_jn[nummer].msf_value = "nein";
  518.     msf_jn[nummer].src = msf_jn[nummer].msf_srcnein;
  519.     parent.msf_beitraege[nummer]="nein";
  520.   } else {
  521.     msf_jn[nummer].msf_value = "ja";
  522.     msf_jn[nummer].src = msf_jn[nummer].msf_srcja;
  523.     parent.msf_beitraege[nummer]="ja";
  524.   }
  525. }
  526.  
  527.  
  528. function msf_setmp(){
  529.   var as = document.all.msf_mpdisplay55.msf_AutoStart;
  530.   if (as==null) as=false;
  531.   var nofile = document.all.msf_mpdisplay55.msf_noFile;
  532.   if (nofile==null) nofile=false; 
  533.   with (document.all.MSFMP) {
  534.     AnimationatStart = true;
  535.     TransparentatStart = true;
  536.     AutoStart = as;
  537.     AutoSize = false;
  538.     ShowControls = false;
  539.     SendPlayStateChangeEvents = true;
  540.     Volume = 0;
  541.     Balance = 0;
  542.     if (nofile==true) {
  543.       FileName="";
  544.     } else {
  545.       FileName=msf_docpath + parent.msf_asx;
  546.     }
  547.   }    
  548. }
  549.  
  550. // wieder zeigen -->
  551.  
  552.