<!--
function ReloadOpenerPage() {
	alert("reloading")
//	self.location.reload()	
}

function MM_findObj(n, d) { //v4.01
  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 && d.getElementById) x=d.getElementById(n); return x;
}

function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
	if (init==true) with (navigator) {
		if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
			document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; 
		}
	}
	else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
	}
MM_reloadPage(true);

function MM_popupMsg(msg) { //v1.0
  alert(msg);
}

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_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];}
}

function GoToPage(aPage,verifyPage) {
	if (GoToPage.arguments.length > 1) {
		if (verifyForm()) {
			document.form1.nextstep.value = aPage;
			document.form1.submit();
		}
	} else {
		document.form1.nextstep.value = aPage;
		document.form1.submit();
	}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  var tWin = window.open(theURL,winName,features);
  tWin.focus();
}

function tmt_winPrint(id){ 
	if(window.print()){
	var d=eval(id)==null||eval(id+".closed");
	if(!d){eval(id+".print()");}}
}

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 confirmContactDelete(aForm,aMessage,aCmdName,aCmdValue) {
	if (confirm(aMessage)) {
		if (confirmContactDelete.arguments.length == 4) {
			eval('document.'+aForm.name + '.'+aCmdName + ".value = '" + aCmdValue + "'")
		}
		aForm.submit();
	}
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_jumpMenuGo(selName,targ,restore){ //v3.0
  var selObj = MM_findObj(selName); if (selObj) MM_jumpMenu(targ,selObj,restore);
}

function P7_Snap() { //v2.61 by PVII
  var x,y,ox,bx,oy,p,tx,a,b,k,d,da,e,el,args=P7_Snap.arguments;a=parseInt(a);
  for (k=0; k<(args.length-3); k+=4)
   if ((g=MM_findObj(args[k]))!=null) {
    el=eval(MM_findObj(args[k+1]));
    a=parseInt(args[k+2]);b=parseInt(args[k+3]);
    x=0;y=0;ox=0;oy=0;p="";tx=1;da="document.all['"+args[k]+"']";
    if(document.getElementById) {
     d="document.getElementsByName('"+args[k]+"')[0]";
     if(!eval(d)) {d="document.getElementById('"+args[k]+"')";if(!eval(d)) {d=da;}}
    }else if(document.all) {d=da;} 
    if (document.all || document.getElementById) {
     while (tx==1) {p+=".offsetParent";
      if(eval(d+p)) {x+=parseInt(eval(d+p+".offsetLeft"));y+=parseInt(eval(d+p+".offsetTop"));
      }else{tx=0;}}
     ox=parseInt(g.offsetLeft);oy=parseInt(g.offsetTop);var tw=x+ox+y+oy;
     if(tw==0 || (navigator.appVersion.indexOf("MSIE 4")>-1 && navigator.appVersion.indexOf("Mac")>-1)) {
      ox=0;oy=0;if(g.style.left){x=parseInt(g.style.left);y=parseInt(g.style.top);
      }else{var w1=parseInt(el.style.width);bx=(a<0)?-5-w1:-10;
      a=(Math.abs(a)<1000)?0:a;b=(Math.abs(b)<1000)?0:b;
      x=document.body.scrollLeft + event.clientX + bx;
      y=document.body.scrollTop + event.clientY;}}
   }else if (document.layers) {x=g.x;y=g.y;var q0=document.layers,dd="";
    for(var s=0;s<q0.length;s++) {dd='document.'+q0[s].name;
     if(eval(dd+'.document.'+args[k])) {x+=eval(dd+'.left');y+=eval(dd+'.top');break;}}}
   if(el) {e=(document.layers)?el:el.style;
   var xx=parseInt(x+ox+a),yy=parseInt(y+oy+b);
   if(navigator.appName=="Netscape" && parseInt(navigator.appVersion)>4){xx+="px";yy+="px";}
   if(navigator.appVersion.indexOf("MSIE 5")>-1 && navigator.appVersion.indexOf("Mac")>-1){
    xx+=parseInt(document.body.leftMargin);yy+=parseInt(document.body.topMargin);
    xx+="px";yy+="px";}e.left=xx;e.top=yy;}}
}

function P7_autoLayers() { //v1.2 by PVII
 var g,b,k,f,args=P7_autoLayers.arguments;
 var a = parseInt(args[0]);if(isNaN(a))a=0;
 if(!document.p7setc) {p7c=new Array();document.p7setc=true;
  for (var u=0;u<10;u++) {p7c[u] = new Array();}}
 for(k=0; k<p7c[a].length; k++) {
  if((g=MM_findObj(p7c[a][k]))!=null) {
   b=(document.layers)?g:g.style;b.visibility="hidden";}}
 for(k=1; k<args.length; k++) {
  if((g=MM_findObj(args[k])) != null) {
   b=(document.layers)?g:g.style;b.visibility="visible";f=false;
   for(j=0;j<p7c[a].length;j++) {
    if(args[k]==p7c[a][j]) {f=true;}}
  if(!f) {p7c[a][p7c[a].length++]=args[k];}}}
}
function getElementLeft(aElement) {
	var tValue = 0;
	var tObj = MM_findObj(aElement)
	if (tObj.offsetParent) {
		while (tObj.offsetParent) {
  			tValue += tObj.offsetLeft;
  			tObj = tObj.offsetParent;
  		}
	} else if (tObj.x) {
		tValue += tObj.x;
	}
	return tValue;
}

function getElementTop(aElement) {
	var tValue = 0;
	var tObj = MM_findObj(aElement)
	if (tObj.offsetParent) {
		while (tObj.offsetParent) {
  			tValue += tObj.offsetTop;
  			tObj = tObj.offsetParent;
  		}
	} else if (tObj.x) {
		tValue += tObj.y;
	}
	return tValue;
}
function getDocScrollWidth() {
	var tPos = 0;
	if (window.innerHeight) {
  		tPos = window.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollWidth) {
		tPos = document.documentElement.scrollWidth;
	} else if (document.body) {
		tPos = document.body.scrollWidth;
	}
	return tPos;
}
function getDocScrollXPos() {
	var tPos = 0;
	if (window.innerHeight) {
  		tPos = window.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollLeft) {
		tPos = document.documentElement.scrollLeft;
	} else if (document.body) {
		tPos = document.body.scrollLeft;
	}
	return tPos;
}
function getDocScrollYPos() {
	var tPos = 0;
	if (window.innerHeight) {
  		tPos = window.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop) {
		tPos = document.documentElement.scrollTop;
	} else if (document.body) {
		tPos = document.body.scrollTop;
	}
	return tPos;
}
function getDocScrollHeight() {
	var tPos = 0;
	if (window.innerHeight) {
  		tPos = window.pageXOffset;
	} else if (document.documentElement && document.documentElement.scrollHeight) {
		tPos = document.documentElement.scrollHeight;
	} else if (document.body) {
		tPos = document.body.scrollHeight;
	}
	return tPos;
}

//----------------------------------------------------------------------------------------------
// doCustomFormLoad	- function to prepopulate all the elements in any custom form on the page
//----------------------------------------------------------------------------------------------
function doCustomFormLoad() {
	for (var a = 0; a < document.forms.length; a++) {
		var tForm = document.forms[a];
		
		for (var b = 0; b < tForm.elements.length; b++) {
			var tElement = tForm.elements[b];
			if (tElement.type == "hidden" && tElement.name.indexOf("_control_nosubmit_") == 0) {
				for (var c = 0; c < tForm.elements.length; c++) {
					var tElement = tForm.elements[c];
					if (tElement.type == "submit") {
						tElement.disabled = true
					}
				}
			}
			// loop thru all the previously saved values for this user, and see if they match any other field in the system
			if (tElement.type == "hidden" && tElement.name.indexOf("_systcust_") == 0) {
				var tDestElementName = tElement.name.slice("_systcust_".length);
				//remove the prefix
				var tTestSystemName = tDestElementName.slice(tDestElementName.indexOf("_")+1)		
				//alert(tTestSystemName +":"+IsSystemField(tTestSystemName))
				
				if (tDestElementName!=tTestSystemName && IsSystemField(tTestSystemName)) {
					var tDestElement = eval("tForm." + tTestSystemName);
				} else if (IsSystemField(tDestElementName)) {
					var tDestElement = eval("tForm._system_" + tDestElementName);
				} else {
					var tDestElement = eval("tForm." + tDestElementName);
				}
				// if the saved value matches some form element in this page, try to push the value into the form element
				if (typeof(tDestElement) != "undefined") {					
					switch (tDestElement.type) {
						case "submit":
							// do nothing
						break;
						// single checkbox
						case "checkbox":
							// this 'split' way catches mutiple checkbox values having been saved against a single element name, 
							// but less (only one?) being shown...
							var tValues = tElement.value.split(", ");
							for (var c = 0; c < tValues.length; c++) {
								if (tDestElement.value == tValues[c]) {
									tDestElement.checked = true;
								}
							}
							// write out an accompanying element to the page
							var tNewElement=document.createElement('input');
							tNewElement.setAttribute("type", "hidden");
							tNewElement.setAttribute("name", "_checkboxvalidator_" + tDestElement.name);
							tNewElement.setAttribute("value", tElement.value);
							tForm.appendChild(tNewElement);
						break;
						case "password":
						case "text":
						case "textarea":
						case "hidden":
							tDestElement.value = tElement.value;
						break;
						case "select-one":
							for (var c = 0; c < tDestElement.length; c ++ ) {
								if (tDestElement[c].value == tElement.value) {
									tDestElement[c].selected = true;
								}
							}
						break;
						case "select-multiple":
							var tValues = tElement.value.split(", ");
							for (var c = 0; c < tValues.length; c++) {
								for (var d = 0; d < tDestElement.length; d++ ) {
									if (tDestElement[d].value == tValues[c]) {
										tDestElement[d].selected = true;
									}
								}
							}
						break;
						// single radio button selector
						case "radio":
							// this 'split' way catches mutiple checkbox values having been saved against a single element name, 
							// but less (only one?) being shown...
							var tValues = tElement.value.split(", ");
							for (var c = 0; c < tValues.length; c++) {
								if (tDestElement.value == tValues[c]) {
									tDestElement.checked = true;
								}
							}
						break;
						default:
							// test if its a radio button array
							if (typeof(tDestElement.length) != "undefined" && tDestElement.length > 0) {
								// loop thru the elements, testing if they were set or not
								for (var g = 0; g < tDestElement.length; g++) {
									// if its an array of checkboxes
									if (tDestElement[g].type == "checkbox") {
										var tValues = tElement.value.split(", ");
										for (var c = 0; c < tValues.length; c++) {
											if (tValues[c] == tDestElement[g].value) {
												tDestElement[g].checked = true;
											}
										}
									// else its an array of radio buttons, check the appropriate radio
									} else {
										if (tDestElement[g].value == tElement.value) {
											tDestElement[g].checked = true;
										}
									}
								}
							} else {
								alert("Warning: untested element type: " + tDestElement.type + ". Please contact your administrator.");
							}
						break;
					}
				}
			}
		}
	}
}

function openWindow(URL) {
	window.open(URL,'new1','width=800,height=600,status=yes,menybar=yes,location=yes,resizable=yes')
}

//------------------------------------------------------------------------------------------------
// IsSystemField - returns if a param word is a reserved system field
//------------------------------------------------------------------------------------------------
function IsSystemField ( aField ) {
	var blnSystem = false;
	var field = aField.toLowerCase()
	switch ( field ) {
		case "username":
		case "password":
		case "email":
		case "firstname":
		case "lastname":
		case "telephone":
		case "mobile":
		case "fax":
		case "address":
		case "suburb":
		case "town":
		case "postcode":
		case "chatname":
		case "name":
		case "abn":
		case "description":
		case "tradingname":
			blnSystem = true;
		break;
		default:
			// nothing, not registered as a reserved word
		break;
	}
	return blnSystem;
}
//-->