function solveModel(form) {
    var asset_1 = (form.asset.value);
    var assetlength = form.asset.value.length;
    for (var i=0; i<= assetlength; i++) {
        if ((asset_1.charCodeAt(i) < 33 || asset_1.charCodeAt(i) == 44 || asset_1.charCodeAt(i) == 36) && i<assetlength) {
            asset_1 = asset_1.substring(0,i) + asset_1.substring(i+1);
        }
    }
    var modelchoice = "asset";
    var alertflag = false;
    if (isNaN(asset_1) ||  (asset_1 == "")) {
        alert ("You must enter a number between 1,000,000 and 999,000,000,000 into the asset field");
        alertflag = true;
    }
    else {
    	if (asset_1 < 1000000 || asset_1 > 999000000000 ) {
        	alert ("You must enter a number between 1,000,000 and 999,000,000,000 into the asset field");
        	alertflag = true;
    	}
    	else {
		    asset_1 = asset_1/1000000
	    }
    }
    var day_1 = (form.day.value);
    var daylength = form.day.value.length;
	for (var i=0; i<= daylength; i++) {
		if ((day_1.charCodeAt(i) < 33 || day_1.charCodeAt(i) == 44 || day_1.charCodeAt(i) == 36) && i<daylength) {
            day_1 = day_1.substring(0,i) + day_1.substring(i+1);
        }
    }
	
    if ( day_1 != "" && isNaN(day_1) ) {
        alert ("You must enter either a number in days field or leave it blank");
        alertflag=true;
    }
    else {
        if (day_1 == "") {
        }
        else if (day_1 < 25 || day_1 > 3650) {
    		alert ("Please enter a number of days between 25 and 3650");
		    alertflag=true;
		}
		else {
            modelchoice = modelchoice + "day";
        }	
    }

    var firm_1 = (form.firm.value);
    var firmlength = form.firm.value.length;
    for (var i=0; i<= firmlength; i++) {
		if ((firm_1.charCodeAt(i) < 33 || firm_1.charCodeAt(i) == 44 || firm_1.charCodeAt(i) == 36) && i<firmlength) {
            firm_1 = firm_1.substring(0,i) + firm_1.substring(i+1);
        }
    }

    if (firm_1 != "" && isNaN(firm_1) ) {
        alert ("You must enter either a number in the firms field or leave it blank");
        alertflag=true;
    }
    else {
    	if (firm_1 == "") {
		}
        else if (firm_1 < 1 || firm_1 > 50) {
		    alert ("Please enter a number of firms between 1 and 50");
		    alertflag = true;
		}
		else {
            modelchoice = modelchoice + "firm";
        }	
    }

    var del_1 = form.del.value;
    var dellength = form.del.value.length;
	for (var i=0; i<= dellength; i++) {
		if ((del_1.charCodeAt(i) < 33 || del_1.charCodeAt(i) == 44 || firm_1.charCodeAt(i) == 36) && i<dellength)
			del_1 = del_1.substring(0,i) + del_1.substring(i+1);
	}
    if (del_1 != "" && (del_1 != "yes" && del_1 != "no" && del_1 != "y" && del_1 != "Y" && del_1 != "YES" && del_1 != "Yes" && del_1 != "yEs" && del_1 != "yeS" && del_1 != "n" && del_1 != "NO" && del_1 != "No" && del_1 != "nO" && del_1 != "N"  ) ) {
        alert ("You must enter either yes or no, or leave the field blank");
        alertflag=true;
    }
    else {
    	if ( del_1 == "") {
		}
    	if (del_1 == "yes"  || del_1 == "y" || del_1 == "Y" || del_1 == "YES" || del_1 == "Yes" || del_1 == "yEs" || del_1 == "yeS" ) {
    		var del_1 = 1;
		    modelchoice = modelchoice + "del";
		}
		else if (del_1 == "no"  || del_1 == "n" || del_1 == "NO" || del_1 == "No" || del_1 == "nO" || del_1 == "N"  ) {
            var del_1 = 0;
            var modelchoice = modelchoice + "del";
        }	
    }

    var j_6 = 417.9865;
    var j_7 = 12.08108;
    var j_8 = 0.32432;

    var b_18 = 11.44202;
    var b_19 = 0.6902075;
    var b_24 = 0.7712417;
    var b_25 = 0.699925188668256;
    var b_26 = 0.111830906211202;
    
    var c_18 = 8.421671;
    var c_19 = 0.6325584;
    var c_20 = 0.5958064;
    var c_24 = 0.6081711;
    var c_25 = 0.662044344782196;
    var c_26 = 0.082201738389176;
    var c_27 = 0.103346319289884
    
    var d_18 = 8.622764;
    var d_19 = 0.482371;
    var d_20 = 0.3620196;
    var d_21 = 0.8875101;
    var d_24 = 0.5192375;
    var d_25 = 0.614924829726753;
    var d_26 = 0.0744633889068471;
    var d_27 = 0.103346319289884;
    var d_28 = 0.017231525871083;
    
    var e_18 = 8.575397;
    var e_19 = 0.485654;
    var e_20 = 0.3633135;
    var e_21 = 0.8763019;
    var e_22 = 0.1381374;
    var e_24 = 0.5217879;
    var e_25 = 0.592220652001456;
    var e_26 = 0.0750870508891302;
    var e_27 = 0.100715577359782;
    var e_28 = 0.0166123605927614;
    var e_29 = 0.152142441387198;
    
    var f_18 = 10.02649;
    var f_19 = 0.451647;
    var f_21 = 1.231166;
    var f_22 = 0.1308717;
    var f_24 = 0.5774616;
    var f_25 = 0.550095874656141;
    var f_26 = 0.0961149790207205;
    var f_28 = 0.0192221168508843;
    var f_29 = 0.19591203474414;
    
    var g_18 = 10.06648;
    var g_19 = 0.4486509;
    var g_21 = 1.240589;
    var g_24 = 0.5732327;
    var g_25 = 0.547006666882838;
    var g_26 = 0.0923402301615775;
    var g_28 = 0.0190639068596869;
    
    var h_18 = 11.36518;
    var h_19 = 0.6919768;
    var h_22 = 0.1993911;
    var h_24 = 0.7756848;
    var h_25 = 0.711932553565474;
    var h_26 = 0.116744018957027;
    var h_29 = 0.251434630240893;
    
    var i_18 = 8.363586;
    var i_19 = 0.6343546;
    var i_20 = 0.5936573;
    var i_22 = 0.1789923;
    var i_24 = 0.6100921;
    var i_25 = 0.649906103869301;
    var i_26 = 0.0843488663168323;
    var i_27 = 0.103181705399452;
    var i_29 = 0.175025850497803;
    
    if (alertflag == true) {
        form.messagelow1.value = "";
        form.pro.value="";
        form.high.value="";
    }
    else {
    	if (modelchoice == "asset") {
        	var low1 = Math.exp(b_18 + (Math.log(asset_1)*b_19) - (b_24) );
	        var pro1 = Math.exp(b_18 + (Math.log(asset_1)*b_19));
	        var high1 = Math.exp(b_18 + (Math.log(asset_1)*b_19) + (b_24) );
	    }
	    if (modelchoice == "assetday") {
        	var low1 = Math.exp(c_18 + (Math.log(asset_1)*c_19) + (Math.log(day_1)*c_20) - c_24);
        	var pro1 = Math.exp(c_18 + (Math.log(asset_1)*c_19) + (Math.log(day_1)*c_20) );
        	var high1 = Math.exp(c_18 + (Math.log(asset_1)*c_19) + (Math.log(day_1)*c_20) + c_24);
    	}
	    if (modelchoice == "assetdayfirm") {
        	var low1 = Math.exp(d_18 + (Math.log(asset_1)*d_19) + (Math.log(day_1)*d_20) + (Math.log(firm_1)*d_21) - d_24);
	        var pro1 = Math.exp(d_18 + (Math.log(asset_1)*d_19) + (Math.log(day_1)*d_20) + (Math.log(firm_1)*d_21) );
	        var high1 = Math.exp(d_18 + (Math.log(asset_1)*d_19) + (Math.log(day_1)*d_20) + (Math.log(firm_1)*d_21) + d_24);
        }
    	if (modelchoice == "assetdayfirmdel") {		
		    var low1 = Math.exp(e_18 + (Math.log(asset_1))*e_19 + (Math.log(day_1))*e_20 + (Math.log(firm_1)*e_21) + del_1*e_22 - e_24);
    		var pro1 = Math.exp(e_18 + (Math.log(asset_1))*e_19 + (Math.log(day_1))*e_20 + (Math.log(firm_1)*e_21) + del_1*e_22);
    		var high1 = Math.exp(e_18 + (Math.log(asset_1))*e_19 + (Math.log(day_1))*e_20 + (Math.log(firm_1)*e_21) + del_1*e_22 + e_24);
        }
        if (modelchoice == "assetfirmdel"){
      		var low1 = Math.exp(f_18 + (Math.log(asset_1)*f_19) + (Math.log(firm_1)*f_21) + (del_1*f_22) - f_24);
        	var pro1 = Math.exp(f_18 + (Math.log(asset_1)*f_19) + (Math.log(firm_1)*f_21) + (del_1*f_22));
            var high1 = Math.exp(f_18 + (Math.log(asset_1)*f_19) + (Math.log(firm_1)*f_21) + (del_1*f_22) + f_24);
        }
        if (modelchoice == "assetfirm") {
            var low1 = Math.exp(g_18 + (Math.log(asset_1)*g_19) +  (Math.log(firm_1)*g_21) - g_24);
            var pro1 = Math.exp(g_18 + (Math.log(asset_1)*g_19) +  (Math.log(firm_1)*g_21) );
            var high1 = Math.exp(g_18 + (Math.log(asset_1)*g_19) +  (Math.log(firm_1)*g_21) + g_24);
        }
        if (modelchoice == "assetdel") {
            var low1 = Math.exp(h_18 + (Math.log(asset_1)*h_19) +(del_1*h_22) - h_24);
            var pro1 = Math.exp(h_18 + (Math.log(asset_1)*h_19) +(del_1*h_22) );
            var high1 = Math.exp(h_18 + (Math.log(asset_1)*h_19) +(del_1*h_22) + h_24);
        }
        if (modelchoice == "assetdaydel") {
            var low1 = Math.exp(i_18 + (Math.log(asset_1)*i_19) + (Math.log(day_1)*i_20)+  (del_1*i_22) - i_24);
            var pro1 = Math.exp(i_18 + (Math.log(asset_1)*i_19) + (Math.log(day_1)*i_20)+  (del_1*i_22) );
            var high1 =Math.exp(i_18 + (Math.log(asset_1)*i_19) + (Math.log(day_1)*i_20)+  (del_1*i_22) + i_24);
        }
  
        messagelow1="$" + Math.round(low1);
        put_commas(messagelow1, "messagelow1");
        commapro1 = "$" + Math.round(pro1);
        commahigh1 = "$" + Math.round(high1);
        put_commas(commapro1, "pro");
        put_commas(commahigh1, "high");
    }

    function put_commas(input, output){
        var result = "";
        var len = input.length;
        input = input.substring(1, len);
        var len = input.length;
        
        while( len > 3) {
            result = input.substring(len-3, len) + result;
            result = "," + result;
            len -= 3;
        }   
        result ="$" + input.substring(0, len) + result;
        
        if (output == "messagelow1") {
            document.forms['myForm'].messagelow1.value = result;
        }
        if (output == "pro") {
            document.forms['myForm'].pro.value = result;
        }
        if (output == "high") {
            document.forms['myForm'].high.value = result;
        }
    }
}
