function doOddsConversions(dThisOdds,sThisOddsId) {
	var sThisOddsType  = sThisOddsId.replace(/^txt/i,'');
	var txtUS = document.getElementById('txtUS');
	var txtDec = document.getElementById('txtDec');
	var txtFrac = document.getElementById('txtFrac');
	var txtProb = document.getElementById('txtProb');
	var txtHK = document.getElementById('txtHK');
	var txtIndo = document.getElementById('txtIndo');
	var txtMalay = document.getElementById('txtMalay');

	var myDec;
	if (dThisOdds.match(/^Ev.*$/i)) {
		dThisOdds = 2;
		sThisOddsType = 'Dec';
	}

	if(sThisOddsType == 'US') {
		myDec = US2dec(dThisOdds);
	} else if (sThisOddsType == 'Dec') {
		if ( 1*dThisOdds < 0 ) {
			dThisOdds = Math.abs(1*dThisOdds);
		}
		if ( 1*dThisOdds < 1 ) {
			dThisOdds  = 1;
		}
		myDec = parseFloat(dThisOdds).toFixed(4);
	} else if (sThisOddsType == 'Frac') {
		var sThisOdds = "" + dThisOdds;
		if (! sThisOdds.match(/\//) ) {
			sThisOdds = sThisOdds + '/1';
		}
		myDec = frac2dec(sThisOdds);
	} else if (sThisOddsType == 'Prob') {
		var sThisOdds = "" + dThisOdds;
		dThisOdds = fmtNumber(sThisOdds);
		if (dThisOdds >= 1) dThisOdds /= 100;
		myDec = prob2dec(dThisOdds);
	} else if (sThisOddsType == 'HK') {
		myDec = HK2dec(dThisOdds);
	} else if (sThisOddsType == 'Indo') {
		myDec = Indo2dec(dThisOdds);
	} else if (sThisOddsType == 'Malay') {
		myDec = Malay2dec(dThisOdds);
	}
	txtUS.value = dec2US(myDec);
	txtDec.value = myDec;
	txtFrac.value = dec2frac(myDec);
	txtProb.value = dec2prob(myDec);
	txtHK.value = dec2HK(myDec);
	txtIndo.value = dec2Indo(myDec);
	txtMalay.value = dec2Malay(myDec);
}

function dec2US(myDec) {
	var myUS;
	myDec = parseFloat(myDec);
	if (myDec <= 1 || myDec == NaN) {
		myUS = NaN;
	} else if (myDec < 2) {
		myUS = -100 / (myDec - 1);
	} else {
		myUS = (myDec - 1)  * 100;
	}
	return ( myUS > 0 ? "+" : "" ) + Math.round(myUS*100)/100;
}

function US2dec(myUS) {
	var myDec;
	myUS = parseFloat(myUS);
	if (Math.abs(myUS) < 100 || myUS == NaN) {
		myDec = NaN;
	} else if (myUS>0) {
		myDec = 1+myUS/100;
	} else {
		myDec = 1-100/myUS;
	}
	return myDec.toFixed(4);
}

function dec2frac(dec) {
	dec = parseFloat(dec-1);
	var myBestFrac = Math.round(dec) + "/" + 1;
	var myBestFracVal = Math.round(dec);
	var myBestErr = Math.abs(myBestFracVal - dec);
	for (i = 2; i<=50; i++) {
		var myFracVal = Math.round(dec*i)/i;
		var myErr = Math.abs(myFracVal - dec);
		if (myErr < myBestErr) {
			myBestFrac = Math.round(dec*i) + "/" + i;
			myBestFracVal = myFracVal;
			if (myErr == 0) break;
			myBestErr = myErr;
		}
	}
	return(myBestFrac);
}

function frac2dec(frac) {
	var myArr = frac.split(/\//);
	myArr[1] = myArr[1] == undefined ? 1 : myArr[1];
	return((myArr[0]/myArr[1] + 1).toFixed(4));	
}

function prob2dec(prob) {
	return (1/fmtNumber(prob)).toFixed(4);
}

function dec2prob(dec) {
	return fmtPercent(1/dec);
}

function HK2dec(myHK) {
	var myDec;
	myHK = parseFloat(myHK);
	if (myHK <= 0 || myHK == NaN) {
		myDec = NaN;
	} else {
		myDec = (myHK + 1);
	}
	return 	myDec.toFixed(4);
}

function dec2HK(myDec) {
	var myHK;
	myDec = parseFloat(myDec);
	if (myDec <= 1 || myDec == NaN) {
		myHK = NaN;
	} else {
		myHK = (myDec - 1);
	}
	return 	myHK.toFixed(4);
}

function Indo2dec(myIndo) {
	var myDec;
	myIndo = parseFloat(myIndo);
	if (myIndo == NaN || Math.abs(myIndo) < 1) {
		myDec = NaN;
	} else if (myIndo >= 1) {
		myDec = (myIndo + 1);
	} else {
		myDec = 1 - 1/myIndo;
	}
	return myDec.toFixed(4);
}

function dec2Indo(myDec) {
	var myIndo;
	myDec = parseFloat(myDec);
	if (myDec <= 1 || myDec == NaN) {
		myIndo = NaN;
	} else if (myDec >= 2){
		myIndo = (myDec - 1);
	} else {
		myIndo = 1/(1 - myDec);
	}
	return 	myIndo.toFixed(4);
}

function Malay2dec(myMalay) {
	var myDec;
	myMalay = parseFloat(myMalay);
	if (myMalay == NaN || myMalay > 1 || myMalay == 0) {
		myDec = NaN;
	} else if (myMalay > 0) {
		myDec = (myMalay + 1);
	} else {
		myDec = 1 - 1/myMalay;
	}
	return myDec.toFixed(4);
}

function dec2Malay(myDec) {
	var myMalay;
	myDec = parseFloat(myDec);
	if (myDec <= 1 || myDec == NaN) {
		myMalay = NaN;
	} else if (myDec <= 2){
		myMalay = (myDec - 1);
	} else {
		myMalay = 1/(1 - myDec);
	}
	return 	myMalay.toFixed(4);
}

function fmtNumber(myString) {
	myString = ""+myString;
	myString = myString.replace(/\$/g,"");
	myNum = myString.replace(/\,/g,"");

	if (myString.match(/\%$/g,"")) {
		myNum = myString.replace(/\%$/g,"")
		mynum = parseFloat(myNum)/100;
	}
	return(1*myNum);
}
function fmtPercent(myNum) {
	if ((""+myNum).match(/\%$/g,"")) {
		myNum = myNum.replace(/\%$/g,"");
		myNum /= 100;
	}
	return( ((myNum*100).toFixed(2)) + "%" );
}
function addCommas(nStr) {
	nStr += '';
	var x = nStr.split('.');
	var x1 = x[0];
	var x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}
function autofitIframe(id){
	if (parent.document.getElementById(id) == null ) return -1;
	if (! window.opera && ! document.mimeType && document.all && document.getElementById) { 
		parent.document.getElementById(id).style.height=this.document.body.offsetHeight+"px"; 
	} else if(document.getElementById) {
		if (navigator.userAgent.indexOf('Firefox') >= 0) parent.document.getElementById(id).style.height = "1px";  // necessary for FireFox otherwise iframe will only be resized if new size is greater than old size
		parent.document.getElementById(id).style.height=this.document.body.scrollHeight+"px" 
	} 
	if (parent.document.getElementById(id).style.height == "0px" ) {
		setTimeout('autofitIframe("'+id+'")', 250);
	}
}

function AutoFitMe() {
	if ( autofitIframe("OddsIFrame") == -1 ) {
		autofitIframe("ToolIFrame");
	} 
}

function autofitIframe(id){
	if (parent.document.getElementById(id) == null ) return -1;
	if (! window.opera && ! document.mimeType && document.all && document.getElementById) { 
		parent.document.getElementById(id).style.height=this.document.body.offsetHeight+"px"; 
	} else if(document.getElementById) {
		if (navigator.userAgent.indexOf('Firefox') >= 0) parent.document.getElementById(id).style.height = "1px";  // necessary for FireFox otherwise iframe will only be resized if new size is greater than old size
		parent.document.getElementById(id).style.height=this.document.body.scrollHeight+"px" 
	} 
	if (parent.document.getElementById(id).style.height == "0px" ) {
		setTimeout('autofitIframe("'+id+'")', 250);
	}
}

