LightboxOptions.fileLoadingImage = './admin/lib/js/lightbox/images/loading.gif';
LightboxOptions.fileBottomNavCloseImage = './admin/lib/js/lightbox/images/closelabel.gif';
var lightbox = new Lightbox();

//var areas = $$("#rooms_map area");
//for( var i=0; i<areas.length; i++) {
//	areas[i].gallery_available = 0;
//	areas[i].setAttribute( "title", "Room #" + areas[i].id.substr(4));
//}
mydebug = function( variable) {
	try {
		window.console.debug( variable);
	} catch (e) {}
}
init_rooms = function( ids) {
	for( var i=0; i<ids.length; i++) {
		var room = $("room"+ids[i]);
		if ( room ) {
			room.style.cursor = "pointer";
			room.href = "javascript:void(0)";
			room.gallery_available = 1;
			$(room).observe( "click", function(ev) {
				start_slideshow( Event.element(ev).id.substr(4));
			});
		}
	}
}
init_rooms_lightboxes = function( data) {
	if ( !$( "slides_for_room_" + data[0]) ) {
		var div = document.createElement("div");
		div.id = "slides_for_room_" + data[0];
		$$("body")[0].appendChild( div);
		var base_url = data[1];
		var html = [];
		for( var i=0; i<data[2].length; i++) {
			html.push( "<a href=\"" + htmlEncode( base_url + data[2][i][0]) + "\" title=\"" + htmlEncode( data[2][i][1]) + "\" rel=\"lightbox[room_"+data[0]+"]\">room_"+data[0]+"</a>");
		}
		$(div.id).hide();
		$(div.id).update(html.join("\n"));
	}
	(function(){
		start_slideshow(data[0])
	}).defer();
}
start_slideshow = function(id) {
	if ( !$( "slides_for_room_" + id) ) {
		load_script( "./admin/index.php?mod=_public_&method=init_rooms_lightboxes&id="+id);
	} else {
		lightbox.start($( "slides_for_room_" + id).down());
	}
}
load_script = function( url) {
	var sct = document.createElement("script");
	sct.src = url;
	if ( !$("scriptloader") ) {
		$$("head")[0].appendChild( sct);
	} else {
		$("scriptloader").parentNode.rereplaceChild( sct, $("scriptloader"));
	}
}
init = function() {
	load_script( "./admin/index.php?mod=_public_&method=init_rooms");
}
init();

(function() {
	var reg1 = new RegExp( "(\\\\{1}|\"|'|<|>|&)", "g");
	var reg2 = new RegExp( "(&#92;|&quot;|&#39;|&lt;|&gt;|&amp;)", "g");
	var reg3 = new RegExp( "(\\\\|\"|'|\\n|\\r)", "g");
	var reg4 = new RegExp( "(\\\\\\\\|\\\\\"|\\\\\'|\\\\n|\\\\r)", "g");

	var foo1 = function( str, p1) { return map1[p1]; }
	var foo2 = function( str, p1) { return map2[p1]; }
	var foo3 = function( str, p1) { return map3[p1]; }
	var foo4 = function( str, p1) { return map4[p1]; }

	var map1 = { "\\":"&#92;", '"':"&quot;", "'":"&#39;", "<":"&lt;", ">":"&gt;", "&":"&amp;"}
	var map2 = { "&#92;":"\\", "&quot;":'"', "&#39;":"'", "&lt;":"<", "&gt;":">", "&amp;":"&"}
	var map3 = { "\\":"\\\\", "\"":"\\\"", "\'":"\\\'", "\n":"\\n", "\r":"\\r"};
	var map4 = { "\\\\":"\\", "\\\"":"\"", "\\\'":"\'", "\\n":"\n", "\\r":"\r"};

	htmlEncode = function( str){
		return str.replace( reg1, foo1);
	}
	htmlDecode = function( str){
		return str.replace( reg2, foo2);
	}
	addSlashes = function( str){
		return str.replace( reg3, foo3);
	}
	stripSlashes = function( str){
		return str.replace( reg4, foo4);
	}
})()