//--------------------------------------------------------------------------------
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_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_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];}
}
//--------------------------------------------------------------------------------


//---------------------- Start Form Validation ----------------------------------
function ValidateForm(frm) {
	var msg = "";
	switch(frm.name) {
		case "frm_contact":
			if(!trim(frm.fname.value))			{ msg += "First Name\n"; }
			if(!trim(frm.lname.value))			{ msg += "Last Name\n"; }
			if(!trim(frm.email.value))			{ msg += "E-mail\n"; }
			break;
	}
	if(msg) {
		msg = "The following fields must not be blank:\n"+msg;
		alert(msg);
		return false;
	}
}
//---------------------- End Form Validation ----------------------------------

//--------------------- Start Phone and Fax Validation ----------------------
function ValidatePhoneFax(frmObj) {
	var regNotPhone=/[^- +#.,\/(0-9)]/gi;
	var tmpStr=frmObj.value;
	if(tmpStr.match(regNotPhone)) {
		frmObj.value=tmpStr.replace(regNotPhone,"");
	}
}
//--------------------- End Phone and Fax Validation ----------------------

//------------------------ Start Email Validation ---------------------------
function ValidateEmail(frmObj) {
	var regEmail=/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi;
	frmObj.value = frmObj.value.toLowerCase();
	if(trim(frmObj.value)){
		if(!regEmail.test(frmObj.value)) {
			alert("Sorry, invalid email address format.");
			frmObj.value = "";
			frmObj.select();
			frmObj.focus();
		}
	} else { frmObj.value = ""; }
}
//------------------------ End Email Validation ---------------------------

//-------------------- Start trim() function --------------------------------
function trim(value) {
   var temp = value;
   var obj = /^(\s*)([\W\w]*)(\b\s*$)/;
   if (obj.test(temp)) { temp = temp.replace(obj, '$2'); }
   var obj = / +/g;
   temp = temp.replace(obj, " ");
   if (temp == " ") { temp = ""; }
   return temp;
}
//-------------------- End trim() function --------------------------------

//uppercase/lowercase text value
function LowerCase(frmObj){
	frmObj.value = frmObj.value.toLowerCase();
}	
function UpperCase(frmObj){
	frmObj.value = frmObj.value.toUpperCase();
}	
function ProperCase(frmObj) {
	var index;
	var tmpStr;
	var tmpChar;
	var preString;
	var postString;
	var strlen;

	tmpStr = trim(frmObj.value.toLowerCase());
	strLen = tmpStr.length;

	if (strLen > 0)  {
		for (index = 0; index < strLen; index++)  {
			if (index == 0)  {
				tmpChar = tmpStr.substring(0,1).toUpperCase();
				postString = tmpStr.substring(1,strLen);
				tmpStr = tmpChar + postString;
			} else {
				tmpChar = tmpStr.substring(index, index+1);
				if ((tmpChar == " " || tmpChar == "-") && index < (strLen-1))  {
					tmpChar = tmpStr.substring(index+1, index+2).toUpperCase();
					preString = tmpStr.substring(0, index+1);
					postString = tmpStr.substring(index+2,strLen);
					tmpStr = preString + tmpChar + postString;
	         	}
	      	}
	   }
	}
	frmObj.value = tmpStr;
}
