// JavaScript Document
function alrt_msg(entry,low,high,prompt) {
 prompt="You couldn't know. "+prompt 
 +" entry has unacceptable stuff: "+entry.value;
 var scratch=entry.value;
 for (var i=0;i<scratch.length;i++) {
  var letter=scratch.substring(i,i+1);
  if ((letter<"0" || "9"<letter) && letter!='.') {
   alert(prompt);
   return false;
   }
    }
 var errtst=parseFloat(scratch)
 if (errtst<low || high<errtst) {
  alert("I'm sorry. "+prompt+ " is not in the range"
  +" from "+low+" to "+high+"!");
  return false;
  }
 entry.value=scratch;
 return true;
 }
	
function computeForm(form) {
 if ((mort.months.value==null || mort.months.value.length==0) ||
    (mort.rate.value==null || mort.rate.value.length==0) ||
    (mort.financed.value == null || mort.financed.value.length==0)) {
   return;
   }
 if (!alrt_msg(mort.months,1,480,"Your Number of Payments") ||
    !alrt_msg(mort.rate,.001,99,"Your Interest Rate") ||
    !alrt_msg(mort.financed,100,10000000,"Your Principal Amount")) {
   mort.payment.value="A value out of range - Click Reset";
   return;
    }
 var i=mort.rate.value;
 ffv=0;
 ffv+=mort.financed.value;
 fmv=0;
 fmv+=mort.months.value;
 if (i >= 1) {
	 // Hack to mostly correct floating point/binary conversion error
	  i=(i/100.0)+.00001;
	  var fmt="";
	  fmt+=i;
	  fmt=fmt.substring(0,6)
	  mort.rate.value=fmt;
  }
 i/=12;
 var isn=1;
 for (var j=0;j<mort.months.value;j++)
  isn=isn*(1+i);
  mort.payment.value=(mort.financed.value*isn*i)/(isn-1);
  fpv=0;
  fpv+=mort.payment.value;
  var fmt="";
  var add=9;
  fmt+=mort.payment.value;
  for (var i=0;i<fmt.length;i++) {
   if (fmt.charAt(i)==".") {
    add=i+3;
    i=fmt.length;
    }
   }
  fmt=fmt.substring(0,add);
  fcalc=((fmv*fpv)-ffv);
  var fmtb="";
  var add=9;
  fmtb+=fcalc;
  for (var i=0;i<fmtb.length;i++) {
   if (fmtb.charAt(i)==".") {
    add=i+3;
    i=fmtb.length;
    }
   }
  fmtb=fmtb.substring(0,add);
  mort.payment.value="   $" +fmt;
 }

function SetCommas(num) {
   if(typeof(num)=="undefined")
      num = new String("0");
   else
      num = new String(num);

   var offset = num.indexOf(".");
   var comNum = new String("");
   var c=0;
   var i;

   if(offset > 0 && offset != -1) {
      num = num.substring(0, offset);
      } 

   for(i=num.length; 0<=i; i--) {
      comNum = num.charAt(i)+comNum;

      if (c==3 && i!=0) {
         c=0;
         comNum = ","+comNum;
         }
      c++;
      }
   return(comNum);
   }
   
function writeCommas(num) {
   document.write(SetCommas(num));
   }
//-->
function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
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];}
}
<!-- // alleviates javascript impairment
function validatecontactform(){
	var msg;
    var err;
    err = 0;
    msg = "";
    // verifies there is something in the text field
    var ff = {"FirstName":"Please enter your first name\n",
	      "LastName":"Please enter your last name\n",
	      "EmailAddress":"Please enter your email address in the format x@x.xxx \n"
	};	
	for(var word in ff){
		var foo = document.getElementById(word).value;	
		if(foo.length<=0){
		msg = msg + ff[word];
		err = 1;
		}
	}
	if(err){
		msg = msg + "thank you!\n";
		alert(msg);
		return false;
	}else{
		alert("Your Request has been sent, Thank you for your interest!");
		return true;
	}
	return false;
}
function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
function checkfindusername(){
	if(Main.finduser.value != 'Find'){
		Main.finduser.value = 'Find';
	}
}

function locateschool(obj,schoolname){
	thisobj = document.getElementById(obj);
	var len = thisobj.length;
	var seli = thisobj.selectedIndex;
	schoolname = schoolname.toLowerCase();
	seli = 0;
	var tmpname = thisobj.options[0].value;
	for(x=seli;x<len;x++){
		var tmpname = thisobj.options[x].value;
		tmpname = tmpname.toLowerCase()
		if(tmpname.indexOf(schoolname) == 0){
				thisobj.options[x].selected = true;
				return true
			}
	}
}
// stolen from maskedinput

function maskInput(strInput, strMask) {
	var strMasked, strTmp, LenStr, LenMsk, blnReverse;
	strMasked = '';
	LenStr = strInput.length;
	LenMsk = strMask.length;

	if (LenStr==0) return('');
	if (LenMsk==0) return(strInput);

	if (LenMsk>1) {
		if ((strMask.charAt(LenMsk)=='\\') && (strMask.charAt(LenMsk-1)!='\\')) strMask = strMask.substring(0, LenMsk-1);
	}

	blnReverse = false;
	if (strMask.charAt(0) == '~') {							
		if (LenMsk==1) return(strInput);
		strMask = strMask.substring(1, LenMsk);
		LenMsk = strMask.length;
		if (LenStr > LenMsk) return(strInput.substring(0, LenMsk));
		strMask = reverseString(strMask);
		strInput = reverseString(strInput);
		blnReverse = true;
	} else if (strMask.charAt(0) == '^') {					
		if (LenMsk==1) return(strInput);					
		strMasked = '';
		for (i=0; i<LenStr; i++) {
			strMasked = strMasked + strMask.charAt(1);
		}
		return(strMasked);
	} else if (strMask.charAt(0) == '*') {					
		if (LenMsk==1) return(strInput);					
		var multiChar, i;
		multiChar = strMask.charAt(1);
		if (!isMaskChar(multiChar)) return(strInput);
		strMask = ''
		for (i=0; i<=LenStr; i++) {
			strMask = strMask + multiChar;
		}
		LenMsk = strMask.length;
	} else if (strMask.charAt(0) == '@') {					
		if (LenMsk==1) return(strInput);					
		var zeroNum, i;
		zeroNum = strMask.substring(1, LenMsk);
		if (isNaN(zeroNum)) return(strInput);
		strMask = '';
		var i;
		for (i=0; i<zeroNum; i++) {
			strMask = strMask + '9';
		}
		for (i=0; i<LenStr; i++) {
			if (isNumberChar(strInput.charAt(i))) strMasked = strMasked + strInput.charAt(i);
		}
		i=0;
		while (strMasked.charAt(i)=='0') i++;
		if (i>0) strMasked = strMasked.substring(i, LenStr);
		strMasked = strMasked.substring(0, zeroNum);
		LenStr = strMasked.length;
		if (LenStr<zeroNum) {
			for (i=LenStr; i<zeroNum; i++) strMasked = '0' + strMasked;
		}
		return(strMasked);
	}
	var MskOffset, Count, SubStr, Mask, newChar, newCharLen;
	MskOffset = 0;
	for (Count=0; Count<LenStr; Count++) {
		SubStr = strInput.charAt(Count);
		if (MskOffset<LenMsk) {
			newChar = '';
			Mask = strMask.substring(MskOffset, LenMsk);
			newChar = checkMask(Mask, SubStr);
			newCharLen = newChar.length;
			if (newCharLen!=0) strMasked = strMasked + newChar;
			if (Mask.charAt(0)=='\\') MskOffset++;
			MskOffset = MskOffset + newCharLen;
		}
	}
	if (blnReverse) return(reverseString(strMasked));
	return(strMasked);
}

function unMaskInput(strMaskedInput, strUnMask) {

	var strUnMasked, LenStr, LenMsk, blnReverse;

	strUnMasked = '';
	LenStr = strMaskedInput.length;
	LenMsk = strUnMask.length;

	if (LenStr==0) return('');
	if (LenMsk==0) return(strMaskedInput);

	if (LenMsk>1) {
		if ((strUnMask.charAt(LenMsk)=='\\') && (strUnMask.charAt(LenMsk-1)!='\\')) strUnMask = strUnMask.substring(0, LenMsk-1);
	}
	if (strUnMask.charAt(0) == '~') {						
		if (LenMsk==1) return(strMaskedInput);
		strUnMask = strUnMask.substring(1, LenMsk);
		LenMsk = strUnMask.length;
		if (LenStr > LenMsk) return(strMaskedInput.substring(0, LenMsk));
		strUnMask = reverseString(strUnMask);
		strMaskedInput = reverseString(strMaskedInput);
		blnReverse = true;
	} else if (strUnMask.charAt(0) == '^') {				
		return(strMaskedInput);								
	} else if (strUnMask.charAt(0) == '*') {				
		if (LenMsk==1) return(strMaskedInput);				
		var multiChar;
		multiChar = strUnMask.charAt(1);
		if (!isMaskChar(multiChar)) return(strMaskedInput);
		strUnMask = '';
		var i;
		for (i=0; i<LenStr; i++) {
			strUnMask = strUnMask + multiChar;
		}
		LenMsk = strUnMask.length;
	} else if (strUnMask.charAt(0) == '@') {				
		var i;												
		i=0;
		while (strMaskedInput.charAt(i)=='0') i++;
		strUnMasked = strMaskedInput.substring(i, LenStr);
		return(strUnMasked);
	}
	var MskOffset, Count, SubStr;
	MskOffset = 0;
	for (Count=0; Count<LenStr; Count++) {
		SubStr = strMaskedInput.charAt(Count);
		if (MskOffset<LenMsk) {
			if (isMaskChar(strUnMask.charAt(MskOffset))) {
				strUnMasked = strUnMasked + SubStr;
				MskOffset++;
			} else if (strUnMask.charAt(MskOffset++)=='\\') MskOffset++;
		}
	}
	if (blnReverse) return(reverseString(strUnMasked));
	return(strUnMasked);
}

function checkMask(strCheckMask, strInpChar) {
	var strOut;

	strOut = strCheckMask.charAt(0);
	switch (strOut) {
		case '\\':
			strOut = strCheckMask.charAt(1);
			if (strOut!='\\') {
				if ((strCheckMask.length>2) && (strOut!=strInpChar)) {
					strOut = strOut + checkMask(strCheckMask.substring(2, strCheckMask.length), strInpChar);
				}
			} else {
				if ((strCheckMask.length>3) && (strOut!=strInpChar)) {
					strOut = '\\' + checkMask(strCheckMask.substring(3, strCheckMask.length), strInpChar);
				}
			}
			return(strOut);
			brake;
		case '#':		// Numeric: ".,-1234567890"
			if (isNumericChar(strInpChar)) return(strInpChar);
			return('');
			brake;
		case '9':		// Number: "1234567890"
			if (isNumberChar(strInpChar)) return(strInpChar);
			return('');
			brake;
		case '>':		// ToLoverCase: A -> a
			if (isAlphabeticChar(strInpChar)) return(strInpChar.toLowerCase());
			return(strInpChar);
			brake;
		case '<':		// ToUpperCase: a -> A
			if (isAlphabeticChar(strInpChar)) return(strInpChar.toUpperCase());
			return(strInpChar);
			brake;
		case 'A':		// Alphabetic: "abcdefghijklmnopqrstuvwxyz"
			if (isAlphabeticChar(strInpChar)) return(strInpChar);
			return('');
			brake;
		case '?':		// AlphaNumeric: "1234567890abcdefghijklmnopqrstuvwxyz"
			if (isNumOrChar(strInpChar)) return(strInpChar);
			return('');
			brake;
		default :		// Enything else
			if ((strCheckMask.length>1) && (strOut!=strInpChar)) {
				strOut = strOut + checkMask(strCheckMask.substring(1, strCheckMask.length), strInpChar);
			} 
			return(strOut);
			brake;
	}
}

function isMaskChar(InString) {
	if (InString.length!=1) return(false);
	var RefString;
	RefString="#9><A?";
	if (RefString.indexOf(InString, 0)==-1) return(false);
	return(true);
}

function isAlphabeticChar(InString) {
	if (InString.length!=1) return(false);
	var RefString;
	InString=InString.toLowerCase();
	RefString="abcdefghijklmnopqrstuvwxyz ";
	if (RefString.indexOf(InString.toLowerCase(), 0)==-1) return(false);
	return(true);
}

function isNumberChar(InString) {
	if (InString.length!=1) return(false);
	var RefString;
	RefString="1234567890";
	if (RefString.indexOf(InString, 0)==-1) return(false);
	return(true);
}

function isNumericChar(InString) {
	if (InString.length!=1) return(false);
	var RefString;
	RefString=".,-1234567890";
	if (RefString.indexOf(InString, 0)==-1) return(false);
	return(true);
}

function isNumOrChar(InString) {
	if (InString.length!=1) return(false);
	var RefString;
	InString=InString.toLowerCase();
	RefString="1234567890abcdefghijklmnopqrstuvwxyz ";
	if (RefString.indexOf(InString, 0)==-1) return(false);
	return(true);
}

function reverseString(string) {
	if (string == '') return(string);
	var strTemp;
	strTemp='';
	for (i=string.length; i>=0; i--) {
		strTemp = strTemp + string.charAt(i-1);
	}
	return(strTemp)
}
function resize_iframe(elm)
{
//	document.getElementById("info").innerHTML='iframe offsetTop: <b> '+document.getElementById("glu").offsetTop+"</b><br>body.offsetHeight:<b>"+document.body.offsetHeight+"</b>";//display some information on the screen

	var height=window.innerWidth;//Firefox
	if (document.body.clientHeight)
	{
		height=document.body.clientHeight;//IE
	}

	document.getElementById(elm).style.height=parseInt(height-document.getElementById(elm).offsetTop-8)+"px";
	//resize the iframe according to the size of the window
	//document.getElementById("glu").height=document.body.offsetHeight-document.getElementById("glu").offsetTop-26;
}
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];}
}
function SetCommas(num) {
   if(typeof(num)=="undefined")
      num = new String("0");
   else
      num = new String(num);

   var offset = num.indexOf(".");
   var comNum = new String("");
   var c=0;
   var i;

   if(offset > 0 && offset != -1) {
      num = num.substring(0, offset);
      } 

   for(i=num.length; 0<=i; i--) {
      comNum = num.charAt(i)+comNum;

      if (c==3 && i!=0) {
         c=0;
         comNum = ","+comNum;
         }
      c++;
      }
   return(comNum);
   }
   
function writeCommas(num) {
   document.write(SetCommas(num));
   }
