lupper
09-13-2008, 01:21 PM
I have a popup date selection calendar that works fine in older versions of Firefox, but the calendar's previous month and next month selections, do not work in Firefox 3. When you click on the forward or backward arrows, instead of showing the next month, the calendar just closes.
Does anyone know why this would not function in Firefox 3?
Here's the calendar code.
<div style="display: block; position: absolute; z-index: 1000;" id="cal_start_date" class="calendar"><table cellspacing="1" cellpadding="0" class="minical"><tbody>
<tr nowrap=""><th onmouseout="window.status=''; return true;" onmouseover="window.status='Go back one month'; return true;" onclick="Build('null', '7', '2008', 'MM/DD/YYYY');" class="arrows top"><a onclick="Build('null', '7', '2008', 'MM/DD/YYYY');" href="javascript:void(0);"><<</a></th><th colspan="5" class="title top">September 2008</th><th onmouseout="window.status=''; return true;" onmouseover="window.status='Go back one month'; return true;" onclick="Build('null', '9', '2008', 'MM/DD/YYYY');" class="arrows top"><a onclick="Build('null', '9', '2008', 'MM/DD/YYYY');" href="javascript:void(0);">>></a></th></tr>
<tr><th class="days">S</th><th class="days">M</th><th class="days">T</th><th class="days">W</th><th class="days">T</th><th class="days">F</th><th class="days">S</th></tr><tr><td class="we"> </td><td onclick="set_date('start_date','09/01/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;" style="cursor: pointer;">1</td><td onclick="set_date('start_date','09/02/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">2</td><td onclick="set_date('start_date','09/03/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">3</td><td onclick="set_date('start_date','09/04/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">4</td><td onclick="set_date('start_date','09/05/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">5</td><td onclick="set_date('start_date','09/06/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">6</td></tr><tr><td onclick="set_date('start_date','09/07/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">7</td><td onclick="set_date('start_date','09/08/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;" style="cursor: pointer;">8</td><td onclick="set_date('start_date','09/09/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">9</td><td onclick="set_date('start_date','09/10/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">10</td><td onclick="set_date('start_date','09/11/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">11</td><td onclick="set_date('start_date','09/12/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;" class="today">12</td><td onclick="set_date('start_date','09/13/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">13</td></tr><tr><td onclick="set_date('start_date','09/14/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;" style="cursor: pointer;">14</td><td onclick="set_date('start_date','09/15/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">15</td><td onclick="set_date('start_date','09/16/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">16</td><td onclick="set_date('start_date','09/17/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">17</td><td onclick="set_date('start_date','09/18/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">18</td><td onclick="set_date('start_date','09/19/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">19</td><td onclick="set_date('start_date','09/20/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">20</td></tr><tr><td onclick="set_date('start_date','09/21/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">21</td><td onclick="set_date('start_date','09/22/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">22</td><td onclick="set_date('start_date','09/23/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">23</td><td onclick="set_date('start_date','09/24/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">24</td><td onclick="set_date('start_date','09/25/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">25</td><td onclick="set_date('start_date','09/26/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">26</td><td onclick="set_date('start_date','09/27/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">27</td></tr><tr><td onclick="set_date('start_date','09/28/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">28</td><td onclick="set_date('start_date','09/29/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">29</td><td onclick="set_date('start_date','09/30/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">30</td><td class="we"> </td><td class="we"> </td><td class="we"> </td><td class="we"> </td></tr><tr><td class="we"> </td><td class="we"> </td><td class="we"> </td><td class="we"> </td><td class="we"> </td><td class="we"> </td><td class="we"> </td></tr></tbody></table></div>
Here's the js for the calendar.
<script language="javascript" type="text/javascript">
// initialize variables
var fullDate = new String();
// untility date function to fill months 1-9 with a leading zero
function leadingZero(nr)
{
if (nr < 10) nr = "0" + nr;
return nr;
}
// set start, end, and range_start dates to current date if nothing has been entered yet
function init()
{
var sdate = document.getElementById('start_date').value;
if (sdate != '')
return;
var currentTime = new Date()
var month = leadingZero(currentTime.getMonth() + 1);
var day = currentTime.getDate();
var year = currentTime.getFullYear();
fullDate = month + "/" + day + "/" + year;
document.getElementById('start_date').value = fullDate;
document.getElementById('end_date').value = fullDate;
document.getElementById('range_start_date').value = fullDate;
}
// check if end date is after start date
function check_end_date()
{
var sdate = document.getElementById('start_date').value;
var edate = document.getElementById('end_date').value
if (sdate == '' || edate == '')
return true;
if (Date.parse(edate) < Date.parse(sdate))
{
alert('End date cannot come before start date');
document.getElementById('end_date').value = '';
document.getElementById('end_date').focus();
return false;
}
}
// check if the no end time checkbox has been selected
function check_no_end(obj)
{
if (obj.checked === true)
{
document.getElementById('start_time').value = '';
document.getElementById('start_time').disabled = true;
document.getElementById('end_time').value = '';
document.getElementById('end_time').disabled = true;
}
else
{
document.getElementById('start_time').disabled = false;
document.getElementById('end_time').disabled = false;
}
}
// show repeating options based on user selection
function show_repeat_layer()
{
var arr = new Array(4);
arr[0] = 'monthly';
arr[1] = 'weekly';
arr[2] = 'range';
arr[3] = 'daily';
var sel = document.getElementById('repeat_selection').options[document.getElementById('repeat_selection').selectedIndex].value;
// Hide all others
for(var z = 0; z <= arr.length; z++)
{
if (arr[z] != sel && arr[z] != undefined)
{
document.getElementById(arr[z]).style.display='none';
}
}
// If a repeating event show its options
if (sel != '')
{
document.getElementById('repeat_block').style.backgroundColor="#eaeaea";
document.getElementById(sel).style.display='block';
document.getElementById('range').style.display='block';
}
}
// shows calendar or time floating div based on user click and hides all others
function show_hide_layer(div_id)
{
var arr = new Array(5);
arr[0] = 'cal_start_date';
arr[1] = 'cal_end_date';
arr[2] = 'start_time_box';
arr[3] = 'end_time_box';
arr[4] = 'cal_range_end_date';
// Hide all others
for(var z = 0; z <= arr.length; z++)
{
if (arr[z] != div_id && arr[z] != undefined)
{
document.getElementById(arr[z]).style.display='none';
}
}
// if not hiding all layers, show this one
if (div_id != 'all')
document.getElementById(div_id).style.display='block';
}
// will hide all date and time elements if that particular element has not been clicked on
// this allows the date/time layers to hide if another element in the page is focused on
function hide_datetime_layer(e)
{
var arr = new Array(5);
arr[0] = 'start_date';
arr[1] = 'end_date';
arr[2] = 'start_time';
arr[3] = 'end_time';
arr[4] = 'range_end_date';
var targ;
var x;
if (!e) var e = window.event
if (e.target) targ = e.target.id
else if (e.srcElement) targ = e.srcElement.id
for (x in arr)
{
if (arr[x] == targ) return;
}
control_select('visible');
show_hide_layer('all');
}
// generate the calendar
function show_cal(div_id, field_id)
{
control_select('hidden'); // hide all select boxes if brower is msie
show_hide_layer(div_id);
show_calendar('','','','',field_id,div_id);
}
// ajax callback that check form for errors
function event_validate(frm, response)
{
if (response != '') // response mode
{
err_cont = document.getElementById('error_container');
err_msg = document.getElementById('error_message');
bg = document.getElementById('input');
frm = document.forms[0]
el = frm.elements;
if (response != 'ok') {
err_cont.className = 'error-container-modal';
err_msg.innerHTML = response;
w = (screen.width / 2) - 350;
h = (screen.height / 2) + 160;
err_cont.style.left = w + "px";
err_cont.style.top = h + "px";
bg.className = 'disabled';
for (i=0, ii=el.length; i<ii; i++) {
el[i].disabled = true;
}
} else {
frm.submit();
}
}
else // input mode
{
var title = escape(frm.title.value);
var event_what = escape(frm.event_what.value);
var event_city = frm.event_city.value;
var start_date = frm.start_date.value;
var category1 = frm.category1.selectedIndex;
var url = '/system_ee/extensions/ajax/event_validate.php?title=' + title + '&event_what=' + event_what + '&event_city=' + event_city + '&start_date=' + start_date + '&category1=' + category1;
loadXMLDoc(url);
}
}
// enables all form elements after the error box "ok" button has been clicked
function enable()
{
err_cont = document.getElementById('error_container');
el = document.forms[0].elements;
bg = document.getElementById('input');
err_cont.className = 'hidden';
bg.className = '';
for (i=0, ii=el.length; i<ii; i++) {
el[i].disabled = false;
}
}
// Change the selected index on a select menu
function changeSelect(el, val)
{
var x=document.getElementById(el);
for (var i = 0; i < x.options.length; i++)
{
if (x.options[i].value == val) {
x.selectedIndex = i;
break;
}
}
}
// Change the selected index on a select menu
function checkBoxes(el, val)
{
var x=document.forms[0].elements[el];
for (var i = 0; i < x.length; i++)
{
if (x[i].value == val) {
x[i].checked = true;
break;
}
}
}
// moved from common/ajax_js
var req;
function loadXMLDoc(url)
{
var dom = new RegExp("http(s)?://");
if (!dom.test(url)) {
url = "http://" + document.domain + url;
}
if (window.XMLHttpRequest) { // branch for native XMLHttpRequest object
req = new XMLHttpRequest();
}
else if (window.ActiveXObject) { // branch for IE/Windows ActiveX version
req = new ActiveXObject("Microsoft.XMLHTTP");
}
if (!req) return false;
req.onreadystatechange = processReqChange;
try {
req.open("GET", url, true);
} catch (e) {}
finally {
req.send(null);
}
}
function processReqChange()
{
if (req.readyState != 4) return;
switch (req.status)
{
case 200: // OK
response = req.responseXML.documentElement;
method = response.getElementsByTagName('method')[0].firstChild.data;
result = response.getElementsByTagName('result')[0].firstChild.data;
eval(method + '(\'\', result)');
break;
default:
alert("There was a problem retrieving the XML data:\n" + req.statusText);
}
}
</script>
Does anyone know why this would not function in Firefox 3?
Here's the calendar code.
<div style="display: block; position: absolute; z-index: 1000;" id="cal_start_date" class="calendar"><table cellspacing="1" cellpadding="0" class="minical"><tbody>
<tr nowrap=""><th onmouseout="window.status=''; return true;" onmouseover="window.status='Go back one month'; return true;" onclick="Build('null', '7', '2008', 'MM/DD/YYYY');" class="arrows top"><a onclick="Build('null', '7', '2008', 'MM/DD/YYYY');" href="javascript:void(0);"><<</a></th><th colspan="5" class="title top">September 2008</th><th onmouseout="window.status=''; return true;" onmouseover="window.status='Go back one month'; return true;" onclick="Build('null', '9', '2008', 'MM/DD/YYYY');" class="arrows top"><a onclick="Build('null', '9', '2008', 'MM/DD/YYYY');" href="javascript:void(0);">>></a></th></tr>
<tr><th class="days">S</th><th class="days">M</th><th class="days">T</th><th class="days">W</th><th class="days">T</th><th class="days">F</th><th class="days">S</th></tr><tr><td class="we"> </td><td onclick="set_date('start_date','09/01/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;" style="cursor: pointer;">1</td><td onclick="set_date('start_date','09/02/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">2</td><td onclick="set_date('start_date','09/03/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">3</td><td onclick="set_date('start_date','09/04/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">4</td><td onclick="set_date('start_date','09/05/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">5</td><td onclick="set_date('start_date','09/06/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">6</td></tr><tr><td onclick="set_date('start_date','09/07/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">7</td><td onclick="set_date('start_date','09/08/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;" style="cursor: pointer;">8</td><td onclick="set_date('start_date','09/09/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">9</td><td onclick="set_date('start_date','09/10/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">10</td><td onclick="set_date('start_date','09/11/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">11</td><td onclick="set_date('start_date','09/12/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;" class="today">12</td><td onclick="set_date('start_date','09/13/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">13</td></tr><tr><td onclick="set_date('start_date','09/14/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;" style="cursor: pointer;">14</td><td onclick="set_date('start_date','09/15/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">15</td><td onclick="set_date('start_date','09/16/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">16</td><td onclick="set_date('start_date','09/17/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">17</td><td onclick="set_date('start_date','09/18/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">18</td><td onclick="set_date('start_date','09/19/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">19</td><td onclick="set_date('start_date','09/20/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">20</td></tr><tr><td onclick="set_date('start_date','09/21/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">21</td><td onclick="set_date('start_date','09/22/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">22</td><td onclick="set_date('start_date','09/23/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">23</td><td onclick="set_date('start_date','09/24/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">24</td><td onclick="set_date('start_date','09/25/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">25</td><td onclick="set_date('start_date','09/26/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">26</td><td onclick="set_date('start_date','09/27/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">27</td></tr><tr><td onclick="set_date('start_date','09/28/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">28</td><td onclick="set_date('start_date','09/29/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">29</td><td onclick="set_date('start_date','09/30/2008');show_hide_layer('all');control_select('visible');return true;" onmouseover="this.style.cursor='pointer'; return true;">30</td><td class="we"> </td><td class="we"> </td><td class="we"> </td><td class="we"> </td></tr><tr><td class="we"> </td><td class="we"> </td><td class="we"> </td><td class="we"> </td><td class="we"> </td><td class="we"> </td><td class="we"> </td></tr></tbody></table></div>
Here's the js for the calendar.
<script language="javascript" type="text/javascript">
// initialize variables
var fullDate = new String();
// untility date function to fill months 1-9 with a leading zero
function leadingZero(nr)
{
if (nr < 10) nr = "0" + nr;
return nr;
}
// set start, end, and range_start dates to current date if nothing has been entered yet
function init()
{
var sdate = document.getElementById('start_date').value;
if (sdate != '')
return;
var currentTime = new Date()
var month = leadingZero(currentTime.getMonth() + 1);
var day = currentTime.getDate();
var year = currentTime.getFullYear();
fullDate = month + "/" + day + "/" + year;
document.getElementById('start_date').value = fullDate;
document.getElementById('end_date').value = fullDate;
document.getElementById('range_start_date').value = fullDate;
}
// check if end date is after start date
function check_end_date()
{
var sdate = document.getElementById('start_date').value;
var edate = document.getElementById('end_date').value
if (sdate == '' || edate == '')
return true;
if (Date.parse(edate) < Date.parse(sdate))
{
alert('End date cannot come before start date');
document.getElementById('end_date').value = '';
document.getElementById('end_date').focus();
return false;
}
}
// check if the no end time checkbox has been selected
function check_no_end(obj)
{
if (obj.checked === true)
{
document.getElementById('start_time').value = '';
document.getElementById('start_time').disabled = true;
document.getElementById('end_time').value = '';
document.getElementById('end_time').disabled = true;
}
else
{
document.getElementById('start_time').disabled = false;
document.getElementById('end_time').disabled = false;
}
}
// show repeating options based on user selection
function show_repeat_layer()
{
var arr = new Array(4);
arr[0] = 'monthly';
arr[1] = 'weekly';
arr[2] = 'range';
arr[3] = 'daily';
var sel = document.getElementById('repeat_selection').options[document.getElementById('repeat_selection').selectedIndex].value;
// Hide all others
for(var z = 0; z <= arr.length; z++)
{
if (arr[z] != sel && arr[z] != undefined)
{
document.getElementById(arr[z]).style.display='none';
}
}
// If a repeating event show its options
if (sel != '')
{
document.getElementById('repeat_block').style.backgroundColor="#eaeaea";
document.getElementById(sel).style.display='block';
document.getElementById('range').style.display='block';
}
}
// shows calendar or time floating div based on user click and hides all others
function show_hide_layer(div_id)
{
var arr = new Array(5);
arr[0] = 'cal_start_date';
arr[1] = 'cal_end_date';
arr[2] = 'start_time_box';
arr[3] = 'end_time_box';
arr[4] = 'cal_range_end_date';
// Hide all others
for(var z = 0; z <= arr.length; z++)
{
if (arr[z] != div_id && arr[z] != undefined)
{
document.getElementById(arr[z]).style.display='none';
}
}
// if not hiding all layers, show this one
if (div_id != 'all')
document.getElementById(div_id).style.display='block';
}
// will hide all date and time elements if that particular element has not been clicked on
// this allows the date/time layers to hide if another element in the page is focused on
function hide_datetime_layer(e)
{
var arr = new Array(5);
arr[0] = 'start_date';
arr[1] = 'end_date';
arr[2] = 'start_time';
arr[3] = 'end_time';
arr[4] = 'range_end_date';
var targ;
var x;
if (!e) var e = window.event
if (e.target) targ = e.target.id
else if (e.srcElement) targ = e.srcElement.id
for (x in arr)
{
if (arr[x] == targ) return;
}
control_select('visible');
show_hide_layer('all');
}
// generate the calendar
function show_cal(div_id, field_id)
{
control_select('hidden'); // hide all select boxes if brower is msie
show_hide_layer(div_id);
show_calendar('','','','',field_id,div_id);
}
// ajax callback that check form for errors
function event_validate(frm, response)
{
if (response != '') // response mode
{
err_cont = document.getElementById('error_container');
err_msg = document.getElementById('error_message');
bg = document.getElementById('input');
frm = document.forms[0]
el = frm.elements;
if (response != 'ok') {
err_cont.className = 'error-container-modal';
err_msg.innerHTML = response;
w = (screen.width / 2) - 350;
h = (screen.height / 2) + 160;
err_cont.style.left = w + "px";
err_cont.style.top = h + "px";
bg.className = 'disabled';
for (i=0, ii=el.length; i<ii; i++) {
el[i].disabled = true;
}
} else {
frm.submit();
}
}
else // input mode
{
var title = escape(frm.title.value);
var event_what = escape(frm.event_what.value);
var event_city = frm.event_city.value;
var start_date = frm.start_date.value;
var category1 = frm.category1.selectedIndex;
var url = '/system_ee/extensions/ajax/event_validate.php?title=' + title + '&event_what=' + event_what + '&event_city=' + event_city + '&start_date=' + start_date + '&category1=' + category1;
loadXMLDoc(url);
}
}
// enables all form elements after the error box "ok" button has been clicked
function enable()
{
err_cont = document.getElementById('error_container');
el = document.forms[0].elements;
bg = document.getElementById('input');
err_cont.className = 'hidden';
bg.className = '';
for (i=0, ii=el.length; i<ii; i++) {
el[i].disabled = false;
}
}
// Change the selected index on a select menu
function changeSelect(el, val)
{
var x=document.getElementById(el);
for (var i = 0; i < x.options.length; i++)
{
if (x.options[i].value == val) {
x.selectedIndex = i;
break;
}
}
}
// Change the selected index on a select menu
function checkBoxes(el, val)
{
var x=document.forms[0].elements[el];
for (var i = 0; i < x.length; i++)
{
if (x[i].value == val) {
x[i].checked = true;
break;
}
}
}
// moved from common/ajax_js
var req;
function loadXMLDoc(url)
{
var dom = new RegExp("http(s)?://");
if (!dom.test(url)) {
url = "http://" + document.domain + url;
}
if (window.XMLHttpRequest) { // branch for native XMLHttpRequest object
req = new XMLHttpRequest();
}
else if (window.ActiveXObject) { // branch for IE/Windows ActiveX version
req = new ActiveXObject("Microsoft.XMLHTTP");
}
if (!req) return false;
req.onreadystatechange = processReqChange;
try {
req.open("GET", url, true);
} catch (e) {}
finally {
req.send(null);
}
}
function processReqChange()
{
if (req.readyState != 4) return;
switch (req.status)
{
case 200: // OK
response = req.responseXML.documentElement;
method = response.getElementsByTagName('method')[0].firstChild.data;
result = response.getElementsByTagName('result')[0].firstChild.data;
eval(method + '(\'\', result)');
break;
default:
alert("There was a problem retrieving the XML data:\n" + req.statusText);
}
}
</script>