function calculateRate(rate, rate_dig, rate_us, bookie) {
	var o;
	var commision;
		
	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_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;
	    }
    } 
    
	document.write(o)	
	    
}

