/*
 * Hantec JS utilities.
 */
var updateCnt = 4;
var hotTime = 1000 / updateCnt;
//var hotTime = 1000;
var forexPrefix = "fx";
var imgUp = '<img src="img/pic_arrow_up.gif" alt="up" border="0">';
var imgDown = '<img src="img/pic_arrow_down.gif" alt="down" border="0">';
var imgNone = '<img src="img/pic_arrow_none.gif" alt="none" border="0">';
var doFade = false;

//alert("Update Cnt: " + updateCnt);

// color
var blackColor = "#000000";
var goldColor = "#FFD700";
//var redColor = "#FF9999";
//var greenColor = "#90EE90";
var redColor = "#DD000E";	// it is another red now
var greenColor = "#DDC537";	// it is not really green now
var dimgrayColor = "#696969";
var originalBidAskColor = "#FEBF81";
//var originalSpreadColor = "#FFE8D1";
/*var originalSpreadColor = "#F35A00";*/
var originalSpreadColor = "#1059A6";
var fgBidAskColor = "#000000";
//var fgSpreadColor = "#000000";
var fgSpreadColor = "#FFFFFF";

//time format from [0-24] to [0-12] (without AM / PM )
function formatTime(val) {
	var a = new Number(val.substring(0,val.indexOf(":")));
	if (a > 12) {
		a -= 12;
	}

	var b = val.substring(val.indexOf(":"),val.length);
	return a + b;
}

//format a decimal number to a fixed number of decimals
function formatDecimal(value, decimals, keepZero, styleImportant, styleLast) {
	var mul = new String("1");
	var zero = new String("0");

	for (var i = decimals; i > 0; i--) {
		mul += zero;
	}
	value = Math.round(value * mul);
	value = value / mul;
	var strVal = new String(value);
	if (!keepZero) {
		return strVal;
	}

	var nowDecimals = 0;
	var dot = strVal.indexOf(".");
	if (dot == -1) {
		strVal += ".";
	} else {
		nowDecimals = strVal.length - dot - 1;
	}

	for (var i = nowDecimals; i < decimals; i++) {
		strVal = strVal + zero;
	}

	if (styleImportant && styleLast) {
		var len = strVal.length;
//		if (dot != len - 3) {
//			var retVal = '['+strVal+']<br>'+strVal.substring(0, len - 3);
			var retVal = strVal.substring(0, len - 3);
			retVal += '<div class="' + styleImportant + '">' + strVal.substring(len - 3, len - 1) + '</div>';
			retVal += '<div class="' + styleLast + '">' + strVal.substring(len - 1) + '</div>';
//		} else {
//			var retVal = '{'+strVal+'}<br>'+strVal.substring(0, len - 4);
//			retVal += '<div class="' + styleImportant + '">' + strVal.substring(len - 3, len - 1) + '</div>';
//			retVal += '<div class="' + styleLast + '">' + strVal.substring(len - 1) + '</div>';
//		}
	} else {
		retVal = strVal;
	}

	return retVal;
}


function showHot(mode, row, itemName, change) {
//	var item = parent.topFrame.document.getElementById(itemName);
	var item = document.getElementById(itemName);

/*
	if (mode == 'Simple') {
		if (up) {
			item.style.backgroundColor = greenColor;
		} else {
			item.style.backgroundColor = redColor;
		}

		if (row % 2 == 1) {
			setTimeout(itemName + ".style.backgroundColor = '#FFFFFF'", hotTime);
		} else {
			setTimeout(itemName + ".style.backgroundColor = '#FFFFFF'", hotTime);
		}
	} else
*/
	if (mode == 'Advanced') {
		if (change > 0) {
			item.innerHTML = fxDesc + imgDown;
			item.style.color = blackColor;
			item.style.backgroundColor = greenColor;
		} else if (change < 0) {
			item.style.color = blackColor;
			item.style.backgroundColor = redColor;
		} else {
			item.style.color = blackColor;
			item.style.backgroundColor = originalColor;
		}

		setTimeout("showCold('" + itemName + "')", hotTime);
	}
}

function showHotAdvanced(cellType, valueItemName, imageItemName, change, fgColor, originalColor) {
	var item = document.getElementById(valueItemName);
	var imageItem = document.getElementById(imageItemName);

	item.style.color = fgColor;

	if (cellType == 'bid') {
		if (change > 0) {
//			imageItem.innerHTML = imageItem.innerHTML + imgUp;
			imageItem.innerHTML = imgUp;
			item.style.backgroundColor = greenColor;
		} else if (change < 0) {
//			imageItem.innerHTML = imageItem.innerHTML + imgDown;
			imageItem.innerHTML = imgDown;
			item.style.backgroundColor = redColor;
		} else {
//			imageItem.innerHTML = imageItem.innerHTML + imgNone;
			imageItem.innerHTML = imgNone;
			item.style.backgroundColor = originalColor;
		}
		setTimeout("showBidAskCold('" + valueItemName + "')", hotTime);	
	} else if (cellType == 'ask') {
		if (change > 0) {
//			imageItem.innerHTML = imgUp + imageItem.innerHTML;
			imageItem.innerHTML = imgUp;
			item.style.backgroundColor = greenColor;
		} else if (change < 0) {
//			imageItem.innerHTML = imgDown + imageItem.innerHTML;
			imageItem.innerHTML = imgDown;
			item.style.backgroundColor = redColor;
		} else {
//			imageItem.innerHTML = imgNone + imageItem.innerHTML;
			imageItem.innerHTML = imgNone;
			item.style.backgroundColor = originalColor;
		}
		setTimeout("showBidAskCold('" + valueItemName + "')", hotTime);	
	} else if (cellType == 'spread') {
		if (change > 0) {
//			imageItem.innerHTML = imageItem.innerHTML + imgUp;
			item.style.backgroundColor = greenColor;
		} else if (change < 0) {
//			imageItem.innerHTML = imageItem.innerHTML + imgDown;
			item.style.backgroundColor = redColor;
		} else {
//			imageItem.innerHTML = imageItem.innerHTML + imgNone;
			item.style.backgroundColor = originalColor;
		}
		setTimeout("showSpreadCold('" + valueItemName + "')", hotTime);
	}	
}

function showBidAskCold(itemName) {
	var item = document.getElementById(itemName);
	item.style.backgroundColor = originalBidAskColor;
}

function showSpreadCold(itemName) {
	var item = document.getElementById(itemName);
	item.style.backgroundColor = originalSpreadColor;
}

function showCold(itemName) {
	var item = document.getElementById(itemName);
//	item.style.color = '#FFFFFF';
//	item.style.color = fgColor;
	item.style.backgroundColor = originalColor;
}

function openPopup(strUrl) {
	window.open(strUrl + '&t=?' + Math.random(), 'popup', 'toolbar=0,scrollbars=yes,location=0,statusbar=0,menubar=0,resizable=yes,left=100,top=100,width=610,height=420');
}

// block escape key
document.onkeydown = checkEscape;
document.onkeypress = checkEscape;
function checkEscape(e) {
	if (!e) {
		e = event;
	}
	if (e.keyCode == 27) {
		return false;
	}
}

