// <![CDATA[

// ==================== MISC USEFUL FUNCTIONS ====================

function pausescript(millis) {
	date = new Date();
	var curDate = null;
	do { var curDate = new Date(); }
	while(curDate-date < millis);
} 

// ==================== LOGIN FUNCTIONS ====================

function checkLogin() {
	var url = '/includes/api.asp';
	var pars = 'cmd=login&userLogin='+$F('userLogin')+'&userPass='+$F('userPass');
	$('userLogin').disabled = true;
	$('userPass').disabled = true;
	$('loginbutton').disabled = true;
	$('loginbutton').className = "buttondisabled";
	$('loginresult').innerHTML = "Checking credentials...";
		
	var myAjax = new Ajax.Request( url, {method: 'post', parameters: pars, onComplete: showLogin} ); 
	new Effect.BlindDown('loginresult');
}
function showLogin(originalRequest) {
	if (originalRequest.responseText == "1") {
		$('loginresult').innerHTML = '<span style="color:#090;">Access Granted.</span>';
		window.location = 'extranet_menu.asp';
	} else if (originalRequest.responseText == "0") {
		$('loginresult').innerHTML = '<span style="color:#900;">Username/password combination is incorrect. Please try again.</span>';
		$('userLogin').disabled = false;
		$('userPass').disabled = false;
		$('loginbutton').disabled = false;
		$('loginbutton').className = "button";
		$('userLogin').focus();
	} else {
		$('loginresult').innerHTML = '<span style="color:#999;">Problem communicating with system.</span>';
		$('userLogin').disabled = false;
		$('userPass').disabled = false;
		$('loginbutton').disabled = false;
		$('loginbutton').className = "button";
		$('userLogin').focus();		
	}
}
function logout() {
	var url = '/includes/api.asp';
	var myAjax = new Ajax.Request( url, {method: 'post', parameters: 'cmd=logout', onComplete: exit} ); 
}
function exit() { window.location='extranet.asp?logout=1'; }

// ==================== FORM AND FORM VALUE HANDLING FUNCTIONS ====================

var qs = location.search.substring(1);
var nv = qs.split('&');
var url = new Object();
for(i = 0; i < nv.length; i++) {
	eq = nv[i].indexOf('=');
	url[nv[i].substring(0,eq).toLowerCase()] = unescape(nv[i].substring(eq + 1));
}

function checkEnter(event) {
	k = event.keyCode;
	if(k == 13){
		checkLogin();
	}
}

// ==================== MESSAGE DISPLAY/EDITING FUNCTIONS ====================

function displayMessages(foruser,messageid) {
	var url = '/includes/api.asp';
	if (messageid) {
		var myAjax = new Ajax.Updater('messagelist', url, {method: 'post',parameters: 'cmd=getmessages&foruser='+foruser, onLoading:function(request){Element.show('messageBusy')}, onComplete:function(request){Element.hide('messageBusy');new Effect.BlindDown('messageID'+messageid)} } ); 
	} else {
		var myAjax = new Ajax.Updater('messagelist', url, {method: 'post',parameters: 'cmd=getmessages&foruser='+foruser, onLoading:function(request){Element.show('messageBusy')}, onComplete:function(request){Element.hide('messageBusy')} } ); 
	}
}
function displayMessageForm(editing) {
	new Effect.BlindUp('adminmessageresult');
	var output = '<dl><dt><label id="msgToLabel" for="msgTo">To<em>*</em></label></dt><dd><div id="msgToHolder"></div><input type="hidden" name="msgToName" id="msgToName" class="textbox" /></dd>\n';
	output += '<dt><label id="msgDateTimeLabel" for="msgDateTime">Date &amp; Time<em>*</em></label></dt><dd><img src="/images/template/extranet/icons/16x16_calendar.gif" id="calendartrigger" /><input type="text" name="msgDateTime" id="msgDateTime" class="textbox" style="width:150px;" readonly="true" /></dd>\n';
	output += '<dt><label id="msgFromNameLabel" for="msgFromName">From</label></dt><dd><input type="text" name="msgFromName" id="msgFromName" class="textbox" /></dd>\n';
	output += '<dt><label id="msgFromPhoneLabel" for="msgFromPhone">Telephone</label></dt><dd><input type="text" name="msgFromPhone" id="msgFromPhone" class="textbox" /></dd>\n';
	output += '<dt><label id="msgFromMobileLabel" for="msgFromMobile">Mobile</label></dt><dd><input type="text" name="msgFromMobile" id="msgFromMobile" class="textbox" /></dd>\n';
	output += '<dt><label id="msgFromFaxLabel" for="msgFromFax">Fax</label></dt><dd><input type="text" name="msgFromFax" id="msgFromFax" class="textbox" /></dd>\n';
	output += '<dt><label id="msgFromEmailLabel" for="msgFromEmail">Email</label></dt><dd><input type="text" name="msgFromEmail" id="msgFromEmail" class="textbox" /></dd>\n';
	output += '<dt><label id="msgTextLabel" for="msgText">Details<em>*</em></label></dt><dd><textarea name="msgText" id="msgText" rows="4" class="textbox" /></textarea></dd></dl>\n';
	output += '<div class="halfcolumn"><input type="checkbox" class="checkbox" id="msgPhoned" name="msgPhoned" value="1" /><label for="msgPhoned">Telephoned</label></div>\n';
	output += '<div class="halfcolumn"><input type="checkbox" class="checkbox" id="msgPleaseRing" name="msgPleaseRing" value="1" /><label for="msgPleaseRing">Please ring</label></div>\n';
	output += '<div class="halfcolumn"><input type="checkbox" class="checkbox" id="msgWillRingBack" name="msgWillRingBack" value="1" /><label for="msgWillRingBack">Will ring back</label></div>\n';
	output += '<div class="halfcolumn"><input type="checkbox" class="checkbox" id="msgCalledIn" name="msgCalledIn" value="1" /><label for="msgCalledIn">Called in</label></div>\n';
	output += '<div class="halfcolumn"><input type="checkbox" class="checkbox" id="msgUrgent" name="msgUrgent" value="1" /><label for="msgUrgent"><strong>Urgent</strong></label></div>\n';
	output += '<input name="messageSubmit" id="messageSubmit" type="button" value="Send" class="submit" onClick="submitMessage();" />\n';
	output += '<input name="messageClose" id="messageClose" type="button" value="Close" class="close" onClick="closeMessage();" />\n';
	$('adminmessage').innerHTML = output;
	var url = '/includes/api.asp';
	var myAjax = new Ajax.Updater('msgToHolder', url, {method: 'post',parameters: 'cmd=messagetomenu'} ); 
	new Effect.BlindDown('adminmessage');
	Calendar.setup({inputField : "msgDateTime", weekNumbers : false, ifFormat : "%Y-%m-%d %l:%M %p", button : "calendartrigger", align : "Bl", singleClick : true, showsTime : true, step : 1});
	da = new Date();
	dy = da.getFullYear(); dm = da.getMonth() + 1; dd = da.getDate(); if ( dy < 1970 ) dy = dy + 100;
	ys = new String(dy); ms = new String(dm); ds = new String(dd); 
	if ( ms.length == 1 ) {ms = "0" + ms;} if ( ds.length == 1 ) {ds = "0" + ds;}
	a_p = ""; curr_hour = da.getHours(); if (curr_hour < 12) { a_p = "AM"; } else { a_p = "PM"; }
	if (curr_hour == 0) { curr_hour = 12; } if (curr_hour > 12) { curr_hour = curr_hour - 12; }
	curr_min = da.getMinutes(); mins = new String(curr_min); if ( mins.length == 1 ) {mins = "0" + mins;}
	ti = curr_hour + ":" + mins + " " + a_p;
	rightnow = ys + "-" + ms + "-" + ds + " " + ti;
	$('msgDateTime').value = rightnow;
}
function submitMessage() {
	var formerror = ''; 
	var msgPhoned = 0; var msgPleaseRing = 0; var msgWillRingBack = 0; 
	var msgCalledIn = 0; var msgUrgent = 0; 
	if ($F('msgPhoned')) { msgPhoned = 1; }
	if ($F('msgPleaseRing')) { msgPleaseRing = 1; }
	if ($F('msgWillRingBack')) { msgWillRingBack = 1; }
	if ($F('msgCalledIn')) { msgCalledIn = 1; }
	if ($F('msgUrgent')) { msgUrgent = 1; }
	if ($F('msgTo') == 0) { formerror += 'Please select at a recipient for this message.\n'; }
	if ($F('msgDateTime') == false) { formerror += 'Please enter the time this message was taken.\n'; }
	if (!$F('msgText')) { formerror += 'Please enter the details for this message.\n'; }
	if (formerror) { alert(formerror); return false; }
	Element.show('adminBusy');
	var url = '/includes/api.asp';
	var pars = 'cmd=sendmessage&msgTo='+$F('msgTo')+'&msgToName='+escape($F('msgToName'))+'&msgDateTime='+escape($F('msgDateTime'))+'&msgFromName='+escape($F('msgFromName'))+'&msgFromPhone='+escape($F('msgFromPhone'))+'&msgFromMobile='+escape($F('msgFromMobile'))+'&msgFromFax='+escape($F('msgFromFax'))+'&msgFromEmail='+escape($F('msgFromEmail'))+'&msgText='+escape($F('msgText'))+'&msgPhoned='+msgPhoned+'&msgPleaseRing='+msgPleaseRing+'&msgWillRingBack='+msgWillRingBack+'&msgCalledIn='+msgCalledIn+'&msgUrgent='+msgUrgent;
	var myAjax = new Ajax.Request( url, {method: 'post', parameters: pars, onComplete:submitMessageResult } );
}
function submitMessageResult(originalRequest) {
	if (originalRequest.responseText) {
		Element.hide('adminBusy'); alert(originalRequest.responseText);
	} else {
		$('adminmessageresult').innerHTML = '<span class="success">&radic; Saved successfully</span>';
		new Effect.BlindDown('adminmessageresult');
		new Effect.BlindUp('adminmessage');
		Element.hide('adminBusy');
		displayMessages(0);
	}
}
function closeMessage() {
	new Effect.BlindUp('adminmessage');
}
function deleteMessage(msgID) {
	var agree=confirm('Are you sure you want to delete this message from your list?');
	if (agree) {
		var url = '/includes/api.asp';
		var pars = 'cmd=deletemessage&msgID='+msgID;
		var myAjax = new Ajax.Request( url, {method: 'post', parameters: pars, onLoading:function(request){Element.show('messageBusy')}, onComplete:function(request){Element.hide('messageBusy');new Effect.BlindUp('messageID'+msgID)} } );
	} else { return false; }
}
function undeleteMessage() {
	var url = '/includes/api.asp';
	var pars = 'cmd=undeletemessage';
	var myAjax = new Ajax.Request( url, {method: 'post', parameters: pars, onLoading:function(request){Element.show('messageBusy')}, onComplete:function(originalRequest){ if (originalRequest.responseText) { displayMessages(0,parseFloat(originalRequest.responseText)); } else { displayMessages(0); } } } );
}

// ==================== MEMO DISPLAY/EDITING FUNCTIONS ====================

function displayMemos(foruser,memoid) {
	var url = '/includes/api.asp';
	if (memoid) {
		var myAjax = new Ajax.Updater('memolist', url, {method: 'post',parameters: 'cmd=getmemos&foruser='+foruser, onLoading:function(request){Element.show('memoBusy')}, onComplete:function(request){Element.hide('memoBusy');new Effect.Highlight('memoID'+memoid)} } ); 
	} else {
		var myAjax = new Ajax.Updater('memolist', url, {method: 'post',parameters: 'cmd=getmemos&foruser='+foruser, onLoading:function(request){Element.show('memoBusy')}, onComplete:function(request){Element.hide('memoBusy')} } ); 
	}
}
function displayMemoForm(editing) {
	da = new Date();
	dy = da.getFullYear(); dm = da.getMonth() + 1; dd = da.getDate(); if ( dy < 1970 ) dy = dy + 100;
	ys = new String(dy); ms = new String(dm); ds = new String(dd); 
	if ( ms.length == 1 ) {ms = "0" + ms;} if ( ds.length == 1 ) {ds = "0" + ds;}
	a_p = ""; curr_hour = da.getHours(); if (curr_hour < 12) { a_p = "AM"; } else { a_p = "PM"; }
	if (curr_hour == 0) { curr_hour = 12; } if (curr_hour > 12) { curr_hour = curr_hour - 12; }
	curr_min = da.getMinutes(); mins = new String(curr_min); if ( mins.length == 1 ) {mins = "0" + mins;}
	ti = curr_hour + ":" + mins + " " + a_p;
	rightnow = ys + "-" + ms + "-" + ds + " " + ti;
	
	new Effect.BlindUp('adminmemoresult');
	var output = '<dl><dt><label id="memoToLabel" for="memoTo">To<em>*</em></label><br /><small><i>Hold CTRL to select <br />multiple recipients.</i></small></dt><dd><div id="memoToHolder"></div></dd>\n';
	output += '<dt><label id="memoTitleLabel" for="memoTitle">Title of Memo</label></dt><dd><input type="text" name="memoTitle" id="memoTitle" class="textbox" /></dd>\n';
	output += '<dt><label id="memoTextLabel" for="memoText">Memo Text<em>*</em></label></dt><dd><textarea name="memoText" id="memoText" rows="6" class="textbox" /></textarea></dd>\n';
	output += '<dt><label>Urgent?</label></dt><dd><input type="checkbox" class="checkbox" id="memoUrgent" name="memoUrgent" value="1" /><label for="memoUrgent">Yes</label></dd></dl>\n';
	output += '<input name="memoCreated" id="memoCreated" type="hidden" value="'+rightnow+'" />\n';
	output += '<input name="memoSubmit" id="memoSubmit" type="button" value="Send" class="submit" onClick="submitMemo();" />\n';
	output += '<input name="memoClose" id="memoClose" type="button" value="Close" class="close" onClick="closeMemo();" />\n';
	$('adminmemo').innerHTML = output;
	var url = '/includes/api.asp';
	var myAjax = new Ajax.Updater('memoToHolder', url, {method: 'post',parameters: 'cmd=memotomenu'} ); 
	new Effect.BlindDown('adminmemo');
}
function submitMemo() {
	var formerror = ''; var memoUrgent = 0;
	if ($F('memoUrgent')) { memoUrgent = 1; }
	if ($F('memoTo') == false) { formerror += 'Please select at least one recipient for this memo.\n'; }
	if (!$F('memoText')) { formerror += 'Please enter some body text for this memo.\n'; }
	if (formerror) { alert(formerror); return false; }
	Element.show('adminBusy');
	var url = '/includes/api.asp';
	var pars = 'cmd=sendmemo&memoTo='+escape($F('memoTo'))+'&memoFrom='+readCookie('userID')+'&memoTitle='+escape($F('memoTitle'))+'&memoText='+escape($F('memoText'))+'&memoCreated='+escape($('memoCreated').value)+'&memoUrgent='+memoUrgent;
	var myAjax = new Ajax.Request( url, {method: 'post', parameters: pars, onComplete:submitMemoResult } );
}
function submitMemoResult(originalRequest) {
	if (originalRequest.responseText) {
		Element.hide('adminBusy'); alert(originalRequest.responseText);
	} else {
		$('adminmemoresult').innerHTML = '<span class="success">&radic; Saved successfully</span>';
		new Effect.BlindDown('adminmemoresult');
		new Effect.BlindUp('adminmemo');
		Element.hide('adminBusy');
		displayMemos(0);
	}
}
function deleteMemo(memoID) {
	var agree=confirm('Are you sure you want to delete this memo from your list?');
	if (agree) {
		var url = '/includes/api.asp';
		var pars = 'cmd=deletememo&memoID='+memoID;
		var myAjax = new Ajax.Request( url, {method: 'post', parameters: pars, onLoading:function(request){Element.show('memoBusy')}, onComplete:function(request){Element.hide('memoBusy');new Effect.BlindUp('memoID'+memoID)} } );
	} else { return false; }
}
function expandMemo(memoID) {
	new Effect.BlindDown('memobody'+memoID);
	$('expandmemo'+memoID).style.display = 'none';
	$('collapsememo'+memoID).style.display = 'inline';
}
function collapseMemo(memoID) {
	new Effect.BlindUp('memobody'+memoID);
	$('expandmemo'+memoID).style.display = 'inline';
	$('collapsememo'+memoID).style.display = 'none';
}
function closeMemo() {
	new Effect.BlindUp('adminmemo');
}

// ==================== TASK EDITING FUNCTIONS ====================

function displayTasks(foruser,taskid) {
	var url = '/includes/api.asp';
	if (taskid) {
		var myAjax = new Ajax.Updater('tasklist', url, {method: 'post',parameters: 'cmd=gettasks&foruser='+foruser, onLoading:function(request){Element.show('taskBusy')}, onComplete:function(request){Element.hide('taskBusy');new Effect.Highlight('taskID'+taskid)} } ); 
	} else {
		var myAjax = new Ajax.Updater('tasklist', url, {method: 'post',parameters: 'cmd=gettasks&foruser='+foruser, onLoading:function(request){Element.show('taskBusy')}, onComplete:function(request){Element.hide('taskBusy')} } ); 
	}
}
function displayTasksForm(editing) {
	var action;
	if (editing == 0) { action = 'add'; } else { action = 'edit'; }
	var output = '<dl><dt><label id="taskTaskLabel" for="taskTask">Task Title</label></dt><dd><input name="taskTask" id="taskTask" type="text" class="textbox" /></dd>\n';
	output += '<dt><label id="taskDescriptionLabel" for="taskDescription">Description</label></dt><dd><textarea name="taskDescription" id="taskDescription" class="textbox" /></textarea></dd>\n';
	output += '<dt>Priority</dt><dd><input type="radio" class="checkbox" id="hipri" name="taskPriority" value="1" /><span class="Highpriority"><label for="hipri">Hi</label></span><input type="radio" class="checkbox" id="medpri" name="taskPriority" value="2" /><span class="Mediumpriority"><label for="medpri">Med</label></span><input type="radio" class="checkbox" id="lowpri" name="taskPriority" value="3" checked /><span class="Lowpriority"><label for="lowpri">Low</label></span></dd></dl>\n';
	output += '<input name="taskAction" id="taskAction" type="hidden" value="' + action + 'task" />\n';
	output += '<input name="taskID" id="taskID" type="hidden" value="' + editing + '" />\n';
	output += '<input name="taskSubmit" id="taskSubmit" type="button" value="Save" class="submit" onClick="submitTask();" />\n';
	output += '<input name="taskClose" id="taskClose" type="button" value="Close" class="close" onClick="closeTasks();" />\n';
	$('tasksform').innerHTML = output;
	if (action == 'edit') { 
		var url = '/includes/api.asp';
		var pars = 'cmd=tasksfields&taskID='+editing;
		var myAjax = new Ajax.Request( url, {method: 'post', parameters: pars, onComplete: populateTasksForm} );
	}
	new Effect.BlindDown('tasksform');
	new Effect.BlindUp('newtask');
}

function populateTasksForm(originalRequest) {
	var nv = originalRequest.responseText.split('&');
	var retvar = new Object();
	for(i = 0; i < nv.length; i++) {
		eq = nv[i].indexOf('=');
		retvar[nv[i].substring(0,eq).toLowerCase()] = unescape(nv[i].substring(eq + 1));
	}
	$('taskTask').value = retvar.tasktask;
	$('taskDescription').value = retvar.taskdescription;
	if (retvar.taskpriority == 1) { 
		$('hipri').checked = true ;
	} else if (retvar.taskpriority == 2) { 
		$('medpri').checked = true;
	} else if (retvar.taskpriority == 3) { 
		$('lowpri').checked = true;
	}
}
function submitTask() {
	var formerror = ''; var taskPriority = 0;
	if($('lowpri').checked == true){taskPriority=3;}else if($('medpri').checked == true){taskPriority=2;} else if($('hipri').checked == true){taskPriority=1;}
	if (!$F('taskTask')) {	formerror += 'Please give this task a title.\n'; }
	if (formerror) { alert(formerror); return false; }
	var url = '/includes/api.asp';
	var pars = 'cmd='+$F('taskAction')+'&taskID='+$F('taskID')+'&taskTask='+escape($F('taskTask'))+'&taskDescription='+escape($F('taskDescription'))+'&taskPriority='+taskPriority;
	var myAjax = new Ajax.Request( url, {method: 'post', parameters: pars, onComplete: submitTaskResult} );
}
function submitTaskResult(originalRequest) {
	new Effect.BlindUp('tasksform');
	new Effect.BlindDown('newtask');
	displayTasks(0,originalRequest.responseText);
}
function changeTaskStatus(taskID,taskstatus) {
	var url = '/includes/api.asp';
	var pars = 'cmd=taskstatus&taskID='+taskID+'&taskStatus='+taskstatus;
	var myAjax = new Ajax.Request( url, {method: 'post', parameters: pars, onLoading:function(request){Element.show('taskBusy')}, onComplete:function(request){Element.hide('taskBusy');displayTasks(0,taskID)} } );
}
function deleteTask(taskID) {
	var agree=confirm('Are you sure you want to delete this task?');
	if (agree) {
		var url = '/includes/api.asp';
		var pars = 'cmd=deletetask&taskID='+taskID;
		var myAjax = new Ajax.Request( url, {method: 'post', parameters: pars, onLoading:function(request){Element.show('taskBusy')}, onComplete:function(request){Element.hide('taskBusy');new Effect.BlindUp('taskID'+taskID)} } );
	} else { return false; }
}
function closeTasks() {
	new Effect.BlindUp('tasksform');
	new Effect.BlindDown('newtask');

}

// ==================== USER EDITING FUNCTIONS ====================

function displaySelectUser() {
	$('adminusers').innerHTML = '<dl><dt><label>Select User</label></dt><dd><div id="adminusersselect"></div></dd></dl><br style="clear:both;" />';
	var url = '/includes/api.asp';
	var myAjax = new Ajax.Updater('adminusersselect', url, {method: 'post',parameters: 'cmd=usermenu'} ); 
	new Effect.BlindDown('adminusers');
}

function displayUserForm() {
	var action;
	if ($F('userselect') == 0) { action = 'add'; } else { action = 'edit'; }
	var output = '<dl><dt><label id=\"userLoginLabel\" for=\"userLogin\">Login</label></dt><dd><input name=\"userLogin\" id=\"userLogin\" type=\"text\" class="textbox" /></dd>\n';
	var changepass = '';
	if (action == 'edit') { var changepass = 'Change '; }
	output += '<dt><label id=\"userPassLabel\" for=\"userPass\">' + changepass + 'Password</label></dt><dd><input name=\"userPass\" id=\"userPass\" type=\"password\" class="textbox" /></dd>\n';
	output += '<dt><label id=\"userPassConfirmLabel\" for=\"userPassConfirm\">Confirm Password</label></dt><dd><input name=\"userPassConfirm\" id=\"userPassConfirm\" type=\"password\" class="textbox" /></dd>\n';
	output += '<dt><label id=\"userNameLabel\" for=\"userName\">Name</label></dt><dd><input name=\"userName\" id=\"userName\" type=\"text\" class="textbox" /></dd>\n';
	output += '<dt><label id=\"userPhoneLabel\" for=\"userPhone\">Phone</label></dt><dd><input name=\"userPhone\" id=\"userPhone\" type=\"text\" class="textbox" /></dd>\n';
	output += '<dt><label id=\"userEmailLabel\" for=\"userEmail\">Email</label></dt><dd><input name=\"userEmail\" id=\"userEmail\" type=\"text\" class="textbox" /></dd>\n';
	output += '<dt><label id=\"userAdminLabel\" for=\"userAdmin\">Admin user</label></dt><dd><input name=\"userAdmin\" id=\"userAdmin\" type=\"checkbox\" class=\"checkbox\" value=\"1\" /></dd>\n';
	if (action == 'edit') { output += '<dt>&nbsp;</dt><dd><a href="#" onclick="deleteUser('+$F('userselect')+');return false;" id="deleteuserlink">Delete this user</a></dd></dl>\n'; }

	output += '<input name=\"userAction\" id=\"userAction\" type=\"hidden\" value=\"' + action + 'user\" />\n';
	output += '<input name=\"userID\" id=\"userID\" type=\"hidden\" value=\"0\" />\n'; 
	output += '<input name=\"userSubmit\" id=\"userSubmit\" type=\"button\" value=\"Save\" class="submit" onClick="submitUser();" />\n';
	output += '<input name=\"userClose\" id=\"userClose\" type=\"button\" value=\"Close\" class="close" onClick="closeUsers();" />\n';
	$('adminusersform').innerHTML = output;
	if (action == 'edit') { 
		var url = '/includes/api.asp';
		var pars = 'cmd=userfields&userID='+$F('userselect');
		var myAjax = new Ajax.Request( url, {method: 'post', parameters: pars, onComplete: populateUserForm} );
	}
	new Effect.BlindDown('adminusersform');
}

function populateUserForm(originalRequest) {
	var nv = originalRequest.responseText.split('&');
	var retvar = new Object();
	for(i = 0; i < nv.length; i++) {
		eq = nv[i].indexOf('=');
		retvar[nv[i].substring(0,eq).toLowerCase()] = unescape(nv[i].substring(eq + 1));
	}
	$('userID').value = retvar.userid;
	$('userLogin').value = retvar.userlogin;
	$('userName').value = retvar.username;
	$('userPhone').value = retvar.userphone;
	$('userEmail').value = retvar.useremail;
	if(retvar.useradmin == 1) { $('userAdmin').checked = true; } else { $('userAdmin').checked = false; }
	if(retvar.userlogin == 'admin') { 
		$('userLogin').disabled = true; $('deleteuserlink').style.display = 'none'; 
	}
}

function submitUser() {
	var formerror = ''; var userAdmin = 0;
	if ($F('userAdmin')) { userAdmin = 1; }
	if (!$F('userLogin')) {	formerror += 'Please give this user a login name.\n'; }
	if (!$F('userPass') && $F('userAction') == 'adduser') {	formerror += 'Please give this user a password.\n'; }
	if ($F('userPass') != $F('userPassConfirm')) { formerror += 'Password fields do not match.\n'; }
	if (!$F('userName')) { formerror += 'Please supply this user\'s name.\n'; }
	if (!$F('userPhone')) {	formerror += 'Please supply this user\'s phone number.\n'; }
	if (!$F('userEmail')) {	formerror += 'Please supply this user\'s email address.'; }
	
	if (formerror) { alert(formerror); return false; }
	
	var url = '/includes/api.asp';
	var pars = 'cmd='+$F('userAction')+'&userID='+$F('userID')+'&userLogin='+escape($F('userLogin'))+'&userPass='+escape($F('userPass'))+'&userName='+escape($F('userName'))+'&userPhone='+escape($F('userPhone'))+'&userEmail='+escape($F('userEmail'))+'&userAdmin='+userAdmin;
	var myAjax = new Ajax.Request( url, {method: 'post', parameters: pars, onComplete: submitUserResult} );
}
function deleteUser(userID) {
	var agree=confirm('Are you sure you want to delete this user?');
	if (agree) {
		var url = '/includes/api.asp';
		var pars = 'cmd=deleteuser&userID='+userID;
		var myAjax = new Ajax.Request( url, {method: 'post', parameters: pars, onComplete: submitUserResult} );
	} else { return false; }
}
function submitUserResult(originalRequest) {
	if (originalRequest.responseText) {
		alert(originalRequest.responseText);
	} else {
		new Effect.BlindUp('adminusersform');
		$('adminusers').innerHTML = '<span class="success">&radic; Saved successfully</span>';
		new Effect.Appear('adminusers');
	}
}

function closeUsers() {
	new Effect.BlindUp('adminusers');
	new Effect.BlindUp('adminusersform');
}


// ]]>