if(window.FastInit)
	FastInit.addOnload(initPage);
else
	Event.observe(window, 'load', initPage);

function initPage() {
	
	$$('ul.tabgroup')
		.each(function(el) {
			var options = {
				showFunction: function(el) {},
				hideFunction: function(el) {}
			}
			new Control.Tabs(el, options);
		});
	
	$$('a.map')
		.invoke('observe', 'click', function(evt) { 
			var a = Event.findElement(evt, 'a');
			if(a.href.include('#')) {
				var map = $(a.href.split('#').last());
				if(map && !(map.classNames().include('initialized'))) {
					var gmap = map.down('.gmap');
					if (gmap && GBrowserIsCompatible()) {
						Event.observe(window, 'beforeunload', function(evt) {GUnload();});
						
						var latlng = gmap.innerHTML.split(',').each(function(dbl) {dbl = parseFloat(dbl)});
						var gmap = new GMap2(gmap);
						gmap.addControl(new GLargeMapControl());
						gmap.addControl(new GScaleControl());
						gmap.addControl(new GMapTypeControl());
						gmap.addControl(new GOverviewMapControl());
						
						var point = new GLatLng(latlng[0], latlng[1]);
						gmap.setCenter(point, 15);
						gmap.addOverlay(new GMarker(point));
						

						
						map.addClassName('initialized');
					}

				}
			
			}
		});
		
		//Save listing link
		var saveListingLink = $(document.body).down('a.saveListing');
		if(saveListingLink) {
			var handleLinkClick = function(evt) {
				var a = Event.findElement(evt,'a');
				if(a) {
					Event.stop(evt);
					var img = a.down('img');
					var text = a.down('span.text');
					if(img)
						img.src = '/images/icons/silk/ajax_waitbutton.gif';
					if(text)
						text.update('saving...')
					
					var options = {
						onSuccess: function(transport, json) {
							if(json) {
								if(json.authenticated == false)
									redirectToUrl(a.href);
								else if(json.saved)
									if(img)
										img.src = '/images/icons/silk/heart.png';
									if(text)
										text.update('Listing Saved')
							}
						},
						onFailure: function() {
							redirectToUrl(a.href);
						}
					}
					
					new Ajax.Request(a.href, options);
				}
			}
			
			saveListingLink.observe('click', handleLinkClick);
		}
		
		
		var listing = $(document.body).down('div.listing');
		if(listing) {
			var initPhotoLink = function(a) {
				if(a && window.Control && Control.Modal) {
					var options = {
						fade: true,
						fadeDuration: 0.25,
						loading: '/images/LoadingAnimation_Large.gif'
					}
					new Control.Modal(a, options);
				}
			}

			//Photos
			var photos = listing.down('div.photos')
			if(photos)
				photos.getElementsBySelector('a').each(initPhotoLink)

			var mainPhoto = listing.down('div.propertyinfo a.photo')
			if(mainPhoto)
				initPhotoLink(mainPhoto);
		}
}