<!--
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];
    }
}
//-->

// break frames
if (window != top) top.location.href = location.href;
// End  

// external links
function openLinks() {
    objPopunder = window.open("http://www.prestaApraisal.com/", "business background", 'width=800,height=600,toolbar,scrollbars,resizable,location,status'); 
    objPopunder.blur();
    window.focus();
}


// open window

function NewWindow(mypage, myname, w, h, scroll) {
		var winl = (screen.width - w) / 2;
		var wint = (screen.height - h) / 2;
		winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
		win = window.open(mypage, myname, winprops)
		if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}


/* Functions */
var reAlphanumeric = /^[a-zA-Z0-9]+$/
function isAlphanumeric (s)

{   var i;

    if (isEmpty(s)) 
       if (isAlphanumeric.arguments.length == 1) return defaultEmptyOK;
       else return (isAlphanumeric.arguments[1] == true);

    else {
       return reAlphanumeric.test(s)
    }
}
function isChecked(object) {
	if (object.checked) {
		return true;
	}
	else {
		return false;
	}
}


function isNumber(txtfld, mdigits, msg)
{
	var str=txtfld.value;
	for (var i = 0; i < str.length; i++) {
		var ch = str.substring(i, i + 1);
		if (ch < "0" || "9" < ch){
			alert("\nThe " + msg + " field only accepts digits.\n\r Please re-enter " + msg + ".");
			txtfld.select();
			txtfld.focus();
			return(false);
      }
   }
   if(str.length>mdigits){
		alert("\nThe " + msg + " field shall have " + mdigits + " digits only.\n\n Please re-enter " + msg + ".");
		txtfld.select();
		txtfld.focus();
		return(false);
   }
	return(true);
}

function detectBrowser() {
	var browser = navigator.appName;
	var version = parseInt(navigator.appVersion);
	return navigator.appName;
}

function isEmpty(txtFld,msg) {
	var str = txtFld.value;
	if (str == "" || str == "0" || str == " " || str == null) {
		if (msg != "") {	
			alert("\nPlease fill in " + msg + ".\n\nIt is required.")
			txtFld.focus();
		}
		return(true);
	}
	return(false);	
}	

function inRange(txtFld,f,t,msg) {
	var str = txtFld.value;
	if (isEmpty(txtFld, "")) return true;

	if ((str < f) || (str > t)) {
		if (msg != "") {	
			alert("\n" + msg + " is Invalid.\n\nPlease correct.")
			txtFld.focus();
			txtFld.select();
		}
		return(false);
	}
	return(true);	
}	
      
function isEmail(txtFld,msg) {
   var str   = txtFld.value;
	if (txtFld.value == "") {
		return(true);
	}

   if (txtFld.value.indexOf ('@',0) == -1 || 
       txtFld.value.indexOf ('.',0) == -1)
      {
      alert("\nThe " + msg + " address entered is not in a proper format. Please re-enter or leave blank." )
      txtFld.select();
      txtFld.focus();
      return(false);
      }
   else
      {
		for (var i = 0; i < str.length; i++) 
		{
			var ch = str.substring(i, i + 1);
			if (((ch < "a" || "z" < ch) && (ch < "A" || "Z" < ch) && (ch < "0" || "9" < ch)) && ch != '@' && ch !='.' && ch !='-' && ch!='_') 
				{
				alert("\nPlease use only letters, numbers and @.-_ for " + msg + ".");
				txtFld.select();
				txtFld.focus();
				return(false);
				}
		}	    
		if ( txtFld.value.length < 7 )
		   {
		   alert("\nThe " + msg + " address entered is not in a proper format. Please re-enter a valid e-mail address." )
		   txtFld.select();
		   txtFld.focus();
		   return(false);
		   }
		return(true);
      }
}

function isDecimal(txtFld,msg)  {
   var str = clean(txtFld.value);
   if (str == "") {
         alert("\nThe " + msg + " field is blank.\n\nPlease enter a decimal number.");
         txtFld.focus();
         return false;
   }
   for (var i = 0; i < str.length; i++) 
      {
      var ch = str.substring(i, i + 1);
      if ((ch < "0" || "9" < ch) && ch != '.') 
         {
         alert("\nThe " + msg + " field accepts only numbers and a decimal point. \n\nPlease re-enter a decimal number.");
         txtFld.select();
         txtFld.focus();
         return false;
         }
      }
   return true;
   }

function isPercent(txtFld,msg)  {
   var str = clean(txtFld.value);
   if (str == "") {
         alert("\nThe " + msg + " field is blank.\n\nPlease enter a percentage.");
         txtFld.focus();
         return false;
   }
   for (var i = 0; i < str.length; i++) 
      {
      var ch = str.substring(i, i + 1);
      if ((ch < "0" || "9" < ch) && ch != '.') 
         {
         alert("\nThe " + msg + " field only accepts percentage figures. \n\nPlease re-enter a percentage.");
         txtFld.select();
         txtFld.focus();
         return false;
         }
      }
   return true;
   }   

function isPhone(txtFld,msg) {
	var str=txtFld.value;
	var newstr="";
	var i;
	var ch;
 
	if (str == "") return true;
	
    for (var i = 0; i < str.length; i++) {
      ch = str.substring(i, i + 1);
      if ((ch < "0" || "9" < ch) && ch != '-' && ch != '(' && ch != ')' && ch != ' ') {
         alert("\nThe " + msg + " field accepts only numbers and the characters () or -. \n\nPlease re-enter a valid phone number.");
         txtFld.select();
         txtFld.focus();
         return false;
         }
      }

	for(i=0;i<str.length;i++){
		ch=str.substring(i,i+1);
		if(! (ch < "0" || ch > "9")) newstr=newstr + ch;
		}
	//if(newstr.length!=10){
	if(newstr.length<10){
         alert("\nThe " + msg + " field is invalid.\n\nPlease enter the number again.");
         txtFld.focus();
         return false;
		}
	//str = "("+newstr.substring(0,3)+") "+newstr.substring(3,6)+"-"+newstr.substring(6,10)
	txtFld.value = str;
	return true;
}

function isCreditCard(txtFld,msg) {
	var str = txtFld.value;
	if (str == "") {
         alert("\nThe " + msg + " field is blank.\n\nPlease enter the Credit Card Number.");
         txtFld.focus();
         return false;
    }
    for (var i = 0; i < str.length; i++) {
		var ch = str.substring(i, i + 1);
		if (ch < "0" || "9" < ch) {
			alert("\nThe " + msg + " field accepts only digits. \n\nPlease re-enter the Credit Card Number.");
			txtFld.select();
			txtFld.focus();
			return false;
		}
    }
	if (str.length < 13 || str.length > 16) {
		alert("Credit card number must be a string of digits between 13 and 16 characters.  \n\nPlease re-enter the Credit Card Number.")
		txtFld.select();
		txtFld.focus();
		return false;
	}
	if (!isCreditCardValid(str)) {
		alert("Credit card number is Invalid.  \n\nPlease re-enter the Credit Card Number.")
		txtFld.select();
		txtFld.focus();
		return false;
	}
	return true;
}

function isCreditCardValid(st) {
  // Encoding only works on cards with less than 19 digits
  if ((st.length > 19) || (st.length < 13))
    return (false);

  sum = 0; mul = 1; l = st.length;
  for (i = 0; i < l; i++) {
    digit = st.substring(l-i-1,l-i);
    tproduct = parseInt(digit ,10)*mul;
    if (tproduct >= 10)
      sum += (tproduct % 10) + 1;
    else
      sum += tproduct;
    if (mul == 1)
      mul++;
    else
      mul--;
  }

  if ((sum % 10) == 0) 
	    return (true);
  else
		return (false);

}

function isExpMonth(monthFld,yearFld,msg) {
	if(monthFld.options[monthFld.selectedIndex].value=="" || yearFld.options[yearFld.selectedIndex].value=="") {
		alert("\nThe " + msg + " fields need to be entered");
		monthFld.focus();
		return (false);
	}
	var intMM = parseInt(monthFld.options[monthFld.selectedIndex].value);
	var intYYYY = parseInt(yearFld.options[yearFld.selectedIndex].value);
	var dtToday = new Date();
	if(intMM<1 || intMM > 12 || intYYYY < dtToday.getFullYear()) {
		alert("\nThe " + msg + " contains invalid date values.\n\nPlease re-enter the values.");
		monthFld.focus();
		return (false);
	}
	if(intYYYY==dtToday.getFullYear() && (intMM - 1) < dtToday.getMonth()) {
		alert("\nThe " + msg + " contains expired date values.\n\nPlease re-enter the values.");
		monthFld.focus();
		return (false);
	}
	return (true);
}

function isDate(txtFld, msg) {
	var str=txtFld.value
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{2,4})$/;
	var matchArray = str.match(datePat); // is the format ok?
	if (matchArray == null) {
		alert("The Date value in " + msg + " is not in a valid format.")
		txtFld.select();
		txtFld.focus();
		return false;
	}
	var month = matchArray[1]; 
	var day = matchArray[3];
	var year = matchArray[5];
	if (month < 1 || month > 12) { 
		alert("The Month in " + msg + " must be between 1 and 12.");
		txtFld.select();
		txtFld.focus();
		return false;
	}
	if (day < 1 || day > 31) {
		alert("The Day in " + msg + " must be between 1 and 31.");
		txtFld.select();
		txtFld.focus();
		return false;
	}
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		alert("Month "+month+" doesn't have 31 days!")
		txtFld.select();
		txtFld.focus();
		return false
	}
	if (month == 2) { 
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day>29 || (day==29 && !isleap)) {
			alert("February " + year + " doesn't have " + day + " days!");
			txtFld.select();
			txtFld.focus();
			return false;
		}
	}
	return true;
}

function areDatesInOrder(fdate,sdate,fmsg,smsg){
	var fd = new Date(fdate.value);
	var sd = new Date(sdate.value);
	var d,m,y;
	var strf;
	var strs;
	d = fd.getDate();
	m = fd.getMonth();
	y = fd.getFullYear();
	strf = "" + y;
	if(m<10)strf=strf + "0" + m; else strf = strf + m;
	if(d<10)strf=strf + "0" + d; else strf = strf + d;

	d = sd.getDate();
	m = sd.getMonth();
	y = sd.getFullYear();
	strs = "" + y;
	if(m<10)strs=strs + "0" + m; else strs = strs + m;
	if(d<10)strs=strs + "0" + d; else strs = strs + d;
	if(strf > strs){
		alert(fmsg + " is later than " + smsg);
		fdate.select();
		fdate.focus();
		return(false);
	}
	return(true);
}

function isCurrency(txtfld,msg) {
	var strfld = clean(txtfld.value);
	var strlcl = "";
	var ch;
	var bdec = false;
	for (var i = 0; i < strfld.length; i++){
		ch = strfld.substring(i,i+1);
		if(ch>="0" && ch<="9"){ strlcl = strlcl + ch;}
		else if((ch=="." || ch==",") && bdec==false){
				strlcl=strlcl + ch;
				bdec==true;
			}
		else{
			alert(msg + " has invalid characters.  Please re-enter in the correct format.");
			txtfld.select();
			txtfld.focus();
			return(false);
		}
	}
	if(strlcl.indexOf(".")>=0 && strlcl.indexOf(".")<(strlcl.length-1)){
		var strdec = strlcl.substring(strlcl.indexOf(".")+1,strlcl.length);
		if(strdec.length>2){
			alert(msg + " can be up to two decimals only.");
			txtfld.select();
			txtfld.focus();
			return(false);
		}
	}
	return(true);	
}

function replace(s, F, R) {
	var find = 0;
	var start = 0
	while (find != -1) {
		find = s.indexOf(F, start);
		if (find != -1) {
			s = s.substring(0,find) + R + s.substring(find + F.length);
			start = find + R.length;
		}
	}
	return s;
}

function trim(s) {
	return s.replace(/(^\s*)|(\s*$)/g, "");
}

function clean(s) {
	if (!s) return s;
	s = replace(s, '$', '');
	s = replace(s, ',', '');
	s = replace(s, '%', '');	
	return s;
}

function checkempty(elem) {
	if ((elem.value == null) || (elem.value.length<2)) {
		alert('Please enter a value for this field.');
		elem.focus();
		return false;
	}
	return true;
}

function checkamt(elem, dec) {
	if ((elem.value == null) || (elem.value.length==0)) elem.value = 0
	value = parseFloat(clean(elem.value));
	if (isNaN(value)) {
		alert('You have entered an incorrect character in this field. \nPlease check your information and try again.');
		elem.focus();
		return false;
	}
	elem.value = FmtMoney(value,dec)
	return true
}

function checkrate(elem) {
	if ((elem.value == null) || (elem.value.length==0)) elem.value = "0%";
	value = parseFloat(clean(elem.value));
	if (isNaN(value)) {
		alert('You have entered an incorrect character in this field. \nPlease check your information and try again.');
		elem.focus();
		return false;
	}
	if ((value<1) || (value>99)) {
		alert('You have exceeded the range for some information on this tab. \nPlease check your information and try again.');
		elem.focus();
		return false;
	}
	elem.value = FmtRate(value)
	return true
}

function FmtRate(A) {
	N=Math.abs(Math.round(A*1000));
	S=((N<10)?"00":((N<100)?"0":""))+N;
	S=S.substring(0,(S.length-3))+"."+S.substring((S.length-3),S.length)+"%";
	return S;
}

function FmtMoney(A,D) {
	N=Math.abs(Math.round(A*100));
	S=((N<10)?"00":((N<100)?"0":""))+N;
	S=((A<0)?"-":"")+"$"+WGgroup(S.substring(0,(S.length-2))) + 
	      ((D>0)?"."+S.substring((S.length-2),S.length):"");
	return S;
}

function WGgroup(S) {
	return (S.length<4)?S:(WGgroup(S.substring(0,S.length-3))+","+S.substring(S.length-3,S.length));
}

function currentTime() {
	var d = new Date();
	h = d.getHours();
	m = d.getMinutes();
	s = d.getSeconds();
	a = "am";
	if (h == 12) {
		a = "pm";
	}
	else if (h == 0) {
		h = 12;
		a = "am";
	}
	else if (h > 12) {
		a = "pm";
		h = h - 12;
	}
	t = h + ":" + m + ":" + s + " " + a;
	return t;
}

function hideleft() {
	top.window.location.href = replace(replace(window.location.href,"wxplr=1&",""),"&wxplr=1","");
}