function panorama_play(id) {
    jQuery("#" + id + " .panorama-control-right").click();
}
function panorama_Pause(id) {
    jQuery("#" + id + " .panorama-control-pause").click();
}

function panoramaplayer(prefix, options, arg1, arg2) {
    var rooms;
    var photos;

    var panorama_settings = {
        speed: 25000,
        showall: true,
        defaultspeed: 25000,
        viewport_width: 548,
        auto_start: false,
        mode_360: true
    };

    var slider_photo_timer = {
        interval: 6000,
        name: "PhotoScroll",
        count: 0,
        index: 0,
        autoplay: true
    };

    var slider_photo_settings = {
        size: 5,
        maxWidth: 548,
        maxHeight: 355
    };

    /***************************************/
    /*    Panorama Drag
    **************************************/

    var panorama_mouse_axis = {
        defaultX: 0,
        X: 0
    };
    (function(jQuery) {
        jQuery.widget("ui.panoramadrag", jQuery.extend({}, jQuery.ui.mouse, {
            _init: function() {
                this._mouseInit();
            },
            destroy: function() {
                this._mouseDestroy();
            },

            _mouseCapture: function(event) {
                this.handle = this._getHandle(event);
                if (!this.handle)
                    return false;
                return true;
            },

            _mouseStart: function(event) {
                panorama_mouse_axis.defaultX = event.pageX;
                this._trigger("start", event);
                this._mouseDrag(event, true);
                return true;
            },

            _mouseDrag: function(event, noPropagation) {
                _prefix = this.element.parent().parent().parent().attr("id");
                panorama_mouse_axis.X = event.pageX;
                jQuery("body").data(_prefix)(panorama_mouse_axis.X - panorama_mouse_axis.defaultX);
                return false;
            },

            _mouseStop: function(event) {
                _prefix = this.element.parent().parent().parent().attr("id");
                panorama_mouse_axis.defaultX = 0;
                panorama_mouse_axis.X = 0;
                jQuery("body").data(_prefix)(0);
                return false;
            },

            _getHandle: function(event) {
                return true;
            },


            plugins: {},

            _uiHash: function(event) {
                return true;
            }

        }));

        jQuery.extend(jQuery.ui.panoramadrag, {
            version: "1.7.2",
            eventPrefix: "drag",
            defaults: {
                appendTo: "parent",
                axis: false,
                cancel: ":input,option",
                distance: 1,
                grid: false,
                handle: false,
                helper: "original",
                refreshPositions: false,
                revert: false,
                revertDuration: 500,
                scope: "default",
                scroll: true,
                scrollSensitivity: 20,
                zIndex: false
            }
        });
    })(jQuery);


    /**
    * photoscrollable 
    *************************************************/
    (function(jQuery) {

        // static constructs
        jQuery.tools = jQuery.tools || {};

        jQuery.tools.photoscrollable = {
            version: '1.1.2',

            conf: {

                // basics
                size: 5,
                vertical: false,
                speed: 400,
                keyboard: true,

                // by default this is the same as size
                keyboardSteps: null,

                // other
                disabledClass: 'disabled',
                hoverClass: null,
                clickable: true,
                activeClass: 'active',
                easing: 'swing',
                loop: false,

                items: '.slider-photos-items', ///************************************need to set************
                item: null,

                // navigational elements			
                prev: '.prev',
                next: '.next',
                prevPage: '.prevPage',
                nextPage: '.nextPage',
                api: false,
                globalNav: true
                // CALLBACKS: onBeforeSeek, onSeek, onReload
            }
        };

        var current;

        // constructor
        function photoscrollable(root, conf) {

            // current instance
            var self = this, jQueryself = jQuery(this),
			 horizontal = !conf.vertical,
			 wrap = root.children(),
			 index = 0,
			 forward;


            if (!current) { current = self; }

            // bind all callbacks from configuration
            jQuery.each(conf, function(name, fn) {
                if (jQuery.isFunction(fn)) { jQueryself.bind(name, fn); }
            });

            if (wrap.length > 1) { wrap = jQuery(conf.items, root); }

            // navigational items can be anywhere when globalNav = true
            function find(query) {
                var els = jQuery(query);
                return conf.globalNav ? els : root.parent().find(query);
            }

            // to be used by plugins
            root.data("finder", find);

            // get handle to navigational elements
            var prev = find(conf.prev),
			 next = find(conf.next),
			 prevPage = find(conf.prevPage),
			 nextPage = find(conf.nextPage);


            // methods
            jQuery.extend(self, {

                getIndex: function() {
                    return index;
                },

                getClickIndex: function() {
                    var items = self.getItems();
                    return items.index(items.filter("." + conf.activeClass));
                },

                getConf: function() {
                    return conf;
                },

                getSize: function() {
                    return self.getItems().size();
                },

                getPageAmount: function() {
                    return Math.ceil(this.getSize() / conf.size);
                },

                getPageIndex: function() {
                    return Math.ceil(index / conf.size);
                },

                getNaviButtons: function() {
                    return prev.add(next).add(prevPage).add(nextPage);
                },

                getRoot: function() {
                    return root;
                },

                getItemWrap: function() {
                    return wrap;
                },

                getItems: function() {
                    return wrap.children(conf.item);
                },

                getVisibleItems: function() {
                    return self.getItems().slice(index, index + conf.size);
                },

                /* all seeking functions depend on this */
                seekTo: function(i, time, fn) {

                    if (i < 0) { i = 0; }

                    // nothing happens
                    if (index === i) { return self; }

                    // function given as second argument
                    if (jQuery.isFunction(time)) {
                        fn = time;
                    }

                    // seeking exceeds the end				 
                    if (i > self.getSize() - conf.size) {
                        return conf.loop ? self.begin() : this.end();
                    }

                    var item = self.getItems().eq(i);
                    if (!item.length) { return self; }

                    // onBeforeSeek
                    var e = jQuery.Event("onBeforeSeek");

                    jQueryself.trigger(e, i > index);
                    if (e.isDefaultPrevented()) { return self; }

                    // get the (possibly altered) speed
                    if (time === undefined || jQuery.isFunction(time)) { time = conf.speed; }

                    function callback() {
                        if (fn) { fn.call(self, i); }
                        jQueryself.trigger("onSeek", [i]);
                    }

                    if (horizontal) {
                        wrap.animate({ left: -item.position().left }, time, conf.easing, callback);
                    } else {
                        wrap.animate({ top: -item.position().top }, time, conf.easing, callback);
                    }


                    current = self;
                    index = i;

                    // onStart
                    e = jQuery.Event("onStart");
                    jQueryself.trigger(e, [i]);
                    if (e.isDefaultPrevented()) { return self; }


                    /* default behaviour */

                    // prev/next buttons disabled flags
                    prev.add(prevPage).toggleClass(conf.disabledClass, i === 0);
                    next.add(nextPage).toggleClass(conf.disabledClass, i >= self.getSize() - conf.size);

                    return self;
                },


                move: function(offset, time, fn) {
                    forward = offset > 0;
                    return this.seekTo(index + offset, time, fn);
                },

                next: function(time, fn) {
                    return this.move(1, time, fn);
                },

                prev: function(time, fn) {
                    return this.move(-1, time, fn);
                },

                movePage: function(offset, time, fn) {
                    forward = offset > 0;
                    var steps = conf.size * offset;

                    var i = index % conf.size;
                    if (i > 0) {
                        steps += (offset > 0 ? -i : conf.size - i);
                    }

                    return this.move(steps, time, fn);
                },

                prevPage: function(time, fn) {
                    return this.movePage(-1, time, fn);
                },

                nextPage: function(time, fn) {
                    return this.movePage(1, time, fn);
                },

                setPage: function(page, time, fn) {
                    return this.seekTo(page * conf.size, time, fn);
                },

                begin: function(time, fn) {
                    forward = false;
                    return this.seekTo(0, time, fn);
                },

                end: function(time, fn) {
                    forward = true;
                    var to = this.getSize() - conf.size;
                    return to > 0 ? this.seekTo(to, time, fn) : self;
                },

                reload: function() {
                    jQueryself.trigger("onReload");
                    return self;
                },

                focus: function() {
                    current = self;
                    return self;
                },

                click: function(i) {
                    var item = self.getItems().eq(i),
					 klass = conf.activeClass,
					 size = conf.size;
                    // check that i is sane
                    if (i < 0 || i >= self.getSize()) { return self; }

                    // size == 1							
                    if (size == 1) {
                        if (conf.loop) { return self.next(); }

                        if (i === 0 || i == self.getSize() - 1) {
                            forward = (forward === undefined) ? true : !forward;
                        }
                        return forward === false ? self.prev() : self.next();
                    }

                    // size == 2
                    if (size == 2) {
                        if (i == index) { i--; }
                        self.getItems().removeClass(klass);
                        item.addClass(klass);
                        return self.seekTo(i, time, fn);
                    }

                    if (!item.hasClass(klass)) {
                        self.getItems().removeClass(klass);
                        item.addClass(klass);
                        var delta = Math.floor(size / 2);
                        var to = i - delta;

                        // next to last item must work
                        if (to > self.getSize() - size) {
                            to = self.getSize() - size;
                        }

                        if (to !== i) {
                            return self.seekTo(to);
                        }
                    }

                    return self;
                },

                // bind / unbind
                bind: function(name, fn) {
                    jQueryself.bind(name, fn);
                    return self;
                },

                unbind: function(name) {
                    jQueryself.unbind(name);
                    return self;
                }

            });

            // callbacks	
            jQuery.each("onBeforeSeek,onStart,onSeek,onReload".split(","), function(i, ev) {
                self[ev] = function(fn) {
                    return self.bind(ev, fn);
                };
            });


            // prev button		
            prev.addClass(conf.disabledClass).click(function() {
                self.prev();
            });


            // next button
            next.click(function() {
                self.next();
            });

            // prev page button
            nextPage.click(function() {
                self.nextPage();
            });

            if (self.getSize() < conf.size) {
                next.add(nextPage).addClass(conf.disabledClass);
            }


            // next page button
            prevPage.addClass(conf.disabledClass).click(function() {
                self.prevPage();
            });


            // hover
            var hc = conf.hoverClass, keyId = "keydown." + Math.random().toString().substring(10);

            self.onReload(function() {

                // hovering
                if (hc) {
                    self.getItems().hover(function() {
                        jQuery(this).addClass(hc);
                    }, function() {
                        jQuery(this).removeClass(hc);
                    });
                }

                // clickable
                if (conf.clickable) {
                    self.getItems().each(function(i) {
                        jQuery(this).unbind("click.photoscrollable").bind("click.photoscrollable", function(e) {
                            if (jQuery(e.target).is("a")) { return; }
                            return self.click(i);
                        });
                    });
                }

                // keyboard			
                if (conf.keyboard) {

                    // keyboard works on one instance at the time. thus we need to unbind first
                    jQuery(document).unbind(keyId).bind(keyId, function(evt) {

                        // do nothing with CTRL / ALT buttons
                        if (evt.altKey || evt.ctrlKey) { return; }

                        // do nothing for unstatic and unfocused instances
                        if (conf.keyboard != 'static' && current != self) { return; }

                        var s = conf.keyboardSteps;

                        if (horizontal && (evt.keyCode == 37 || evt.keyCode == 39)) {
                            self.move(evt.keyCode == 37 ? -s : s);
                            return evt.preventDefault();
                        }

                        if (!horizontal && (evt.keyCode == 38 || evt.keyCode == 40)) {
                            self.move(evt.keyCode == 38 ? -s : s);
                            return evt.preventDefault();
                        }

                        return true;

                    });

                } else {
                    jQuery(document).unbind(keyId);
                }

            });

            self.reload();

        }


        // jQuery plugin implementation
        jQuery.fn.photoscrollable = function(conf) {

            // already constructed --> return API
            var el = this.eq(typeof conf == 'number' ? conf : 0).data("photoscrollable");
            if (el) { return el; }

            var globals = jQuery.extend({}, jQuery.tools.photoscrollable.conf);
            conf = jQuery.extend(globals, conf);

            conf.keyboardSteps = conf.keyboardSteps || conf.size;

            this.each(function() {
                el = new photoscrollable(jQuery(this), conf);
                jQuery(this).data("photoscrollable", el);
            });

            return conf.api ? el : this;

        };


    })(jQuery);

    /*    Panorama
    **************************************/

    function panorama_set(options) {

        if (options) jQuery.extend(panorama_settings, options);

        //var elemWidth = parseInt(jQuery("#" + prefix + " img.advancedpanorama").attr('width'));
        //var elemHeight = parseInt(jQuery("#" + prefix + " img.advancedpanorama").attr('height'));
        var elemWidth = options.width;
        var elemHeight = options.height;
        var panoramaViewport, panoramaContainer, panoramaControl;


        panorama_settings.running = panorama_settings.auto_start;

        jQuery("#" + prefix + " img.advancedpanorama").css('position', 'relative')
        .css('margin', '0')
        .css('padding', '0')
        .css('border', 'none')
        .wrap("<div class='panorama-container'></div>");
        if (panorama_settings.mode_360)
            jQuery("#" + prefix + " img.advancedpanorama").clone().insertAfter(jQuery("#" + prefix + " img.advancedpanorama"));

        panoramaContainer = jQuery("#" + prefix + " img.advancedpanorama").parent();
        panoramaContainer.wrap("<div class='panorama-viewport'></div>").parent().css('width', panorama_settings.viewport_width + 'px')
        panoramaControl = jQuery("#" + prefix + " div.panorama-control");
        panoramaViewport = panoramaContainer.parent();

        panoramaViewport.css('height', elemHeight + 'px');
        panoramaControl.find('.panorama-control-left').unbind("click").bind('click', function() {
            panorama_go_right();
        });

        panoramaControl.find('.panorama-control-right').unbind("click").bind('click', function() {
            panorama_go_left();
        });
        panoramaControl.find('.panorama-control-pause').unbind("click").bind('click', function() {
            jQuery(jQuery("#" + prefix + " .panorama-container")).stop();
            panorama_settings.running = false;
            return false;
        });
        panoramaControl.find('.panorama-control-silder').slider({
            range: "min",
            value: 30000 - panorama_settings.speed,
            min: 1000,
            max: 29000,
            slide: function(event, ui) {
                panorama_settings.defaultspeed = 30000 - ui.value;
                panorama_speed(panorama_settings.defaultspeed);
            }
        });


        jQuery("#" + prefix + " img.advancedpanorama").parent().css('margin-left', '-' + panorama_settings.start_position + 'px');

        if (panorama_settings.auto_start) {
            panorama_animate(jQuery("#" + prefix + " .panorama-container"), elemWidth, panorama_settings);

        }
        jQuery("body").data(prefix, panorama_speed_drag);
    }

    function panorama_go_left(elemWidth) {        
        if (!elemWidth)
            elemWidth = parseInt(jQuery("#" + prefix + " img.advancedpanorama").attr('width'));
        jQuery(jQuery("#" + prefix + " .panorama-container")).stop();
        panorama_settings.direction = 'left';
        panorama_animate(jQuery("#" + prefix + " .panorama-container"), elemWidth, panorama_settings);
        panorama_settings.running = true;
        return false;
    }
    function panorama_go_right(elemWidth) {
        if (!elemWidth)
            elemWidth = parseInt(jQuery("#" + prefix + " img.advancedpanorama").attr('width'));
        jQuery(jQuery("#" + prefix + " .panorama-container")).stop();
        panorama_settings.direction = 'right';
        panorama_animate(jQuery("#" + prefix + " .panorama-container"), elemWidth, panorama_settings);
        panorama_settings.running = true;
        return false;
    }
    function panorama_speed(_speed, elemWidth) {        
        if (!elemWidth)
            elemWidth = parseInt(jQuery("#" + prefix + " img.advancedpanorama").attr('width'));
        panorama_settings.speed = _speed;
        if (panorama_settings.running) {
            jQuery(jQuery("#" + prefix + " .panorama-container")).stop();
            panorama_animate(jQuery("#" + prefix + " .panorama-container"), elemWidth, panorama_settings);
        }
    }
    function panorama_speed_drag(_x) {
        var _new_speed = Math.abs(_x);
        if (_new_speed > 300) _new_speed = 300;

        _new_speed = 13000 - _new_speed * 40;

        if (_x == 0) {
            panorama_speed(panorama_settings.defaultspeed);
        }
        else if (_x < 0) {
            panorama_settings.direction = "right";
            panorama_speed(_new_speed);
            if (!panorama_settings.running) {
                panorama_go_right();
            }
        }
        else if (_x > 0) {
            panorama_settings.direction = "left";
            panorama_speed(_new_speed);
            if (!panorama_settings.running) {
                panorama_go_left();
            }
        }

    }


    function panorama_animate(element, elemWidth, panorama_settings) {
        currentPosition = 0 - parseInt(jQuery(element).css('margin-left'));

        if (panorama_settings.direction == 'right') {

            jQuery(element).animate({ marginLeft: 0 }, ((panorama_settings.speed / elemWidth) * (currentPosition)), 'linear', function() {
                if (panorama_settings.mode_360) {
                    jQuery(element).css('marginLeft', '-' + (parseInt(parseInt(elemWidth)) + 'px'));
                    panorama_animate(element, elemWidth, panorama_settings);
                }
            });
        } else {

            var rightlimit;
            if (panorama_settings.mode_360)
                rightlimit = elemWidth;
            else
                rightlimit = elemWidth - panorama_settings.viewport_width;

            jQuery(element).animate({ marginLeft: -rightlimit }, ((panorama_settings.speed / rightlimit) * (rightlimit - currentPosition)), 'linear', function() {
                if (panorama_settings.mode_360) {
                    jQuery(element).css('margin-left', 0);
                    panorama_animate(element, elemWidth, panorama_settings);
                }
            });
        }


    }

    function panorama_room_set(num) {
        var _html = "<img src='" + rooms[num].img + "' class='advancedpanorama' width='" + rooms[num].width + "' height='" + rooms[num].height + "' />";
        jQuery("#" + prefix + " .panorama-area").children().remove();
        jQuery("#" + prefix + " .panorama-area").html(_html);
        jQuery("#" + prefix + " .panorama-title").text(rooms[num].room);
		var _auto_play_=rooms[num].autoPlay||false;
        panorama_set({
            auto_start: _auto_play_,
            direction: 'left',
            start_position: 0,
            mode_360: true,
            running: false,
            width: rooms[num].width,
            height: rooms[num].height
        });
        jQuery("#" + prefix + " .panorama-tabs-box .panorama-tabs-box-tabs-1>P>a").removeClass().each(function() {
            jQuery(this).addClass((jQuery(this).attr("id") == "tabs-1-" + num) ? "panorama-roomselected" : "panorama-roomunselect");
        });
        jQuery("#" + prefix + " .panorama-control-silder").slider('option', 'value', 30000 - panorama_settings.speed);
        jQuery("#" + prefix + " .panorama-viewport").panoramadrag();
    }

    function onInit() {
        if (rooms != null && rooms.length == 0)
            rooms = null;
        slider_photo_timer.name += "-" + prefix;
        if (panorama_settings.showall) {

            var _html = "";

            if (rooms != null) {
                for (var i = 0; i < rooms.length; i++) {
                    _html += "<a id='tabs-1-" + i + "' href='javascript:void(0);'>" + rooms[i].room + "</a>" + ((i == 7) ? "<br />" : "");
                }
                jQuery("#" + prefix + " .panorama-tabs-box .panorama-tabs-box-tabs-1>P")[0].innerHTML = _html;
                jQuery("#" + prefix + " .panorama-tabs-box .panorama-tabs-box-tabs-1>P a").each(function() {
                    jQuery(this).click(function() {
                        panorama_room_set(jQuery(this).attr("id").replace("tabs-1-", ""));
                    });
                });
            }


            _html = "";

            if (photos != null) {
                for (var i = 0; i < photos.length; i++) {
                    _html += "<img alt='" + photos[i].name + "' src='" + photos[i].src + "' photoindex='" + i + "' />";
                }
                jQuery("#" + prefix + " .slider-photos>.slider-photos-items")[0].innerHTML = _html;

                var api = jQuery("#" + prefix + " .slider-photos").photoscrollable(
                    {
                        size: slider_photo_settings.size,
                        nextPage: "#" + prefix + " .slider-photos-nvg-next",
                        prevPage: "#" + prefix + " .slider-photos-nvg-prev",
                        api: true
                    });
                jQuery("#" + prefix + " .panorama-tabs-box>.panorama-tabs-box-tabs .panorama-tabs-box-tabs-nav a").click(function() {
                    var _index = jQuery(this).attr("tab");
                    if (jQuery(this).parent(".panorama-tabs-box-tabs-selected").length == 0) {
                        jQuery("#" + prefix + " .panorama-box").toggleClass("panorama-box-hide");
                        jQuery("#" + prefix + " .panorama-tabs-box>.panorama-tabs-box-tabs .panorama-tabs-box-tabs-nav li").toggleClass("panorama-tabs-box-tabs-selected");
                        jQuery("#" + prefix + " .panorama-tabs-box-tabs-1").toggleClass("panorama-tabs-box-tabs-hide");
                        jQuery("#" + prefix + " .panorama-tabs-box-tabs-2").toggleClass("panorama-tabs-box-tabs-hide");
                    }
                });
            }
            jQuery("#" + prefix + " .panorama-tabs-box>.panorama-tabs-box-tabs a[tab='2']").click(function() {
                slider_photo_play(api);
            });
            jQuery("#" + prefix + " .panorama-tabs-box>.panorama-tabs-box-tabs a[tab='1']").click(function() {
                slider_photo_stop();
            });

        }

        if (rooms == null && photos != null) {
            jQuery("#" + prefix + " .panorama-box").toggleClass("panorama-box-hide");
            slider_photo_play(api);
            jQuery("#" + prefix + " .panorama-tabs-box>.panorama-tabs-box-tabs .panorama-tabs-box-tabs-nav a[tab=1]").html(jQuery("#" + prefix + " .panorama-tabs-box>.panorama-tabs-box-tabs .panorama-tabs-box-tabs-nav a[tab=2]").html());
            jQuery("#" + prefix + " .panorama-tabs-box>.panorama-tabs-box-tabs .panorama-tabs-box-tabs-nav a[tab=2]").css("display", "none");
            jQuery("#" + prefix + " .panorama-tabs-box .panorama-tabs-box-tabs-1").addClass("panorama-tabs-box-tabs-hide");
            jQuery("#" + prefix + " .panorama-tabs-box .panorama-tabs-box-tabs-2").removeClass("panorama-tabs-box-tabs-hide");
        }
        if (rooms != null && photos == null) {
            jQuery("#" + prefix + " .panorama-tabs-box>.panorama-tabs-box-tabs .panorama-tabs-box-tabs-nav a[tab=2]").css("display", "none");
        }

        if (rooms != null && rooms.length > 0) {
            panorama_room_set(0);
        }
    }

    function slider_photo_set() {
        var obj = jQuery("#" + prefix + " .slider-photos>.slider-photos-items>img.active")[0];
        var elem = jQuery("#" + prefix + " .slider-photos-item");
        if (elem.children("img").length == 0 || elem.children("img").attr("src") != obj.src) {
            var maxWidth = slider_photo_settings.maxWidth;
            var maxHeight = slider_photo_settings.maxHeight;
            var img = new Image();
            img.src = obj.src;

            if (img.width > maxWidth) {
                img.width = maxWidth;
            }
            if (img.height > maxHeight) {
                img.height = maxHeight;
            }
            img.style.cssText = "width:" + img.width + "px;height:" + img.height + "px;";
            slider_photo_timer.index = jQuery(obj).attr("photoindex");
            jQuery("#" + prefix + " .slider-photos-title").html(photos[slider_photo_timer.index].name);
            elem.fadeOut(200, function() {
                elem.children().remove();
                elem.append(jQuery(img));
                jQuery(this).fadeIn(200);
            });
        }
    }

    function slider_photo_play(api) {

        slider_photo_timer.count = jQuery("#" + prefix + " .slider-photos>.slider-photos-items>img").not(".cloned").length;
        if (slider_photo_timer.count > 0) {

            if (slider_photo_timer.index == 0) {
                api.click(0);
                slider_photo_set();
                slider_photo_timer.index = 1;
            }
            if (slider_photo_timer.autoplay) {
                jQuery("body").stopTime(slider_photo_timer.name).everyTime(slider_photo_timer.interval, slider_photo_timer.name, function() {
                    api.click(slider_photo_timer.index);
                    slider_photo_set();

                    if (slider_photo_timer.index++ > slider_photo_timer.count - 1)
                        slider_photo_timer.index = 0;
                }, 0, true);
            };
            jQuery("#" + prefix + " .slider-photos>.slider-photos-items>img").click(function() {
                slider_photo_set();
            });
        }
    }

    function slider_photo_stop() {
        jQuery("body").stopTime(slider_photo_timer.name);

    }

    if (options != undefined && options.panorama_viewport_width != undefined) {
        panorama_settings.viewport_width = options.panorama_viewport_width;
    };
    if (options != undefined && options.slider_photo_interval != undefined) {
        slider_photo_timer.interval = options.slider_photo_interval;
    };
    if (options != undefined && options.slider_photo_autoplay != undefined) {
        slider_photo_timer.autoplay = options.slider_photo_autoplay;
    };
    if (options != undefined && options.slider_photo_size != undefined) {
        slider_photo_settings.size = options.slider_photo_size;
    };
    if (options != undefined && options.slider_photo_maxWidth != undefined) {
        slider_photo_settings.maxWidth = options.slider_photo_maxWidth;
    };
    if (options != undefined && options.slider_photo_maxHeight != undefined) {
        slider_photo_settings.maxHeight = options.slider_photo_maxHeight;
    };
    if (options != undefined && options.showall != undefined) {
        panorama_settings.showall = options.showall;
    };
    if (arg1) {
        rooms = arg1;
    };
    if (arg2) {
        photos = arg2;
    };

    onInit();
}
