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 >
Wrap
Text File
|
2008-01-19
|
8KB
|
233 lines
//Need to include errorPageStrings.js when you include this file
function isExternalUrlSafeForNavigation(urlStr)
{
var regEx = new RegExp("^(http(s?)|ftp|file)://", "i");
return regEx.exec(urlStr);
}
function clickRefresh()
{
var location = window.location.href;
var poundIndex = location.indexOf('#');
if (poundIndex != -1 && poundIndex+1 < location.length && isExternalUrlSafeForNavigation(location.substring(poundIndex+1)))
{
window.location.replace(location.substring(poundIndex+1));
}
}
function navCancelInit()
{
var location = window.location.href;
var poundIndex = location.indexOf('#');
if (poundIndex != -1 && poundIndex+1 < location.length && isExternalUrlSafeForNavigation(location.substring(poundIndex+1)))
{
var bElement = document.createElement("A");
bElement.innerText = L_REFRESH_TEXT;
bElement.href = 'javascript:clickRefresh()';
navCancelContainer.appendChild(bElement);
}
else
{
var textNode = document.createTextNode(L_RELOAD_TEXT);
navCancelContainer.appendChild(textNode);
}
}
function expandCollapse(elem, changeImage)
{
if (document.getElementById)
{
ecBlock = document.getElementById(elem);
if (ecBlock != undefined && ecBlock != null)
{
if (changeImage)
{
//gets the image associated
elemImage = document.getElementById(elem + "Image");
}
//make sure elemImage is good
if (!changeImage || (elemImage != undefined && elemImage != null))
{
if (ecBlock.currentStyle.display == "none" || ecBlock.currentStyle.display == null || ecBlock.currentStyle.display == "")
{
//shows the info.
ecBlock.style.display = "block";
if (changeImage)
{
//Just got in expanded mode. Thus, change image to "collapse"
elemImage.src = "up.png";
}
}
else if (ecBlock.currentStyle.display == "block")
{
//hide info
ecBlock.style.display = "none";
if (changeImage)
{
//Just got in collapsed mode. Thus, change image to "expand"
elemImage.src = "down.png";
}
}
else
{
//catch any weird circumstances.
ecBlock.style.display = "block";
if (changeImage)
{
elemImage.src = "up.png";
}
}
}//end check elemImage
}//end check ecBlock
}//end getElemById
}//end expandCollapse
function initHomepage()
{
// in real bits, urls get returned to our script like this:
// res://shdocvw.dll/http_404.htm#http://www.DocURL.com/bar.htm
//For testing use
//DocURL = "res://shdocvw.dll/http_404.htm#http://www.microsoft.com/bar.htm"
DocURL=document.location.href;
var poundIndex = DocURL.indexOf('#');
if (poundIndex != -1 && poundIndex+1 < location.length && isExternalUrlSafeForNavigation(location.substring(poundIndex+1)))
{
//this is where the http or https will be, as found by searching for :// but skipping the res://
protocolIndex=DocURL.indexOf("://", 4);
//this finds the ending slash for the domain server
serverIndex=DocURL.indexOf("/", protocolIndex + 3);
//for the href, we need a valid URL to the domain. We search for the # symbol to find the begining
//of the true URL, and add 1 to skip it - this is the BeginURL value. We use serverIndex as the end marker.
//urlresult=DocURL.substring(protocolIndex - 4,serverIndex);
BeginURL=DocURL.indexOf("#",1) + 1;
urlresult=DocURL.substring(BeginURL, serverIndex);
if (protocolIndex - BeginURL > 7)
urlresult="";
//for display, we need to skip after http://, and go to the next slash
displayresult=DocURL.substring(protocolIndex + 3, serverIndex);
}
else
{
displayresult = "";
urlresult = "";
}
var aElement = document.createElement("A");
aElement.innerText = displayresult;
aElement.href = urlresult;
homepageContainer.appendChild(aElement);
}
function initGoBack()
{
//fills in the span container for "back to previous page"
//Basically, makes "back to previous page" a clickable item IF there's something in the navstack.
if (history.length < 1)
{
//this page is the only thing. Nothing in history.
var textNode = document.createTextNode(L_GOBACK_TEXT);
goBackContainer.appendChild(textNode);
}
else
{
var bElement = document.createElement("A");
bElement.innerText = L_GOBACK_TEXT ;
bElement.href = "javascript:history.back();";
goBackContainer.appendChild(bElement);
}
}
function initMoreInfo(infoBlockID)
{
var bElement = document.createElement("A");
bElement.innerText = L_MOREINFO_TEXT;
bElement.href = "javascript:expandCollapse(\'infoBlockID\', true);";
moreInfoContainer.appendChild(bElement);
}
function initOfflineUser(offlineUserID)
{
var bElement = document.createElement("A");
bElement.innerText = L_OFFLINE_USERS_TEXT;
bElement.href = "javascript:expandCollapse('offlineUserID', true);";
offlineUserContainer.appendChild(bElement);
}
function setTabInfo(tabInfoBlockID)
{
//removes the previous tabInfo text
var bPrevElement = document.getElementById("tabInfoTextID");
var bPrevImage = document.getElementById("tabInfoBlockIDImage");
if (bPrevElement != null)
{
tabInfoContainer.removeChild(bPrevElement);
}
if (bPrevImage != null)
{
tabImageContainer.removeChild(bPrevImage);
}
var bElement = document.createElement("A");
var bImageElement = document.createElement("IMG");
var ecBlock = document.getElementById(tabInfoBlockID);
//determines if the block is closed
if ((ecBlock != undefined && ecBlock != null) &&
(ecBlock.currentStyle.display == "none" || ecBlock.currentStyle.display == null || ecBlock.currentStyle.display == ""))
{
bElement.innerText = L_SHOW_HOTKEYS_TEXT;
bImageElement.alt = L_SHOW_HOTKEYS_TEXT;
bImageElement.src="down.png";
}
else
{
bElement.innerText = L_HIDE_HOTKEYS_TEXT;
bImageElement.alt = L_HIDE_HOTKEYS_TEXT;
bImageElement.src="up.png";
}
bElement.id = "tabInfoTextID";
bElement.href = "javascript:expandCollapse(\'tabInfoBlockID\', false); setTabInfo('tabInfoBlockID');";
bImageElement.id="tabInfoBlockIDImage";
bImageElement.border="0";
bImageElement.className="actionIcon";
tabInfoContainer.appendChild(bElement);
tabImageContainer.appendChild(bImageElement);
}
function skipTabCheck(skipTabFrom)
{
if (skipTabFrom.skipTabCheckbox.checked)
{
window.external.SkipTabsWelcome();
}
}
function diagnoseConnection()
{
window.external.DiagnoseConnection();
}