var scripts = document.getElementsByTagName('script');
var myScript = scripts[ scripts.length - 1 ];

var queryString = myScript.src.replace(/^[^\?]+\??/,'');

var params = parseQuery( queryString );

function parseQuery ( query ) {
   var Params = new Object ();
   if ( ! query ) return Params; // return empty object
   var Pairs = query.split(/[;&]/);
   for ( var i = 0; i < Pairs.length; i++ ) {
      var KeyVal = Pairs[i].split('=');
      if ( ! KeyVal || KeyVal.length != 2 ) continue;
      var key = unescape( KeyVal[0] );
      var val = unescape( KeyVal[1] );
      val = val.replace(/\+/g, ' ');
      Params[key] = val;
   }
   return Params;
}

var caltype;

function Calculate(){
    if(checkerr()){
        var companyname = "BrokerNews.com.au";
        if(params['p'] !=""){
            companyname = params['p'];
        }
        
        var principal1 = document.getElementById("txt_loan1_principal").value;
        var repayment1 = document.getElementById("txt_loan1_repayment").value;
        var rate_yr1 = document.getElementById("txt_loan1_rate_yr").value;
        var period_yrs1 = document.getElementById("txt_loan1_period_yrs").value;
        var frequency1 = document.getElementById("txt_loan1_frequency").value;
        
        var principal2 = document.getElementById("txt_loan2_principal").value;
        var repayment2 = document.getElementById("txt_loan2_repayment").value;
        var rate_yr2 = document.getElementById("txt_loan2_rate_yr").value;
        var period_yrs2 = document.getElementById("txt_loan2_period_yrs").value;
        var frequency2 = document.getElementById("txt_loan2_frequency").value;
        
        var iframesrc = "http://tools.brokernews.com.au/calculators/basic/results.aspx?";
        iframesrc = iframesrc + "companyname=" + companyname;
        iframesrc = iframesrc + "&caltype=" + caltype;
        
        iframesrc = iframesrc + "&principal1=" + principal1;
        iframesrc = iframesrc + "&repayment1=" + repayment1;
        iframesrc = iframesrc + "&rate_yr1=" + rate_yr1;
        iframesrc = iframesrc + "&period_yrs1=" + period_yrs1;
        iframesrc = iframesrc + "&frequency1=" + frequency1;
        
        if(document.getElementById("tbl_loantitle").style.display!="none"){
            iframesrc = iframesrc + "&principal2=" + principal2;
            iframesrc = iframesrc + "&repayment2=" + repayment2;
            iframesrc = iframesrc + "&rate_yr2=" + rate_yr2;
            iframesrc = iframesrc + "&period_yrs2=" + period_yrs2;
            iframesrc = iframesrc + "&frequency2=" + frequency2;
            document.getElementById("iframe1").style.height="450px";
        }
        else{
            document.getElementById("iframe1").style.height="400px";
        }
        document.getElementById("tbl_result").style.display="";
        document.getElementById("iframe1").style.display="";
        document.getElementById("iframe1").src = iframesrc;
        document.getElementById("btn_print").style.display="";
    }
}

function checkerr(){
    var errmsg = "";
    
    if(document.getElementById("caltype1").checked == true){//Loan repayment calculator
        errmsg = group_validator(1);
        caltype = "1";
    }
    else if(document.getElementById("caltype2").checked == true){//Loan amount calculator
        errmsg = group_validator(2);
        caltype = "2";
    }
    else if(document.getElementById("caltype3").checked == true){//Loan term calculator
        errmsg = group_validator(3);
        caltype = "3";
    }
    
    if(errmsg == ""){
        return true;
    }
    else{
        return false;
    }
}

function calculation_selector(calculator){
    clear_errmsg(); //initialise all values
    switch (calculator)
    {
        case 1:
            document.getElementById("txt_loan1_repayment").value = "";
            document.getElementById("txt_loan2_repayment").value = "";
        
            document.getElementById("display_principal1").style.display = "";
            document.getElementById("display_repayment1").style.display = "none";
            document.getElementById("display_term1").style.display = "";
            
            document.getElementById("display_principal2").style.display = "";
            document.getElementById("display_repayment2").style.display = "none";
            document.getElementById("display_term2").style.display = "";
        break
        
        case 2:
            document.getElementById("txt_loan1_principal").value = "";
            document.getElementById("txt_loan2_principal").value = "";
            
            document.getElementById("display_principal1").style.display = "none";
            document.getElementById("display_repayment1").style.display = "";
            document.getElementById("display_term1").style.display = "";
            
            document.getElementById("display_principal2").style.display = "none";
            document.getElementById("display_repayment2").style.display = "";
            document.getElementById("display_term2").style.display = "";
        break
        
        case 3:
            document.getElementById("txt_loan1_period_yrs").value = "";
            document.getElementById("txt_loan2_period_yrs").value = "";
            
            document.getElementById("display_principal1").style.display = "";
            document.getElementById("display_repayment1").style.display = "";
            document.getElementById("display_term1").style.display = "none";
            
            document.getElementById("display_principal2").style.display = "";
            document.getElementById("display_repayment2").style.display = "";
            document.getElementById("display_term2").style.display = "none";
        break
    }
}

function clear_errmsg(){
    for(i=1; i < 5; i++){
        document.getElementById(eval("'err_loan1_'+i")).innerHTML = "";
        document.getElementById(eval("'err_loan2_'+i")).innerHTML = "";
        }
    for(i=1; i < 3; i++){
        document.getElementById(eval("'txt_loan'+i+'_principal'")).value = "";
        document.getElementById(eval("'txt_loan'+i+'_principal'")).style.borderColor = "";
        document.getElementById(eval("'txt_loan'+i+'_repayment'")).value = "";
        document.getElementById(eval("'txt_loan'+i+'_repayment'")).style.borderColor = "";
        document.getElementById(eval("'txt_loan'+i+'_period_yrs'")).value = "";
        document.getElementById(eval("'txt_loan'+i+'_period_yrs'")).style.borderColor = "";
        document.getElementById(eval("'txt_loan'+i+'_rate_yr'")).value = "";
        document.getElementById(eval("'txt_loan'+i+'_rate_yr'")).style.borderColor = "";
        }
}

function group_validator(calculator){
    var errmsg = "";
    
    switch (calculator)
    {
    case 1:
        // for firefox - remove default errmsg
        document.getElementById("err_loan1_2").innerHTML = "";
        document.getElementById("err_loan2_2").innerHTML = "";
        // end
        
        if(document.getElementById("txt_loan1_principal").value.split(' ').join('') == ''){
			document.getElementById("err_loan1_1").innerHTML = "* Please enter a number in the 'Loan amount' field.<br>";
		    }
	    if(document.getElementById("txt_loan1_period_yrs").value.split(' ').join('') == ''){
			    document.getElementById("err_loan1_3").innerHTML = "* Please enter a number in the 'Loan term' field.<br>";
		    }
    	if(document.getElementById("txt_loan1_rate_yr").value.split(' ').join('') == ''){
			    document.getElementById("err_loan1_4").innerHTML = "* Please enter a number in the 'Interest rate' field.<br>";
		    }
	    if(document.getElementById("tbl_loantitle").style.display!="none"){
            if(document.getElementById("txt_loan2_principal").value.split(' ').join('') == ''){
			    document.getElementById("err_loan2_1").innerHTML = "* Please enter a number in the 'Loan amount' field.<br>";
		        }
	        if(document.getElementById("txt_loan2_period_yrs").value.split(' ').join('') == ''){
			        document.getElementById("err_loan2_3").innerHTML = "* Please enter a number in the 'Loan term' field.<br>";
		        }
    	    if(document.getElementById("txt_loan2_rate_yr").value.split(' ').join('') == ''){
			        document.getElementById("err_loan2_4").innerHTML = "* Please enter a number in the 'Interest rate' field.<br>";
		        }
    		    
		    for(j=1; j < 5; j++){
            errmsg = errmsg + document.getElementById(eval("'err_loan2_'+j")).innerHTML;
            }
	    }
    break
    case 2:
        if(document.getElementById("txt_loan1_repayment").value.split(' ').join('') == ''){
			document.getElementById("err_loan1_2").innerHTML = "* Please enter a number in the 'Repayment amount' field.<br>";
		    }
	    if(document.getElementById("txt_loan1_period_yrs").value.split(' ').join('') == ''){
			    document.getElementById("err_loan1_3").innerHTML = "* Please enter a number in the 'Loan term' field.<br>";
		    }
    	if(document.getElementById("txt_loan1_rate_yr").value.split(' ').join('') == ''){
			    document.getElementById("err_loan1_4").innerHTML = "* Please enter a number in the 'Interest rate' field.<br>";
		    }
	    if(document.getElementById("tbl_loantitle").style.display!="none"){
            if(document.getElementById("txt_loan2_repayment").value.split(' ').join('') == ''){
			    document.getElementById("err_loan2_2").innerHTML = "* Please enter a number in the 'Repayment amount' field.<br>";
		        }
	        if(document.getElementById("txt_loan2_period_yrs").value.split(' ').join('') == ''){
			        document.getElementById("err_loan2_3").innerHTML = "* Please enter a number in the 'Loan term' field.<br>";
		        }
    	    if(document.getElementById("txt_loan2_rate_yr").value.split(' ').join('') == ''){
			        document.getElementById("err_loan2_4").innerHTML = "* Please enter a number in the 'Interest rate' field.<br>";
		        }
    		    
		    for(j=1; j < 5; j++){
            errmsg = errmsg + document.getElementById(eval("'err_loan2_'+j")).innerHTML;
            }
	    }
    break
    case 3:
        if(document.getElementById("txt_loan1_principal").value.split(' ').join('') == ''){
			document.getElementById("err_loan1_1").innerHTML = "* Please enter a number in the 'Loan amount' field.<br>";
		    }
	    if(document.getElementById("txt_loan1_repayment").value.split(' ').join('') == ''){
			    document.getElementById("err_loan1_2").innerHTML = "* Please enter a number in the 'Repayment amount' field.<br>";
		    }
    	if(document.getElementById("txt_loan1_rate_yr").value.split(' ').join('') == ''){
			    document.getElementById("err_loan1_4").innerHTML = "* Please enter a number in the 'Interest rate' field.<br>";
		    }
	    if(document.getElementById("tbl_loantitle").style.display!="none"){
            if(document.getElementById("txt_loan2_principal").value.split(' ').join('') == ''){
			    document.getElementById("err_loan2_1").innerHTML = "* Please enter a number in the 'Loan amount' field.<br>";
		        }
	        if(document.getElementById("txt_loan2_repayment").value.split(' ').join('') == ''){
			        document.getElementById("err_loan2_2").innerHTML = "* Please enter a number in the 'Repayment amount' field.<br>";
		        }
    	    if(document.getElementById("txt_loan2_rate_yr").value.split(' ').join('') == ''){
			        document.getElementById("err_loan2_4").innerHTML = "* Please enter a number in the 'Interest rate' field.<br>";
		        }
    		    
		    for(j=1; j < 5; j++){
            errmsg = errmsg + document.getElementById(eval("'err_loan2_'+j")).innerHTML;
            }
	    }
    break
    }
    
    for(j=1; j < 5; j++){
        errmsg = errmsg + document.getElementById(eval("'err_loan1_'+j")).innerHTML;
        }
    
    return errmsg;
}

function validation(Obj, ObjValue, i){
    switch (i)
    {
    case 1: //txt_loan1_principal
      if((ObjValue < 10000 || ObjValue > 10000000) && ObjValue != "")
        {
            document.getElementById("err_loan1_1").innerHTML = "* Please enter a whole number between 10,000 and 10,000,000.<br>";
            Obj.style.borderColor = "red";
        }
        else{
            document.getElementById("err_loan1_1").innerHTML = "";
            Obj.style.borderColor = "";
        }
    break
    case 2: //txt_loan1_repayment
      if((ObjValue < 1 || ObjValue > 5000000) && ObjValue != "")
        {
            document.getElementById("err_loan1_2").innerHTML = "* Please enter a whole number between 1 and 5,000,000.<br>";
            Obj.style.borderColor = "red";
        }
        else{
            document.getElementById("err_loan1_2").innerHTML = "";
            Obj.style.borderColor = "";
        }
    break
    case 3: //txt_loan1_period_yrs
      if((ObjValue < 1 || ObjValue > 30 || !isNumberString(ObjValue)) && ObjValue != "")
        {
            document.getElementById("err_loan1_3").innerHTML = "* Please enter a number between 1 and 30.<br>";
            Obj.style.borderColor = "red";
            Obj.value = "";
        }
        else{
            document.getElementById("err_loan1_3").innerHTML = "";
            Obj.style.borderColor = "";
        }
    break
    case 4: //txt_loan1_rate_yr
      if((ObjValue < 1 || ObjValue > 50) && ObjValue != "")
        {
            document.getElementById("err_loan1_4").innerHTML = "* Please enter a number between 0.01 and 50.<br>";
            Obj.style.borderColor = "red";
        }
        else{
            document.getElementById("err_loan1_4").innerHTML = "";
            Obj.style.borderColor = "";
        }
    break
    case 5: //txt_loan2_principal
      if((ObjValue < 1 || ObjValue > 10000000) && ObjValue != "")
        {
            document.getElementById("err_loan2_1").innerHTML = "* Please enter a whole number between 1 and 10,000,000.<br>";
            Obj.style.borderColor = "red";
        }
        else{
            document.getElementById("err_loan2_1").innerHTML = "";
            Obj.style.borderColor = "";
        }
    break
    case 6: //txt_loan2_repayment
      if((ObjValue < 1 || ObjValue > 5000000) && ObjValue != "")
        {
            document.getElementById("err_loan2_2").innerHTML = "* Please enter a whole number between 1 and 5,000,000.<br>";
            Obj.style.borderColor = "red";
        }
        else{
            document.getElementById("err_loan2_2").innerHTML = "";
            Obj.style.borderColor = "";
        }
    break
    case 7: //txt_loan2_period_yrs
      if((ObjValue < 1 || ObjValue > 30 || !isNumberString(ObjValue)) && ObjValue != "")
        {
            document.getElementById("err_loan2_3").innerHTML = "* Please enter a number between 1 and 30.<br>";
            Obj.style.borderColor = "red";
            Obj.value = "";
        }
        else{
            document.getElementById("err_loan2_3").innerHTML = "";
            Obj.style.borderColor = "";
        }
    break
    case 8: //txt_loan2_rate_yr
      if((ObjValue < 1 || ObjValue > 50) && ObjValue != "")
        {
            document.getElementById("err_loan2_4").innerHTML = "* Please enter a number between 0.01 and 50.<br>";
            Obj.style.borderColor = "red";
        }
        else{
            document.getElementById("err_loan2_4").innerHTML = "";
            Obj.style.borderColor = "";
        }
    break
    }
}

function ClickCompare()
{
    if(document.getElementById("tbl_loantitle").style.display == ""){
        document.getElementById("tbl_loantitle").style.display="none";
        document.getElementById("tbl_loan2td1").style.display="none";
        document.getElementById("tbl_loan2td2").style.display="none";
        document.getElementById("tbl_loan2td3").style.display="none";
        document.getElementById("tbl_loan2td4").style.display="none";
        document.getElementById("err_loan2").style.display="none";
    }else{
        document.getElementById("tbl_loantitle").style.display="";
        document.getElementById("tbl_loan2td1").style.display="";
        document.getElementById("tbl_loan2td2").style.display="";
        document.getElementById("tbl_loan2td3").style.display="";
        document.getElementById("tbl_loan2td4").style.display="";
        document.getElementById("err_loan2").style.display="";
    }
}

