home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 35 Internet
/
35-Internet.zip
/
mozil06.zip
/
bin
/
chrome
/
toolkit.jar
/
content
/
global
/
commonDialog.js
< prev
next >
Wrap
Text File
|
2001-02-14
|
7KB
|
220 lines
/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
* Alec Flett <alecf@netscape.com>
* Ben Goodger <ben@netscape.com>
*/
var XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
function commonDialogOnLoad()
{
doSetOKCancel(commonDialogOnOK, commonDialogOnCancel, commonDialogOnButton2, commonDialogOnButton3);
param = window.arguments[0].QueryInterface(Components.interfaces.nsIDialogParamBlock);
// display the main text
var messageText = param.GetString(0);
var messageParent = document.getElementById("info.box");
var messageParagraphs = messageText.split("\n");
for (var i = 0; i < messageParagraphs.length; i++)
{
var htmlNode = document.createElement("html");
//htmlNode.setAttribute("style", "max-width: 45em;");
var text = document.createTextNode(messageParagraphs[i]);
htmlNode.appendChild(text);
messageParent.appendChild(htmlNode);
}
setElementText("info.header", param.GetString(3), true);
// set the window title
window.title = param.GetString(12);
// set the icon
var iconElement = document.getElementById("info.icon");
var iconURL = param.GetString(2);
if (iconURL) iconElement.setAttribute("src", iconURL);
// set the number of command buttons
var nButtons = param.GetInt(2);
if (nButtons == 1) hideElementById("cancel");
switch (nButtons)
{
case 4:
unHideElementByID("Button3");
setElementText("Button3", param.GetString(11));
// fall through
case 3:
unHideElementByID("Button2");
setElementText("Button2", param.GetString(10));
// fall through
default:
case 2:
var string = param.GetString(8);
if (string) setElementText("ok", string);
// fall through
case 1:
string = param.GetString(9);
if (string) setElementText("cancel", string);
break;
}
// initialize the checkbox
setCheckbox(param.GetString(1), param.GetInt(1));
// initialize the edit fields
var nEditFields = param.GetInt(3);
switch (nEditFields)
{
case 2:
var password2Container = document.getElementById("password2EditField");
password2Container.removeAttribute("collapsed");
var password2Field = document.getElementById("dialog.password2");
password2Field.value = param.GetString(7);
var password2Label = param.GetString(5);
if (password2Label) setElementText("password2.text", password2Label);
var containerID, fieldID, labelID;
if (param.GetInt(4) == 1)
{
// two password fields ('password' and 'retype password')
containerID = "password1EditField";
fieldID = "dialog.password1";
labelID = "password1.text";
}
else
{
containerID = "loginEditField";
fieldID = "dialog.loginname";
labelID = "login.text";
}
unHideElementByID(containerID);
var field = document.getElementById(fieldID);
field.value = param.GetString(6);
var label = param.GetString(4);
if (label) setElementText(labelID, label);
field.focus();
break;
case 1:
var editFieldIsPassword = param.GetInt(4);
var containerID, fieldID;
if (editFieldIsPassword == 1)
{
containerID = "password1EditField";
fieldID = "dialog.password1";
setElementText("password1.text", ""); // hide the meaningless text
}
else
{
containerID = "loginEditField";
fieldID = "dialog.loginname";
setElementText("login.text", param.GetString(4));
}
unHideElementByID(containerID);
var field = document.getElementById(fieldID);
field.value = param.GetString(6);
field.focus();
break;
}
// set the pressed button to cancel to handle the case where the close box is pressed
param.SetInt(0, 1);
}
function setCheckbox (aChkMsg, aChkValue)
{
if (aChkMsg)
{
var checkboxElement = document.getElementById("checkbox");
unHideElementByID("checkboxContainer");
checkboxElement.setAttribute("value", aChkMsg);
checkboxElement.checked = aChkValue > 0 ? true : false;
}
}
function unHideElementByID (aElementID)
{
var element = document.getElementById(aElementID);
element.removeAttribute("collapsed");
}
function hideElementById (aElementID)
{
var element = document.getElementById(aElementID)
element.setAttribute("collapsed", "true");
}
function onCheckboxClick(aCheckboxElement)
{
param.SetInt(1, aCheckboxElement.checked);
}
function setElementText(aElementID, aValue, aChildNodeFlag)
{
var element = document.getElementById(aElementID);
if (!aChildNodeFlag && element)
element.setAttribute("value", aValue);
else if (aChildNodeFlag && element)
element.appendChild(document.createTextNode(aValue));
}
function commonDialogOnOK()
{
param.SetInt(0, 0 );
var numEditfields = param.GetInt( 3 );
if (numEditfields == 2)
{
var editField2 = document.getElementById("dialog.password2");
param.SetString(7, editField2.value);
}
var editfield1Password = param.GetInt(4);
var editField1 = editfield1Password == 1 ? document.getElementById("dialog.password1") :
document.getElementById("dialog.loginname");
param.SetString(6, editField1.value);
return true;
}
function commonDialogOnCancel()
{
param.SetInt(0, 1);
return true;
}
function commonDialogOnButton2()
{
param.SetInt(0, 2);
return true;
}
function commonDialogOnButton3()
{
param.SetInt(0, 3);
return true;
}