﻿var LifeSaver =
{
    catchDomains: function(domain, name) {
        this.domain = domain;
        this.name = name;
    },

    init: function(lifesavers) {
        this.catchDomains = $.map(lifesavers, function(element, index) {
            return { name: element.name, domain: element.WebsiteUrl };
        });
    },

    doDomReady: function() {
        var lifeSaverExists = $('#lifesaver').length > 0;
        if (lifeSaverExists) {
            $('#lifesaver').draggable({ handle: '#drag', scroll: false });
            $("#site")[0].src = url;
        }
        else {
            LifeSaver.scanPageForUrls();
        }
    },
    //todo: http://www.q42.nl en http://q42.nl allebij afvangen
    //todo: preview in cms(?)
    scanPageForUrls: function() {
        $.each(LifeSaver.catchDomains, function(domain, name) {
            $.each($("a[href*='" + name.domain + "']"), function(i, el) {
                var from = escape(document.location.pathname);
                $(el).attr('href', '/lifesavers/' + name.name + '?to=' + escape(el) + '&from=' + from);
            });
        });
    },

    ja: function() {
        if (url != null) {
            var prevUrl = url;
            try {
                url = $("#site")[0].getAttribute("src");
            }
            catch (e) {
                url = prevUrl;
            }
        }
        url = unescape(document.location.search.split("&from=")[0].replace("?to=", ""));
        document.location.href = "/lifesaver/accept?id=" + id + "&url=" + escape(url) + "&title=" + escape(roomTitle);
    },

    nee: function() {
        var organisatieUrl = document.location.href.replace(/\/[^\/]+\/?$/g, "");
        url = unescape(document.location.search.split("&from=")[1]);
        document.location.href = "/lifesaver/refuse?id=" + id + "&url=" + escape(url) + "&title=" + escape(roomTitle) + "&kamerUrl=" + escape(organisatieUrl);
    },

    meer: function() {
        $("#about")[0].style.display = "block";
        if (window.IEPNGFix) IEPNGFix.update();
    },

    minder: function() {
        $("#about")[0].style.display = "none";
    }

    //    naarInfo: function() {
    //        var organisatieUrl = document.location.href.replace(/\/[^\/]+\/?$/g, "");
    //        document.location.href = organisatieUrl;
    //    }
}
$(document).ready(LifeSaver.doDomReady);
