1
/* $Id: settings.js 1150 2008-08-20 00:27:11Z mikes@u.washington.edu $
2
* ========================================================================
3
* Copyright 2008 University of Washington
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
9
* http://www.apache.org/licenses/LICENSE-2.0
11
* ========================================================================
15
function settingsPage(el){
16
var dom = YAHOO.util.Dom;
17
for(var i = 1; i <= 20; i++){
18
dom.setStyle('settingsPage' + i,'display','none');
19
var elPage = document.getElementById('Page' + i);
20
if (elPage) dom.removeClass(elPage.parentNode,'sel');
23
dom.setStyle('settings' + el.id,'display','block');
24
dom.addClass(el.parentNode,'sel');
29
function toggleAdvance(el){
30
var dom = YAHOO.util.Dom;
31
var s = dom.getStyle('advancedSettings','display');
32
if(s && s == 'block'){
33
dom.setStyle('advancedSettings','display','none');
34
el.firstChild.src = 'img/cbn/f_plus.gif'
37
dom.setStyle('advancedSettings','display','block');
38
el.firstChild.src = 'img/cbn/f_minus.gif'
45
function validFieldName(e){
46
var ev = YAHOO.util.Event;
47
var cc = ev.getCharCode(e);
48
if((cc >= 32 & cc < 127) && !(cc == 45 || (cc >= 65 && cc <= 90) || (cc >= 97 && cc <= 122))) ev.stopEvent(e);
51
function customHdrAdd(idTable){
52
var frag = document.createDocumentFragment();
53
var div = document.createElement('div');
54
frag.appendChild(div);
55
div.setAttribute('align','center');
56
div.innerHTML = '<p>Add a new custom header by entering the new header name on the left and an optional value on the left<p>';
58
div = document.createElement('div');
59
frag.appendChild(div);
60
div.setAttribute('align','center');
62
var elName = createInputElement('text','field');
63
div.appendChild(elName);
64
elName.setAttribute('size','12');
65
elName.setAttribute('maxlength','36');
66
YAHOO.util.Event.addListener(elName,'keypress',validFieldName);
67
YAHOO.util.Event.addListener(elName,'keyup',panelDialogInputChange);
68
el = document.createTextNode(' : ');
70
var elValue = createInputElement('text','value');
71
div.appendChild(elValue);
72
elValue.setAttribute('size','40');
74
panelDialog('New Custom Field',
80
var elTD, elTR, elTable = document.getElementById(idTable);
81
var el = document.getElementById('customHdrFields');
82
var n = (el.value - 0) + 1;
84
if(elTable && elName.value.length){
85
elTR = elTable.insertRow(elTable.rows.length);
87
elTD = elTR.insertCell(elTR.cells.length);
88
el = document.createTextNode(elName.value +':');
90
el = createInputElement('hidden','customHdrField'+n);
92
el.setAttribute('value',elName.value);
94
elTD = elTR.insertCell(elTR.cells.length);
95
el = createInputElement('text','customHdrData' + n);
97
el.setAttribute('value',elValue.value);
98
el.setAttribute('size','45');
100
el = document.createElement('a');
101
elTD.appendChild(el);
102
el.setAttribute('href','#');
103
YAHOO.util.Event.addListener(el,'click',removeTableRowEvent);
104
var img = document.createElement('img');
105
img.setAttribute('src','img/cbn/remove.gif');
106
YAHOO.util.Dom.addClass(img,'wap');
116
function removeTableRow(el){
118
var iRow = el.parentNode.parentNode.rowIndex;
119
el.parentNode.parentNode.parentNode.parentNode.deleteRow(iRow);
124
function removeTableRowEvent(e){
125
var ev = YAHOO.util.Event;
126
removeTableRow(ev.getTarget(e).parentNode);
130
function listAdd(idTable,listName){
131
var elTD, elTR, elTable = document.getElementById(idTable);
132
var el = document.getElementById(listName+'s');
133
var n = el.value - 0;
135
if(elTable.rows.length < 12){
137
elTR = elTable.insertRow(elTable.rows.length);
138
elTD = elTR.insertCell(elTR.cells.length);
140
el = createInputElement('text',listName + n);
141
elTD.appendChild(el);
142
el.setAttribute('size','45');
144
el = document.createElement('a');
145
elTD.appendChild(el);
146
el.setAttribute('href','#');
147
YAHOO.util.Event.addListener(el,'click',removeTableRowEvent);
148
var img = document.createElement('img');
149
img.setAttribute('src','img/cbn/remove.gif');
150
YAHOO.util.Dom.addClass(img,'wap');
158
function saveSettings(){
160
document.getElementById('settingsForm').submit();
164
function restoreDefaultSettings(){
165
var el = document.getElementById('restore');
167
el.value = 'restore';
169
document.getElementById('settingsForm').submit();
174
function settingsSuccess(){
175
var alp = YAHOO.alpine;
176
window.location.href = alp.cgi_base + 'browse/' + alp.current.c + '/' + alp.current.f;
179
function settingsFailure(m){
181
addStatusMessage('Settings Failure: ' + m);
182
displayStatusMessages();