// dynamic tooltip code - used to display course image and info
// This code is from Dynamic Web Coding www.dyn-web.com 
// Copyright 2002 by Sharon Paine Permission granted to use this code as long as this entire notice is included.
// Courtesy of SimplytheBest.net - http://simplythebest.net/scripts/

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 ns6 = (dom && !ns4 && !ns5 && !ie5) ? true : false;
var ie4 = (document.all && !dom) ? true : false;
var nodyn = (!ns6 && !ns5 && !ns4 && !ie4 && !ie5) ? true : false;

var origWidth, origHeight;
if (ns4) {
	origWidth = window.innerWidth; origHeight = window.innerHeight;
	window.onresize = function() { if (window.innerWidth != origWidth || window.innerHeight != origHeight) history.go(0); }
}

if (nodyn) { event = "nope" }
var tipFollowMouse	= true;	
var tipWidth		= 400;
var offX		 	= 30;	// how far from mouse to show tip
var offY		 	= -100; 
var tipFontFamily 	= "Verdana, arial, helvetica, sans-serif";
var tipFontSize		= "10pt";
var tipFontColor		= "#000000";
var tipBgColor		= "#DDECFF"; 
var origBgColor 		= tipBgColor; // in case no bgColor set in array
var tipBorderColor 	= "#000080";
var tipBorderWidth 	= 2;
var tipBorderStyle 	= "ridge";
var tipPadding	 	= 4;
var scrOllY = 0;

var messages = new Array();
messages[0] = new Array("images/null.gif","null","#ffffff");  // for golf course communities
messages[1] = new Array("images/null.gif","null","#ffffff");  // for oceanfront properties
messages[2] = new Array("images/null.gif","null","#D20000");

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];
  }
}

var startStr = '<table width="' + tipWidth + '"><tr><td valign="top"><img src="';
var midStr = '" border="0" align=left hspace="3" vspace="2">';
var endStr = '</td></tr></table>';

var tooltip, tipcss;
function initTip() {
	if (nodyn) return;
	tooltip = (ns4)? document.tipDiv.document: (ie4)? document.all['tipDiv']: document.getElementById('tipDiv');
	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;
	}
}

//window.onload = initTip;

var t1,t2;	// for setTimeouts
var tipOn = false;	// check if over tooltip link
function doTooltip(evt,num) {

	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) {
        if (num==1) var tip = startStr + messages[num][0] + '" width="150" height="100' + midStr + '<span style="font-family:' + tipFontFamily + '; font-size:' + tipFontSize + '; color:' + curFontColor + ';">' + messages[num][1] + '</span>' + endStr;
		else        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);
	else t1=setTimeout("tipcss.visibility='visible'",100);
}

var mouseX, mouseY;
function trackMouse(evt) {
	mouseX = (ns4||ns5)? evt.pageX: window.event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
	mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + document.body.scrollTop + document.documentElement.scrollTop;
	if (tipOn) positionTip(evt);
}

function positionTip(evt) {

  scrollX = document.body.scrollLeft;
  scrollY = document.body.scrollTop+document.documentElement.scrollTop;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOllX = window.pageXOffset;
    scrOllY = window.pageYOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOllX = document.body.scrollLeft;
    scrOllY = document.body.scrollTop;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOllX = document.documentElement.scrollLeft;
    scrOllY = document.documentElement.scrollTop;
  } 
  //if (scrollY == 0) scrollY = map.scrollTop;

	if (!tipFollowMouse) {
		mouseX = (ns4||ns5)? evt.pageX: window.event.clientX + scrollX;
		mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + scrollY;
	}

	// tooltip width and0 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;
        if( typeof( window.innerWidth ) == 'number' ) {
           //Non-IE
           winWd = window.innerWidth;
           winHt = window.innerHeight;
         } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
           //IE 6+ in 'standards compliant mode'
           winWd = document.documentElement.clientWidth;
           winHt = document.documentElement.clientHeight;
         } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
            //IE 4 compatible
           winWd = document.body.clientWidth;
           winHt = document.body.clientHeight;
         }

	// 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+5): winHt-(tpHt+5)+"px";
    else if ((mouseY+offY)<(scrollY+5)) tipcss.top = (ns4)?scrollY+5 : scrollY+5+"px";
    	 else tipcss.top = (ns4)? mouseY+offY: mouseY+offY+"px";
	if (!tipFollowMouse) t1=setTimeout("tipcss.visibility='visible'",100);

//window.status="scrollY="+scrollY+"\nmouseY="+mouseY+"\noffY="+offY+"\ntpHt="+tpHt+"\nclientY="+window.event.clientY+"\nwinHt="+winHt+"\ntipcss.top="+tipcss.top+"\nbody.scrolltop="+document.body.scrollTop+"\nelement.scrolltop="+document.documentElement.scrollTop;
}

function hideTip() {
	if (!tooltip) return;
	t2=setTimeout("tipcss.visibility='hidden'",100);
	tipOn = false;
}

// GOOGLE MAPS API implementation

// Create a LatLngBounds object
//var bounds = new google.maps.LatLngBounds();

//var infoOptions = { content: '<div style="width:50px; height:50px">Here</div>',
//    maxWidth: 100,
//    disableAutoPan: true };
//var infowindow = new google.maps.InfoWindow(infoOptions);

//var gm={};

//  function initMap() {
//    var myOptions = {
//      zoom: 18,
//      center: center,
//      scaleControl: true,
//      mapTypeId: google.maps.MapTypeId.ROADMAP,
//      mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.DROPDOWN_MENU }
//      NavigationControlStyle: ANDROID
//    };
   
//    gm.map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
        
//    var cross = new google.maps.MarkerImage('http://www.orlandogolfhomepro.com/images/crosshairs.gif',new google.maps.Size(30,30),new google.maps.Point(0,0),new google.maps.Point(16,16));
//    gm.crosshairs = new google.maps.Marker({ position:center, visible:false, map:gm.map, icon:cross, zIndex:3 });

//   bounds.extend(center);

//   addMarkers(gm.map);
   
//   gm.map.fitBounds(bounds);

//}

////    function displayHome(url)
////    {
////     content.style.visibility="hidden";
////     document.getElementById("homeframe").src = url;
////     home.style.visibility="visible";
////    }
    
////    function displayCommunity(url)
////    {
////     var rg = new RegExp(url,"$");
////     var str = parent.location.href;
////     if (str.search(rg) < 0)
////     {
////      alert(str+' -> '+url);
////      parent.location.href=url;
////     }
////     else
////     {
////      alert("same parent");
////      parent.home.style.visibility="hidden";
////      parent.content.style.visibility="visible";
////     }
////    }

//    function AddMarker(map, title, lat, lng, link, image, width, height, description)
//    {
//     var latlng = new google.maps.LatLng(lat,lng);
//     var marker = new google.maps.Marker({ position: latlng, map: map, title: title, icon: 'http://www.orlandogolfhomepro.com/images/golfball_32.gif', zIndex:1 });
//     google.maps.event.addListener(marker, 'mouseover', function() { showTip(image,description); });
//     google.maps.event.addListener(marker, 'mouseout', function() { hideTip(); });
//     google.maps.event.addListener(marker, 'click', function() { location.href=link; });        
////     google.maps.event.addListener(marker, 'click', function() { infowindow.setContent('<img align=left width='+width+' height='+height+' vspace=4 hspace=4 src="'+image+'"><font face="Verdana" size=1>'+description+'</font>'); infowindow.open(map,marker); });
////     google.maps.event.addListener(marker, 'mouseout', function() {infowindow.close(); });
////     google.maps.event.addListener(marker, 'dblclick', function() { location.href=link; });        
//     bounds.extend(latlng);
//    }

//    function AddClub(map, title, lat, lng, link, image, width, height, description) // just like AddMarker but without the bounds extend - used on the other communities when zooming out
//    {
//     var latlng = new google.maps.LatLng(lat,lng);
//     var marker = new google.maps.Marker({ position: latlng, map: map, title: title, icon: 'http://www.orlandogolfhomepro.com/images/golfball_32.gif', zIndex:2 });
//     google.maps.event.addListener(marker, 'mouseover', function() { showTip(image,description); });
//     google.maps.event.addListener(marker, 'mouseout', function() { hideTip(); });
//     google.maps.event.addListener(marker, 'click', function() { location.href=link; });        
////     google.maps.event.addListener(marker, 'click', function() { infowindow.setContent('<img align=left width='+width+' height='+height+' vspace=4 hspace=4 src="'+image+'"><font face="Verdana" size=1>'+description+'</font>'); infowindow.open(map,marker); });
////     google.maps.event.addListener(marker, 'mouseout', function() {infowindow.close(); });
////     google.maps.event.addListener(marker, 'dblclick', function() { location.href=link; });        
////     bounds.extend(latlng);
//    }

////      oghp.house.push({ street:"9731 chestnut ridge", lat:28.49257,lng:-81.522389,url:"O4864044.htm",img:"../photos/O4864044_101_12.jpg",wid:80,hgt:62,dsc:"<table border=0 width=100% cellspacing=0><tr><th colspan=4><a href='O4864044.htm' target='_top'>9731 CHESTNUT RIDGE DR</A></TH></TR><tr><td width=25% align=right><B>Price:</B></td><td width=25%>$ 1,500,000</td><td width=25% align=right><B>Bedrooms:</B></td><td width=25%>4</td></tr><tr><td align=right><B>SqFt:</B></td><td>4785</td><td align=right><B>Full Baths:</B></TD><td>4</td></tr><tr><td align=right><B>Year Built:</B></td><td>1986</td><td align=center colspan=2><I>None</I></td></tr>    <tr><td colspan=4><center>Listed by: IRWIN REALTY GROUP LLC</center></td></tr>   </TABLE>" });
//    function AddHouse(map, street, lat, lng, link, image, width, height, description)
////    function AddHouse(map, h{})
//    {
//     var latlng = new google.maps.LatLng(lat,lng);
//     var marker = new google.maps.Marker({ position: latlng, map: map, title: street, icon: 'http://www.orlandogolfhomepro.com/images/home.png', zIndex:0 });
//     google.maps.event.addListener(marker, 'mouseover', function() { showHome(image,description); });
//     google.maps.event.addListener(marker, 'mouseout', function() { hideTip(); });
//     google.maps.event.addListener(marker, 'click', function() { location.href=link; }); // displayHome(link); });        
////     google.maps.event.addListener(marker, 'click', function() { infowindow.setContent('<img align=left width='+width+' height='+height+' vspace=4 hspace=4 src="'+image+'"><font face="Verdana" size=1>'+description+'</font>'); infowindow.open(map,marker); });
////     google.maps.event.addListener(marker, 'mouseout', function() {infowindow.close(); });
////     google.maps.event.addListener(marker, 'dblclick', function() { location.href=link; });        
//     bounds.extend(latlng);
//    }

//    function PointTo(lat,lng)
//    {
//     var latlng = new google.maps.LatLng(lat,lng);
//     gm.crosshairs.setPosition(latlng);
//     gm.crosshairs.setVisible(true);
////     infowindow.setPosition(latlng);
////     infowindow.open(gm.map);
////     alert("Point to "+lat+","+lng);
////     var xy = new google.maps.Point(200,100);
////     var xy = gm.map.fromLatLngToDivPixel(latlng);
////     alert("left="+xy.x+" - top="+xy.y);
////     document.getElementById("crosshairs").style.left=xy.x-15;
////     document.getElementById("crosshairs").style.top=xy.y-15;
////     document.getElementById("crosshairs").style.visibility=visible;
//    }
//    function UnPoint()
//    {
////     infowindow.close();
////     document.getElementById("crosshairs").style.visibility=hidden;
//     gm.crosshairs.setVisible(false);
////     gm.crosshairs.map
//    }    
    
//function initialize() { initTip(); } // initMap(); }

//window.onload = initialize;
window.onload = initTip;

