home *** CD-ROM | disk | FTP | other *** search
/ DOKAN 21 / DOKAN21.iso / Extra / wmtools.exe / RCDATA / CABINET / urlflip.txt < prev    next >
Text File  |  1998-07-07  |  3KB  |  104 lines

  1. <SCRIPT LANGUAGE="JavaScript">
  2. var strDelim
  3. var strAnnotation
  4. var strBehaviour
  5. var framenames    = new Array(50)
  6.  
  7.     strAnnotation ="";
  8.     strBehaviour ="";
  9.     strDelim = "{";
  10.  
  11. if (navigator.appName.indexOf("Microsoft Internet Explorer") == 0) 
  12.     {
  13.  
  14.     /* If IE 4 then Go through all the frames and store it in an array */
  15.  
  16.     if ((navigator.appName.indexOf("Microsoft Internet Explorer") == 0) && (navigator.appVersion.indexOf("4.") == 0))
  17.         {
  18.         var i = parent.frames.length;
  19.         for (var i=0;i<window.parent.frames.length;i++)
  20.         {
  21.         framenames[i]=window.parent.frames(i).name;
  22.         }
  23.     }
  24. }
  25.     
  26.  
  27. /******************* Launch URL Script **********************/
  28.  
  29. function Launch_Url( bstrParam )
  30. {
  31.     var i = 0;
  32.     var tempParam = bstrParam;
  33.     if( bstrParam.indexOf( "&&") < 0 )     // if there is no target frame, use the default
  34.         {tempParam = bstrParam+"&&"+"%FRAMENAME%";}
  35.  
  36.     strAnnotation = GrabfromParam(tempParam,1,"&&",2);
  37.     ftargetframe = GrabfromParam(tempParam,2,"&&",2);
  38.     i = parent.frames.length;
  39.     
  40.     while( i > 0)    
  41.         {
  42.         
  43.         if ((navigator.appName.indexOf("Microsoft Internet Explorer") == 0) && (navigator.appVersion.indexOf("4.") == 0))
  44.             {
  45.             if (eval('framenames[i-1]') == ftargetframe)
  46.             {
  47.                 eval('parent.'+framenames[i-1]+'.location = strAnnotation');         
  48.                 i = 0; }            
  49.             }
  50.         else 
  51.             { // Netscape 3 & 4
  52.  
  53.             if (navigator.appName.indexOf("Microsoft Internet Explorer") !=0)
  54.                 {
  55.                 document.DSPlay.LaunchURL(tempParam);
  56.                 }
  57.             else
  58.                 { // IE 3
  59.                 if (parent.frames[i-1].window.name == ftargetframe)    
  60.                     {
  61.                     parent.frames[i-1].window.location = strAnnotation;
  62.                     i = 0; 
  63.                     }
  64.                 }
  65.             } 
  66.         i= i-1;    
  67.     }
  68. }
  69.  
  70.  
  71. /************************************************************************
  72.  *  JavaScript footer / common functions
  73.  ************************************************************************/
  74.  
  75. //<-----/// Parse Script Command Parameter ///----->
  76.  
  77. function GrabfromParam(strParam,intPosition,sdelim,ilen)
  78. {
  79.      strElement = strParam;
  80.     
  81.     //only left trunc if intPosition > 1
  82.     if( intPosition > 1 ) {
  83.         for( var i = 2; i <= intPosition; i++ ) {
  84.             //truncate left until at the correct position
  85.             if (navigator.userAgent.indexOf("Mozilla") > -1 && (navigator.userAgent.indexOf("3.") > -1 || navigator.userAgent.indexOf("4.") > -1) && navigator.userAgent.indexOf("MSIE") == -1)
  86.                     {strElement = strElement.substring( strElement.indexOf(sdelim)+ilen, strElement.length() );}
  87.                 else    
  88.                     {strElement = strElement.substring( strElement.indexOf(sdelim)+ilen, strElement.length );}
  89.         }
  90.     }
  91.  
  92.     //it's at the correct position
  93.     //if there is still another delimiter, truncate right
  94.  
  95.     if( strElement.indexOf( sdelim ) > 0 ) {
  96.         strElement = strElement.substring( 0, strElement.indexOf(sdelim) );
  97.     }
  98.  
  99.     return strElement;
  100. }
  101.  
  102.  
  103. // end of JavaScript footer / common functions
  104. </SCRIPT>