function tryThese() {
var i,
len,
result;
try {
for (i = 0, len = arguments.length; i < len; i += 1) {
result = tryThis(arguments[i]);
if (result) {
return result;
}
}
} catch (e) {
}
return undef;
}
function tryThis(fnc) {
var result;
try {
result = fnc();
} catch (e) {
result = undef;
}
return result;
}
errorInfo = {
function_offset: tryThis(
function () {
var len = stack.length;
return len > 0 ? formatOffset(stack[len - 1]) : undef;
}
),
caller_offset: tryThis(
function () {
var len = stack.length;
return len > 1 ? formatOffset(stack[len - 2]) : undef;
}
),
message: tryThese(
function () {
return message;
},
function () {
return error.message;
}
),
file: tryThese(
function () {
return typeof message.srcElement.src === 'string' ? message.srcElement.src : undef;
},
function () {
return url;
},
function () {
return window.document.location.href.split('?')[0];
}
),
line: line,
column: column,
stack: tryThis(
function () {
return error.stack;
}
),
bot: tryThis(
function () {
return B.env.b01;
}
)
};
initStack();
return errorInfo;
}
var booking_error_count = 0,
booking_error_previous = 0,
booking_error_sent = 0;
function scriptsTrackingString() {
var page,
page_data,
scripts = [],
scripts_tracking = booking.env.scripts_tracking || {};
for (page in scripts_tracking) if (scripts_tracking.hasOwnProperty(page)) {
page_data = scripts_tracking[page];
if (!page_data.loaded || !page_data.run) {
scripts.push('"' + page + '":{"loaded":' + !!page_data.loaded + ',"run":' + !!page_data.run + '}');
}
}
if (!scripts.length) {
return '';
}
return '&scripts=' + encodeURIComponent('{' + scripts.join(',') + '}');
}
var report_error;
function send_error_report() {
if (report_error && document.getElementById && document.getElementById('req_info')) {
report_error(document.getElementById('req_info').innerHTML);
report_error = null;
} else if (report_error) {
setTimeout(report_error, 100);
}
}
window.onabort = function () {
document.ff_kill = true;
};
function handleBeforeUnload() {
document.ff_kill = true;
}
if (window.addEventListener) {
if (typeof window.onbeforeunload !== 'undefined') {
window.addEventListener('beforeunload', handleBeforeUnload, false);
}
}
//stack trace to be added next: stack trace is big and
//we need a sane way to store it
function onErrorHandler(msg, url, lno, cno, extraUriParams) {
// Cross-origin scripts throw errors like ("Script error.", "", 0, 0, undefined)
// If it is cross-origin script failing - we can just ignore it.
if (/Script error/.test(msg) && !lno && !cno) {
return;
}
if (/Script error/.test(msg) &&
/\/en-gb\/search\?checkin=\d{4}-\d{2}-\d{2}&checkout=\d{4}-\d{2}-\d{2}&adults=2&hotel_id=\d+/.test(window.location.href)) {
return;
}
console.error(msg);
var bookingErrorClientSide = BookingError.apply(this, [].slice.apply(arguments));
if (typeof document.ff_kill !== 'undefined' && document.ff_kill === true && navigator.userAgent.search('Firefox') != -1 && msg === 'Error loading script') {
return false;
}
if (typeof document.kill != "undefined" && document.kill === true) return false;
// don't send more than 3 errors
if (booking_error_sent >= 3) {
return;
}
booking_error_count++;
var ajax;
if (window.XMLHttpRequest) {
try {
ajax = new window.XMLHttpRequest(); // XMLHttpRequest (Mozilla, Opera, Safari, etc.)
} catch (e) {
ajax = false;
}
} else {
var msXML = new Array( // XMLHttpRequest (IE with ActiveX)
"Msxml2.XMLHTTP.5.0",
"Msxml2.XMLHTTP.4.0",
"Msxml2.XMLHTTP.3.0",
"Msxml2.XMLHTTP",
"Microsoft.XMLHTTP"
);
for (var i = 0; i < msXML.length; i++) { // We want to get the best we can
try {
ajax = new ActiveXObject(msXML[i]);
window.status = i;
break;
} catch (e) {
ajax = false;
}
}
}
if (ajax) {
report_error = function (info) {
var data = 'pid=' + encodeURIComponent(B.env.pid);
data += '&url=' + encodeURIComponent(url !== '' && typeof url !== 'undefined' ? url : location.href.split('?')[0]);
if (typeof PageLoadTimer !== 'undefined') {
var times = '&since=' + (+new Date() - PageLoadTimer.start) + '&ready=' + (PageLoadTimer.document_ready - PageLoadTimer.start ? PageLoadTimer.document_ready - PageLoadTimer.start : 0) + '&loaded=' + (PageLoadTimer.window_load - PageLoadTimer.start ? PageLoadTimer.window_load - PageLoadTimer.start : 0);
data += times;
}
/*
if ( booking && booking.env && booking.env.enable_scripts_tracking ) {
data += scriptsTrackingString();
}
*/
if (info) {
data += '&info=' + info;
}
data += '&aid=' + B.env.affiliate_id + '&lang=' + B.env.lang;
//Cap js errors per pageview so the charts on graphite are not so affected
if (booking_error_count > 6) {
if (!booking_error_previous) {
booking_error_count = 5;
} else {
booking_error_count = booking_error_previous + 1;
}
}
data += '&errc=' + booking_error_count + '&errp=' + booking_error_previous;
data += '&stid=' + B.env.affiliate_id; // site_id
data += '&ch=a'; // channel is affiliate
data += '&ref_action=' + B.env.page_type;
data += '&stype=' + B.env.stype; // site_type_id
data += '&bbtool=0';
/*
if (booking_extra.b_gtt) {
data += '>t=' + encodeURIComponent(booking_extra.b_gtt);
}
*/
if (bookingErrorClientSide) {
data += '&error=' + encodeURIComponent(bookingErrorClientSide.message);
data += '&be_running=1' + toParams(bookingErrorClientSide);
}
/*if (booking_extra.b_bp_stage) {
data += '&bp_stage=' + booking_extra.b_bp_stage;
}
if (booking_extra.b_bp_hid && booking_extra.b_bp_blocks) {
data += '&bp_blocks=' + booking_extra.b_bp_hid + ':' + booking_extra.b_bp_blocks.join(',');
if (booking_extra.b_bp_checkin && booking_extra.b_bp_checkout) {
data += ':' + booking_extra.b_bp_checkin + ':' + booking_extra.b_bp_checkout;
}
}*/
if (extraUriParams && typeof extraUriParams === 'object') {
for (var extraParam in extraUriParams) {
if (extraUriParams.hasOwnProperty(extraParam) && extraUriParams[extraParam]) {
data += '&' + extraParam + '=' + encodeURIComponent(extraUriParams[extraParam]);
}
}
}
booking_error_previous = booking_error_count;
ajax.open('GET', '/js_errors?' + data, true);
ajax.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
ajax.onreadystatechange = function () {
if (ajax.readyState == 4 && (ajax.status == 503 || ajax.responseText == 'shut up')) {
document.kill = true;
}
};
ajax.send();
booking_error_sent++;
}
send_error_report();
}
// testing if we should suppress default browser onerror handler, by default we don't
return false;
};
window.onerror = onErrorHandler;
booking.reportError = function (err, title, extraUriParams) {
var message = '', prefix = '[' + (title || 'Reported Error') + '] ';
try {
message = (prefix + (err.message || '') + ' ' + (err.componentStack || '') + '\n' + (err.stack || '')).slice(0, 700);
} catch (e) {
}
if (message) {
if (extraUriParams && typeof extraUriParams === 'object') {
// I think I can remove those 3 null params, but I'll have to make sure no one using before doing it
window.onerror(message, null, null, null, extraUriParams);
} else {
window.onerror(message);
}
}
};
})(window, document, window.booking);
跳至主要內容
為提供您最佳的網站使用體驗,Lithos Traditional Guest Houses會在網站上使用本身或第三方的 Cookie,以作為技術、分析、行銷之用。繼續瀏覽本網站表示您同意我們使用 Cookie。若想了解更多,可閱讀我們的Cookie 通知。
房型資訊
這間錯層式公寓擁有橫梁天花板、石牆和拱門等設計元素,設有帶爐灶和冰箱等設備齊全的廚房。陽台上可欣賞到花園或利比亞海的美景。客人可以在平面電視上觀賞衛星頻道,並可免費使用無線網絡連接。
設施
-
茶/咖啡沖泡設備
-
迷你吧
-
淋浴間
-
電視
-
傳真
-
空調
-
吹風機
-
熨斗
-
陽台
-
浴袍
-
收音機
-
冰箱
-
書桌
-
休息區
-
免費盥洗用品
-
DVD 播放機
-
CD 播放機
-
電風扇
-
廁所
-
微波爐
-
戶外休息區
-
私人衛浴
-
加長床舖(超過兩公尺)
-
暖氣
-
更衣室
-
衛星頻道
-
廚房
-
有線頻道
-
浴缸或淋浴
-
壁爐
-
設有連通室
-
平面電視
-
私人入口
-
沙發
-
隔音
-
磁磚/大理石地板
-
景觀
-
硬木或實木地板
-
用餐區
-
電熱水壺
-
iPod 基座
-
廚房用具
-
額外收費的毛巾/床單
-
衣櫃或衣櫥
-
烤箱
-
爐台
-
烤麵包機
-
燒烤架
-
海景
-
花園景
-
山景
-
地標景
-
防過敏
-
清潔用品
-
咖啡機
-
露臺
-
毛巾
-
床單
-
餐桌
-
戶外傢俱
-
整間住宿都位在地面層
-
高樓層(只有樓梯)
-
完全獨立
-
建築物中的獨立公寓
-
吊衣架
-
摺疊床
-
曬衣架
-
衛生紙
-
桌遊/拼圖
-
兒童書籍、DVD 或音樂
-
兒童安全門欄
-
沙發床
-
床邊插座
-
中庭景觀
-
手部消毒液