
<!-- 
var isIE4 = false; 
var isNav4 = false; 
var isNav6 = false; 
 
if (navigator.appVersion.charAt(0) == "4") 
{ 
    if (navigator.appName.indexOf("Explorer") >= 0) 
    { 
        isIE4 = true; 
    } 
    else 
    { 
        isNav4 = true; 
    } 
} 
else if (navigator.appVersion.charAt(0) > "4") 
{ 
    isNav6 = true; 
} 
function CalculateThis() 
{ 
        // validate Contribution 
        var RE_Contribution = /^\d{0,5}(\.\d{0,2})?$/ ; 
        var str = String(document.frmDefault.Contribution.value); 
        if (str.length>0) 
        { 
                var validRate = RE_Contribution.test(document.frmDefault.Contribution.value); 
                if (!validRate) 
                { 
                        alert("Please enter a valid number for RRSP Contribution Amount (\"i.e. 1000\")."); 
                        return false; 
                } 
                var Amount = document.frmDefault.Contribution.value-0 ; 
                if (isNaN(Amount)) 
                { 
                        alert("Please enter a valid number for RRSP Contribution Amount (\"i.e. 1000\")."); 
                        return false; 
                } 
/*
                if (Amount>13500) 
                { 
                        alert("RRSP Contribution Amount cannot exceed $13500.00"); 
                        return false; 
                } 
*/
        } 
        else 
        { 
                alert("Please enter a value for RRSP Contribution Amount."); 
                return false; 
        } 
        var Contribution = str-0; 
        
        // validate Over Contribution 
        str = String(document.frmDefault.OverContribution.value); 
        if (str.length>0) 
        { 
                var validRate = RE_Contribution.test(document.frmDefault.OverContribution.value); 
                if (!validRate) 
                { 
                        alert("Please enter a valid number for RRSP Over Contribution Amount (\"i.e. 100\")."); 
                        return false; 
                } 
                var Amount = document.frmDefault.OverContribution.value-0 ; 
                if (isNaN(Amount)) 
                { 
                        alert("Please enter a valid number for RRSP Over Contribution Amount (\"i.e. 100\")."); 
                        return false; 
                } 
/*
                if (Amount>13500) 
                { 
                        alert("RRSP Over Contribution Amount cannot exceed $13500.00"); 
                        return false; 
                } 
*/
        } 
        else 
        { 
                alert("Please enter a value for RRSP Over Contribution Amount."); 
                return false; 
        } 
        var OverContribution = str-0; 
 
        //validate IncomeRange 
        var iNdex = document.frmDefault.IncomeRange.selectedIndex ; 
        var IncomeRange = document.frmDefault.IncomeRange.options[iNdex].value-0 ; 
        if (isNaN(IncomeRange)) 
        { 
                alert("Please select a Federal Income Tax Range."); 
                return false; 
        } 
        else 
        { 
                if(!IncomeRange>0) 
                { 
                        alert("Please select your Income Tax Range."); 
                        return false; 
                } 
        } 
        var federalRate = 0 ; 
        switch(IncomeRange) 
        { 
                case 1 : 
                        federalRate = 16 ; 
                        break ; 
                case 2 : 
                        federalRate = 22 ; 
                        break ; 
                case 3 : 
                        federalRate = 26 ; 
                        break ; 
                case 4 : 
                        federalRate = 29 ; 
                        break ; 
                default : 
                        federalRate = 0 ; 
        } 
        
        var provinceRate = 0 ; 
        iNdex = document.frmDefault.Province.selectedIndex ; 
        var whichProvince = document.frmDefault.Province.options[iNdex].value ; 
        switch(whichProvince) 
        { 
                case "ON" : 
                        switch(IncomeRange) 
                        { 
                                case 1 : 
                                        provinceRate = 6.20 ; 
                                        break ; 
                                case 2 : 
                                        provinceRate = 9.24 ; 
                                        break ; 
                                case 3 : 
                                        provinceRate = 11.16+6.25 ; 
                                        break ; 
                                case 4 : 
                                        provinceRate = 11.16+6.25 ; 
                                        break ; 
                                default : 
                                        provinceRate = 0 ; 
                        } 
                        break; 
                        
                case "QB" : 
                        switch(IncomeRange) 
                        { 
                                case 1 : 
                                        provinceRate = 17.00-2.64 ; 
                                        break ; 
                                case 2 : 
                                        provinceRate = 21.25-3.63 ; 
                                        break ; 
                                case 3 : 
                                        provinceRate = 24.50-4.29 ; 
                                        break ; 
                                case 4 : 
                                        provinceRate = 24.50-4.79 ; 
                                        break ; 
                                default : 
                                        provinceRate = 0 ; 
                        } 
                        break; 
                        
                case "MB" : 
                        switch(IncomeRange) 
                        { 
                                case 1 : 
                                        provinceRate = 10.90 ; 
                                        break ; 
                                case 2 : 
                                        provinceRate = 16.20 ; 
                                        break ; 
                                case 3 : 
                                        provinceRate = 17.40 ; 
                                        break ; 
                                case 4 : 
                                        provinceRate = 17.40 ; 
                                        break ; 
                                default : 
                                        provinceRate = 0 ; 
                        } 
                        break; 
                        
                case "SK" : 
                        switch(IncomeRange) 
                        { 
                                case 1 : 
                                        provinceRate = 11.50 ; 
                                        break ; 
                                case 2 : 
                                        provinceRate = 13.50 ; 
                                        break ; 
                                case 3 : 
                                        provinceRate = 16 ; 
                                        break ; 
                                case 4 : 
                                        provinceRate = 16 ; 
                                        break ; 
                                default : 
                                        provinceRate = 0 ; 
                        } 
                        break; 
                        
                case "AB" : 
                        switch(IncomeRange) 
                        { 
                                case 1 : 
                                        provinceRate = 10 ; 
                                        break ; 
                                case 2 : 
                                        provinceRate = 10 ; 
                                        break ; 
                                case 3 : 
                                        provinceRate = 10 ; 
                                        break ; 
                                case 4 : 
                                        provinceRate = 10 ; 
                                        break ; 
                                default : 
                                        provinceRate = 0 ; 
                        } 
                        break; 
                        
                case "BC" : 
                        switch(IncomeRange) 
                        { 
                                case 1 : 
                                        provinceRate = 7.30 ; 
                                        break ; 
                                case 2 : 
                                        provinceRate = 10.50 ; 
                                        break ; 
                                case 3 : 
                                        provinceRate = 15.70 ; 
                                        break ; 
                                case 4 : 
                                        provinceRate = 16.70 ; 
                                        break ; 
                                default : 
                                        provinceRate = 0 ; 
                        } 
                        break; 
                        
                case "NB" : 
                        switch(IncomeRange) 
                        { 
                                case 1 : 
                                        provinceRate = 9.68 ; 
                                        break ; 
                                case 2 : 
                                        provinceRate = 14.82 ; 
                                        break ; 
                                case 3 : 
                                        provinceRate = 16.52 ; 
                                        break ; 
                                case 4 : 
                                        provinceRate = 17.84 ; 
                                        break ; 
                                default : 
                                        provinceRate = 0 ; 
                        } 
                        break; 
                        
                case "NS" : 
                        switch(IncomeRange) 
                        { 
                                case 1 : 
                                        provinceRate = 9.77 ; 
                                        break ; 
                                case 2 : 
                                        provinceRate = 14.95 ; 
                                        break ; 
                                case 3 : 
                                        provinceRate = 16.67+0.08 ; 
                                        break ; 
                                case 4 : 
                                        provinceRate = 16.67+1.67 ; 
                                        break ; 
                                default : 
                                        provinceRate = 0 ; 
                        } 
                        break; 
                        
                case "PE" : 
                        switch(IncomeRange) 
                        { 
                                case 1 : 
                                        provinceRate = 9.8 ; 
                                        break ; 
                                case 2 : 
                                        provinceRate = 13.80 ; 
                                        break ; 
                                case 3 : 
                                        provinceRate = 16.70+1.67 ; 
                                        break ; 
                                case 4 : 
                                        provinceRate = 16.70+1.67 ; 
                                        break ; 
                                default : 
                                        provinceRate = 0 ; 
                        } 
                        break; 
                        
                case "NF" : 
                        switch(IncomeRange) 
                        { 
                                case 1 : 
                                        provinceRate = 10.57 ; 
                                        break ; 
                                case 2 : 
                                        provinceRate = 16.16 ; 
                                        break ; 
                                case 3 : 
                                        provinceRate = 18.02+1.62 ; 
                                        break ; 
                                case 4 : 
                                        provinceRate = 18.02+1.62 ; 
                                        break ; 
                                default : 
                                        provinceRate = 0 ; 
                        } 
                        break; 
                        
                case "YK" : 
                        switch(IncomeRange) 
                        { 
                                case 1 : 
                                        provinceRate = 7.36 ; 
                                        break ; 
                                case 2 : 
                                        provinceRate = 10.12 ; 
                                        break ; 
                                case 3 : 
                                        provinceRate = 11.96+0.30 ; 
                                        break ; 
                                case 4 : 
                                        provinceRate = 13.34+0.67 ; 
                                        break ; 
                                default : 
                                        provinceRate = 0 ; 
                        } 
                        break; 
                        
                case "NT" : 
                        switch(IncomeRange) 
                        { 
                                case 1 : 
                                        provinceRate = 7.2 ; 
                                        break ; 
                                case 2 : 
                                        provinceRate = 9.9 ; 
                                        break ; 
                                case 3 : 
                                        provinceRate = 11.7 ; 
                                        break ; 
                                case 4 : 
                                        provinceRate = 13.05 ; 
                                        break ; 
                                default : 
                                        provinceRate = 0 ; 
                        } 
                        break; 
                        
                case "NN" : 
                        switch(IncomeRange) 
                        { 
                                case 1 : 
                                        provinceRate = 7.2 ; 
                                        break ; 
                                case 2 : 
                                        provinceRate = 9.9 ; 
                                        break ; 
                                case 3 : 
                                        provinceRate = 11.7 ; 
                                        break ; 
                                case 4 : 
                                        provinceRate = 13.05 ; 
                                        break ; 
                                default : 
                                        provinceRate = 0 ; 
                        } 
                        break; 
 
                default : 
                        provinceRate = 0 ; 
        } 
        
        var rate = (federalRate + provinceRate)/100 ; 
        
        var TaxSavings = (Contribution - OverContribution) * rate ; 
        if ((isNav4)||(isIE4)) { 
          document.frmDefault.TaxSavings.value = FormatCurrency(TaxSavings) ; 
        } 
        else { 
          document.getElementById("result").innerHTML = FormatCurrency(TaxSavings) ; 
        } 
        //document.frmDefault.TaxSavings.value = FormatCurrency(TaxSavings) ; 
        
        return true; 
        
} 
 
function FormatCurrency(tempCurrency) 
{ 
        var tempStr = new String(tempCurrency); 
        tempStr = tempStr.replace("$", "") ; 
        tempStr = tempStr.replace(",", "") ; 
        tempStr = AddCommas(CurrencyManipulator(tempStr)); 
        if (tempStr.indexOf('-')>=0){ 
                tempStr = "-$" + tempStr.replace("-","") ; 
        } 
        else{ 
                tempStr = "$" + tempStr ; 
        } 
        return tempStr 
} 
 
function AddCommas(tempCurrency){ 
        TempPrice=tempCurrency; 
        PriceLength=tempCurrency.length; 
        
        if (PriceLength>6 && PriceLength<10) 
        { 
                TempPrice=TempPrice.substring(0,PriceLength-6)+","+TempPrice.substr(PriceLength-6); 
        } 
        else 
        { 
                if (PriceLength>9) 
                        TempPrice=TempPrice.substring(0,PriceLength-9)+","+TempPrice.substring(PriceLength-9,PriceLength-6)+","+TempPrice.substr(PriceLength-6);
 
        } 
        
        return TempPrice; 
} 
 
function CurrencyManipulator(tempCurrency){ 
        var numVal = parseFloat(tempCurrency); 
        var Albert; 
 
        numVal = Math.round(numVal * 100) / 100; 
 
        Albert=numVal.toString(); 
        
        if (!Albert.length>0) 
        { 
                return Albert+ "0.00" ; 
        } 
        else 
        { 
                if (Albert.indexOf('.')==-1) 
                { 
                        return Albert+ ".00" ; 
                } 
                else 
                { 
                        if(Albert.indexOf('.')==0) 
                        { 
                                Albert = "0" + Albert ; 
                        } 
                        if(Albert.indexOf('.')==Albert.length-2) 
                        { 
                                return Albert + "0" ; 
                        } 
                        else 
                        { 
                                if(Albert.indexOf('.')==Albert.length-1) 
                                { 
                                        return Albert + "00" ; 
                                } 
                                else 
                                { 
                                        return Albert ; 
                                } 
                        } 
                } 
        } 
} 
 
 
 
//--> 


