

var rps_setup_image_viewer = function(viewer_location, img_container) {
	
	var text = function(content) {
		return document.createTextNode(content);
	}
	
	var create = function(tag) {
		
		var elem = document.createElement(tag);
		if (2 === arguments.length) {
			elem.appendChild((typeof arguments[1] === 'string') ? text(arguments[1]) : arguments[1]);
		}
		
		return elem;
	}
	
	var link = function(content, url, className) {
		var elem = create('a', content);
		elem.href = url;
		if (className) elem.className = className;
		return elem;
	}
	
	var instructions_location = (arguments.length > 2) ? arguments[2] : img_container;
	
	var imgs = img_container.getElementsByTagName('img');
	if (imgs.length === 0) return;
	//img_container.className += ' clickable';
	
	//var instructions_para = create('p', 'Click on image to see larger version.');
	//instructions_para.className = 'instructions';
	
	//instructions_location.insertBefore(instructions_para, instructions_location.firstChild);
	
	var viewer = document.createElement('div');
	viewer.className = 'viewer';
	viewer.style.display = 'none';
	
	var hide = function() {
		viewer.style.display = 'none';
		window.scrollTo(0,0);
	}
	
	viewer_location.parentNode.insertBefore(viewer, viewer_location);
	
	var close_link = link('Close', '#' + viewer.id, '');
	close_link.onclick = function() { hide(); return false; }
	
	var close_link_para = create('p', close_link);
	close_link_para.className = 'close_link';
	
	var image_para = create('p');
	image_para.className = 'image';
	
	var first_link = link('First', '#', 'first_link');
	var previous_link = link('Previous', '#', 'previous_link');
	var next_link = link('Next', '#', 'next_link');
	var last_link = link('Last', '#', 'last_link');
	
	var back_nav = create('span', first_link);
	back_nav.appendChild(previous_link);
	
	var forward_nav = create('span', next_link);
	forward_nav.appendChild(last_link);
	
	var count_message = create('span', '');
	count_message.className = 'count_message';
	
	var update = function update(node) {
		
		if (!node) return false;
		
		viewer.style.display = 'block';
		
		var index = 0;
		for (var m = 0; m < node.parentNode.childNodes.length; m++) {
			node.parentNode.childNodes[m].style.display = 'none';
			if (node === node.parentNode.childNodes[m]) index = m + 1;
		}
		
		window.scrollBy(0,0);
		
		node.style.display = 'inline';
		
		back_nav.className = node.previousSibling ? 'back_nav' : 'back_nav disabled';
		
		forward_nav.className = node.nextSibling ? 'forward_nav' : 'forward_nav disabled';
		
		previous_link.onclick = function() { return update(node.previousSibling); }
		next_link.onclick = function() { return update(node.nextSibling); }
		
		count_message.replaceChild(text(index + ' of ' + node.parentNode.childNodes.length), count_message.firstChild);
		
		return false;
	}
	
	first_link.onclick = function() { return update(image_para.firstChild); }
	last_link.onclick = function() { return update(image_para.lastChild); }
	
	var navigation_links_para = create('p', back_nav);
	navigation_links_para.className = 'navigation_links';
	navigation_links_para.appendChild(count_message);
	navigation_links_para.appendChild(forward_nav);
	
	viewer.appendChild(close_link_para);
	viewer.appendChild(image_para);
	viewer.appendChild(navigation_links_para);
	
	var copy_image = function(img) {
		if (!img.src) return null;
		var img_copy = create('img');
		img_copy.src = img.src;
		if (img.alt) img_copy.alt = img.alt;
		if (img.title) img_copy.title = img.title;
		var img_link = link(img_copy, img.src)
		img_link.target='_blank';
		image_para.appendChild(img_link);
		
		return function() {
			update(img_link);
			if (viewer.scrollIntoView) viewer.scrollIntoView();
			return false;
		};
	}
	
	for (var n = 0; n < imgs.length; n++) {
		
		if ('a' === imgs[n].parentNode.tagName.toLowerCase()) {
			imgs[n].parentNode.onclick = copy_image(imgs[n]);
		} else {
			imgs[n].onclick = copy_image(imgs[n]);
		}
	}
	
}

try {
	rps_setup_image_viewer(document.getElementById('page_content'), document.getElementById('propertyphotos'));
} catch(e) {
	//do nothing
}



