blob: 6bcb7beef4d97ab6ffbdb167f394b510ed17ba03 [file] [log] [blame]
// Focus on first form fields in login, password edit
// and request pages. Checks for the correct form id first
// then matches the input name for focus.
function loginfocus() {
if (document.getElementById('loginform')) {
document.getElementById('loginform').loginID.focus();
}
else if (document.getElementById('certloginform')) {
document.getElementById('certloginform').password.focus();
}
else if (document.getElementById('passwordeditform')) {
document.getElementById('passwordeditform').passwd.focus();
}
else if (document.getElementById('passwordform')) {
document.getElementById('passwordform').loginID.focus();
}
}
// Hash to associate a child window with the element "interested"
// in it. Used to allow popup windows to communicate a value back
// to a specific form element (Note that since js has no globals,
// this hash belongs to the window opener, and can only be accessed
// by the child via the 'opener' property):
var windowAssociatedWithElement = new Object;
// Set the value of the element that opened this window, and close
// this window:
function setOpenerValue(newVal) {
var retValue = true;
if ( self.opener && !self.opener.closed ){
opener.windowAssociatedWithElement[self].value = newVal;
// return the focus to the parent window, and the element
// which called it:
opener.focus();
opener.windowAssociatedWithElement[self].focus();
retValue = false;
}
window.close();
return retValue;
}
// Check if a form field has changed from its initial value:
function fieldChanged(formField) {
if( formField.defaultValue != formField.value ){
return true;
}
else {
return false;
}
}
/* Open popup widows of (mostly) predetermined types.
windowURL -- The URL to load in the new browser window.
type -- The (predetermined) type of window to launch.
acceptable values for type:
1: a help window
2: a 400x400 window
3: Issuezilla assignable users popup window
4: ViewCVS file contents display popup window
... and you can hard code others yourself inside the function.
atts -- (optional) If the window you wish to create is unique and you do
not want to set up a "type" for it, or if you want to pass
additional attributes for a certain "type", you can pass its
attributes directly to the function via this parameter.
formElementRef -- (optional) reference to a form element which was
responsible for opening this window, and interested in in its
choices.
*/
var tigrisPopupCounter = 0;
function launch(windowURL, type, atts, formElementRef) {
tigrisPopupCounter += 1;
var windowName = 'CollabNet' + type;
if (atts) {
windowName += tigrisPopupCounter;
}
var windowAttributes;
if (type == 1) {
windowAttributes = 'resizable=yes,left=10,top=10,screenX=12,screenY=12,' +
'height=485,width=724,status=yes,scrollbars=yes,' +
'toolbar=yes,menubar=yes,location=yes'
}
else if (type == 2) {
windowAttributes = 'resizable=yes,left=10,top=10,screenX=12,screenY=12,' +
'height=400,width=400';
}
else if (type == 3) {
windowAttributes = 'resizable=yes,left=10,top=10,screenX=12,screenY=12,' +
'height=440,width=600,scrollbars=yes';
}
else if (type == 4) {
windowAttributes = 'resizable=yes,left=10,top=10,screenX=12,screenY=12,' +
'height=485,width=724,scrollbars=yes';
}
else if (type == 5) {
windowAttributes = 'resizable=yes,left=10,top=10,screenX=12,screenY=12,' +
'height=600,width=800,status=yes,scrollbars=yes,' +
'toolbar=yes,menubar=yes,location=yes'
}
if (atts) {
windowAttributes += ',' + atts;
}
var windowObj = window.open(windowURL, windowName, windowAttributes);
if (windowObj) {
if (formElementRef) {
// Take note of the element that wanted this window opened:
windowAssociatedWithElement[windowObj] = formElementRef;
}
return false;
}
else {
return true;
}
}
//This function is used to set a input checkbox element in
//checked/unchecked state
function setSelected(formName, inputName, val)
{
dml = document.forms[formName];
len = dml.elements.length;
var i = 0;
for (i = 0; i < len; i++)
{
if (dml.elements[i].name == inputName)
{
dml.elements[i].checked = val;
}
}
}
//This function is part of multiselect checkbox implementation
function setTitleValue(formName, inputName, val)
{
dml = document.forms[formName];
len = dml.elements.length;
var i = 0;
for (i = 0; i < len; i++)
{
if (dml.elements[i].name == inputName)
{
dml.elements[i].title = val;
}
}
}
//This function is used in case of multiselect checkboxes
//This function can be called on "onclick" event of the
//(select all) check box in order to select or deselect
//all the check boxs under a group
function selectAllCheckBoxes(formName, thisInput, inputToSet)
{
dml = document.forms[formName];
len = dml.elements.length;
var i = 0;
for (i = 0; i < len; i++)
{
if (dml.elements[i].name == thisInput)
{
if (dml.elements[i].checked)
{
setSelected(formName, inputToSet, 1);
setTitleValue(formName, thisInput, 'Deselect all');
}
else
{
setSelected(formName, inputToSet, 0);
setTitleValue(formName, thisInput, 'Select all');
}
}
}
}
//This function is used in case of multiselect checkboxes
//This function can be called on (onclick) event of the
//individual check boxes in a group in order to select or deselect
//its state irrespective of other checkboxes state.
function checkSelectAll(formName, thisInput, inputToSet)
{
dml = document.forms[formName];
len = dml.elements.length;
var trueCount = 0;
var inputCount = 0;
var i = 0;
for (i = 0; i < len; i++)
{
if ((dml.elements[i].name == thisInput) && (dml.elements[i].checked == false))
{
setSelected(formName, inputToSet, 0);
setTitleValue(formName, inputToSet, 'Select all');
}
else
{
trueCount++;
}
inputCount++;
}
if (trueCount == inputCount)
{
setSelected(formName, inputToSet,1);
setTitleValue(formName, inputToSet, 'Deselect all');
}
}
/* BEGIN JavaScript for Add additional servers */
var DHTML = (document.getElementById || document.all || document.layers);
function getObj(name) {
if (document.getElementById) {
this.obj = document.getElementById(name);
this.style = document.getElementById(name).style;
} else if (document.all) {
this.obj = document.all[name];
this.style = document.all[name].style;
} else if (document.layers) {
this.obj = document.layers[name];
this.style = document.layers[name];
}
}
function invi(id, flag) {
if (!DHTML) return;
var x = new getObj(id);
x.style.display = (flag) ? 'block' : 'none'
}
function addAdditionalServerTextBoxes(prefix, documentType, showUpload) {
if (prefix == null) {
prefix = '';
}
if (prefix != '') {
prefix = prefix + '_';
}
document.writeln('<div id="' + prefix + 'doctable_footer_compact" class="doctable_footer">');
document.writeln('<div class="doctable_links">');
document.writeln('<div class="open_button" title="' + showUpload + '" onclick="invi(\'' + prefix + 'doctable_footer_expanded\',1);invi(\'' + prefix + 'doctable_footer_compact\',0);">');
document.writeln('<a href="#"><span class="alt">+<\/span><\/a>');
document.writeln('<\/div>');
document.writeln('<a href="javascript:invi(\'' + prefix + 'doctable_footer_expanded\',1);invi(\'' + prefix + 'doctable_footer_compact\',0);" title="' + showUpload + '">' + documentType + '<\/a>');
document.writeln('<\/div>');
document.writeln('<\/div>');
document.writeln('<div id="' + prefix + 'doctable_footer_expanded" class="hide">');
}
function hideAddAdditionalServerTextBoxes(prefix, documentType, hideUpload) {
if (prefix == null) {
prefix = '';
}
if (prefix != '') {
prefix = prefix + '_';
}
document.writeln('<div class="close_button" title="' + hideUpload + '" onclick="invi(\'' + prefix + 'doctable_footer_expanded\',0);invi(\'' + prefix + 'doctable_footer_compact\',1);">');
document.writeln('<a href="#"><span class="alt">-<\/span><\/a>');
document.writeln('<\/div>');
document.writeln('<a href="javascript:invi(\'' + prefix + 'doctable_footer_expanded\',0);invi(\'' + prefix + 'doctable_footer_compact\',1);" class="selfref">' + documentType + '<\/a>');
}
function uploadTextBoxBottom() {
document.writeln('<\/div>');
}
function hidediv(id) {
//safe function to hide an element with a specified id
if (document.getElementById) { // DOM3 = IE5, NS6
document.getElementById(id).style.display = 'none';
}
else {
if (document.layers) { // Netscape 4
document.id.display = 'none';
}
else { // IE 4
document.all.id.style.display = 'none';
}
}
}
function showdiv(id) {
//safe function to show an element with a specified id
if (document.getElementById) { // DOM3 = IE5, NS6
document.getElementById(id).style.display = 'block';
}
else {
if (document.layers) { // Netscape 4
document.id.display = 'block';
}
else { // IE 4
document.all.id.style.display = 'block';
}
}
}
function simpleVisibility(id, id2)
{
obj = document.getElementById(id);
obj2 = document.getElementById(id2);
if (obj.style.display == 'none')
{
showdiv(id);
obj2.className = 'collapsewidget';
}
else
{
hidediv(id);
obj2.className = 'expandwidget';
}
}
/* END JavaScript for Add additional servers */
/* Script to control the page reload in UserAdd page on change of
Authentication realm */
function pageReloadOnCondition(formObj)
{
var ceeRealmId = formObj.ceeRealmId.value;
var realmId = formObj.authRealmId[formObj.authRealmId.selectedIndex].value;
var prevSelectedRealmId = formObj.prevSelectedRealmId.value;
if((prevSelectedRealmId=="" || prevSelectedRealmId==ceeRealmId) && realmId!= ceeRealmId)
{
formObj.prevSelectedRealmId.value = realmId;
formObj.submit();
}
else if(prevSelectedRealmId!=ceeRealmId && realmId == ceeRealmId)
{
formObj.prevSelectedRealmId.value = realmId;
formObj.submit();
}
formObj.prevSelectedRealmId.value = realmId;
}
/* END of page reload on condition script */
/* Script to control the page reload in LoginSetup page on change of
Authentication realm */
function loginSetupPageReloadOnCondition(formObj)
{
var ceeRealmId = formObj.ceeRealmId.value;
var realmId = formObj.authRealmId[formObj.authRealmId.selectedIndex].value;
var prevSelectedRealmId = formObj.prevSelectedRealmId.value;
if(prevSelectedRealmId=="" && realmId==ceeRealmId)
{
formObj.prevSelectedRealmId.value = realmId;
formObj.submit();
}
else if(prevSelectedRealmId!=ceeRealmId && realmId == ceeRealmId)
{
formObj.prevSelectedRealmId.value = realmId;
formObj.submit();
}
else if(prevSelectedRealmId==ceeRealmId && realmId != ceeRealmId)
{
formObj.prevSelectedRealmId.value = realmId;
formObj.submit();
}
formObj.prevSelectedRealmId.value = realmId;
}
/* END of LoginSetup page reload on condition script */