
function getDocHeight(doc) {
  var docHt = 0, sh, oh;
  if (doc.height) docHt = doc.height;
  else if (doc.body) {
    if (doc.body.scrollHeight) docHt = sh = doc.body.scrollHeight;
    if (doc.body.offsetHeight) docHt = oh = doc.body.offsetHeight;
    if (sh && oh) docHt = Math.max(sh, oh);
  }
  return docHt;
}

function setIframeHeight() {
  var iframeWin = window.frames[0];
  var iframeEl = document.getElementById('inset');
  if ( iframeEl && iframeWin ) {
    iframeEl.style.height = "auto"; // helps resize (for some) if new doc shorter than previous  
    var docHt = getDocHeight(iframeWin.document) + 30;
    // need to add to height to be sure it will all show
    if (docHt) iframeEl.style.height = docHt + "px";
  }
}

function setInset(pagecode, pageparm) {
	var sURL = pagecode;
	if (pageparm) 
		sURL += "?" + pageparm;
	document.getElementById('inset').src = sURL;
}

var level2nav = 0;
var level3nav = 0;
var oldtab = 2;

function navControl(level,navid,target,pageurl,parm) {
	
	if (level == 1) {
		if (document.getElementById("nav2_" + level2nav)) document.getElementById("nav2_" + level2nav).style.display = 'none';
		if (document.getElementById("nav3_" + level3nav)) document.getElementById("nav3_" + level3nav).style.display = 'none';
		if (document.getElementById("nav2_" + navid)) document.getElementById("nav2_" + navid).style.display = '';
		level2nav = navid;
		document.getElementById("tab_" + oldtab).className = "taboff";
		document.getElementById("tab_" + navid).className = "tabon";
		oldtab = navid;
	}
	if (level == 2) {
		if (document.getElementById("nav3_" + level3nav)) document.getElementById("nav3_" + level3nav).style.display = 'none';
		if (document.getElementById("nav3_" + navid)) document.getElementById("nav3_" + navid).style.display = '';
		level3nav = navid;
	}
	if (target == "frame") {
		if (parm)
			document.getElementById('inset').src = pageurl + "?" + parm;
		else
			document.getElementById('inset').src = pageurl;
	}
	if (target == "replace") {
		if (parm)
			window.location.href = pageurl + "?" + parm;
		else
			window.location.href = pageurl;
	}
	if (target == "new") {
		if (parm)
			window.open(pageurl + "?" + parm, "_blank");
		else
			window.open(pageurl, "_blank");
	}
}

function textLimit(infield,limit,dochandle) {
	var result = true;
	if (infield.value.length >= limit)
		result = false;
	dochandle.onkeypress = new Function('return ' + result + ';');
	return result;
}

function textTrim(infield,limit) {
	infield.value = infield.value.substring(0,limit);
}

function verifyPhone(source_fld) {
	// convert phone alphas to corresponding numbers
	re = /[abc]/gi;
	source_fld.value = source_fld.value.replace(re, "2");
	re = /[def]/gi;
	source_fld.value = source_fld.value.replace(re, "3");
	re = /[ghi]/gi;
	source_fld.value = source_fld.value.replace(re, "4");
	re = /[jkl]/gi;
	source_fld.value = source_fld.value.replace(re, "5");
	re = /[mno]/gi;
	source_fld.value = source_fld.value.replace(re, "6");
	re = /[prs]/gi;
	source_fld.value = source_fld.value.replace(re, "7");
	re = /[tuv]/gi;
	source_fld.value = source_fld.value.replace(re, "8");
	re = /[wxy]/gi;
	source_fld.value = source_fld.value.replace(re, "9");
	// get rid of other non-numerics
	re = /[^0-9]/gi;
	source_fld.value = source_fld.value.replace(re, "");
	// only verify if present
	if (!source_fld.value) {
		return true;
	}
	// append area code if required
	if (source_fld.value.length == 7) {
		source_fld.value = "908" + source_fld.value;
	}
	// drop the long distance 1
	if (source_fld.value.length == 11 && source_fld.value.substring(0,1) == "1") {
		source_fld.value = source_fld.value.substring(1,12);
	}
	// if not a full number, alert and set focus
	if (source_fld.value.length != 10) {
		alert("Improper phone number format, please correct.");
		source_fld.focus();
	}
	else {
		source_fld.value = source_fld.value.substring(0,3) + "-" + source_fld.value.substring(3,6) + "-" + source_fld.value.substring(6,10);
	}
}

function wDelete(TARGET) {
	if (window.confirm("Are you sure you want to delete this entry?")) {
		window.location.href = TARGET;
	}
}

function dateCheck(source_fld) {
	var in_month = new String();
	var in_day = new String();
	var in_year = new String();
	var newDate;
	var tempString;
	var errflag = 0;
	if (!source_fld.value)
		return true;
	var date_pieces = new Array();
	date_pieces = source_fld.value.split("/");
	if (date_pieces.length != 3)
		errflag = 1;
	else {
		in_month = parseInt(date_pieces[0],10);
		in_day = parseInt(date_pieces[1],10);
		in_year = parseInt(date_pieces[2],10);
		if ( (isNaN(in_month)) || (isNaN(in_day)) || (isNaN(in_year)) )
			errflag = 2;
		else {
			if (in_year < 100)
				if (in_year < 30)
					in_year = in_year + 2000;
				else
					in_year = in_year + 1900;
			if ( (in_month < 1) || (in_month > 12) || (in_day < 1) )
				errflag = 3;
			else if (((in_month == 1) || (in_month == 3) || (in_month == 5) || (in_month == 7) || (in_month == 8) || (in_month == 10) || (in_month == 12)) && (in_day>31))
				errflag = 4;
			else if (((in_month == 4) || (in_month == 6) || (in_month == 9) || (in_month == 11)) && (in_day>30))
				errflag = 5;
			else if ((in_month == 2) && (in_day > 29))
				errflag = 6;
		}
	}
	if (errflag > 0) {
		alert("Error: Please enter a valid date using MM/DD/YYYY or MM/DD/YY format.");
		source_fld.focus();
		return false;
	}
	else {
		var sMonth = in_month.toString();
		var sDay = in_day.toString();
		if (sMonth.length == 1 ) { //Make d day dd
  			 sMonth = '0' + sMonth;  
		}

		if ( sDay.length == 1 ) {//Make m month mm
			sDay = '0' + sDay;   
		}
		
     	source_fld.value = sMonth+'/'+sDay+'/'+in_year;
		return true;
	}
} 

function numberCheck(field1,type) {
	var in_field;
	if (!field1.value)
		return;
	in_field = parseFloat(field1.value);
	if (isNaN(in_field)) {
		alert("Invalid entry, please re-enter.");
		field1.focus();
		field1.select();
	}
	else {
		if ((field1.value != in_field) || (in_field < 0)) {
			alert("Error: Please enter a valid number.");
			field1.focus();
			field1.select();
		}
		else {
			if (type == "int")
				in_field = Math.round(in_field);
			field1.value = in_field;
		}
	}
}

// function used to open the link selector window			
function openFileSelect(fileType, formName, fieldName){
	// open the selector window
	window.open('link_manager.php?reqtype=' + fileType + '&form=' + formName + '&cntrl=' + fieldName, 'FileSelect', 'status=yes,toolbar=no,menubar=no,location=no,scrollbars=no,resizable=no,width=650,height=425');
}
