// JavaScript Document
function mapit(lat,lon,mtext) {
	if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById('map'));
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		if (mtext == 'Private Party Ad'){
		map.setCenter(new GLatLng(lat, lon), 10);
		}else{
		map.setCenter(new GLatLng(lat, lon), 13);
		var point = new GLatLng(lat, lon);
		var marker = new GMarker(point);
		GEvent.addListener(marker, 'click', function() {
													 marker.openInfoWindowHtml(mtext);
													 });
		map.addOverlay(marker);
		}}
		}
		

function startmap(lat,lon) {
	if (GBrowserIsCompatible()) {
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		map.setCenter(new GLatLng(lat, lon), 3);
		}
		}
		
function addpoint(lat,lon,mtext) {
		//var map =  GMap2(document.getElementById('map'));
		var point = new GLatLng(lat, lon);
		var marker = new GMarker(point);
		GEvent.addListener(marker, 'click', function() {
													 marker.openInfoWindowHtml(mtext);
													 });
		map.addOverlay(marker);
		}
		
var mylinkcolor="navy" //specify default color of number links
var mylinkcolorSelected="red" //specify color of selected links

var imgborderwidth=0 //specify border of image slideshow

var currentindex=""

function change(which){
var imghtml=""
currentindex=(which=="first")? 0 : parseInt(which)
var mode=(which=="first")? "first" : ""
var which=(mode=="first")? numberslide[0] : numberslide[which]
document.trailerpic.src=which[0]
if (mode=="first"){}
else{
changecolors()
}
}

function makelinks(){
document.getElementById('photonumlist').innerHTML = '<a href="javascript:change(0)" style="color:'+mylinkcolorSelected+'">0</a> '
for (i=1; i< numberslide.length; i++)
document.getElementById('photonumlist').innerHTML +=  '<a href="javascript:change(\''+i+'\')">'+i+'</a> '
//document.write('<a href="javascript:change(0)" style="color:'+mylinkcolorSelected+'">0</a> ')
//for (i=1; i< numberslide.length; i++)
//document.write('<a href="javascript:change(\''+i+'\')">'+i+'</a> ')
}

//function changecolors(){
//var numberobj=document.getElementById("photonumbers")
//numberlinks=numberobj.getElementsByTagName("A")
//for (i=0; i<=currentindex; i++)
//numberlinks[i].style.color=mylinkcolorSelected
//for (i=currentindex+1; i<numberslide.length; i++)
//numberlinks[i].style.color=mylinkcolor
//}

function changecolors(){
var numberobj=document.getElementById("photonumbers")
numberlinks=numberobj.getElementsByTagName("A")
for (i=0; i<numberslide.length; i++){
if (i==currentindex){
numberlinks[i].style.color=mylinkcolorSelected
}else{
numberlinks[i].style.color=mylinkcolor
}
}
}

function goforward(){
if (currentindex<numberslide.length-1)
change(currentindex+1)
}

function goback(){
if (currentindex!=0)
change(currentindex-1)
}
// ===================================================
// =============  payment calculator  ================
// ===================================================
function super_calc() {
  var resultStr = "Monthly Payments:\n";
  var yearlyResult;
  
  for(var years=1; years<=20; years++) { // do the results for 1-20 years
    yearlyResult = calc(years);
    //document.write(yearlyResult);
	if ( yearlyResult != -1) {
      resultStr = resultStr + (years * 12) + " mos - $" + format(calc(years),2) + "\n";
	}
	else {
	 document.getElementById('resultbox').value = "Please correct\nfields marked\n"+unescape("%22")+"ERROR"+unescape("%22")+".";
	  return;
	}
  }  
  document.getElementById('resultbox').value = resultStr;
}

function calc(years) {
  var exit = 0;
  
  var vp = document.getElementById("veh_price");
  var ti = document.getElementById('tradein');
  var po = document.getElementById('payoff');
  var dw = document.getElementById('down');     
  var apr = document.getElementById('apr');
  //var count = info.elements.length; // exclude submit button & textarea
  var p1 = validate(vp.value);
  var p2 = validate(ti.value);
  var p3 = validate(po.value);
  var p4 = validate(dw.value);     
  //if(apr.value.length==0) { apr.value='8'; }
  var i = validate(apr.value);   
  var y = years;
  vp.value = validate(vp.value);
  ti.value = validate(ti.value);
  po.value = validate(po.value);
  dw.value = validate(dw.value);     
  apr.value = validate(apr.value);     
  
    exit = (vp.value == "ERROR") ? 1 : 0;
    exit = (ti.value == "ERROR") ? 1 : 0;
    exit = (po.value == "ERROR") ? 1 : 0;
    exit = (dw.value == "ERROR") ? 1 : 0;
    exit = (apr.value == "ERROR") ? 1 : 0;
  
  if(!exit) { // second round of error checking
    apr.value = (i<100) ? apr.value : "ERROR"
    
      
    exit = (vp.value == "ERROR") ? 1 : 0;
    exit = (ti.value == "ERROR") ? 1 : 0;
    exit = (po.value == "ERROR") ? 1 : 0;
    exit = (dw.value == "ERROR") ? 1 : 0;
    exit = (apr.value == "ERROR") ? 1 : 0;
    
  }
  if(!exit) {
    var p = p1 - p2 + p3 - p4;
    vp.value = p1;
    apr.value = i;
    if (i==0) { var pmt = p/(y*12); }
    else {
      i = (i/100)/12;
      var pmt = (p*i)/(1-Math.pow((1+i),(-1*(y*12)))); // perform calculation
    }
    return pmt;
  }
  else {
    return -1;
    
  }
}

function format(num,decimal) {
  var count = decimal;
  var result = "";
  if(decimal) { result = "."; }
  while(count--) { num = num*10; }
  num = Math.round(num) + "";
  var len = num.length;
  count = decimal;
  while(count--) { result = result + num.charAt(len-count-1); }
  for(var x=len-decimal-1,count=0;x>=0;x--) {
    result = num.charAt(x) + result;
    if(!(++count%3) && x > 0) { result = "," + result; } // add commas
  }
  return(result);
}

function validate(entry,errorchk) {
if (entry){
  var validlist = "1234567890";
  var number = "";
  var period = 1; // decimal point can only appear once
  if(errorchk && entry.length == 0) { return(0); }
  for(var x=0; x < entry.length; x++) {
    var datum = entry.charAt(x);
    if(validlist.indexOf(datum) != -1) { number += datum; }
    else if(datum == "." && period) {
      number += datum;
      period = 0;
    }
    else {
      if(errorchk) {
        if(datum == "," || datum == "%" || datum == unescape("%24")) {
          if((datum=="%" && x != entry.length-1) || (datum==unescape("%24") && x != 0)) return("ERROR");
        }
        else return("ERROR");
      }
    }
  }
  if(number == "") { return(0); }
  else if(errorchk) return(entry);
  else { return(parseFloat(number)); }
  }
}
   function StateRefund()
   {
      var stateNum;
      var selectedState;
      var url = "";
      stateNum = document.forms[0].StateList.length;
      for(i=0; i<stateNum; i++)
      {
         if(document.forms[0].StateList[i].selected) {
            selectedState=document.forms[0].StateList[i].value
         	break;
         }
      }
      switch (selectedState)
      {
         case "Federal":
      	{
      	   url="https://sa.www4.irs.gov/irfof/lang/en/irfofgetstatus.jsp";
		      break;
      	}
      case "AL":
      {
         url="http://www.ador.state.al.us/incometax/vrespinstructions.html";
         break;
      }
      case "AZ":
      {
         url="http://www.revenue.state.az.us/Refunds%20and%20Credits/refundinquiry.htm";
         break;
      }
      case "AR":
      {
         url="https://www.ark.org/dfa_ri/app/login.html";
         break;
      }
      case "CA":
      {
         url="http://www.ftb.ca.gov/online/refund/index.asp";
         break;
      }
      case "CO":
      {
         url="https://www.myincometax.state.co.us/status/login.asp";
         break;
      }
      case "CT":
      {
         url="http://www.ct.gov/drs/cwp/view.asp?a=1462&q=266274";
         break;
      }
      case "DE":
      {
         url="https://dorweb.revenue.state.de.us/scripts/refinq/refinq.dll";
         break;
      }
      case "DC":
      {
         url="https://www.taxpayerservicecenter.com/individual/Ind_RefundStatus_Logon.jsp";
         break;
      }
      case "FL":
      {
         url="https://taxapp2.state.fl.us/gta/rms/dyn/RefControlSearch.jsp?currentTabId=1";
         break;
      }
      case "GA":
      {
         url="https://services.dor.ga.gov/WMRefund/index.aspx";
         break;
      }
      case "HI":
      {
         url="http://www.state.hi.us/tax/a8_contact.htm##phone_tax";
         break;
      }
      case "ID":
      {
         url="https://www.accessidaho.org/secure/istc/refund/status.html";
         break;
      }
      case "IL":
      {
         url="https://www.revenue.state.il.us/app/refund/servlet/RefundStatus";
         break;
      }
      case "IN":
      {
         url="https://secure.in.gov/apps/dor/tax/refund/refundStatusQuery.jsp";
         break;
      }
      case "IA":
      {
         url="https://eservices.idrf.state.ia.us/taxrefund/index.jsp";
         break;
      }
      case "KS":
      {
         url="https://www.kdor.org/refundstatus/default.asp";
         break;
      }
      case "KY":
      {
         url="http://revenue.ky.gov/refund.htm";
         break;
      }
      case "LA":
      {
         url="http://www.rev.state.la.us/sections/eservices/default.asp";
         break;
      }
      case "ME":
      {
         url="https://portalx.bisoex.state.me.us/jav/RefundStatus_prod/Registration.do";
         break;
      }
      case "MD":
      {
         url="http://individuals.marylandtaxes.com/refundstatus/default.asp";
         break;
      }
      case "MA":
      {
         url="https://wfb.dor.state.ma.us/webfile/wsi/";
         break;
      }
      case "MI":
      {
         url="https://treas-secure.treas.state.mi.us/eservice_enu/start.swe?";
         break;
      }
      case "MN":
      {
         url="https://www.mndor.state.mn.us/wm/servlets/TaxReturnsServlet";
         break;
      }
      case "MS":
      {
         url="http://www.mstc.state.ms.us/taxareas/individ/refund_status.htm";
         break;
      }
      case "MO":
      {
         url="https://dors.mo.gov/tax/taxinq/welcome.jsp";
         break;
      }
      case "NE":
      {
         url="http://www.revenue.state.ne.us./refund/refundstat.html";
         break;
      }
      case "NJ":
      {
         url="http://www.state.nj.us/treasury/taxation/text/refinfotxt.htm";
         break;
      }
      case "NY":
      {
         url="https://www7.nystax.gov/PRIS/prisHome";
         break;
      }
      case "NC":
      {
         url="https://dorprod.ncdor.state.nc.us/wheresmyrefund/selection.jsp";
         break;
      }
      case "OH":
      {
         url="https://www.tax.state.oh.us/webz/wmr/wheres_my_refund.html";
         break;
      }
      case "OK":
      {
         url="http://www.oktax.state.ok.us/faq.html";
         break;
      }
      case "OR":
      {
         url="http://egov.oregon.gov/DOR/PERTAX/refund.shtml";
         break;
      }
      case "PA":
      {
         url="https://www.pa.direct.info.state.pa.us/refundstatus/index.jsp";
         break;
      }
      case "RI":
      {
         url="https://www.ri.gov/cgi-bin/taxation/refund/status.cgi";
         break;
      }
      case "SC":
      {
         url="https://www.sctax.org/refundstatus/refund.aspx";
         break;
      }
      case "UT":
      {
         url="https://tax.utah.gov/txrw/txrw_home.jsp";
         break;
      }
      case "VA":
      {
         url="https://www.individual.tax.virginia.gov/RefundStatus.jhtml";
         break;
      }
      case "WV":
      {
         url="https://www.state.wv.us/secure/tax/";
         break;
      }
      case "WI":
      {
         url="https://prd2p.it.state.wi.us/dor/faqs/inquiry.html";
         break;
      }
      case "PR":
      {
         url="http://www.gobierno.pr/gprportal/inicio";
         break;
      }
      default:
   }
   if (url!="")
   {
      window.open(url,"","resizeable=yes,scrollbars=yes,height=600,width=760,left=0,top=0");
   }
}

function MM_openPoll(theURL) { //v2.0
  window.open(theURL,"","tollbar=no,scrollbars=yes,status=no,location=no,width=176,height=210,screenX=300,screenY=200");
}
  
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) { //v3.0
  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); 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 winopen(url)
{
window.open(url,"","resizable=yes,scrollbars=yes,height=527,width=600,left=0,top=0");
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
		  newwin=window.open(theURL,winName,features);
		  newwin.focus();
}

function expandSection(section) { 

  var sectionElement = document.getElementById(section); 

  if (sectionElement) { 

    if (sectionElement.style.display == "none") { 

      sectionElement.style.display = "block"; 

      var imageId = section.replace("section_", "img_"); 

      var sectionImage = document.getElementById(imageId); 

      if (sectionImage) { 

        sectionImage.setAttribute("src", "https://www.webbuildersolution.com/images/minus.gif"); 

      } 

    } else { 

      sectionElement.style.display = "none"; 

      var imageId = section.replace("section_", "img_"); 

      var sectionImage = document.getElementById(imageId); 

      if (sectionImage) { 

        sectionImage.setAttribute("src", "https://www.webbuildersolution.com/images/plus.gif"); 

      } 

    } 

  } else { 

  //alert("Section " + section + " element not found"); 

  } 

} 

