﻿if (typeof console == "undefined") var console = { log: function () { } };

/* MYTRIP DEPENDENCY  ? */
function convertToDate(jsonDate) {
    return eval("new " + jsonDate.substring(1, jsonDate.length - 1));
}
String.prototype.formatJsonDate = function () {
    return convertToDate(this).formatDate();
}
String.prototype.formatJsonTime = function () {
    return convertToDate(this).formatTime();
}
Date.prototype.formatDate = function () {
    var dateString = this.getFullYear() + "-";
    if (this.getMonth() + 1 < 10)
        dateString += "0";
    dateString += this.getMonth() + 1 + "-";
    if (this.getDate() < 10)
        dateString += "0";
    dateString += this.getDate();
    return dateString;
}
Date.prototype.formatTime = function () {
    var timeString = "";
    if (this.getHours() < 10)
        timeString += "0";
    timeString += this.getHours() + ":";
    if (this.getMinutes() < 10)
        timeString += "0";
    timeString += this.getMinutes();
    return timeString;
}
function parseDate(date) {
    return new Date(Number(date.match(/\d+/)[0]));
}; 
function parseBool(bool) {
    return bool == true || bool == "true";
}
function clone(obj, changes) {
    if (obj == null || typeof (obj) != 'object')
        return obj;

    var temp = new obj.constructor();

    for (var key in obj)
        temp[key] = clone(obj[key]);

    if (changes) {
        changes(obj);
    }
    return temp;
}
function getFlightTimeString(flightTimeInMinutes) {
    var hours = Math.floor(flightTimeInMinutes / 60);
    var minutesLeft = flightTimeInMinutes - (hours * 60);
    var totalTime = "";
    if (hours > 0)
        totalTime = hours + "h";


    return totalTime + minutesLeft + "m";
}

if (!Array.prototype.indexOf) {
    Array.prototype.indexOf = function (obj, start) {
        for (var i = (start || 0), j = this.length; i < j; i++) {
            if (this[i] === obj) { return i; }
        }
        return -1;
    }
}

function ArrayContains(list, check) {
    var contains = false;
    $(list).each(function (dcIndex, item) {
        if (check(item)) {
            contains = true;
            return false;
        }
    });
    return contains;
}
function displaySearchMessage(message, displayCancelOption, cancelUrl, displayImages) {
    var cancelLink = '';
    if (displayCancelOption) {
        cancelLink = '<a href="' + cancelUrl + '" style="cursor:pointer" class="cancel-link">Avbryt sökning</a>';
    }
    var images = '';
    if (displayImages) {
        images = '<div style="position:relative;text-align:left;width:443px"><img src="/content/hotel/wait/1.jpg" id="imgrnd" name="imgrnd" style="position:absolute; visibility:visible"><img src="/content/hotel/wait/1.jpg" id="imgrnd2" name="imgrnd2" style="position:absolute; visibility:hidden"></div>';
    }
    var messageText = '<div class="text" style="text-align:center">' + images + '<img src="/content/hotel/ajax-loader.gif" alt="loader" style="margin-bottom:10px;margin-top: 110px;" /><h3>Var vänlig vänta...</h3><br/>' + message + '<br/><br/>' + cancelLink + '<br/></div>';
    $.blockUI({
        message: messageText,
        css: {
            width: '437px',
            height: '312px'
        },
        overlayCSS: {
            backgroundColor: 'transparent',
            opacity: 0
        }
    });
    if (displayImages) {
        //loadImg('wait');
    }
}
function hideSearchMessage() {
    $.unblockUI();
}

(function ($) {
    var cache = [];
    // Arguments are image paths relative to the current page.
    $.preLoadImages = function () {
        var args_len = arguments.length;
        for (var i = args_len; i--; ) {
            var cacheImage = document.createElement('img');
            cacheImage.src = arguments[i];
            cache.push(cacheImage);
        }
    }
})(jQuery)
