

/*menus*/

/*menus*/
function printclick(e){
	var a=Event.element(e);
	window.open(a.href,"printWindow","");
	return false;
}
function printInitialize(links){
	links.each(function(link){
		link.onclick=function(){return false;};
		Event.observe(link,"click",printclick);
	})
}

/*maps*/
var map;
var center;

var control;
function checkPoint(point){
	var bool=1;
	bool &= !isNaN(point.lat());
	bool &= !isNaN(point.lng());
	return bool;
}

function expand(e){
	var a = Event.element(e);
	var div=$("googlemap");
	div.toggleClassName('expanded');
	a.toggleClassName('minus');
	
	map.checkResize();
	map.setCenter(center, 15);
	
	if (div.hasClassName('expanded')){
		
		map.enableDragging();
		control=new GLargeMapControl();
		map.addControl(control);
		
	
	}else{
	
		map.disableDragging();
		map.removeControl(control);
	
	}
}
function checkAddress( address , item){
	var geocoder = new GClientGeocoder();
	 if (address.toUpperCase().indexOf("GRANADA")==-1 )address +=", Granada"; 
	return geocoder.getLatLng(address, function ( point){
		
		if (point) {
	       center=point;
		   if (item != undefined)
				createMap(item);
		}

	
	});

}
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 drawMap(item){
	var latitude= 	parseFloat(item.down(".latitude").title);
	var longitude=	parseFloat(item.down(".longitude").title);
	
	var expandLink=item.down("a.expand");
	
	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);
	
	
}



function mapInitialize(geo){
		geo.each(drawMap);
}
/*maps*/

var tagSelectorChange=function (e){
			var a=Event.element(e);
			if (a.value!=-1)
				a.up("form").submit();
};
	
function initialize(){
//	convert();
	var geo=$A($$(".geo"));
	if (geo.length>0  && GBrowserIsCompatible())
		mapInitialize( geo );
	var printLinks=$A($$("#directorio-browser .right a"));
	if (printLinks.length>0)
		printInitialize( printLinks );
	
	var tagSelector=$("tagSelector");
	
	if ( tagSelector != undefined ){
		Event.observe(tagSelector,"change",  tagSelectorChange)
		var str = unescape(location.href.split("?")[1].split("=")[1].split("&")[0]).split("+").join(" ");
		var options=$A(tagSelector.descendants());
		options.each(function (option){
			if(option.value==str)tagSelector.selectedIndex=option.index;
		})
	}
	
	var imageLinks = $A($$("a.imageable")); 
	
	if (imageLinks.length>0)
		imageLinks.each( function (link){
		
			Event.observe(link,"click",function(e){
				var a = Event.findElement(e,"a"); 
			
				$("singleImage").src=a.href;	
				
				
				$("singleImage").removeAttribute("height");
				$("singleImage").removeAttribute("width");
				 
			
			
			});
		} );
	var worldIcon = $("world");
	if (worldIcon != undefined)
		Event.observe(worldIcon, "click", function(e){		Element.toggle("otherLangs");	});
}


Event.observe(window,"load", initialize);