if 	(document.getElementById)	var DOMS = 3	// Supports Web Standard (getElementById)
else if	(document.all)		 	var DOMS = 2	// Supports MS document.all
else if	(document.layers)	 	var DOMS = 1	// Supports NS layers
else				 	var DOMS = 0;	// No DOM gateway support

// Return DOM Handle for specified DOM object ID
function getObj(oid) {
  switch(DOMS) {					// Check for various browsers
    case 1: return(document[oid]);			// Supports Layers (NS4)
    case 2: return(document.all[oid]);			// Supports document.all (ie4)
    case 3: return( ((document.getElementById(oid))?document.getElementById(oid):'') );	// Supports getElementById
  }
}

// Reset input field color when changed
function fldReset() { this.style.backgroundColor=''; this.style.borderColor='#bbbbbb'; }

// display error message, color error field, set 
function setErm(f,m) {
  alert(m);
  f.onchange = fldReset;
  f.style.backgroundColor="#ff9"; 
  f.style.borderColor="#f00"; 
  f.focus(); 
  return false;
}

// Check common address and contact information on contact forms
function chkContact(s) {
   if (s.Name.value=='')		return setErm(s['Name'],		'You must enter your name to continue.');
   if (s.Address1.value=='')		return setErm(s['Address1'],		'You must enter your street address to continue.');
   if (s.City.value=='')		return setErm(s['City'],		'You must enter your city to continue.');
   if (s.State.value=='')		return setErm(s['State'],		'You must enter your State to continue.');
   if (s.ZipCode.value=='')		return setErm(s['ZipCode'],		'You must enter your ZipCode to continue.');
   if (s.Telephone.value=='')		return setErm(s['Telephone'],		'You must enter your daytime phone number to continue.');
   if (s['MM_EMAILTO[]'][1].value=='')	return setErm(s['MM_EMAILTO[]'][1],	'You must enter your email address to continue.');
   s.Email.value = s['MM_EMAILTO[]'][1].value;
   return true;
}

// Check mailto form field(s) for required input, When a field is found with missing input,
// alert user, set field pink, and set focus to it.
function chkCatorder(s) {
   if (!(chkContact(s))) return false;
   if (s.Quantity.value=='')		return setErm(s['Quantity'],		'You must enter the number of catalogs you desire to continue.');
   if (s.Quantity.value>5) {
      s.Quantity.value = 5;
      return setErm(s['Quantity'],		'A maximum of 5 copies may be ordered.');
   }
   return true;
}

// Set DOM object visibility:  obj = DOM object handle;  s = visibility option
function setBor(obj,bs,bc) {
  switch(DOMS) {
    case 0:  break;									// no DOM
//  case 1:  obj.borderColor = bc;		obj.borderStyle = bs;		break;	// layers
    default: obj.style.borderColor = bc;	obj.style.borderStyle = bs;	break;	// IE4+ and NS6+
  }
}

function molnk(s,oid) {
  obj = getObj(oid);
  switch(s) {
    case 1:  setBor(obj,'outset','#00f'); break;
    case 2:  setBor(obj,'inset', '#00f'); break;
    default: setBor(obj,'solid', '#fff'); break;
  }
}