function computeFormMOR(form){
	form.MonthlyPayment.value = '';
	if(form.Loan.value=='' || form.Years.value=='' || form.InterestRate.value==''){
		alert('Please complete all details to proceed.');
		form.MonthlyPayment.value = 'Invalid';
	} else {
    	var interest = form.InterestRate.value;
        var years = form.Years.value;
        var loan = form.Loan.value;
		var intRate = cleanup(interest) / 100 / 12;
		var p =  years * 12;
		var x = cleanup(loan) * intRate * Math.pow(1 + intRate, p);
		var y = Math.pow(1 + intRate, p) - 1;
		var z = x / y;
		var a = p * z;
		var b = a - cleanup(form.Loan.value);
		var c = b / cleanup(form.Loan.value) * 100;
		var d = b / a *100;
		form.MonthlyPayment.value = formatDollar(z);
		form.InterestPaid.value = formatDollar(b);
		form.PercentLoan.value = roundnumber(c, 1) + "%";
		form.InterestPercent.value = roundnumber(d, 1) +"%";
		form.Months.value= p;
        $.post('../../_log/calc.m.log.php',{s: "ve7ik8ohc07kilh6orsuntisk2", 'mortgages[]': [loan, years, interest]});
	}
}
function cleanup(In){
	var B = ""  // out-string
	var C = ""  // temp char
	var Point =  false
	var Allowed = "0123456789"
	var Permitted = null
	for ( var i = 0 ; i <= In.length ; i++ )
	 { C = In.charAt(i)   // a char at position i
	   // check if C is an allowed char by finding its position in a string of
	   // allowed chars such as "0123456789."
	   if (!Point) Permitted = Allowed + "." ; else Permitted = Allowed
	   // Build up the outstring B by a line conditional on C being legal
	   if (Permitted.indexOf(C) != -1) B += C
	   if (C == ".") Point = true
	   // allow only one "." by setting a var Point = true
	   // which then disallows another "."
	 }
	return (B)
}
function formatDollar (Val, DollarSign){
	Val=""+Val;
	if (Val.indexOf (".", 0)!=-1) {
			Dollars = Val.substring(0, Val.indexOf (".", 0));
			Cents = Val.substring(Val.indexOf (".", 0)+1, Val.indexOf (".", 0)+3);
			if (Cents.length==0)
					Cents="00";
			if (Cents.length==1)
					Cents=Cents+"0";
	} else {
			Dollars = Val;
			Cents = "00";
	}
	OutString="";
	len=Dollars.length;
	if (len>=3) {
			while (len>0) {
					TempString=Dollars.substring(len-3, len)
					if (TempString.length==3) {
							OutString=","+TempString+OutString
							len=len-3;
					} else {
							OutString=TempString+OutString
							len=0
					}
			}
			if (OutString.substring(0, 1)==",")
					Dollars=OutString.substring (1, OutString.length)
			else
					Dollars=OutString
	}
	if (DollarSign)
			return ("$"+Dollars+"."+Cents);
	else
			return ("$"+Dollars+"."+Cents);
}
function roundnumber(number_value,places){
	number_value = (Math.round(number_value * (Math.pow(10 ,places)))) / Math.pow(10 ,places)
	return(number_value)
}
function computeFormINV(form){
	var i = form.interest.value;
	if (i > 1.0) {
		i = form.interest.value / 100;
	} else {
		i = form.interest.value;
	}
	i /= 12;
	var ma = eval(form.moAdd.value);
	var prin = eval(form.principal.value);
	var pmts = eval(form.payments.value * 12);
	var count = 0;
	while(count < pmts) {
		newprin = prin + ma;
		prin = (newprin * i) + eval(prin + ma);
		count = count + 1;
	}
	form.fv.value = CommaNumber(Math.round(prin));
	var totinv = eval(count * ma) + eval(form.principal.value);
	form.totalint.value = CommaNumber(Math.round(eval(prin - totinv)));
    $.post('../../_log/calc.i.log.php',{s: "ve7ik8ohc07kilh6orsuntisk2", 'investment[]': [form.principal.value, ma, form.interest.value, form.payments.value]});
}
function CommaNumber(n){
	n = String(n);
	var cn = String();
	while (n.length > 3) {
		cn = ',' + n.substring(n.length-3,n.length) + cn;
		n = n.substring(0,n.length-3);
	}
	return n + cn;
}
function clearForm(f){
	eval('document.forms["'+f+'"].reset();');
}
function calc(ca){
	if($('#selcalc').hasClass('off')){
    	$('#selcalc').fadeTo(300,0.01, function(){
        	if(ca==1){
                $('#mBut').addClass('selected');
                $('#iBut').removeClass('selected');
                $('#sBut').removeClass('selected');
                $('#investmentCalculator').slideUp(300,function(){
                	$('#stampdutycalculator').slideUp(300,function(){
	                    $('#mortgagesCalculator').slideDown(600);
    	                $('#selcalc').css('display','none');
                    });
                });
            } else if(ca==2){
                $('#iBut').addClass('selected');
                $('#mBut').removeClass('selected');
                $('#sBut').removeClass('selected');
                $('#mortgagesCalculator').slideUp(300,function(){
                	$('#stampdutycalculator').slideUp(300,function(){
	                    $('#investmentCalculator').slideDown(600);
    	                $('#selcalc').css('display','none');
                    });
                });
            } else if(ca==3){
            	$('#sBut').addClass('selected');
                $('#iBut').removeClass('selected');
                $('#mBut').removeClass('selected');
                $('#mortgagesCalculator').slideUp(300,function(){
                    $('#investmentCalculator').slideUp(300, function(){
                    	$('#stampdutycalculator').slideDown(600);
	                    $('#selcalc').css('display','none');
                    });
                });
            }
            $('#selcalc').removeClass('off');
        });
    } else {
        if(ca==1){
            $('#mBut').addClass('selected');
            $('#iBut').removeClass('selected');
            $('#sBut').removeClass('selected');
            $('#investmentCalculator').slideUp(300,function(){
                $('#stampdutycalculator').slideUp(300,function(){
                    $('#mortgagesCalculator').slideDown(600);
                });
            });
        } else if(ca==2){
            $('#iBut').addClass('selected');
            $('#mBut').removeClass('selected');
            $('#sBut').removeClass('selected');
            $('#mortgagesCalculator').slideUp(300,function(){
                $('#stampdutycalculator').slideUp(300,function(){
                    $('#investmentCalculator').slideDown(600);
                });
            });
        } else if(ca==3){
            $('#sBut').addClass('selected');
            $('#iBut').removeClass('selected');
            $('#mBut').removeClass('selected');
            $('#mortgagesCalculator').slideUp(300,function(){
                $('#investmentCalculator').slideUp(300, function(){
                    $('#stampdutycalculator').slideDown(600);
                });
            });
        }
    }
}

function get_item(name, value) {
	this.name = name;
	this.value = value;
}

function find_select(select_object) {
	contents = new get_item();
	for(var i=0;i<select_object.options.length;i++) {
		if(select_object.options[i].selected == true) {
			contents.name = select_object.options[i].text;
			contents.value = select_object.options[i].value;
		}
	}
	return contents;
}

function StripChars(strIn) {
	var newstr = "";
	var Chars = "0123456789.";
    for (var i = 0; i < strIn.length; i++) {
       if (Chars.indexOf(strIn.charAt(i)) == -1) {}
	   else {
	   	newstr = newstr + strIn.charAt(i);
	   }
    }
	return newstr;
}

function stampduty(formfield) {
	var valueofprop = StripChars(formfield.valueofprop.value);
	var loanamount = StripChars(formfield.loanamount.value);
	var state = find_select(formfield.state);
	var type = "OO"
	for (i=0; i< formfield.elements.length; i++) {
		if (formfield.elements[i].name == 'Type') {
			for (s=0;s < 2; s++) {
				if (formfield.Type[s].checked == true) {
					type = formfield.Type[s].value;
				}
			}
		}
	}
	if ((valueofprop == "") && (loanamount == "")) {
		window.alert("You have not entered any values!");
		return;
	}
	t_amount = valueofprop;
	if ((valueofprop % 100) != 0 ) {
			var mod = eval(100-(valueofprop % 100));
			valueofprop = -(-valueofprop - mod);
	}
	
	if ((loanamount % 100) != 0 ) {
			var mod2 = eval(100-(loanamount % 100));
			loanamount = -(-loanamount- mod2);
	}
	
//********************** Victoria *************************
	if (state.value == "VIC") {

		if ((t_amount % 1000) != 0 ) {
			var mod = eval(1000-(t_amount % 1000));
			t_amount = -(-t_amount - mod);
		}
		if ((t_amount > 0) && (t_amount <= 500000)) {
			var transfer = (t_amount / 1000) * 2.46 + 94.6;
		}
		else {
			var transfer = 1325;
		}
		transfer = Math.ceil(transfer) ;
		mortgage = 75;

		if (valueofprop <= 20000) {
			var duty = eval(((valueofprop)/100)*1.4);
	
		}
		else if ((valueofprop > 20000) && (valueofprop <= 115000)) {
			var duty = eval((((valueofprop - 20000)/100)*2.4) + 280);
		}
	
		else if ((valueofprop > 115000) && (valueofprop <= 870000)) {
			var duty = eval((((valueofprop - 115000)/100)*6) + 2560);
		}
		
		else {
			var duty = eval(((valueofprop)/100)*5.5) ;
		}
		if ((loanamount % 200) != 0 ) {
			var mod = eval(200-(loanamount % 200));
			loanamount = -(-loanamount- mod);
		}
/*
		No more loan duty as of 1/7/2004
		
		if (loanamount <= 10000) {
			var loanduty = 4;
		}
		else {
			var loanduty = eval((((loanamount - 10000)/200)*0.8) + 4);
		}
*/
		var loanduty = 0;
		
	}

//********************** New South Wales *************************
	else if (state.value == "NSW") {
		var mortgage = 79;
		var transfer = 79;

	
		if (valueofprop <= 14000) {
			var duty = eval((valueofprop/100)*1.25);
		}
	
		else if ((valueofprop > 14000) && (valueofprop <= 30000)) {
			var duty = eval((((valueofprop - 14000)/100)*1.5) + 175);
		}
	
		else if ((valueofprop > 30000) && (valueofprop <= 80000)) {
			var duty = eval((((valueofprop - 30000)/100)*1.75) + 415);
		}
	
		else if ((valueofprop > 80000) && (valueofprop <= 300000)) {
			var duty = eval((((valueofprop - 80000)/100)*3.5) + 1290);
		}
	
		else if ((valueofprop > 300000) && (valueofprop <= 1000000)) {
			var duty = eval((((valueofprop - 300000)/100)*4.5) + 8990);
		}
		
		else {
			var duty = eval((((valueofprop - 1000000)/100)*5.5) + 40490);
		}
		if ((loanamount % 1000) != 0 ) {
			var mod = eval(1000-(loanamount % 1000));
			loanamount = -(-loanamount- mod);
		}
		if (loanamount <= 16000) {
			var loanduty = 5;
		}
		else {
			var loanduty = eval((((loanamount - 16000)/1000)*4) + 5);
		}
		
	}

//********************** ACT *************************
	else if (state.value == "ACT") {
		var mortgage = 87;
		var transfer = 170;
		var loanduty = 0;
	if(valueofprop <=326000 && type == 'OO'){
		if(valueofprop <= 285000){
		        duty = 20;
				}
		else if ( valueofprop <= 326000){
			duty = Math.ceil((valueofprop-285000)/100) * 26.66;
		}
	}else
	{


		
				if (valueofprop <= 100000) {
					var duty = Math.max(Math.ceil(eval(valueofprop/100))*2, 20);
				}
				else if (valueofprop <= 200000) {
					var duty = Math.ceil(eval((valueofprop-100000)/100))*3.5 + 2000;
				}
				else if (valueofprop <= 300000) {
					var duty = Math.ceil(eval((valueofprop-200000)/100))*4 + 5500;
				}
				else if (valueofprop <= 500000) {
					var duty = Math.ceil(eval((valueofprop-300000)/100))*5.5 + 9500;
				}
				else if (valueofprop <= 1000000) {
					var duty = Math.ceil(eval((valueofprop-500000)/100))*5.75 + 20500;
				}
				else {
					var duty = Math.ceil(eval((valueofprop-1000000)/100))*6.75 + 49250;
				}
				
				
				/*if (loanamount <= 285000) {
					var loanduty = 20;
				}
				else if ((loanamount > 285000) && (loanamount <= 326000)) {
					var loanduty = eval(((loanamount - 285000)/100)* 26.66);
				}
				else {
					var loanduty = duty;
				}*/
				loanduty = 0.0
	 }
	}

//********************** Queensland *************************
	else if (state.value == "QLD") {
		if ((t_amount % 10000) != 0 ) {
			var mod = eval(10000-(t_amount % 10000));
			t_amount = -(-t_amount - mod);
		}
		var transfer = 111.30;
		if (t_amount > 180000) transfer += Math.ceil(eval((t_amount-180000)/10000))*23.70 + 111.30;

		var mortgage = 111.30;
		
		if (type == 'OO') {
		
			if(loanamount > 70000) loanduty = Math.ceil(eval((loanamount - 70000)/100)) * 0.40;
			else loanduty = 0;
/*						
			if (valueofprop <= 250000) {
				var duty = eval((valueofprop/100)*1);
			}
			else if ((valueofprop > 250000) && (valueofprop <= 500000)) {
				var duty = eval((((valueofprop - 250000)/100)*3.5) + 2500);
			}
			else {
				var duty = eval((((valueofprop - 500000)/100)*3.75) + 11250);
			}
*/

/*			if (valueofprop <= 80000) var duty = 800;
			else if (valueofprop <= 300000) var duty = valueofprop*0.01;
			else if (valueofprop <= 500000) var duty = 3000 + Math.ceil(eval((valueofprop - 300000)/100)) * 3.5;
			else var duty = 11250 + Math.ceil(eval((valueofprop - 500000)/100)) * 3.75;
							
*/
			if (valueofprop <= 300000) var duty = Math.ceil(eval( valueofprop /100)) * 1.0;
			else if (valueofprop <= 500000) var duty = 3000 + Math.ceil(eval((valueofprop - 300000)/100)) * 3.5;
			else var duty = 10000 + Math.ceil(eval((valueofprop - 500000)/100)) * 3.75;
		}
		else {
			
			loanduty = Math.ceil(eval(loanamount/100)) * 0.40

			if (valueofprop <= 20000) var duty = Math.ceil(eval(valueofprop/100)) * 1.5;
			else if (valueofprop <= 50000) var duty = 300 + Math.ceil(eval((valueofprop - 20000)/100)) * 2.25;
			else if (valueofprop <= 100000) var duty = 975 + Math.ceil(eval((valueofprop - 50000)/100)) * 2.75;
			else if (valueofprop <= 250000) var duty = 2350 + Math.ceil(eval((valueofprop - 100000)/100)) * 3.25;
			else if (valueofprop <= 500000) var duty = 7225 + Math.ceil(eval((valueofprop - 250000)/100)) * 3.5;
			else var duty = 15975 + Math.ceil(eval((valueofprop - 500000)/100)) * 3.75;
/*
			
			if (valueofprop <= 20000) {
				var duty = Math.ceil(eval(valueofprop/100))*1.5;
			}
			else if ((valueofprop > 20000) && (valueofprop <= 50000)) {
				var duty = Math.ceil(eval((((valueofprop - 20000)/100)*2.25) + 300);
			}
			else if ((valueofprop > 50000) && (valueofprop <= 100000)) {
				var duty = eval((((valueofprop - 50000)/100)*2.75) + 975);
			}
			else if ((valueofprop > 100000) && (valueofprop <= 250000)) {
				var duty = eval((((valueofprop - 100000)/100)*3.25) +2350);
			}
			else if ((valueofprop > 250000) && (valueofprop <= 500000)) {
				var duty = eval((((valueofprop - 250000)/100)*3.5) + 7225);
			}
			else {
				var duty = eval((((valueofprop - 500000)/100)*3.75) + 15975);
			}
*/
		}
		
	}

//********************** South Australia *************************
	else if (state.value == "SAN") {
		if (valueofprop <= 5000)
	        transfer = 104;
	    if (valueofprop > 5000 && valueofprop <= 20000)
	        transfer = 116;
	    if (valueofprop > 20000 && valueofprop <= 40000)
	        transfer = 130;
	    if (valueofprop > 40000 && valueofprop <= 50000)
	    { 
		transfer = 186;
	    }
	    if (valueofprop > 50000)
	    { 
		transfer = Math.ceil((valueofprop - 50000)/10000)*57.50 + 186;
	    }
		mortgage = 104;
		
		
		
		
	
	
		
		
		
		
		

		
		// Round up to next $100
		valueofprop = Math.ceil(valueofprop/100.0)*100;
		
		if (valueofprop <= 12000) {
			var duty = eval((valueofprop/100.0)*1);
		}
	
		else if ((valueofprop > 12000) && (valueofprop <= 30000)) {
			var duty = eval((((valueofprop - 12000)/100)*2) + 120);
		}
	
		else if ((valueofprop > 30000) && (valueofprop <= 50000)) {
			var duty = eval((((valueofprop - 30000)/100)*3) + 480);
		}
	
		else if ((valueofprop > 50000) && (valueofprop <= 100000)) {
			var duty = eval((((valueofprop - 50000)/100)*3.5) + 1080);
		}
	
		else if ((valueofprop > 100000) && (valueofprop <= 200000)) {
			var duty = eval((((valueofprop - 100000)/100)*4) + 2830);
		}
		else if ((valueofprop > 200000) && (valueofprop <= 250000)) {
			var duty = eval((((valueofprop - 200000)/100)*4.25) + 6830);
		}
		else if ((valueofprop > 250000) && (valueofprop <= 300000)) {
			var duty = eval((((valueofprop - 250000)/100)*4.75) + 8955);
		}
		else if ((valueofprop > 300000) && (valueofprop <= 500000)) {
			var duty = eval((((valueofprop - 300000)/100)*5) + 11330);
		}
		else {
			var duty = eval((((valueofprop - 500000)/100)*5.5) + 21330);
		}
		
		loanamount = Math.ceil(loanamount/100)*100;
		
		if (loanamount <= 400) {
			var loanduty = 0;
		}
		else if ((loanamount > 400) && (loanamount <= 6000)) {
			
			if (type == "OO") {var loanduty = 0;}
		          else {var loanduty = 10;};
		}
		else {
			if (type == "OO") var loanduty = 0; //eval((((loanamount - 6000)/100)*0.35) + 10);
			else var loanduty = eval((((loanamount - 6000)/100)*0.45) + 10);
		}
	}

//********************** Tasmania *************************
	else if (state.value == "TAS") {
		var mortgage = 85.50;
		var transfer = 131;
		if (valueofprop <= 1300) {
			var duty = 20;
		}
		else if ((valueofprop > 1300) && (valueofprop <= 10000)) {
			var duty = eval((valueofprop/100)*1.5);
		}
	
		else if ((valueofprop > 10000) && (valueofprop <= 30000)) {
			var duty = eval((((valueofprop - 10000)/100)*2) + 150);
		}
	
		else if ((valueofprop > 30000) && (valueofprop <= 75000)) {
			var duty = eval((((valueofprop - 30000)/100)*2.5) + 550);
		}
	
		else if ((valueofprop > 75000) && (valueofprop <= 150000)) {
			var duty = eval((((valueofprop - 75000)/100)*3) + 1675);
		}
	
		else if ((valueofprop > 150000) && (valueofprop <= 225000)) {
			var duty = eval((((valueofprop - 150000)/100)*3.5) + 3925);
		}
		
		else {
			var duty = eval((((valueofprop - 225000)/100)*4) + 6550);
		}
		
		if (loanamount <= 10000) {
			var loanduty = 20;
		}
		else if ( loanamount > 10000 ) {
			var loanduty = eval(((loanamount - 10000)*0.00175) + 20);
		}
		
	}

//********************** Western Australia *************************
	else if (state.value == "WAN") {
		var transfer;
	//Init.getObject("notesResult").setText("WA");
		if (valueofprop <= 85000) {
			transfer = 82;
		}
		else if (valueofprop <= 120000) {
			transfer = 92;
		}
		else if (valueofprop <= 200000) {
			transfer = 112;
		}
		else if (valueofprop <= 300000) {
			transfer = 132;
		}
		else if (valueofprop <= 400000) {
			transfer = 152;
		}
		else if (valueofprop <= 500000) {
			transfer = 172;
		}
		else if (valueofprop <= 600000) {
			transfer = 192;
		}
		else if (valueofprop <= 700000) {
			transfer = 212;
		}
		else if (valueofprop <= 800000) {
			transfer = 232;
		}
		else if (valueofprop <= 900000) {
			transfer = 252;
		}
		else if (valueofprop <= 1000000) {
			transfer = 272;
		}
		else if (valueofprop <= 1100000) {
			transfer = 292;
		}
		else if (valueofprop <= 1200000) {
			transfer = 312;
		}
		else if (valueofprop <= 1300000) {
			transfer = 332;
		}
		else if (valueofprop <= 1400000) {
			transfer = 352;
		}
		else if (valueofprop <= 1500000) {
			transfer = 372;
		}
		else if (valueofprop <= 1600000) {
			transfer = 392;
		}
		else if (valueofprop <= 1700000) {
			transfer = 412;
		}
		else if (valueofprop <= 1800000) {
			transfer = 432;
		}
		else if (valueofprop <= 1900000) {
			transfer = 452;
		}
		else if (valueofprop <= 2000000) {
			transfer = 472;
		}
		else {
			transfer = Math.ceil((valueofprop - 2000000)/100000)*20 + 472;
		}
		
		var mortgage = 82;
		
		
		if (type == 'OO' && valueofprop <= 200000) {
			if (valueofprop <= 100000) {	
				var duty = Math.ceil(eval(valueofprop/100))*1.5;
			}
			else {
				var duty = Math.ceil(eval((valueofprop - 100000) / 100)) *4.7 + 1500;
			}
		}
		else {
			if (valueofprop <= 80000) {	
				var duty = Math.ceil(eval(valueofprop/100))*2.0;
			}
		
			else if ((valueofprop > 80000) && (valueofprop <= 100000)) {
				var duty = Math.ceil(eval((valueofprop - 80000)/100))*3.0 + 1600;
			}
		
			else if ((valueofprop > 100000) && (valueofprop <= 250000)) {
				var duty = Math.ceil(eval((valueofprop - 100000)/100))*4.0 + 2200;
			}
		
			else if ((valueofprop > 250000) && (valueofprop <= 500000)) {
				var duty = Math.ceil(eval((valueofprop - 250000)/100))*5.0 + 8200;
			}
		
			else {
				var duty = Math.ceil(eval((valueofprop - 500000)/100))*5.4 + 20700;
			}
		}

        var loanduty = 20;

		if (type =="OO") {
		    if (loanamount > 16000) loanduty += Math.ceil(eval((loanamount-16000)/100)) * 0.125;
		}
		else {
			if (loanamount > 10000) loanduty += Math.ceil(eval((loanamount-10000)/100)) * 0.2;
		}
	}

//********************** Northern Territory  *************************
	else if (state.value == "NT") {
		var mortgage = 90;
		var transfer = 90;
		var loanduty = 0;

	
		if (valueofprop <=500000) {
			newamount = eval(valueofprop / 1000);
			var duty = eval((0.065 * Math.pow(newamount,2)) + (21 * newamount));
		}
	
		else {
			var duty = eval(0.054 * valueofprop);
		}
		if (type =="OO") {
			duty = duty - 2500;
			if (duty < 0) duty = 0;
		}
	}
	total = eval(duty + loanduty + mortgage + transfer);
	total = rounding(total);
	duty = rounding(duty);
	loanduty = rounding(loanduty);
	mortgage = rounding(mortgage);
	transfer = rounding(transfer);
	
	formfield.duty.value = duty;
	formfield.loanduty.value = loanduty;
	formfield.mortgage.value = mortgage;
	formfield.transfer.value = transfer;
	formfield.total.value = total;
    
    $.post('../../_log/calc.sd.log.php',{s: "ve7ik8ohc07kilh6orsuntisk2", 'stampduty[]': [valueofprop, loanamount, state.value, type, duty, loanduty, mortgage, transfer, total]});

}
function rounding(n) {
	cents = n * 100;
	cents = Math.round(cents);
	strCents = "" + cents;
	len = strCents.length;
	return strCents.substring(0, len - 2) + "." + strCents.substring((len - 2), len);
}