function addEvent(obj, evType, fn, useCapture){
	if (obj.addEventListener){
		obj.addEventListener(evType, fn, useCapture);
		return true;
	} else if (obj.attachEvent){
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	} else {
		alert("Handler could not be attached");
	}
} 

function moreFields(idrow, idins)
{
	var newFields = document.getElementById(idrow).cloneNode(true);
	newFields.id = ''; newFields.style.display = 'block';
	var insertHere = document.getElementById(idins);
	insertHere.parentNode.insertBefore(newFields,insertHere);
	return false;
};

function tableToggle(idtbl, link)
{
	document.getElementById(idtbl).style.display=(document.getElementById(idtbl).style.display=='none')?'block':'none';
	link.getElementsByTagName('span')[0].innerHTML=(link.getElementsByTagName('span')[0].innerHTML=='Show')?'Hide':'Show';
	return false;
};

function picToggle(idpic)
{
	document.getElementById(idpic).style.display=(document.getElementById(idpic).style.display=='none')?'block':'none';
	return false;
};

function enableColours(ex)
{
	document.getElementById('buycol').disabled=ex?false:true;
};



function wopen(url, name, w, h)
{
  // Fudge factors for window decoration space.
  // In my tests these work well on all platforms & browsers.
  w += 32;
  h += 96;
  wleft = (screen.width - w) / 2;
  wtop = (screen.height - h) / 2;
  var win = window.open(url,name,'width=' + w + ', height=' + h + ', ' + 'left=' + wleft + ', top=' + wtop + ', ' + 'location=no, menubar=no, ' + 'status=no, toolbar=no, scrollbars=yes, resizable=no');
  win.resizeTo(w, h);
  // Just in case left and top are ignored
  win.moveTo(wleft, wtop);
  win.focus();
}

function toggleLayer(whichLayer)
{
	if (document.getElementById)
	{
		// this is the way the standards work
		var style2 = document.getElementById(whichLayer).style;
		style2.display = style2.display? "":"block";
	}
	else if (document.all)
	{
		// this is the way old msie versions work
		var style2 = document.all[whichLayer].style;
		style2.display = style2.display? "":"block";
	}
	else if (document.layers)
	{
		// this is the way nn4 works
		var style2 = document.layers[whichLayer].style;
		style2.display = style2.display? "":"block";
	}
}