﻿var RotatingBlockControl = {
    Init: function(el) {
        var className = (el.id);
        if (ControlManager.Exists(className)) {
            var ctrl = ControlManager.Get(className);
        } else {
            var ctrl = new BaseControl(
            el.dom.innerHTML,
            "",
            "",
            null,
            "action_" + Utils.GetControlName(el),
            RotatingBlockControl.CurrentPage,
            el
            );
        }
        ctrl.init();


        if (Ext.get('LCcntnr').hasClass('learningCenter') && !Ext.isIE && false) {
            var fake = Ext.DomHelper.insertBefore(el, { tag: 'div' }, true);
            fake.setWidth(el.dom.offsetWidth);
            fake.setHeight(el.dom.offsetHeight);

            Ext.get('LCcntnr').appendChild(el.dom);
            var realignRotatingBlocks = function() {
                el.anchorTo(fake, 'lt-lt');
            };

            ControlManager.on('update', realignRotatingBlocks);
            realignRotatingBlocks();

/*            el.dom.style.position = 'absolute';
            el.setLeft(fake.getLeft());
            el.setTop(fake.getTop());*/
        }

        return ctrl;
    },
    PostInit: function(el) {
        if (Ext.isIE6) {
            var submits = el.select("input[type=submit]");
            var mouseOver = function(btn) {
                if (this.hasClass('cntrlPre')) {
                    this.dom.style.background = 'transparent url(http://www.adorama.com/artworks2/slideArowHover_BG.gif) no-repeat scroll left center'
                } else {
                    this.dom.style.background = 'transparent url(http://www.adorama.com/artworks2/slideArowHover_BG.gif) no-repeat scroll right center'
                }
            };
            for (var i = 0; i < submits.elements.length; i++) {
                var submit = Ext.get(submits.elements[i]);
                submit.on("mouseover", mouseOver);
                submit.on("mouseout", function(btn) {
                    if (!this.dom.disabled) {
                        if (this.hasClass('cntrlPre')) {
                            this.dom.style.background = 'transparent url(http://www.adorama.com/artworks2/slideArowLink_BG.gif) no-repeat scroll left center'
                        } else {
                            this.dom.style.background = 'transparent url(http://www.adorama.com/artworks2/slideArowLink_BG.gif) no-repeat scroll right center'
                        }
                    }
                });
                if (submit.dom.disabled) {
                    submit.fake = mouseOver;
                    submit.fake(submit);
                }
            }
        }
    },
    Show: function(action) {
        action.dom.disabled = true;

        var Form = action.basicForm;
        var FormEl = action.basicForm.el;
        var fullActionName = action.dom.getAttribute("name");
        var parameters = "";
        var ProgressEl = null;

        BaseControl.Mask(FormEl);

        AjaxProcessor.Request(
            Form.baseCtrl.ajaxPage,
            fullActionName,
            parameters,
            { ctrl: Form.baseCtrl, formEl: FormEl, progressEl: ProgressEl, submitEl: this }
        );
    },
    ShowAll: function(action) {
        action.dom.disabled = true;

        var Form = action.basicForm;
        var FormEl = action.basicForm.el;
        var fullActionName = action.dom.getAttribute("name");
        var parameters = "";
        var ProgressEl = null;

        BaseControl.Mask(FormEl);

        AjaxProcessor.Request(
            Form.baseCtrl.ajaxPage,
            fullActionName,
            parameters,
            { ctrl: Form.baseCtrl, formEl: FormEl, progressEl: ProgressEl, submitEl: this }
        );
    },
    ShiftLeft: function(action) {
        var FormEl = action.basicForm.el;
        RotatingBlockControl.Shift(FormEl, false);
    },
    ShiftRight: function(action) {
        var FormEl = action.basicForm.el;
        RotatingBlockControl.Shift(FormEl, true);
    },
    Shift: function(FormEl, direction /* true - right, false - left */) {
        var currOpacity = 100;
        var effectsDuration = 0.35;

        var slider = FormEl.select(".extSlider", true).elements[0];
        var sliderFadeEls = slider.select(".extSliderFade", true).elements;
        var frame = slider.select("li", true).elements[0];

        if (slider == null || frame == null || sliderFadeEls.length == 0) {
            return;
        }

        for (var i = 0; i < sliderFadeEls.length; i++) {
            sliderFadeEls[i].hide();
        }

        slider.pause(0);
        var shiftCallback = function() {
            for (var i = 0; i < sliderFadeEls.length; i++) {
                sliderFadeEls[i].show();
            }
        }
        slider.shift({ easing: 'easeOut', callback: shiftCallback, duration: effectsDuration, x: (direction) ? slider.getLeft() - frame.getWidth() : slider.getLeft() + frame.getWidth() });
    }
}

