var objMap = false;
var aItems = [];
var iScrollDirection = 0;

$j(function(){
	TorontoLists_Load();
});

function ScrollTo(iPointY, bAnimate){
	if(typeof(window.pageYOffset) == 'number'){
		iScrollY = window.pageYOffset;
	}
	else if(document.body && (document.body.scrollLeft || document.body.scrollTop)){
		iScrollY = document.body.scrollTop;
	}
	else if(document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)){
		iScrollY = document.documentElement.scrollTop;
	}
	else iScrollY = 0;
	if(bAnimate){
		if(iScrollDirection > 0){
			if(iScrollY < iPointY){
				window.scrollBy(0, 50);
				setTimeout("ScrollTo(" + iPointY + ", true);", 10);
			}
		}
		else{
			if(iScrollY > iPointY){
				window.scrollBy(0, -50);
				setTimeout("ScrollTo(" + iPointY + ", true);", 10);
			}
		}
	}
	else{
		if(iPointY < iScrollY) iScrollDirection = -1;
		else iScrollDirection = 1;
		setTimeout("ScrollTo(" + iPointY + ", true);", 10);
	}
}

function HighlightNumber(iNumber, bState){
	var objImage = document.images["Number_" + iNumber];
	if(bState){
		objImage.src = "/site/images/torontolists/number-" + iNumber + "-on.gif";
	}
	else{
		objImage.src = "/site/images/torontolists/number-" + iNumber + ".gif";
	}
}

function SelectItem(iNumber, bScroll){
	if(!objMap) return;
	if($j.trim(aItems[iNumber].address) != "" && $j.trim(aItems[iNumber].address.toLowerCase()) != "not available"){
		sHTML = "<span style=\"font-size: 12px; font-weight: bold;\">" + aItems[iNumber].name + "</span><br>" +
				aItems[iNumber].address + "<br>" + aItems[iNumber].phone + "<br>";
		if(aItems[iNumber].listing_url != "") sHTML += "<a href=\"" + aItems[iNumber].listing_url + "\" target=\"_blank\">View Review</a><br>";
		else if(aItems[iNumber].website != "") sHTML += "<a href=\"" + aItems[iNumber].website + "\" target=\"_blank\">Visit Website</a>";
		aItems[iNumber].marker.openInfoWindowHtml(sHTML);
		for(i=0; i<aItems.length; i++){
			if(!aItems[i].marker) continue;
			aItems[i].marker.setImage("/site/images/torontolists/number-" + (i + 1) + (i == iNumber ? "-on" : "") + ".gif");
		}
		if(bScroll) ScrollTo(document.getElementById("torontolists-map").offsetTop);
	}
	else{
		window.open(	aItems[iNumber].listing_url);
	}
}

function TorontoLists_Load(){
	if($j("div.torontolists-item").length != 0){
		objMap = new GMap2(document.getElementById("torontolists-map"));
		objMap.addControl(new GSmallMapControl());
		var objPoint = new GLatLng(43.67016874852075, -79.38682079315186);
		objMap.setCenter(objPoint, 12);
		
		for(i=0; i<aItems.length; i++){
			var objBaseIcon = new GIcon();
			objBaseIcon.shadow = "/site/images/torontolists/number-1.gif";
			objBaseIcon.iconSize = new GSize(16, 16);
			objBaseIcon.shadowSize = new GSize(16, 16);
			objBaseIcon.iconAnchor = new GPoint(8, 20);
			objBaseIcon.infoWindowAnchor = new GPoint(16, 16);
			objBaseIcon.infoShadowAnchor = new GPoint(16, 16);
			
			objIcon = new GIcon(objBaseIcon);
			objIcon.image = "/site/images/torontolists/number-" + (i + 1) + ".gif";
			objMarkerOptions = {icon:objIcon, title:aItems[i]["name"]};
			objPoint = new GLatLng(aItems[i]["latitude"], aItems[i]["longitude"]);
			objMarker = new GMarker(objPoint, objMarkerOptions);
			aItems[i].marker = objMarker;
			sCode = 
			'GEvent.addListener(aItems[' + i + '].marker, "click", function(){' +
			'	SelectItem(' + i + ');' +
			'});';
			eval(sCode);
			objMap.addOverlay(objMarker);
		}
		
		for(i=1; i<=15; i++){
			objImage = new Image();
			objImage.src = "/site/images/torontolists/number-" + i + ".gif";
			objImage2 = new Image();
			objImage2.src = "/site/images/torontolists/number-" + i + "-on.gif";
		}
	}
	else{
		$j("#torontolists-map").hide();	
	}
}