// JavaScript Document
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 MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.id; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } 
 
  if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}



function openWin(img,wh,ht) {
  winId = window.open('','star','toolbar=no, right-margin=0, left-margin=0, top-margin=0, status=no, scrollbars=no, width='+wh+', height='+ht);
  winId.document.write('<html><head><title>Property Image</title></head><body background="' + img + '" onLoad="if (window.focus) window.focus()" bgproperties="fixed">');
  winId.document.write('</body></html>');
  winId.document.close();
}

// mortgage calc

    function checkNumber(input, min, max, msg) {

        msg = msg + " field has invalid data: " + input.value;

        var str = input.value;
        for (var i = 0; i < str.length; i++) {
            var ch = str.substring(i, i + 1)
            if ((ch < "0" || "9" < ch) && ch != '.') {
                alert(msg);
                return false;
            }
        }
        var num = 0 + str
        if (num < min || max < num) {
            alert(msg + " not in range [" + min + ".." + max + "]");
            return false;
        }
        input.value = str;
        return true;
    }

    function computeField(input) {

        if (input.value != null && input.value.length != 0)
            input.value = "" + eval(input.value);
        computeForm(input.form);
    }

    function computeForm(form) {

        if ((form.payments.value == null || form.payments.value.length == 0) ||
            (form.interest.value == null || form.interest.value.length == 0) ||
            (form.principal.value == null || form.principal.value.length == 0)) {
            return;
        }

        if (!checkNumber(form.payments, 1, 480, "# of payments") ||
            !checkNumber(form.interest, .001, 99, "Interest") ||

            !checkNumber(form.principal, 100, 10000000, "Principal")) {
            form.payment.value = "Invalid";
            return;
        }

        var i = form.interest.value;
        
        if (i > 1.0) {
            i = i / 100.0;
            form.interest.value = i;
        }
        i /= 12;

        var pow = 1;
        for (var j = 0; j < form.payments.value; j++)
            pow = pow * (1 + i);
        form.payment.value = (form.principal.value * pow * i) / (pow - 1)
    }

    function clearForm(form) {
        form.payments.value = "";
        form.interest.value = "";
        form.principal.value = "";
		form.payment.value="";
    }

// mortgage calc

function trim(str) 
{
	return str.replace(/^\s*|\s*$/g,"");
}

function validDate(fld) {
    var RegExPattern = /^((((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))|(((0[1-9]|[12]\d|3[01])(0[13578]|1[02])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|[12]\d|30)(0[13456789]|1[012])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|1\d|2[0-8])02((1[6-9]|[2-9]\d)?\d{2}))|(2902((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00))))$/;
    var errorMessage = 'invalid date';
    if ((fld.match(RegExPattern)) && (fld != '')) {
        // alert('Date is OK'); 
	return true;
    } else {
       // alert(errorMessage);
       // fld.focus();
       return false;
    } 
}

function isnan(str){
	if(str != ""){
		if(str.match(/[^0-9 s+]/i)){
			return true;
		}
	}
return false;	
}



function cent(amount) {
     return (amount == Math.floor(amount)) ? amount + '.00' : (  (amount*10 == Math.floor(amount*10)) ? amount + '0' : amount);
}

function total(what,number) {
    var grandTotal = 0;
    for (var i=1;i<=number;i++) {
        if (what.elements['amount' + i].value == '')
            what.elements['amount' + i].value == '0.00'; // fix for Opera.
        grandTotal += (what.elements['amount' + i].value - 0);
    }
    what.grandTotal.value = cent(Math.round(grandTotal*Math.pow(10,2))/Math.pow(10,2));
}

function ajaxFunction(){
	var ajaxRequest;  // The variable that makes Ajax possible!
	
	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState != 4){
			document.getElementById("poll").innerHTML = "<img src='/images/loader.gif' />";
		}
		if(ajaxRequest.readyState == 4){
			//document.getElementById("poll").innerHTML = ajaxRequest.responseText;
			document.getElementById("poll").innerHTML = "<img src='/pollresults.php' />";
		}
	}
	var radiobutton = document.getElementById("radiobutton").value;
	
	var radio = document.form1.radiobutton;
	var choice = "";

	for(i=0; i<radio.length; i++){
		if(radio[i].checked){
			choice = radio[i].value;
		}
	}
	
	if(choice == ""){
	alert("Please select an option!");
	return;
	}
	
	ajaxRequest.open("GET", "/poll.php?choice="+choice, true);
	ajaxRequest.send(null); 
}

function showhide(show, total){
	
		for(i=1; i<=total; i++){
			document.getElementById("block" + i).style.display = 'none';
		}
		
		if(show != null && show != ""){
				document.getElementById("block" + show).style.display = '';
		}
		
}