var is_gecko = /gecko/i.test(navigator.userAgent);
var is_ie    = /MSIE/.test(navigator.userAgent);
function getSelectionStart(input) {
	if (is_gecko)
		return input.selectionStart;
	var range = document.selection.createRange();
	var isCollapsed = range.compareEndPoints("StartToEnd", range) == 0;
	if (!isCollapsed)
		range.collapse(true);
	var b = range.getBookmark();
	return b.charCodeAt(2) - 2;
}
function getSelectionEnd(input) {
	if (is_gecko)
		return input.selectionEnd;
	var range = document.selection.createRange();
	var isCollapsed = range.compareEndPoints("StartToEnd", range) == 0;
	if (!isCollapsed)
		range.collapse(false);
	var b = range.getBookmark();
	return b.charCodeAt(2) - 2;
}
function setSelectionRange(input, start, end) {
	if (is_gecko) {
		input.setSelectionRange(start, end);
	} else {
		// assumed IE
		var range = input.createTextRange();
		range.collapse(true);
		range.moveStart("character", start);
		range.moveEnd("character", end - start);
		range.select();
	}
}
function FormatDate(TheField, TheEvent) {
	var KeyChar = '';
	var i = 0;
	var ValidChars1 = '/0123456789';
	var ValidChars2 = '0123456789';
	var Buffer = '';
	var tempstr = '';
	var start = getSelectionStart(TheField);
	var end = getSelectionEnd(TheField);
	var selectstart = start + 1;
	var KeyCode = (window.Event) ? TheEvent.which : TheEvent.keyCode;
	
	if ((KeyCode == 13)||(KeyCode == 8)||(KeyCode == 0)) return true; 
	
	// Get character pressed
	KeyChar = String.fromCharCode(KeyCode);  
	
	// Skip if not a valid character
	if (ValidChars1.indexOf(KeyChar) == -1) return false;  
	
	len = TheField.value.length;
		
	if ((len == 1) & (KeyChar == '/')){ 
	  TheField.value = '0' + TheField.value + '/'; 
	  return false;
	}
	
	if ((len == 4) & (KeyChar == '/')) {
	  TheField.value = TheField.value.substring(0,3) + '0' + TheField.value.charAt(3) + '/'; 
	  return false;
	}
	
	if (ValidChars2.indexOf(KeyChar) == -1) return false; 
	
	Buffer = TheField.value.substring(0,start) + KeyChar + TheField.value.substring(end);
	
	//Exit if we already have 10 characters
	if (Buffer.length > 10) return false;
	
	for(i=0; i < Buffer.length; i++)
  		if (ValidChars2.indexOf(Buffer.charAt(i))!=-1) tempstr += Buffer.charAt(i);
	Buffer = tempstr;
	if ((Buffer.length == 2) & (start == 1)){
			selectstart++;
	}
	if (Buffer.length > 1){
		Buffer = Buffer.substring(0,2)+'/'+Buffer.substring(2);
	}
	if ((Buffer.length == 5) & (start == 4)){
			selectstart++;
	}
	if (Buffer.length > 4){
		Buffer = Buffer.substring(0,5)+'/'+Buffer.substring(5);	
	}
	
	TheField.value = Buffer;
	
	setSelectionRange(TheField, selectstart, selectstart)
	
	return false;
}

function numbersonly(TheField, TheEvent, NumOfChar){
var NumOfChar = (NumOfChar == null) ? 20 : NumOfChar;
var KeyChar = '';
var i = 0;
var ValidChars1 = '0123456789';
var KeyCode = (window.Event) ? TheEvent.which : TheEvent.keyCode;

// Exit if Return was pressed
if ((KeyCode == 13)||(KeyCode == 8)||(KeyCode == 0)) return true;

//exit if we are at the length
if (TheField.value.length >= NumOfChar ) return false;

// Get character pressed
KeyChar = String.fromCharCode(KeyCode);  

// Skip if not a valid character
if (ValidChars1.indexOf(KeyChar) == -1) return false;  

return true;
}

function validcharonly(TheField, TheEvent, NumOfChar){
var NumOfChar = (NumOfChar == null) ? 255 : NumOfChar;
var KeyChar = '';
var i = 0;
var ValidChars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ&\'-_@. <>"=/:';

var Buffer = '';
var KeyCode = (window.Event) ? TheEvent.which : TheEvent.keyCode;

// Exit if Return was pressed
if ((KeyCode == 13)||(KeyCode == 8)||(KeyCode == 0)) return true;

//exit if we are at the length
if (TheField.value.length >= NumOfChar ) return false;

// Get character pressed
KeyChar = String.fromCharCode(KeyCode);  

// Skip if not a valid character
if (ValidChars.indexOf(KeyChar) == -1) return false;  
return true;
}

function selectall(name){
var selObj = document.getElementById(name);
for (var i=0; i<selObj.options.length; i++){
selObj.options[i].selected = true;
}
}
function getuser(username,postto){
window.open(postto+'?Show=Users&User='+username,'_self');
}
function getgroup(groupname,postto){
var temppost=postto+'?Show=Groups&Group='+groupname;
window.open(temppost,'_self');
}
function confirmSubmit(){
var agree=confirm("Are you sure you wish to continue?");
if (agree) return true ;
else return false ;
}
function GetNewPass(){
var password=prompt("Please enter the user\'s new password","");
if((password=="")||(password==null)) return false;
else{ document.FORM01.NewPass.value=password; return true;}
}
function GetNewUser(){
var username=prompt("Please enter the new user\'s name","Enter the name here");
var password=prompt("Please enter the new user\'s password","Enter the password here");
document.FORM01.NewUser.value=username;
document.FORM01.NewPass.value=password;
}
function GetNewGroup(){
var groupname=prompt("Please enter the new group\'s name"," ");
document.FORM01.NewGroup.value=groupname;
}

