// tag * @param array A javascript array of list options in the form [key,value,text] * @param string The key to display for the initial state of the list * @param string The original key that was selected * @param string The original item value that was selected */ function writeDynaList( selectParams, source, key, orig_key, orig_val ) { var html = '\n '; document.writeln( html ); } /** * Changes a dynamically generated list * @param string The name of the list to change * @param array A javascript array of list options in the form [key,value,text] * @param string The key to display * @param string The original key that was selected * @param string The original item value that was selected */ function changeDynaList( listname, source, key, orig_key, orig_val ) { var list = eval( 'document.adminForm.' + listname ); // empty the list for (i in list.options.length) { list.options[i] = null; } i = 0; for (x in source) { if (source[x][0] == key) { opt = new Option(); opt.value = source[x][1]; opt.text = source[x][2]; if ((orig_key == key && orig_val == opt.value) || i == 0) { opt.selected = true; } list.options[i++] = opt; } } list.length = i; } /** * Adds a select item(s) from one list to another */ function addSelectedToList( frmName, srcListName, tgtListName ) { var form = eval( 'document.' + frmName ); var srcList = eval( 'form.' + srcListName ); var tgtList = eval( 'form.' + tgtListName ); var srcLen = srcList.length; var tgtLen = tgtList.length; var tgt = "x"; //build array of target items for (var i=tgtLen-1; i > -1; i--) { tgt += "," + tgtList.options[i].value + "," } //Pull selected resources and add them to list for (var i=srcLen-1; i > -1; i--) { if (srcList.options[i].selected && tgt.indexOf( "," + srcList.options[i].value + "," ) == -1) { opt = new Option( srcList.options[i].text, srcList.options[i].value ); tgtList.options[tgtList.length] = opt; } } } function delSelectedFromList( frmName, srcListName ) { var form = eval( 'document.' + frmName ); var srcList = eval( 'form.' + srcListName ); var srcLen = srcList.length; for (var i=srcLen-1; i > -1; i--) { if (srcList.options[i].selected) { srcList.options[i] = null; } } } function moveInList( frmName, srcListName, index, to) { var form = eval( 'document.' + frmName ); var srcList = eval( 'form.' + srcListName ); var total = srcList.options.length-1; if (index == -1) { return false; } if (to == +1 && index == total) { return false; } if (to == -1 && index == 0) { return false; } var items = new Array; var values = new Array; for (i=total; i >= 0; i--) { items[i] = srcList.options[i].text; values[i] = srcList.options[i].value; } for (i = total; i >= 0; i--) { if (index == i) { srcList.options[i + to] = new Option(items[i],values[i], 0, 1); srcList.options[i] = new Option(items[i+to], values[i+to]); i--; } else { srcList.options[i] = new Option(items[i], values[i]); } } srcList.focus(); } function setSelectedValue( frmName, srcListName, value ) { var form = eval( 'document.' + frmName ); var srcList = eval( 'form.' + srcListName ); var srcLen = srcList.length; for (var i=0; i < srcLen; i++) { srcList.options[i].selected = false; if (srcList.options[i].value == value) { srcList.options[i].selected = true; } } } function getSelectedValue( frmName, srcListName ) { var form = eval( 'document.' + frmName ); var srcList = eval( 'form.' + srcListName ); i = srcList.selectedIndex; if (i != null && i > -1) { return srcList.options[i].value; } else { return null; } } function getSelectedText( frmName, srcListName ) { var form = eval( 'document.' + frmName ); var srcList = eval( 'form.' + srcListName ); i = srcList.selectedIndex; if (i != null && i > -1) { return srcList.options[i].text; } else { return null; } } function chgSelectedValue( frmName, srcListName, value ) { var form = eval( 'document.' + frmName ); var srcList = eval( 'form.' + srcListName ); i = srcList.selectedIndex; if (i != null && i > -1) { srcList.options[i].value = value; return true; } else { return false; } } // Form specific functions for editting content images function showImageProps(base_path) { form = document.adminForm; value = getSelectedValue( 'adminForm', 'imagelist' ); parts = value.split( '|' ); form._source.value = parts[0]; setSelectedValue( 'adminForm', '_align', parts[1] || 'left' ); form._alt.value = parts[2] || ''; form._border.value = parts[3] || '0'; previewImage( 'imagelist', 'view_imagelist', base_path ); } function applyImageProps() { form = document.adminForm; if (!getSelectedValue( 'adminForm', 'imagelist' )) { alert( "Select and image from the list" ); return; } value = form._source.value + '|' + getSelectedValue( 'adminForm', '_align' ) + '|' + form._alt.value + '|' + parseInt( form._border.value ); chgSelectedValue( 'adminForm', 'imagelist', value ); } function previewImage( list, image, base_path ) { form = document.adminForm; srcList = eval( "form." + list ); srcImage = eval( "document." + image ); var fileName = srcList.options[srcList.selectedIndex].text; var fileName2 = srcList.options[srcList.selectedIndex].value; if (fileName.length == 0 || fileName2.length == 0) { srcImage.src = 'images/blank.gif'; } else { srcImage.src = base_path + fileName; } } /** * Toggles the check state of a group of boxes * * Checkboxes must have an id attribute in the form cb0, cb1... * @param The number of box to 'check' */ function checkAll( n ) { var f = document.adminForm; var c = f.toggle.checked; var n2 = 0; for (i=0; i < n; i++) { cb = eval( 'f.cb' + i ); if (cb) { cb.checked = c; n2++; } } if (c) { document.adminForm.boxchecked.value = n2; } else { document.adminForm.boxchecked.value = 0; } } /** */ function listItemTask( id, task ) { var f = document.adminForm; cb = eval( 'f.' + id ); if (cb) { cb.checked = true; submitbutton(task); } return false; } function isChecked(isitchecked){ if (isitchecked == true){ document.adminForm.boxchecked.value++; } else { document.adminForm.boxchecked.value--; } } /** * Default function. Usually would be overriden by the component */ function submitbutton(pressbutton) { submitform(pressbutton); } /** * Submit the admin form */ function submitform(pressbutton){ document.adminForm.task.value=pressbutton; try { document.adminForm.onsubmit(); } catch(e){} document.adminForm.submit(); } /** * Getting radio button that is selected. */ function getSelected(allbuttons){ for (i=0;i= 4) { win.window.focus(); } }