home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / WindowsServerTrial / server.iso / sources / install.wim / 2 / Windows / System32 / ieframe.dll / HTML / HTTPERRORPAGESSCRIPTS.JS < prev    next >
Text File  |  2008-01-19  |  8KB  |  233 lines

  1. ∩╗┐//Need to include errorPageStrings.js when you include this file
  2.  
  3. function isExternalUrlSafeForNavigation(urlStr)
  4. {
  5.     var regEx = new RegExp("^(http(s?)|ftp|file)://", "i");
  6.     return regEx.exec(urlStr);
  7. }
  8.  
  9. function clickRefresh()
  10. {
  11.     var location = window.location.href;
  12.     var poundIndex = location.indexOf('#');
  13.     
  14.     if (poundIndex != -1 && poundIndex+1 < location.length && isExternalUrlSafeForNavigation(location.substring(poundIndex+1)))
  15.     {
  16.         window.location.replace(location.substring(poundIndex+1));
  17.     }
  18. }
  19.  
  20. function navCancelInit()
  21. {
  22.     var location = window.location.href;
  23.     var poundIndex = location.indexOf('#');
  24.     
  25.     if (poundIndex != -1 && poundIndex+1 < location.length && isExternalUrlSafeForNavigation(location.substring(poundIndex+1)))
  26.     {
  27.         var bElement = document.createElement("A");
  28.         bElement.innerText = L_REFRESH_TEXT;
  29.         bElement.href = 'javascript:clickRefresh()';
  30.         navCancelContainer.appendChild(bElement);
  31.     }
  32.     else
  33.     {
  34.         var textNode = document.createTextNode(L_RELOAD_TEXT);
  35.         navCancelContainer.appendChild(textNode);
  36.     }
  37. }
  38.  
  39. function expandCollapse(elem, changeImage)
  40. {
  41.     if (document.getElementById)
  42.     {
  43.         ecBlock = document.getElementById(elem);
  44.  
  45.         if (ecBlock != undefined && ecBlock != null)
  46.         {
  47.             if (changeImage)
  48.             {
  49.                 //gets the image associated
  50.                 elemImage = document.getElementById(elem + "Image");
  51.             }
  52.  
  53.             //make sure elemImage is good
  54.             if (!changeImage || (elemImage != undefined && elemImage != null))
  55.             {
  56.                 if (ecBlock.currentStyle.display == "none" || ecBlock.currentStyle.display == null || ecBlock.currentStyle.display == "")
  57.                 {
  58.                     //shows the info.
  59.                     ecBlock.style.display = "block";
  60.                     if (changeImage)
  61.                     {
  62.                         //Just got in expanded mode. Thus, change image to "collapse"
  63.                         elemImage.src = "up.png";
  64.                     }
  65.                 }
  66.                 else if (ecBlock.currentStyle.display == "block")
  67.                 {
  68.                     //hide info
  69.                     ecBlock.style.display = "none";
  70.                     if (changeImage)
  71.                     {
  72.                         //Just got in collapsed mode. Thus, change image to "expand"
  73.                         elemImage.src = "down.png";
  74.                     }
  75.                 }
  76.                 else
  77.                 {
  78.                     //catch any weird circumstances.
  79.                     ecBlock.style.display = "block";
  80.                     if (changeImage)
  81.                     {
  82.                         elemImage.src = "up.png";
  83.                     }
  84.                 }
  85.             }//end check elemImage
  86.         }//end check ecBlock
  87.     }//end getElemById
  88. }//end expandCollapse
  89.  
  90.  
  91. function initHomepage()
  92. {
  93.     // in real bits, urls get returned to our script like this:
  94.     // res://shdocvw.dll/http_404.htm#http://www.DocURL.com/bar.htm
  95.  
  96.     //For testing use
  97.     //DocURL = "res://shdocvw.dll/http_404.htm#http://www.microsoft.com/bar.htm"
  98.     DocURL=document.location.href;
  99.  
  100.     var poundIndex = DocURL.indexOf('#');
  101.     
  102.     if (poundIndex != -1 && poundIndex+1 < location.length && isExternalUrlSafeForNavigation(location.substring(poundIndex+1)))
  103.     {
  104.    
  105.        //this is where the http or https will be, as found by searching for :// but skipping the res://
  106.        protocolIndex=DocURL.indexOf("://", 4);
  107.    
  108.        //this finds the ending slash for the domain server
  109.        serverIndex=DocURL.indexOf("/", protocolIndex + 3);
  110.    
  111.        //for the href, we need a valid URL to the domain. We search for the # symbol to find the begining
  112.        //of the true URL, and add 1 to skip it - this is the BeginURL value. We use serverIndex as the end marker.
  113.        //urlresult=DocURL.substring(protocolIndex - 4,serverIndex);
  114.        BeginURL=DocURL.indexOf("#",1) + 1;
  115.        urlresult=DocURL.substring(BeginURL, serverIndex);
  116.        if (protocolIndex - BeginURL > 7)
  117.            urlresult="";
  118.  
  119.         //for display, we need to skip after http://, and go to the next slash
  120.        displayresult=DocURL.substring(protocolIndex + 3, serverIndex);
  121.     } 
  122.     else
  123.     {
  124.        displayresult = "";
  125.        urlresult = "";
  126.     }
  127.  
  128.     var aElement = document.createElement("A");
  129.  
  130.     aElement.innerText = displayresult;
  131.     aElement.href = urlresult;
  132.  
  133.     homepageContainer.appendChild(aElement);
  134. }
  135.  
  136.  
  137. function initGoBack()
  138. {
  139.     //fills in the span container for "back to previous page"
  140.     //Basically, makes "back to previous page" a clickable item IF there's something in the navstack.
  141.  
  142.     if (history.length < 1)
  143.     {
  144.         //this page is the only thing. Nothing in history.
  145.         var textNode = document.createTextNode(L_GOBACK_TEXT);
  146.         goBackContainer.appendChild(textNode);
  147.     }
  148.     else
  149.     {
  150.         var bElement = document.createElement("A");
  151.         bElement.innerText = L_GOBACK_TEXT ;
  152.         bElement.href = "javascript:history.back();";
  153.         goBackContainer.appendChild(bElement);
  154.     }                
  155. }
  156.  
  157. function initMoreInfo(infoBlockID)
  158. {
  159.     var bElement = document.createElement("A");
  160.     bElement.innerText = L_MOREINFO_TEXT;
  161.     bElement.href = "javascript:expandCollapse(\'infoBlockID\', true);";
  162.     moreInfoContainer.appendChild(bElement);                
  163. }
  164.  
  165. function initOfflineUser(offlineUserID)
  166. {
  167.     var bElement = document.createElement("A");
  168.     bElement.innerText = L_OFFLINE_USERS_TEXT;
  169.     bElement.href = "javascript:expandCollapse('offlineUserID', true);";
  170.     offlineUserContainer.appendChild(bElement);
  171. }
  172.  
  173. function setTabInfo(tabInfoBlockID)
  174. {
  175.     //removes the previous tabInfo text
  176.     var bPrevElement = document.getElementById("tabInfoTextID");
  177.     var bPrevImage   = document.getElementById("tabInfoBlockIDImage");
  178.  
  179.     if (bPrevElement != null)
  180.     {
  181.         tabInfoContainer.removeChild(bPrevElement);
  182.     }
  183.  
  184.     if (bPrevImage != null)
  185.     {
  186.         tabImageContainer.removeChild(bPrevImage);
  187.     }
  188.  
  189.     var bElement = document.createElement("A");
  190.     var bImageElement = document.createElement("IMG");
  191.  
  192.     var ecBlock = document.getElementById(tabInfoBlockID);
  193.  
  194.     //determines if the block is closed
  195.     if ((ecBlock != undefined && ecBlock != null) &&
  196.         (ecBlock.currentStyle.display == "none" || ecBlock.currentStyle.display == null || ecBlock.currentStyle.display == ""))
  197.     {
  198.         bElement.innerText = L_SHOW_HOTKEYS_TEXT;
  199.         bImageElement.alt = L_SHOW_HOTKEYS_TEXT;
  200.         bImageElement.src="down.png";
  201.     }
  202.     else
  203.     {
  204.         bElement.innerText = L_HIDE_HOTKEYS_TEXT;
  205.         bImageElement.alt = L_HIDE_HOTKEYS_TEXT;
  206.         bImageElement.src="up.png";
  207.     }
  208.  
  209.     bElement.id = "tabInfoTextID";
  210.     bElement.href = "javascript:expandCollapse(\'tabInfoBlockID\', false); setTabInfo('tabInfoBlockID');";
  211.  
  212.  
  213.     bImageElement.id="tabInfoBlockIDImage";
  214.     bImageElement.border="0";
  215.     bImageElement.className="actionIcon";
  216.  
  217.     tabInfoContainer.appendChild(bElement);
  218.     tabImageContainer.appendChild(bImageElement);
  219. }
  220.  
  221.  
  222. function skipTabCheck(skipTabFrom)
  223. {
  224.     if (skipTabFrom.skipTabCheckbox.checked)
  225.     {
  226.         window.external.SkipTabsWelcome();
  227.     }
  228. }
  229.  
  230. function diagnoseConnection()
  231. {
  232.     window.external.DiagnoseConnection();
  233. }