56 lines
1.8 KiB
JavaScript
56 lines
1.8 KiB
JavaScript
|
|
// the siteProtocol (if edit), or the map of sites to protocols (if new)
|
||
|
|
var siteProtocol = null;
|
||
|
|
var siteProtocolMap = {};
|
||
|
|
|
||
|
|
// callback for updating the site selection. if selecting 'custom site',
|
||
|
|
// shows the customsitetable. also calls to updateProtocolSelection().
|
||
|
|
function updateSiteSelection() {
|
||
|
|
var siteSelect = document.getElementById("createacct");
|
||
|
|
if (siteSelect != null && siteSelect.site != null) {
|
||
|
|
var customsitetable = document.getElementById('customsite');
|
||
|
|
if (siteSelect.site.value == -1) {
|
||
|
|
customsitetable.style.display='block';
|
||
|
|
} else {
|
||
|
|
customsitetable.style.display='none';
|
||
|
|
}
|
||
|
|
}
|
||
|
|
updateProtocolSelection();
|
||
|
|
}
|
||
|
|
|
||
|
|
// returns the currently selected protocol. if we're editing an account,
|
||
|
|
// uses the preset siteProtocol. otherwise checks the siteProtocolMap (if a
|
||
|
|
// configured site is selected) or the selected servicetype (if a custom site
|
||
|
|
// is selected)
|
||
|
|
function getProtocol() {
|
||
|
|
if (siteProtocol != null)
|
||
|
|
return siteProtocool;
|
||
|
|
|
||
|
|
var siteSelect = document.getElementById("createacct");
|
||
|
|
if (siteSelect != null && siteSelect.site != null) {
|
||
|
|
var customsitetable = document.getElementById('customsite');
|
||
|
|
if (siteSelect.site.value == -1) {
|
||
|
|
return $('servicetype').value;
|
||
|
|
} else {
|
||
|
|
return siteProtocolMap[siteSelect.site.value];
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
// updates the protocol selection. shows/hides the appropriate options rows.
|
||
|
|
function updateProtocolSelection() {
|
||
|
|
var protocol = getProtocol();
|
||
|
|
var optionBodies = DOM.getElementsByTagAndClassName(document, "tbody", "protocol_options") || [];
|
||
|
|
for (var i = 0; i < optionBodies.length; i++) {
|
||
|
|
var optionBody = optionBodies[i];
|
||
|
|
if ( optionBody.id != protocol + '_options' ) {
|
||
|
|
optionBody.style.display='none';
|
||
|
|
} else {
|
||
|
|
optionBody.style.display='';
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
LiveJournal.register_hook("page_load", updateProtocolSelection);
|
||
|
|
|