﻿var Offerta = {};

Offerta.LimitTextInput = function (/*Node*/inputNode, /*Node*/labelNode, /*int*/limit) {
    inputNode = jQuery(inputNode);
    if (inputNode.length == 0) return;
    var input = inputNode.val();
    if (input.length > limit) {
        input = input.substr(0, limit);
        inputNode.val(input);
        inputNode.attr("scrollTop", inputNode.attr("scrollHeight"));

    }
    jQuery(labelNode).text(limit - input.length);
}

Offerta.OpenPopup = function (/*String*/url, /*int*/width, /*int*/height, /*Function*/onClose) {
    Offerta._popupOnClose = onClose || null;

    if (Offerta._popupLast) {
        if (!Offerta._popupLast) Offerta._popupLast.close();
    }

    var left = (screen.width) ? (screen.width - width) / 2 : 100;
    var top = (screen.height) ? (screen.height - height) / 2 : 100;

    Offerta._popupLast = window.open(url, 'offertaPopup', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=yes,width=' + width + ',height=' + height + ',left=' + left + ', top=' + top + ',screenX=' + left + ',screenY=' + top + '');
}

Offerta.SetInputDisabled = function (/*Node*/_control, /*Boolean*/disabled) {
    var control = $(_control);
    control.attr("disabled", disabled ? "disabled" : "");
    control.parents(".rc-input").addClass(disabled ? "rc-input-disabled" : "rc-input-default").removeClass(disabled ? "rc-input-default" : "rc-input-disabled").removeClass("rc-input-error");
}

Offerta.SetEnterClick = function (/*Node*/_control, /*Boolean*/_button) {
    var control = $(_control);
    var button = $(_button);
    control.bind("keypress", function (e) {
        if (e.keyCode == 13) {
            button.click();
            return false;
        }
    });
}

Offerta.IsUploading = function (target, cb) {
    if (jQuery(".swfupload-loading").is(":visible")) {
        alert("Var god vänta tills alla filer har laddads klart!")
        return false;
    }
    else {
        if(!!cb) cb(target);
        return true;
    }
}

Offerta.RegisterBannerClick = function (/*String*/bannerId, /*String*/url) {
    jQuery.ajax({
        type: "POST",
        url: "/services/AjaxFunctions.aspx/RegisterBannerClick",
        data: '{bannerId:"' + bannerId + '"}',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        error: function () {
            window.location.href = url;
        },
        success: function (data) {
            window.location.href = url;
        }
    });
    return false;
}

Offerta._onShowOverlay = function () {
    $(".hide-on-overlay").hide();
    if ($.browser.msie && parseFloat($.browser.version) < 7) $("SELECT").hide();
}

Offerta._onHideOverlay = function () {
    $(".hide-on-overlay").show();
    if ($.browser.msie && parseFloat($.browser.version) < 7) $("SELECT").show();
}

Offerta._InitExternalOverlay = function (overlay, href, title) {
    var x = $(overlay).overlay({
        expose: '#fff',
        api: true,
        onBeforeLoad: function () {
            Offerta._onShowOverlay();
            if (!!title) this.getContent().find(".overlay-toolbar").find(".h2").text(title);
            var wrap = this.getContent().find(".overlay-content");
            $(wrap).empty();
            var loader = this.getContent().find(".ajax-loader");
            loader.show();
            wrap.load(href || this.getTrigger().attr("href"), null, function () {
                loader.hide();
            });
        },
        onClose: function () {
            Offerta._onHideOverlay();
        }
    });
    return x;
}

Offerta.ShowExternalOverlay = function (overlay, href, title) {
    Offerta._InitExternalOverlay(overlay, href, title).load();
}

Offerta.Analytics = function (/*String*/url) {
    try {
        if (_gat != undefined) {
            var pageTracker = _gat._getTracker("UA-5485818-1");
            if (url != undefined) {
                pageTracker._trackPageview(url);
            }
            else {
                pageTracker._trackPageview();
            }
        }
    }
    catch (error) { }
}

Offerta.FireOnAspEndRequest = function (/*Function*/fp) {
    Offerta._FireOnAspEndRequest = fp;
    if (!Offerta._FireOnAspEndRequestInitialized) {
        Offerta._FireOnAspEndRequestInitialized = true;
        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function (sender, args) {
            if (args.get_error() == undefined && !!Offerta._FireOnAspEndRequest) Offerta._FireOnAspEndRequest();
            Offerta._FireOnAspEndRequest = null;
        });
    }
}