<!--
var dom = (document.getElementById) ? true : false;
var ns5 = ((navigator.userAgent.indexOf("Gecko")>-1) && dom) ? true: false;
var ie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true : false;
var ns4 = (document.layers && !dom) ? true : false;
var ie4 = (document.all && !dom) ? true : false;
var nodyn = (!ns5 && !ns4 && !ie4 && !ie5) ? true : false;

// resize fix for ns4

var origWidth, origHeight;
if (ns4) {
	origWidth = window.innerWidth; origHeight = window.innerHeight;
	window.onresize = function() { if (window.innerWidth != origWidth || window.innerHeight != origHeight) history.go(0); }
}

// avoid error of passing event object in older browsers
if (nodyn) { event = "nope" }

///////////////////////  CUSTOMIZE HERE   ////////////////////
// settings for tooltip 
// Do you want tip to move when mouse moves over link?
var tipFollowMouse= false	
// Be sure to set tipWidth wide enough for widest image
var tipWidth= 590;
var offX= 20;	// how far from mouse to show tip
var offY= 12; 
var tipFontFamily= "Verdana, arial, helvetica, sans-serif";
var tipFontSize= "8pt";
// set default text color and background color for tooltip here
// individual tooltips can have their own (set in messages arrays)
// but don't have to
var tipFontColor= "#000000";
var tipBgColor= "#ffffff"; 
var tipBorderColor= "#000080";
var tipBorderWidth= 1;
var tipBorderStyle= "ridge";
var tipPadding= 4;

// tooltip content goes here (image, description, optional bgColor, optional textcolor)
var messages = new Array();
// multi-dimensional arrays containing: 
// image and text for tooltip
// optional: bgColor and color to be sent to tooltip
//messages[2] = new Array('grandpro.gif','物業名稱 : xxx<br>地址 : xxxx<br>發展商 : xxxx<br>單位數目 : xxx 個<br>入伙日期 : x 年 x 月',"#DDECFF");

////////////////////  END OF CUSTOMIZATION AREA  ///////////////////
// preload images that are to appear in tooltip
// from arrays above
if (document.images) {
	var theImgs = new Array();
	for (var i=0; i<messages.length; i++) {
  	theImgs[i] = new Image();
		theImgs[i].src = messages[i][0];
  }
}
// to layout image and text, 2-row table, image centered in top cell
// these go in var tip in doTooltip function
// startStr goes before image, midStr goes between image and text
var startStr = '<table border=0 cellpadding=0 cellspacing=0 width=' + tipWidth + '><tr><td align="right"><img src="images/closeBtn.jpg" border=0 style="cursor:hand" onclick="hideTip()"></td></tr></table><table width="' + tipWidth + '"><tr><td align="center" width="100%"><img src="';

var midStr = '" border="0" onload="refreshTip()"></td></tr><tr><td valign="top">';

var endStr = '</td></tr></table>';

var onProcess = false;

var uid = null;

document.writeln('<div id="tipDiv" style="position:absolute; visibility:hidden; z-index:100; FILTER: progid:DXImageTransform.Microsoft.Shadow(direction=135,color=#333333,strength=5);"></div>');
document.writeln('<iframe name=tipFrame src="about:blank" width=0 height=0></iframe>');
document.writeln('<style>.tipClass {color:red;font-family:' + tipFontFamily + '; font-size:' + tipFontSize + '; color:' + tipFontColor + '}</style>');

////////////////////////////////////////////////////////////
//  initTip	- initialization for tooltip.
//		Global variables for tooltip. 
//		Set styles for all but ns4. 
//		Set up mousemove capture if tipFollowMouse set true.
////////////////////////////////////////////////////////////

var tooltip, tipcss;

function initTip() {

	if (nodyn) return;

	tooltip = (ns4)? document.tipDiv.document: (ie4)? document.all['tipDiv']: (ie5||ns5)? document.getElementById('tipDiv'): null;

	tipcss = (ns4)? document.tipDiv: tooltip.style;

	if (ie4||ie5||ns5) {	// ns4 would lose all this on rewrites

		tipcss.width = tipWidth+"px";

		tipcss.fontFamily = tipFontFamily;

		tipcss.fontSize = tipFontSize;

		tipcss.color = tipFontColor;

		tipcss.backgroundColor = tipBgColor;

		tipcss.borderColor = tipBorderColor;

		tipcss.borderWidth = tipBorderWidth+"px";

		tipcss.padding = tipPadding+"px";

		tipcss.borderStyle = tipBorderStyle;

	}

	if (tooltip&&tipFollowMouse) {

		if (ns4) document.captureEvents(Event.MOUSEMOVE);

		document.onmousemove = trackMouse;

	}

	if (uid != null){
		unitDiv = getElement(uid);
		if (unitDiv != null){
			var e = document.createEventObject();
			var o = getElementPosition(unitDiv);
			e.clientX = o.left - document.body.scrollLeft + ((ns4)? unitDiv.width: (ie4||ie5)? unitDiv.clientWidth: unitDiv.offsetWidth)/2;
			e.clientY = o.top - document.body.scrollTop + ((ns4)? unitDiv.height: (ie4||ie5)? unitDiv.clientHeight: unitDiv.offsetHeight)/2;
			unitDiv.fireEvent("onclick",e);
		}
	}

}

function getElement(id){
	return (ns4)? eval("document."+id).document: (ie4)? document.all[id]: (ie5||ns5)? document.getElementById(id): null;
}


var t1,t2,t3;	// for setTimeouts

var tipOn = false;	// check if over tooltip link

function doTooltip(evt,num,refreshOnly) {

	if (!tooltip) return;

	if (t1) clearTimeout(t1);	if (t2) clearTimeout(t2);

	tipOn = true;

	// set colors if included in messages array

	if (messages[num][2])	var curBgColor = messages[num][2];

	else curBgColor = tipBgColor;

	if (messages[num][3])	var curFontColor = messages[num][3];

	else curFontColor = tipFontColor;

	if (ns4) {

		var tip = '<table bgcolor="' + tipBorderColor + '" width="' + tipWidth + '" cellspacing="0" cellpadding="' + tipBorderWidth + '" border="0"><tr><td><table bgcolor="' + curBgColor + '" width="100%" cellspacing="0" cellpadding="' + tipPadding + '" border="0"><tr><td>'+ startStr + messages[num][0] + midStr + '<span style="font-family:' + tipFontFamily + '; font-size:' + tipFontSize + '; color:' + curFontColor + ';">' + messages[num][1] + '</span>' + endStr + '</td></tr></table></td></tr></table>';

		tooltip.write(tip);

		tooltip.close();

	} else if (ie4||ie5||ns5) {

		var tip = startStr + messages[num][0] + midStr + '<span style="font-family:' + tipFontFamily + '; font-size:' + tipFontSize + '; color:' + curFontColor + ';">' + messages[num][1] + '</span>' + endStr;

		tipcss.backgroundColor = curBgColor;

	 	tooltip.innerHTML = tip;

	}
	


	if (!tipFollowMouse) positionTip(evt,refreshOnly);
	else t1=setTimeout("tipcss.visibility='visible'",100);

}



var mouseX, mouseY;

function trackMouse(evt) {

	mouseX = (ns4||ns5)? evt.pageX: window.event.clientX + document.body.scrollLeft;

	mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + document.body.scrollTop;

	if (tipOn) positionTip(evt);

}

/////////////////////////////////////////////////////////////

//  positionTip function

//		If tipFollowMouse set false, so trackMouse function

//		not being used, get position of mouseover event.

//		Calculations use mouseover event position, 

//		offset amounts and tooltip width to position

//		tooltip within window.

/////////////////////////////////////////////////////////////

function positionTip(evt,refreshOnly) {

	if (!tipFollowMouse && !refreshOnly) {
		mouseX = (ns4||ns5)? evt.pageX: window.event.clientX + document.body.scrollLeft;

		mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + document.body.scrollTop;

	}
	// tooltip width and height

	var tpWd = (ns4)? tooltip.width: (ie4||ie5)? tooltip.clientWidth: tooltip.offsetWidth;

	var tpHt = (ns4)? tooltip.height: (ie4||ie5)? tooltip.clientHeight: tooltip.offsetHeight;

	// document area in view (subtract scrollbar width for ns)

	var winWd = (ns4||ns5)? window.innerWidth-20+window.pageXOffset: document.body.clientWidth+document.body.scrollLeft;

	var winHt = (ns4||ns5)? window.innerHeight-20+window.pageYOffset: document.body.clientHeight+document.body.scrollTop;

	// check mouse position against tip and window dimensions

	// and position the tooltip 

	if ((mouseX+offX+tpWd)>winWd) 

		tipcss.left = (ns4)? mouseX-(tpWd+offX): mouseX-(tpWd+offX)+"px";

	else tipcss.left = (ns4)? mouseX+offX: mouseX+offX+"px";

	if ((mouseY+offY+tpHt)>winHt) 

		tipcss.top = (ns4)? winHt-(tpHt+offY): winHt-(tpHt+offY)+"px";

	else tipcss.top = (ns4)? mouseY+offY: mouseY+offY+"px";
	
	if (tipcss.posTop < 265)
		tipcss.top = "265px";

	if (!tipFollowMouse) t1=setTimeout("tipcss.visibility='visible'",100);
	

}

function getElementPosition(obj) {
    var offsetTrail = obj;
    var offsetLeft = 0;
    var offsetTop = 0;
    while (offsetTrail) {
        offsetLeft += offsetTrail.offsetLeft;
        offsetTop += offsetTrail.offsetTop;
        offsetTrail = offsetTrail.offsetParent;
    }
    if (navigator.userAgent.indexOf("Mac") != -1 && 
        typeof document.body.leftMargin != "undefined") {
        offsetLeft += document.body.leftMargin;
        offsetTop += document.body.topMargin;
    }
    return {left:offsetLeft, top:offsetTop};
}


function waitTip(){
	if (onProcess){
		t3=setTimeout("waitTip()",2000);
		window.status = "Loading...";
		return;
	}

	window.status = "";
	doTooltip(null,0,true);
}

function showTip(evt,unit_id,e,l,act) {
	hideTip();

	onProcess = true;
	messages[0] = new Array("images/loading.gif","",tipBgColor);
	
	if (act == "trend")
		document.getElementById("tipFrame").src = encodeURI(act + ".jsp?lang=" + l + "&estate=" + e + "&estateId=" + unit_id);
	else
		document.getElementById("tipFrame").src = act + ".jsp?" + l  + unit_id.substring(unit_id.lastIndexOf("&"));
	doTooltip(evt,0,false);
	waitTip();

	uid = unit_id;
	evt.srcElement.style.padding="2px";
	evt.srcElement.parentElement.parentElement.parentElement.style.padding="0px";
	evt.srcElement.style.backgroundColor="#FFFF00";
}

function hideTip() {

	if (t3) clearTimeout(t3);

	if (!tooltip) return;
/*
	if (uid != null){
		getElement(uid).style.padding="0px";
		getElement(uid).parentElement.parentElement.parentElement.style.padding="2px";
		getElement(uid).style.backgroundColor="transparent";
	}
*/
	t2=setTimeout("tipcss.visibility='hidden'",100);

	tipOn = false;

}

function refreshTip(){
	positionTip(null,true);
}

//window.onload=initTip;
//-->

