function click(e) {
	if (document.all) {
		if (event.button == 2 || event.button == 3 || event.button == 6 || event.button == 7) {
			alert('Copyright (c) Questcom (Pty) Ltd');
			return false;
		}
	}
	if (document.layers) {
		if (e.which == 3) {
			alert('Copyright (c) Questcom (Pty) Ltd');
			return false;
		}
	}
}

//if (document.layers) document.captureEvents(Event.MOUSEDOWN);
//document.onmousedown=click;

// MM_ functions provide image rollover effects

function MM_preloadImages() { //v3.0
	var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); 
	var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
	if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
	var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.0
	var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
	var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// DOM

function dom_id(id) {
	var dom_isDOM = (document.getElementById ? true : false);
	var dom_isIE4 = ((document.all && !dom_isDOM) ? true : false);
	var dom_isNS4 = (document.layers ? true : false);
	if (dom_isIE4) return document.all[id];
	else if (dom_isNS4) return document.layers[id];
	else return document.getElementById(id);
}

function dom_styleGet(id) {
	var dom_isNS4 = (document.layers ? true : false);
	return (dom_isNS4 ? dom_id(id) : dom_id(id).style);
}

function dom_styleSet(id, prop, val) {
	dom_styleGet(id)[prop] = val;
}

// Toggle an object's visibility

function toggleID(oField, elID) {
	var newVal = (oField.checked ? '' : 'none');
	var oElement = document.getElementById(elID);
	if (oElement) oElement.style.display = newVal;
}

// Forms

var formHasChanged = false;

function formHasChanges() {
	formHasChanged = true;
}

function formConfirmChanges() {
	var okay = true;
	if (formHasChanged) okay = confirm('You have made changes to this form, if you proceed you will lose these changes.\nDo you wish to proceed?');
	else okay = true;
	return okay;
}

var formToggleState = true;

function toggleState(oForm, fieldName) {
	var oField = oForm.elements[fieldName];
	if (oField)
		if (oField.length) {
			if (arguments.length > 2) oField[arguments[2]].checked = !oField[arguments[2]].checked;
			else for (var i = 0; i < oField.length; i++) { oField[i].checked = formToggleState; }
		} else oField.checked = !oField.checked;
	formToggleState = !formToggleState;
}

function selectedCount(oField) {
	var Count = 0;
	if (oField != undefined)
		if (oField.length != undefined) {
			for (var i=0; i < oField.length; i++) { if (oField[i].checked) Count++; }
		} else if (((oField.type.toLowerCase() == 'checkbox') || (oField.type.toLowerCase() == 'radio')) && oField.checked) Count++;
			else if (((oField.type.toLowerCase() != 'checkbox') && (oField.type.toLowerCase() != 'radio')) && oField.value != '') Count ++;
	return Count;
}

function selectMultiple(oField) {
	for (var i = 0; i < oField.length; i++) oField.options[i].selected = true;
}

function clearMultiple(oField) {
	for (var i = oField.length - 1; i > 0; i--) oField[i] = null;
	if (arguments.length > 1) oField[0] = null; 
	else oField.options[0].selected = true;;
}

function resetMultiple(oField, elList) {
	var elArray = elList.split(',');
	for (var i = 0; i < elArray.length; i++) 
		for (var j = 0; j < oField.length; j++) 
			if ((oField.options[j].value != '') && (oField.options[j].value == elArray[i])) {
				oField.options[j].selected = true;
				break;
			}
}

function clearForm(oForm) {
	var msg = '';
	for (var i = 0; i < oForm.elements.length; i++) 
		switch (oForm.elements[i].type) {
			case 'checkbox': oForm.elements[i].checked = false; break;
			case 'radio':    oForm.elements[i].checked = false; break;
			case 'submit':	 break;
			case 'reset':    break;
			case 'button':   break;
			case 'hidden':   break;
			default:         oForm.elements[i].value = ''; break;
		}
	if (typeof(clearFormExtra) != 'undefined') clearFormExtra(oForm);
	formHasChanged = true;
}

function resetForm(oForm) {
	oForm.reset();
	if (typeof(resetFormExtra) != 'undefined') resetFormExtra(oForm);
	formHasChanged = false;
}

function submitForm(oForm) {
	var okay = true;
	if (oForm.onsubmit()) {
		if (typeof(submitFormExtra) != 'undefined') okay = submitFormExtra(oForm);
		if (okay) {
			document.body.style.cursor = 'wait';
			oForm.submit();
		}
	}
}

// List Functions

function ValueList(oField) {
	var list = '';
	for (var i = 0; i < oField.length; i++)
		list += oField[i].value + (i < (oField.length - 1) ? ',' : '');
	return list;
}

// Cookie functions

function setCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
  document.cookie = curCookie;
}

function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}

function deleteCookie(name, path, domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" + 
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}

function fixDate(date) {
  var base = new Date(0);
  var skew = base.getTime();
  if (skew > 0) date.setTime(date.getTime() - skew);
}

// Signout function

var signout_TimerID  = null;
var signout_StatusID = null;

var signout_TimerStart = new Date();
var signout_TimerLimit = -1;
var signout_TimerLeft  = -1;

var signout_Location = '';

function signout_Initiate(m, loc) {
	signout_TimerID    = setTimeout("signout_Proceed();", m * 60 * 1000);
	signout_StatusID   = setInterval("signout_UpdateStatus();", 1000);
	signout_TimerLimit = (m * 60);
	signout_Location   = loc;
}

function signout_UpdateStatus() { 
	var iNow = new Date();
	if (signout_TimerID != null) { 
		if ((signout_TimerLeft >= 0) && (signout_TimerLeft <= (signout_TimerLimit - 5))) {
			m = parseInt(signout_TimerLeft / 60);
			s = signout_TimerLeft - (parseInt(signout_TimerLeft / 60) * 60);
			window.status = 'Done [Idle signout in ' + (m < 10 ? '0' + m : m) + ':' + (s < 10 ? '0' + s : s) + ']';
		}
		signout_TimerLeft = signout_TimerLimit - parseInt((iNow - signout_TimerStart) / 1000); 
		if (signout_TimerLeft == 0) signout_Proceed();
	} 
}

function signout_Proceed() { 
	if (signout_TimerID != null) { clearTimeout(signout_TimerID); clearInterval(signout_StatusID); }
	window.location.search = signout_Location;
}

// Go to a new page

function gotoLink(fuseaction) {
	var queryString = 'fuseaction=' + fuseaction;
	if ((arguments.length) > 1) 
		for (var i = 1; i < arguments.length; i++) queryString += '&' + arguments[i];
	if (formConfirmChanges()) location.search = queryString;
}

// Email obfuscator

function ePos(rpt) {
	if (arguments.length > 1) var dmn = arguments;
	else var dmn = new Array(rpt, 'eltec','co','za');
	var adr = dmn[0] + String.fromCharCode(64); dmn = dmn.slice(1); adr += dmn.join('.');
	var lnk = new Array('<','a ','hr','ef','="','ma','il','to',':',adr,'">',adr,'</','a>');
	document.write(lnk.join(''));
}

// Browser Resize

function resize(myObj, mySize) {
	var myObject = document.getElementById(myObj);
	var x, y;
	if (self.innerHeight) {
		x = self.innerWidth;
		y = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) {
		x = document.documentElement.clientWidth;
		y = document.documentElement.clientHeight;
	}   else if (document.body) {
		x = document.body.clientWidth;
		y = document.body.clientHeight;
	}

	myObject.style.height = (y - mySize) + "px";
}
