var selectedUl;
/*function collapse(ul){
	ul.hide();
}*/
function showUl(a){
	var ul = a.next("ul");
	if(selectedUl!=undefined){
		selectedUl.hide();
		var selectedLi = selectedUl.up("li");
		selectedLi.removeClassName("selected");
	}

	if(ul!=undefined){
		ul.show();
		selectedUl=ul; 
		
		var selectedLi = selectedUl.up("li");
		selectedLi.addClassName("selected");
	}

}
function expand(e){
//alert (typeof e);
	var a = Event.element(e);
	showUl(a);
}

function expandable(menu){
	var lis = $A(  menu.immediateDescendants()  );
	lis.each(function ( li ){
		Event.observe( li.down("a"),"mouseover", expand )
	})
	
}

function drawMap(item){
	var latitude= 	parseFloat(item.down(".latitude").title);
	var longitude=	parseFloat(item.down(".longitude").title);
	
	var closeLink=item.down("a.close");
	
	var address=item.down("div.address");
	
	center = new GLatLng(latitude, longitude);

	
	if(!checkPoint(center)){
		if (address!=undefined)
			center = checkAddress(address.innerHTML, item);	
	}else
		createMap(item)
		
	
//	if (expandLink!=undefined)
	//	Event.observe(expandLink,"click",expand);
	if (closeLink!=undefined)
		Event.observe(closeLink,"click",function(e){ closeAll(); });
		
}
closeAll=function(){
	var geos =$$("div.geo");
	geos.each(function(geo){
		geo.style.display="none";
	})
}
var createMap = function (item){
	if(checkPoint(center)){
		item.show();
		var div= item.down("#googlemap");
		map = new GMap2(div);
	    var marker = new GMarker(center,{ clickable:false });
		map.disableDragging();
		map.setCenter(center, 15);
		map.addOverlay(marker);
	}
}
function checkPoint(point){
	var bool=1;
	bool &= !isNaN(point.lat());
	bool &= !isNaN(point.lng());
	return bool;
}
mapLinkClick=function(e){
	var a = Event.element(e);

	var geos =$$("div.geo");
	var pos = a.title.split(",");
	geos.each(function(geo){
		var latabr = geo.down("abbr");
		var longabr = latabr.next("abbr");
		latabr.title=pos[0];
		longabr.title=pos[1];
		drawMap(geo); 
	})

	//new Insertion.Bottom($$("body")[0], "<div style='background:red;height:300px;'> dfjkhgdfjhgk jdfh jkh</div>")
}

function Initialize(){
	var menu = $("mainmenu");
	if (menu!=undefined)
		expandable(menu);
	var selectedA=menu.down("li.selected a");
	if (selectedA!=undefined)
		showUl(selectedA);
	
	var mapLinks=$$("a.mapLink");
	mapLinks.each( function(link){ Event.observe(link,"click",mapLinkClick); } );
}

Event.observe(window,"load", Initialize);