home *** CD-ROM | disk | FTP | other *** search
/ internet.au CDrom 42 / NETCD42.iso / web / w95 / dream2.exe / data1.cab / Program_Files / Configuration / Inspectors / ssi_common.js < prev    next >
Encoding:
JavaScript  |  1998-11-30  |  4.6 KB  |  201 lines

  1.  
  2.  
  3.  
  4. // *********** LOCALIZABLE GLOBAL VARS *****************
  5.  
  6. var helpDoc = "html/215.reusing.fm13.html";
  7. var gOrignalURL;
  8. var gOrignalRadio;
  9.  
  10. //******************************************************
  11.  
  12. function findObject(objName,  parentObj)  
  13. {
  14.     var i,tempObj="",found=false,curObj = "";
  15.     var NS = (navigator.appName.indexOf("Netscape") != -1);
  16.     if (!NS && document.all) 
  17.         curObj = document.all[objName]; //IE4
  18.     else 
  19.     {
  20.         parentObj = (parentObj != null)? parentObj.document : document;
  21.  
  22.         if (parentObj[objName] != null) 
  23.             curObj = parentObj[objName]; //at top level
  24.         else 
  25.         { 
  26.             if (parentObj.forms) for (i=0; i<parentObj.forms.length; i++)
  27.             {  
  28.                 //search level for form object
  29.                 if (parentObj.forms[i][objName]) 
  30.                 {
  31.                     curObj = parentObj.forms[i][objName];
  32.                     found = true; break;
  33.                 } 
  34.             } // if (parentObj.forms) for (i=0; i<parentObj.forms.length; i++)
  35.  
  36.             if (!found && NS && parentObj.layers && parentObj.layers.length > 0) 
  37.             {
  38.                 parentObj = parentObj.layers;
  39.                 for (i=0; i<parentObj.length; i++) 
  40.                 { //else search for child layers
  41.                     tempObj = findObject(objName,parentObj[i]); //recurse
  42.                     if (tempObj) 
  43.                     { 
  44.                         curObj = tempObj; break;
  45.                     } //if found, done
  46.                 } 
  47.             } // if (!found && NS && parentObj.layers && parentObj.layers.length > 0)
  48.         } // if (parentObj[objName] != null)  else 
  49.     } // if (!NS && document.all) else
  50.   
  51.     return curObj;
  52. } // function findObject(objName,  parentObj)
  53.  
  54.  
  55.     
  56. function browseFile()
  57. {
  58.     fileName = browseForFileURL();  //returns a local filename
  59.     if (fileName != "") 
  60.     {
  61.         findObject("editField").value= fileName;
  62.     }
  63.     setComment(0);
  64. } // function browseFile()
  65.  
  66. function unchanged( type, url )
  67. {
  68.     if ( ( gOrignalRadio == type ) && ( gOrignalURL == url ) )
  69.         return true;
  70.     else
  71.         return false;
  72.  
  73. } // unchanged()
  74.  
  75.  
  76.  
  77. function docBase()
  78. {
  79.     var docURL;
  80.     var docBase;
  81.     var    index    = 0;
  82.  
  83.     docURL = dreamweaver.getDocumentPath("DOCUMENT");
  84.     if ( "" == docURL )
  85.         return "";
  86.  
  87.     index = docURL.lastIndexOf('/');
  88.     if ( -1 == index )
  89.         return "";
  90.     
  91.     return docURL.substring(0, index);
  92. }
  93.  
  94. function editInclude()
  95. {
  96.     var    absoluteURL;
  97.     var docBaseURL;
  98.     var    isDocRelative;
  99.     var relativeURL;
  100.     var siteRootURL;
  101.     var    temp;
  102.     
  103.     relativeURL = findObject("editField").value;
  104.  
  105.     if ( relativeURL.length <= 0 )
  106.         return;//    Nothing to edit
  107.  
  108.     docBaseURL    = docBase();
  109.     siteRootURL    = dreamweaver.getSiteRoot();
  110.     
  111.     isDocRelative = (    
  112.                         ( relativeURL.length > 3    )    && 
  113.                         ( '.' == relativeURL.charAt(0)    )    &&
  114.                         ( '.' == relativeURL.charAt(1)    )    && 
  115.                         ( '/' == relativeURL.charAt(2)    )        
  116.                     );
  117.  
  118.     // Um, let's do some error checking here.
  119.  
  120.     if    (
  121.             ( ""  == siteRootURL            )    &&
  122.             ( '/' == relativeURL.charAt(0)    )
  123.         )
  124.     {
  125.         window.alert("Site relative urls cannot be resolved unless a site is defined.");
  126.         return;
  127.     }
  128.     else if    ( ( isDocRelative )    && ( ""  == docBaseURL ) )
  129.     {
  130.         window.alert("Doc relative urls cannot be resolved until the file is saved!");
  131.         return;
  132.     }
  133.     
  134.     absoluteURL = dreamweaver.relativeToAbsoluteURL( docBaseURL, siteRootURL, relativeURL );
  135.  
  136.     if ( absoluteURL != "" )
  137.     {
  138.         dreamweaver.openDocument( absoluteURL );
  139.         return;
  140.     }
  141.     // Should put up an error message here, but what it is I do not know.
  142. } // function editInclude()
  143.  
  144.  
  145. //    Returns either file" and "virtural".  Should be passed the unencoded
  146. //    server-side include.  ssiStr should also be lcased before being passed in.
  147. function ssiType( ssiStr ) 
  148. {
  149.     var fileStr;
  150.     var virtualStr;
  151.  
  152.     fileStr            = ssiStr.indexOf("file");
  153.     virtualStr        = ssiStr.indexOf("virtual");        
  154.  
  155.     if (    ( virtualStr != -1 ) && ( fileStr == -1 )    ) 
  156.     {
  157.         return "virtual";
  158.     }
  159.     else if  (    ( fileStr != -1 ) && ( virtualStr == -1 )    ) 
  160.     {
  161.         return "file";
  162.     } 
  163.     //    if we get here, then the words "file" and "virtural"
  164.     //    both appear in the SSI ( one is in the file name! )
  165.     else if ( virtualStr < fileStr )
  166.     {
  167.         return "virtual";
  168.     }
  169.     else 
  170.     {
  171.         return "file";
  172.     } 
  173.     
  174. } // function ssiType() 
  175.  
  176. function virtualToFile ( relativeURL )
  177. {
  178.     var absoluteURL;
  179.     var    docBaseURL;
  180.     var docURL;
  181.     var siteRootURL;
  182.  
  183.     docBaseURL    = docBase();
  184.     if ( docBaseURL[docBaseURL.length-1] != '/' )
  185.         docBaseURL = docBaseURL + '/';
  186.  
  187.     siteRootURL    = dreamweaver.getSiteRoot();
  188.     absoluteURL = dreamweaver.relativeToAbsoluteURL( docBaseURL, siteRootURL, relativeURL ); 
  189.  
  190.     if ( 0 != absoluteURL.indexOf( docBaseURL ) )
  191.     {
  192.         window.alert( "The url cannot be converted to a valid include of type \"file\"." );
  193.         return "";
  194.     }
  195.  
  196.     fileURL = absoluteURL.substring( docBaseURL.length );
  197.  
  198.     return fileURL;
  199. } // function virtualToFile()
  200.  
  201.