﻿/// <reference path="jquery-1.6.2-vsdoc.js" />

(function ($) {

    var xtn = window.$xtn = {
        fancybox: {
            inline: function (settings) {
                var e = this;
                var config = {
                    width: 790,
                    height: 585,
                    modal: false,
                    dialog: false,
                    context: e
                };

                if (settings) $.extend(config, settings);

                $.fancybox({
                    width: config.width,
                    height: config.height,
                    autoScale: false,
                    autoDimensions: true,
                    centerOnScroll: true,
                    overlayColor: '#fff',
                    overlayOpacity: config.dialog ? 0.0 : 0.8,
                    autoScale: true,
                    padding: 0,
                    modal: config.modal,
                    onComplete: function () {
                        $("#save").click(function () {
                            $.fancybox.close();
                        });
                    }
                }, config.context);

                return false;
            },
            inlinetree: function (settings) {
                var e = this;
                var config = {
                    width: 890,
                    height: 585,
                    modal: false,
                    dialog: false,
                    context: e
                };

                if (settings) $.extend(config, settings);

                $.fancybox({
                    width: config.width,
                    height: config.height,
                    autoScale: false,
                    autoDimensions: true,
                    centerOnScroll: true,
                    overlayColor: '#fff',
                    overlayOpacity: config.dialog ? 0.0 : 0.8,
                    autoScale: true,
                    padding: 0,
                    modal: config.modal,
                    onComplete: function () {
                        $(".link-treeitem-click").click(function () {
                            var sArray = $(this).attr("id").replace('TreeItem.', '').split('.');
                            var bReturnValue = savePageLink(sArray[0], sArray[1], sArray[2], sArray[3], sArray[4]);
                            if (bReturnValue) {
                                $.fancybox.close();
                            }
                        });
                    }
                }, config.context);

                return false;
            },
            inlinenewperson: function (settings) {
                var e = this;
                var config = {
                    width: 790,
                    height: 585,
                    modal: false,
                    dialog: false,
                    context: e
                };

                if (settings) $.extend(config, settings);

                $.fancybox({
                    width: config.width,
                    height: config.height,
                    autoScale: false,
                    autoDimensions: true,
                    centerOnScroll: true,
                    overlayColor: '#fff',
                    overlayOpacity: config.dialog ? 0.0 : 0.8,
                    autoScale: true,
                    padding: 0,
                    modal: config.modal,
                    onComplete: function () {
                        $("#saveperson").click(function () {
                            var Name = document.getElementById('txtNewPersonName');
                            var Surname = document.getElementById('txtNewPersonSurname');
                            var Email = document.getElementById('txtNewPersonEmail');
                            saveNewPerson(Name.value, Surname.value, Email.value);
                            $.fancybox.close();
                        });
                    }
                }, config.context);

                return false;
            },
            iframe: function (settings) {
                var config = {
                    width: 790,
                    height: 585,
                    modal: false,
                    dialog: false,
                    context: undefined,
                    overlayOpacity: 0.7,
                    overlayColor: '#fff',
                    title: ''
                };

                if (settings) $.extend(config, settings);

                if (!config.context) config.context = this;

                if (typeof config.context != 'string')
                    config.context = $(config.context).attr("href");

                $.fancybox({
                    width: config.width,
                    height: config.height,
                    type: 'iframe',
                    autoScale: false,
                    autoDimensions: true,
                    centerOnScroll: true,
                    overlayColor: '#fff',
                    overlayOpacity: config.dialog ? 0.0 : 0.8,
                    padding: 0,
                    modal: config.modal,
                    href: config.context,
                    titleShow: config.title != '' ? true : false,
                    titlePosition: config.title != '' ? 'inside' : 'outside',
                    title: config.title,
                    titleFormat: formatTitle
                });
                return false;
            }
        }
    };

    function formatTitle(title, currentArray, currentIndex, currentOpts) {
        return '<div class="fancyboxtitle">' + (title && title.length ? title : '') + '</div>';
    }

    $(document).ready(function () {

        $("a[rel='fancybox-inline']").click(function () {
            return $xtn.fancybox.inline.call(this, { width: '85%', height: '85%', dialog: $(this).hasClass("fancybox-dialog"), modal: $(this).hasClass("fancybox-modal") });
        });

        $("a[rel='fancybox-inline.tree']").click(function () {
            return $xtn.fancybox.inlinetree.call(this, { width: '85%', height: '85%', dialog: $(this).hasClass("fancybox-dialog"), modal: $(this).hasClass("fancybox-modal") });
        });

        $("a[rel='fancybox-inline.newperson']").click(function () {
            return $xtn.fancybox.inlinenewperson.call(this, { width: '85%', height: '85%', dialog: $(this).hasClass("fancybox-dialog"), modal: $(this).hasClass("fancybox-modal") });
        });

        $("a[rel='fancybox-iframe']").click(function () {
            return $xtn.fancybox.iframe.call(this, { width: '85%', height: '85%', dialog: $(this).hasClass("fancybox-dialog"), modal: $(this).hasClass("fancybox-modal") });
        });

        $("a[rel^='fancybox-inline-']").click(function () {
            var d = $(this).attr("rel").replace('fancybox-inline-', '').split('x');
            return $xtn.fancybox.inline.call(this, { width: parseInt(d[0]), height: parseInt(d[1]), dialog: $(this).hasClass("fancybox-dialog"), modal: $(this).hasClass("fancybox-modal") });
        })

        $("a[rel^='fancybox-iframe-']").click(function () {
            var d = $(this).attr("rel").replace('fancybox-iframe-', '').split('x');
            return $xtn.fancybox.iframe.call(this, { width: parseInt(d[0]), height: parseInt(d[1]), dialog: $(this).hasClass("fancybox-dialog"), modal: $(this).hasClass("fancybox-modal"), title: $(this).attr("title") });
        });

    });

})(jQuery);
