function rollover(imageid, imageurl)
{
  if (document.images)
  {
    document[imageid].src = imageurl;
  }
}

function loadimage(imageurl)
{
  if (document.images)
  {
    newimage = new Image();
    newimage.src = imageurl;
    return newimage;
  }
}

function preloadimages()
{
  if (document.images)
  {
    vpfx_ind_bubble = loadimage("images/vpfx_navselect.gif");
  }
}

function mkinputrow(msg, input)
{
 document.write('<tr><td align="right">' + msg + '</td><td align="left">' + input + '</td></tr>');
}

function leftmenuhelp( helpmsg )
{
	if ( helpmsg == '' ) {
		//writeLayer("menuhelp", menuhelpdefault);
		writeLayer("leftmenuhelpbox", '&nbsp;');
	} else {
		writeLayer("leftmenuhelpbox", helpmsg);
	}
}

/**********************************************************************************************

function name: menuhelp(helpmsg)
	determines help msg to display than dynamically writes the help msg to the 'menuhelp' layer
**********************************************************************************************/
function menuhelp( helpmsg )
{
	if ( helpmsg == '' ) {
		//writeLayer("menuhelp", menuhelpdefault);
		//alert('helpmsg is null');
		writeLayer("helpbox", '&nbsp;');
	} else {
		writeLayer("helpbox", helpmsg);
	}
}

/*============================================================================

 ERROR HANDLING FUNCTIONS

============================================================================*/

var errorflag;

// this function dynamically changes the text of an element
// layerID must be a
function writeLayer(layerID,txt)
{
	// w3c dom compliant (ns6, ie6)
	//if (document.body.getAttributeNode)
	//{
	//	alert('thank you for using a w3c dom compliant browser.');
  //  node = document.getElementById(layerID);
  //  var newRange = document.createRange();
  //  newRange.selectNodeContents(node);
  //  newRange.deleteContents();
  //  var newHTML = newRange.createContextualFragment(txtHTML);
  //  node.appendChild(newHTML);
	//}

	// ns6, ie5 compliant
	if (document.getElementById)
	{
		//alert('ns6, ie5 browser.');
		CONTAINER = (document.getElementById(layerID)?true:false);

		if ( CONTAINER ) {
			//alert('inside container.');
    	document.getElementById(layerID).innerHTML=txt;
		} else {
			return false;
		}
	}
	// ie compliant
	else if (document.all)
	{
		//alert('ie browser.');
		CONTAINER = (document.all[layerID]?true:false);

		if ( CONTAINER ) {
    	document.all[layerID].innerHTML=txt;
		} else {
			return false;
		}
	}
	// ns4 compliant
	else if (document.layers)
	{
		//alert('ns4 browser.');
		CONTAINER = (document.layers['NS_' + layerID]?true:false);

		if ( CONTAINER ) {
    	with(document.layers['NS_' + layerID].document)
			{
      	open();
      	write(txt);
      	close();
    	} // end with
		} else { // end if
			return false;
		} // end else
  } // end if

}

// uses the writelayer function to dynamically output an error message to the browser
// detects ns4 because ns4 will look the the layer tag as oppsed to the div tag
//
// a <span ID="errormsg" class="error"></span>
// tag must be present on the page for anything to happen
function error( errmsg, item )
{

	if ( !item ) {
		writeLayer("errmsg",errmsg);
	} else {
		var errhandler = 'err' + item.name;
		writeLayer(errhandler, errmsg);
	}

}

function errorbylayer( errmsg, layerID )
{

	if ( !layerID ) {
		writeLayer("errmsg",errmsg);
	} else {
		var errhandler = 'err' + layerID;
		writeLayer(errhandler, errmsg);
	}


}

function highlighterrobj(item)
{
	item.setAttribute("class","inputerror");
	item.className='inputerror';
}

function unhighlighterrobj(item)
{
	if (item) {
	item.setAttribute("class","formtext")
	item.className='formtext';
	var errhandler = 'err' + item.name;
	writeLayer(errhandler,'');
	}
	else {
		writeLayer("errmsg", '');
	}
}

function valnull( item )
{
	if (item.value == '') {
		return false;
  } else {
		return true;
	}
}  // valnull

function valcallername( item )
{
	errorflag = false;

	if (!valnull(item)) {
		error('Your name is required for the caller field', item);
    errorflag = true;
	}

	if ( errorflag == true ) {
		highlighterrobj(item);
		return false;
	} else {
		unhighlighterrobj(item);
		return true;
	}

}

function valcompany( item )
{
	errorflag = false;

	if (!valnull(item)) {
		error('The company you represent is required for the company field', item);
    errorflag = true;
	}

	if ( errorflag == true ) {
		highlighterrobj(item);
		return false;
	} else {
		unhighlighterrobj(item);
		return true;
	}

}

function valminlen(item, minlen) {
	if ( item.value.length < minlen ) {
		return false;
	} else {
		return true;
	}
}

function valmaxlen( item, maxlen )
{
	if ( item.value.length > maxlen ) {
		return false;
	} else {
		return true;
	}
}  // valmaxlen

function valmatch( valueoriginal, valuematch )
{
  if ( valueoriginal.value != valuematch.value ) {
		return false;
	} else {
		return true;
	}
}  // valmatch

//function valemail( item )
//{
//  if (item.value.indexOf('@', 0) == -1 || item.value.indexOf('.', 0) == -1) {
//		return false;
//	} else {
//		return true;
//	}
//}  // valemail

function valemail( item ) {
    if (item.value.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
        return true;
    else
        return false;
}

function isProper(string) {
    if (string.search(/^\w+( \w+)?$/) != -1)
        return true;
    else
        return false;
}
/**********************************************************************************************

function name: trim(trimdate)
	trims any whitespace from trimdata

**********************************************************************************************/
function trim(trimdata) {
  var sTrimmed = String(trimdata);
  sTrimmed = sTrimmed.replace(/(^\s+)|(\s+$)/g, '');
  return sTrimmed;
}

/**********************************************************************************************

function name: valnull(item)
	returns false if item is null

**********************************************************************************************/
function valnull( item )
{
	if (item.value == '') {
		return false;
  } else {
		return true;
	}
}  // valnull

/**********************************************************************************************

function name: valminlen(item, minlen)
	returns false if item's length is less than minlen

**********************************************************************************************/
function valminlen(item, minlen) {
	if ( typeof(item) == 'object' ) {
    if ( item.value.length < minlen ) {
	    return false;
	  } else {
	    return true;
	  }
	} else {
    if ( item.length < minlen ) {
	    return false;
	  } else {
	    return true;
	  }
	}
}

/**********************************************************************************************

function name: valmaxlen(item, maxlen)
	returns false if item's length is more than maxlen

**********************************************************************************************/
function valmaxlen( item, maxlen )
{
	if ( typeof(item) == 'object' ) {
	  if ( item.value.length > maxlen ) {
		  return false;
	  } else {
		  return true;
	  }
	} else {
	  if ( item.length > maxlen ) {
		  return false;
	  } else {
		  return true;
	  }
	}
}  // valmaxlen

/**********************************************************************************************

function name: valint(item)
	returns false if item contains letters

**********************************************************************************************/
function valint( item ) {
	if ( typeof(item) == 'object' ) {
	  if ( item.value.search(/[a-zA-Z]/) != -1 ) {
		  return false;
	  } else {
		  return true;
	  }
	} else {
	  if ( item.search(/[a-zA-Z]/) != -1 ) {
		  return false;
	  } else {
		  return true;
	  }
	}
}

/**********************************************************************************************

function name: valmatch(valueoriginal, valuematch)
	returns false if valueoriginal doesnt equal valuematch

**********************************************************************************************/
function valmatch( valueoriginal, valuematch )
{
  if ( valueoriginal.value != valuematch.value ) {
		return false;
	} else {
		return true;
	}
}  // valmatch

function ShowPopup(url, w, h) {
  var popup = window.open(url, '','height=' + h + ',width=' + w + ',menubar=0,resizable=0,scrollbars=0,status=0,titlebar=0,toolbar=0,left=0,top=0');
  var x = parseInt(screen.width/2)-parseInt(w/2);
  var y = parseInt(screen.height/2)-parseInt(h/2)
  popup.moveBy(x,y);
	popup.focus();
}

function ShowScrollPopup(url, w, h) {
  var popup = window.open(url, '','height=' + h + ',width=' + w + ',menubar=0,resizable=1,scrollbars=1,status=0,titlebar=0,toolbar=0,left=0,top=0');
  var x = parseInt(screen.width/2)-parseInt(w/2);
  var y = parseInt(screen.height/2)-parseInt(h/2)
  popup.moveBy(x,y);
	popup.focus();
}

