<!--
//--------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------
//general variables ********************************************************
var glbErrorMsg = '';

var ErrorBGColor = '#ff8080';
var GoodBGColor = '#ffffff';

//detect browser ********************************************************
var browser_type = navigator.appName
var browser_version = parseInt(navigator.appVersion)

//IE 4
var IE4 = (browser_type == "Microsoft Internet Explorer" && navigator.appVersion.indexOf("MSIE 4") != -1 ) ? true : false;
//IE 5
var IE5 = (browser_type == "Microsoft Internet Explorer" && navigator.appVersion.indexOf("MSIE 5") != -1 ) ? true : false;
//IE 6
var IE6 = (browser_type == "Microsoft Internet Explorer" && navigator.appVersion.indexOf("MSIE 6") != -1 ) ? true : false;

//NS4+
var NS4 = (browser_type == "Netscape" && browser_version <= 4) ? true: false;
//NS 6
var NS6 = (browser_type == "Netscape" && browser_version >= 5) ? true : false;

//Apple Safari
var Safari = (navigator.appVersion.indexOf("Safari") != -1) ? true : false;

//Windows OS
var WinOS = (navigator.appVersion.indexOf("Windows") != -1) ? true : false;
//Apple OS
var AppleOS = (navigator.appVersion.indexOf("Mac") != -1) ? true : false;

//regular expression ******************************************************
//|^$

var EmailRE = "^.+@.+\\.\\w{2,3}$|^$" //email address blanks ok
var EmailREreq = "^.+@.+\\.\\w{2,3}$" //email address no blanks
var EmailRE2 = "^[^@ ]+@\.[^@ \.]+$"

var ZipRE = "^\\d{5}$|^$" //zip code blanks ok 5 format
var ZipREreq = "^\\d{5}$" //zip code no blanks 5 format

var ZipRE2 = "^\\d{5}[(\\-\\d{4})]$|^$" //zip code blanks ok 5-4 format
var ZipRE2req = "^\\d{5}[(\\-\\d{4})]$" //zip code no blanks 5-4 format

var StateRE = "^\\w{2}$|^$" //state blanks ok
var StateREreq = "^\\w{2}$" //state no blanks

var PhoneRE = "^\\d{3}\\W\\d{3}\\W\\d{4}$|^$" //phone blanks ok
var PhoneREreq = "^\\d{3}\\W\\d{3}\\W\\d{4}$" //phone no blanks

var FaxRE = "^\\d{3}\\W\\d{3}\\W\\d{4}$|^$" //fax blanks ok
var FaxREreq = "^\\d{3}\\W\\d{3}\\W\\d{4}$" //fax no blanks

var NumberRE = "^\\d+$|^\\d{0,}\\.\\d+$|^\\d+\\.\\d{0,}$|^\\.\\d+$|^$"

var WordRE = "^\\w+|^$"
var WordREreq = "^\\w+|"

var WhiteSpaceStartRE = "^\\s*"
var WhiteSpaceEndRE = "\\s*$"
//--------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------
//replace a pattern match in a string ********************************************************
function replaceRE(REStrv, strv, strNewValv, flagsv)
{
	if(flagsv)
	{
		var REv = new RegExp(REStrv, flagsv);
	}
	else
	{
		var REv = new RegExp(REStrv);
	}

	var str1v = strv.replace(REv, strNewValv);

	strv = str1v;

	return strv;
}
//--------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------
//test a string for a pattern ********************************************************
function testRE(REStrv,strv,flagsv)
{
	if(flagsv)
	{
		REv = new RegExp(REStrv, flagsv);
	}
	else
	{
		REv = new RegExp(REStrv);
	}

	if(REv.test(strv) == true)
	{
		return true;
	}
	else
	{
		return false;
	}
}
//--------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------
//test to see if a field matches a pattern
function chkPattern(fldName,fldPattern,fldMin,fldMax)
{
	var objField = document.getElementById(fldName);
	var objField2 = document.getElementById(fldName + 'Hid');
	var objFieldValue = objField.value;

	objFieldValue = replaceRE(WhiteSpaceStartRE, objFieldValue, ''); //remove white space from the beginning
	objFieldValue = replaceRE(WhiteSpaceEndRE, objFieldValue, ''); //remove white space from the end

	if(testRE(fldPattern,objFieldValue) && objFieldValue.length >= fldMin && objFieldValue.length <= fldMax)
	{
		objField.style.backgroundColor = GoodBGColor;
		objField2.value = 'true|false';
	}
	else
	{
		objField.style.backgroundColor = ErrorBGColor;
		objField2.value = 'false|true';
	}
}
//--------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------
//open a child window ********************************************************
function openWin(vUrl,vWidth,vHeight)
{
	pop = window.open(vUrl, "pop", "width=" + vWidth + ",height=" + vHeight + ",menubar=no,location=no,toolbar=no,scrollbars=yes");
	pop.focus();
}
//--------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------
//center the child window, call from the child window onload ***************************************
function centerWindow(vWidth,vHeight)
{
// get users screen resolution
	screenWidth = parseInt(screen.width);
	screenHeight = parseInt(screen.height);
	winWidth = parseInt(vWidth)
	winHeight = parseInt(vHeight)

// find center of screen
	newWinLeft = parseInt((screenWidth * .5) - parseInt(winWidth * .5));
	newWinTop = parseInt((screenHeight * .5) - parseInt(winHeight * .5));

// move window to the center of the screen
	window.moveTo(parseInt(newWinLeft),parseInt(newWinTop));
}
//--------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------
//preload images
//onload="MM_preloadImages('./img/clr.gif','./img/picture.gif')"

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.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_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];}
}
//--------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------
// --> 