//********************* Mortgage Calculator

function round(number)
{
  return Math.round(number*Math.pow(10,2))/Math.pow(10,2);
}

function Morgcal() { form = document.myform; 
LoanAmount= form.LoanAmount.value; 
DownPayment= form.DownPayment.value;
if(form.Taxes.value =="")
	form.Taxes.value = 0;
Taxes= parseInt(form.Taxes.value); 
AnnualInterestRate = form.InterestRate.value/100; 
Years= form.NumberOfYears.value; 
MonthRate=AnnualInterestRate/12; 
NumPayments=Years*12; 
Prin1=LoanAmount-DownPayment;
Prin=Prin1+Taxes;
MonthPayment=(Prin*MonthRate)/(1-Math.pow((1+MonthRate),(-1*NumPayments)))*100/100; 
form.NumberOfPayments.value=NumPayments; 
form.MonthlyPayment.value=round(MonthPayment);
form.TotalPayment.value=round(MonthPayment * NumPayments);

} 


/**
 * SWFObject v1.4.4: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2006 Geoff Stearns and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 * **SWFObject is the SWF embed script formerly known as FlashObject. The name was changed for
 *   legal reasons.
 */
if(typeof deconcept=="undefined"){var deconcept=new Object();}
if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}
if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}
deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a,_b){if(!document.getElementById){return;}
this.DETECT_KEY=_b?_b:"detectflash";
this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);
this.params=new Object();
this.variables=new Object();
this.attributes=new Array();
if(_1){this.setAttribute("swf",_1);}
if(id){this.setAttribute("id",id);}
if(w){this.setAttribute("width",w);}
if(h){this.setAttribute("height",h);}
if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}
this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();
if(c){this.addParam("bgcolor",c);}
var q=_8?_8:"high";
this.addParam("quality",q);
this.setAttribute("useExpressInstall",_7);
this.setAttribute("doExpressInstall",false);
var _d=(_9)?_9:window.location;
this.setAttribute("xiRedirectUrl",_d);
this.setAttribute("redirectUrl","");
if(_a){this.setAttribute("redirectUrl",_a);}};
deconcept.SWFObject.prototype={setAttribute:function(_e,_f){
this.attributes[_e]=_f;
},getAttribute:function(_10){
return this.attributes[_10];
},addParam:function(_11,_12){
this.params[_11]=_12;
},getParams:function(){
return this.params;
},addVariable:function(_13,_14){
this.variables[_13]=_14;
},getVariable:function(_15){
return this.variables[_15];
},getVariables:function(){
return this.variables;
},getVariablePairs:function(){
var _16=new Array();
var key;
var _18=this.getVariables();
for(key in _18){_16.push(key+"="+_18[key]);}
return _16;},getSWFHTML:function(){var _19="";
if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){
if(this.getAttribute("doExpressInstall")){
this.addVariable("MMplayerType","PlugIn");}
_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\"";
_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";
var _1a=this.getParams();
for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}
var _1c=this.getVariablePairs().join("&");
if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";
}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");}
_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\">";
_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";
var _1d=this.getParams();
for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}
var _1f=this.getVariablePairs().join("&");
if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}
return _19;
},write:function(_20){
if(this.getAttribute("useExpressInstall")){
var _21=new deconcept.PlayerVersion([6,0,65]);
if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){
this.setAttribute("doExpressInstall",true);
this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));
document.title=document.title.slice(0,47)+" - Flash Player Installation";
this.addVariable("MMdoctitle",document.title);}}
if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){
var n=(typeof _20=="string")?document.getElementById(_20):_20;
n.innerHTML=this.getSWFHTML();return true;
}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}
return false;}};
deconcept.SWFObjectUtil.getPlayerVersion=function(){
var _23=new deconcept.PlayerVersion([0,0,0]);
if(navigator.plugins&&navigator.mimeTypes.length){
var x=navigator.plugins["Shockwave Flash"];
if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}
}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}
catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}
catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}
catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}
return _23;};
deconcept.PlayerVersion=function(_27){
this.major=_27[0]!=null?parseInt(_27[0]):0;
this.minor=_27[1]!=null?parseInt(_27[1]):0;
this.rev=_27[2]!=null?parseInt(_27[2]):0;
};
deconcept.PlayerVersion.prototype.versionIsValid=function(fv){
if(this.major<fv.major){return false;}
if(this.major>fv.major){return true;}
if(this.minor<fv.minor){return false;}
if(this.minor>fv.minor){return true;}
if(this.rev<fv.rev){
return false;
}return true;};
deconcept.util={getRequestParameter:function(_29){
var q=document.location.search||document.location.hash;
if(q){var _2b=q.substring(1).split("&");
for(var i=0;i<_2b.length;i++){
if(_2b[i].substring(0,_2b[i].indexOf("="))==_29){
return _2b[i].substring((_2b[i].indexOf("=")+1));}}}
return "";}};
deconcept.SWFObjectUtil.cleanupSWFs=function(){if(window.opera||!document.all){return;}
var _2d=document.getElementsByTagName("OBJECT");
for(var i=0;i<_2d.length;i++){_2d[i].style.display="none";for(var x in _2d[i]){
if(typeof _2d[i][x]=="function"){_2d[i][x]=function(){};}}}};
deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};
__flash_savedUnloadHandler=function(){};
if(typeof window.onunload=="function"){
var _30=window.onunload;
window.onunload=function(){
deconcept.SWFObjectUtil.cleanupSWFs();_30();};
}else{window.onunload=deconcept.SWFObjectUtil.cleanupSWFs;}};
if(typeof window.onbeforeunload=="function"){
var oldBeforeUnload=window.onbeforeunload;
window.onbeforeunload=function(){
deconcept.SWFObjectUtil.prepUnload();
oldBeforeUnload();};
}else{window.onbeforeunload=deconcept.SWFObjectUtil.prepUnload;}
if(Array.prototype.push==null){
Array.prototype.push=function(_31){
this[this.length]=_31;
return this.length;};}
var getQueryParamValue=deconcept.util.getRequestParameter;
var FlashObject=deconcept.SWFObject;
var SWFObject=deconcept.SWFObject;




// ***********************  BrowserDetect.js
//*****************************************************************
/*NS4 = (document.layers); 
   IE4 = (document.all); 
  ver4 = (NS4 || IE4);    
 isMac = (navigator.appVersion.indexOf("Mac") != -1); 
isMenu = (NS4 || (IE4 && !isMac)); 
*/
NS4 = (document.layers);
IE4 = (document.all);
ver4 = (NS4 || IE4);
var sAppVersion = navigator.appVersion
isIE4 = (IE4 && sAppVersion.indexOf("4.")!=-1);
IE5 = (IE4 && sAppVersion.indexOf("5.")!=-1);
isMac = (sAppVersion.indexOf("Mac") != -1);

isMenu = (NS4 || (IE4 && !isMac) || (IE5 && isMac));
function popUp(){return}; 
function popDown(){return}; 
function LetsGo(){return}; 
if (!ver4) event = null; 


// ***********************  scripts.js
//*****************************************************************


function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function passwordvalidate(form){
	 var msg = "";
	 var pwd = form.password.value;
	 var pwd2 = form.passwordConfirm.value;
	 if(pwd == pwd2){
		 msg = "";
	 } else {
	 	msg = "Passwords do not match.  Please re-enter.";
	 }
	 if(form.username.value==""){msg="Please enter a user name";}
	 if (msg == ""){
	 form.submit();
	 } else {
	 alert(msg);
	 return false;
	 }
}
function accountvalidate(form){
	 var msg = "";
	 var user = form.username.value;
	 var pwd = form.password.value;
	 var pwd2 = form.passwordConfirm.value;
	 if(user==""){
		 msg = "Please enter a username";
	 }
	 if(pwd==""){
		 msg = "Please enter a password";
	 }
	 if(pwd == pwd2){
		 msg = "";
	 } else {
	 	msg = "Passwords do not match.  Please re-enter.";
	 }
	 if (msg == ""){
	 form.submit();
	 } else {
	 alert(msg);
	 return false;
	 }
}
function button_on( buttonname,form )
{
	var mapname = "vt";
	var county = "county";
	document.mlsSearch.county.value = buttonname;
    if (document.images) {
      document[ mapname ].src = eval( mapname + "_"+buttonname+".src" );
    }
}
function button_off ( buttonname )
{
    if (document.images) {
      document[ buttonname ].src = eval( buttonname + ".src" );
    }
}
function clearMap()
{
	var mapname = "vt";
	document.mlsSearch.county.value = "all";
    if (document.images) {
      document[ mapname ].src = eval( mapname + ".src" );
    }
}
function leftNavOver(element) {
	if (element.className == "whiteBack") {
		element.className = "grayBack";
	} else {
		element.className = "whiteBack";
	}
}
function pageRedirect(url){
	location.href=(url);
}
function pageOpen(url){
	window.open(url);
}
function submitSearch(form){
	 form.submit();
}

	
function updateTowns(town){
	var input = document.createElement("input");
	input.setAttribute("type", "hidden");
	if(town == "Albans")
		input.setAttribute("name", 'StAlbansTown');
	else
		input.setAttribute("name", town.replace(/ /g,''));									
	input.setAttribute("value", town);
	document.getElementById("searchbox").appendChild(input);						
}


function openCalc(url) {
	window.open(url,'Mortgage','toolbar=no,scrollbars=yes,width=400,height=450,resizable=yes');
}
function showPic (whichpic) {
 if (document.getElementById) {
  document.getElementById('placeholder').src = whichpic.href;
  if (whichpic.title) {
   document.getElementById('desc').childNodes[0].nodeValue = whichpic.title;
  } else {
   document.getElementById('desc').childNodes[0].nodeValue = whichpic.childNodes[0].nodeValue;
  }
  return false;
 } else {
  return true;
 }
}
function showPicture(url){
	window.open(url,'Previews','toolbar=no,scrollbars=yes,width=500,height=450,resizable=yes');
}
function showPrint(url){
	window.open(url,'Previews','toolbar=yes,scrollbars=yes,width=810,height=600,resizable=yes');
}
function showEmail(url){
	window.open(url,'Previews','toolbar=no,scrollbars=no,width=350,height=250,resizable=no');
}
function showTour(url){
	window.open(url,'Previews','toolbar=yes,scrollbars=yes,width=450,height=325,resizable=yes');
}	
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
}



//**************************************** MISCELLANEOUS CODE
//***********************************************************

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
}



function swapPic2(img,targetpic) {
	document['mainPhoto'].src = img;
	oldpic=currentpic
	currentpic=targetpic
	highlightThumb(document.getElementById('pic'+oldpic));
  }

	function previewPhoto(mlsphoto,row,status,photocnt){
		if(status==true){
			if(photocnt>1)
				document.getElementById('hoverPhotoPreview').innerHTML='<div><img src="'+mlsphoto+'a.jpg" width="290" height="218"></div><div style="position:relative;z-index:101;top:-76px;left:189px"><img src="'+mlsphoto+'b.jpg" width="100" height="75" style="border:1px solid #FFFFFF;background:#FFFFFF"></div>';
			else
				document.getElementById('hoverPhotoPreview').innerHTML='<div><img src="'+mlsphoto+'a.jpg" width="290" height="218"></div>';
		}else
			document.getElementById('hoverPhotoPreview').innerHTML='';
		toggleDisplay('hoverPhotoPreview',row,-35,88,status);	
	}


	function browsePics(dir){		
		oldpic=currentpic;
		if(dir=="next"){
			if(currentpic < lastpic){
				 currentpic++;
				 document['mainPhoto'].src = document.getElementById('pic'+(currentpic)).src;
			}else{
				 document['mainPhoto'].src = document.getElementById('pic0').src;
				 currentpic=0;			
			}		
		}else{
			if(currentpic > 0){
				 currentpic--;
				 document['mainPhoto'].src = document.getElementById('pic'+(currentpic)).src;	
			}else{
				 document['mainPhoto'].src = document.getElementById('pic'+lastpic).src;
				 currentpic=lastpic;			
			}		
		}	
		highlightThumb(document.getElementById('pic'+oldpic));
	}

	function highlightThumb(objpic){
		objpic.width=objpic.width+2;
		objpic.height=objpic.height+2;		
		objpic.style.border="0px";
		document.getElementById('pic'+currentpic).width=document.getElementById('pic'+currentpic).width-2
		document.getElementById('pic'+currentpic).height=document.getElementById('pic'+currentpic).height-2		
		document.getElementById('pic'+currentpic).style.border="#0000FF 1px solid";
		
	}

function validateSaveSearch( f ){
  	var message = "";
	var errObj = false;
	var ret = false;
	
	if( f.saved_name.value == "" ){
		message += " - Please name your search. \n ";
		if( !errObj ){ errObj = f.saved_name; }
	}
	
	if( f.email.value == "" ){
		message += " - Please provide your email address for your search. \n ";
		if( !errObj ){ errObj = f.email; }
	}
  
  	if( message != "" ){
		var messageHead = "Saved Search Form Is Incomplete \n";
		messageHead += "============================================= \n\n\n";
		ret = false;
		if( errObj ){ errObj.focus(); }
		alert( messageHead + message );
	}else{
		ret = true;
	}
	
	return ret;
  }
  
  
  function openForm( url, width, height, toolbar, scrollbars, menubar, resizable, locX, locY ){
		var param = "menubar="+menubar+",";
			param += "scrollbars="+scrollbars+",";
			param += "resizable="+resizable+",";
			param += "toolbar="+toolbar+",";
			param += "width="+width+",";
			param += "height="+height;
		
		var formWin = window.open( url, "formWin", param );
		
		var sw = screen.width;
		var sh = screen.height;
		
		if( locX == "left" ){ x = 0; }
		else if( locX == "right" ){	x = sw - width; }
		else if( locX == "center" ){ x = (sw/2)-(width/2); }else 
		if( !isNaN(locX) ){	x = locX; }
		else{ x = (sw/2)-(width/2); } // Center On Default
		
		if( locY == "top" ){ y = 0; }
		else if( locY == "bottom" ){ y = sh - height; }
		else if( locY == "center" ){ y = (sh/2)-(height/2); }else 
		if( !isNaN(locY) ){	y = locY; }
		else{ y = (sh/2)-(height/2); } // Center On Default
				
		formWin.moveTo(x,y);
	}
  
function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

  function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }
  
  	function toggleDisplay(item,holder,offX,offY,status){
		obj = document.getElementById(item);
		if(status==false)
			obj.style.display='none';	
		else{
			//closeAllDisplays();
			x = findPosX(document.getElementById(holder))+offX
			y = findPosY(document.getElementById(holder))+offY
			obj.style.top=y+'px';
			obj.style.left=x+'px';
			obj.style.display='block';								
		}
	}

	function togglePrice(price,obj){
		if(obj.checked==true){
			document.getElementById('otherform').maxprice.value = price + 50000;
			document.getElementById('otherform').minprice.value = price - 50000;
		}else{
			document.getElementById('otherform').maxprice.value = 999999999;
			document.getElementById('otherform').minprice.value = 0;		
		}
	
	}
	
	function toggleTown(town,obj){
		if(obj.checked ==true)
			document.getElementById('otherform').SB_Town.value = town;
		else
			document.getElementById('otherform').SB_Town.value= 'null';	
	}
	
	function closeAllDisplays(){
		document.getElementById('contact_form').style.display='none';
		document.getElementById('shareform').style.display='none';
		document.getElementById('mortgageform').style.display='none';		
		document.getElementById('similarform').style.display='none';		
		document.getElementById('saveform').style.display='none';							
	}

function validateShareForm( f ){
	var er = "";
	var erObj = false;	
	if( f.MailTo.value == "" ){
		er += "  - Recipient email address is required \n";
		if( !erObj ){ erObj = f.MailTo; }
	}
	if( f.MailFrom.value == "" ){
		er += "  - Your email address is required \n";
		if( !erObj ){ erObj = f.MailFrom; }
	}
	if( er == "" ){ return true; }else{ formError_HBForm( er, erObj );	return false; }
}

function formError_HBForm( message, obj ){
	var out = "Form is incomplete\n============================\n\n";
	out += message;
	alert( out );
	if( obj ){
		obj.focus();
	}
	return;
}

function isEmail_HBForm(str){
	var reg = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/
	return reg.test(str);
}


