function calculateRate(bet_id, rate, rate_dig, rate_us, bookie) {
	var o;
	var commision;

	rate_dig=parseFloat(rate_dig);

	switch (bookie) {
		case 'BF':
			commision = exchange_commision_BF;
			break;
		case 'BD':
			commision = exchange_commision_BD;
			break
		case 'MX':
			commision = exchange_commision_MX;
			break
		case 'WB':
			commision = exchange_commision_WB;
			break
		default:
			commision = 0;
			break;
	}

	if(exchange_amount!="A" && ex_arr.length && (bookie=='BF' || bookie=='WB' || bookie=='BD')) {
		for(var k=0; k < ex_arr.length; k++) {
			if(ex_arr[k].id == bet_id && ex_arr[k].bookie == bookie) {
				if(parseFloat(ex_arr[k].odds1_amt)>parseFloat(exchange_amount)) {
					// Do nothing (enough liq for current odds)
				} else if(parseFloat(ex_arr[k].odds2_amt)>parseFloat(exchange_amount)) {
					//alert("1 Setting rate to "+ex_arr[k].odds2_dig+" from "+rate_dig);
					rate = ex_arr[k].odds2;
					rate_dig = ex_arr[k].odds2_dig;
					rate_us = ex_arr[k].odds2_us;
				} else if(parseFloat(ex_arr[k].odds3_amt)>parseFloat(exchange_amount)) {
					//alert("2 Setting rate to "+ex_arr[k].odds2_dig+" from "+rate_dig);
					rate = ex_arr[k].odds3;
					rate_dig = ex_arr[k].odds3_dig;
					rate_us = ex_arr[k].odds3_us;
				} else {
					// Default to lowest price we have
					rate = ex_arr[k].odds3;
					rate_dig = ex_arr[k].odds3_dig;
					rate_us = ex_arr[k].odds3_us;
				}
			}
		}
	}

    if (exchange_commision_apply == 'YES' && rate_dig > 0 && commision > 0) {
    	switch (odds_type) {
	    	case 'traditional' :
		        o = (rate_dig - 1) * ((100 - commision) / 100);
		        o = (o < 20) ? ((o < 4) ? Math.round(o * 100) / 100 : Math.round(o * 10) / 10) : Math.round(o);

		        //o = (o != Math.round(o)) ? (o) + "/1" : o;
		        o = dec2frac(o);
		        break;
		    case 'decimal' :
		        o = ((rate_dig - 1)*((100 - commision) / 100) + 1);
		        o = (o < 20) ? ((o < 4) ? Math.round(o * 100) / 100 : Math.round(o * 10) / 10) : Math.round(o);
				break;
	    	case 'us' :
	        	o = (Math.round((((rate_dig - 1) * ((100 - commision) / 100) + 1) < 1) ? (1 / ((rate_dig - 1) * (( 100 - commision) / 100) + 1)) * -100 : ((rate_dig - 1) * ((100 - commision) / 100) + 1) * 100));
	        	break;
        }
    } else {
    	switch (odds_type) {
	    	case 'traditional' :
	    		o = rate;
		        break;
		    case 'decimal' :
		    	o = rate_dig;
				break;
	    	case 'us' :
	    		o = rate_us;
	        	break;
	        default :
	        	o = rate_dig;
	        	break;
	    }
    }

    if(ret) {
		return o;
	} else {
		document.write(o);
	}
}

function dec2us(dec) {
	dec=dec-1;

	if (dec < 1) {
    	dec = (1 /dec) * -100;
     } else {
        dec *= 100;
   	 }
   	 return parseInt(dec);
}


