if(window.FastInit)
	FastInit.addOnLoad(initPage)
else
	Event.observe(window, 'load', initPage)
	
function initPage() {
	var initListing = function(listing, i) {
		var saveListingLink = listing.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');
					if(img)
						img.src = '/images/icons/silk/ajax_waitbutton.gif';
					
					var options = {
						onSuccess: function(transport, json) {
							if(json) {
								if(json.authenticated == false)
									redirectToUrl(a.href);
								else if(json.saved)
									img.src = '/images/icons/silk/heart.png';
							}
						},
						onFailure: function() {
							redirectToUrl(a.href);
						}
					}
					
					new Ajax.Request(a.href, options);
				}
			}
			
			saveListingLink.observe('click', handleLinkClick);
		}
		
		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);
			}
		}
		
		var photoLink = listing.down('div.basic a');
		if(photoLink)
			initPhotoLink(photoLink);
	}
	
	$$('#SearchResults li.datalist-item').each(initListing);
	
}
