var au = au || {};
au.Tabs = new Class({
    Implements: [Options,Events],
    options: {activeIndex: 0, Acolor: '#000' , Icolor: '#fff' , activeColor: 'none', inactiveColor: 'url(/imglib/default/r-pas.gif) top right no-repeat', inactiveColor2: 'url(/imglib/default/r-pasb.gif) top right no-repeat'},
    initialize: function(containerId, tabClass, tabContentClass, closeBtnClass, options) {
        this.setOptions(options);
        this.containerId = $(containerId);
        this.closeBtnClass = $(containerId).getElements('div' + closeBtnClass);
        this.tabContentClass = tabContentClass; 
        this.tabs = $(containerId).getElements('div' + tabClass);
        this.tabContents = $(containerId).getElements('div' + tabContentClass);
        this.activeTabIndex = this.options.activeIndex;

        return this;
    },
    attach: function() {
        this.tabs.setStyle('background', this.options.inactiveColor);
		if(this.tabContentClass == '.registrationPopup')this.tabs.setStyle('background', this.options.inactiveColor2);
		this.tabs.setStyle('color', this.options.Icolor);
        this.tabs[this.options.activeIndex].setStyle('background', this.options.activeColor);
		this.tabs[this.options.activeIndex].setStyle('color', this.options.Acolor);
        this.tabContents.setStyle('display', 'none');
        this.tabContents[this.options.activeIndex].setStyle('display', 'block');
        this.loadContent(this.tabContents[this.options.activeIndex]);
        this.tabContents[this.options.activeIndex].loaded = true;

        this.tabs.each(function(el, i) {
            el.addEvent('click', function() {
                this.tabs.setStyle('background', this.options.inactiveColor);
				if(this.tabContentClass == '.registrationPopup')this.tabs.setStyle('background', this.options.inactiveColor2);
				this.tabs.setStyle('color', this.options.Icolor);
                this.tabContents.setStyle('display', 'none');
                this.tabs[i].setStyle('background', this.options.activeColor);
				this.tabs[i].setStyle('color', this.options.Acolor);
                this.tabContents[i].setStyle('display', 'block');
                if (!this.tabContents[i].loaded) {
                    this.loadContent(this.tabContents[i]);
                    this.tabContents[i].loaded = true;
                }
                this.activeTabIndex = i;
                this.fireEvent("onActivate", i);
            }.bind(this));
        }.bind(this));
    },
    loadContent: function(tabContent) {
        var contentUrl = tabContent.get('content-url');
        
        if (contentUrl) {
            tabContent.innerHTML = "<center><img src='/_img/loading.gif'></center>";
            var request = new Request({url: contentUrl, method: 'get', headers:{'SpecialAjaxRequest':'true'},
                onComplete: function(response) {
                    tabContent.innerHTML = response;
                    if($('setEmail')){
                    if($('field72')) $('field72').set('value',$('setEmail').value);
                    if($('field120')) $('field120').set('value',$('setEmail').value);}
                    $$('.errmsg').addEvent('mouseover', function(ev){
                        var div = this.getElement('div');
                            if (div) {
                            var txt = div.get('html');
                            $('newAlert').set('html', txt);
                            var mouseX = ev.page.x;
                            var mouseY = ev.page.y;
                            $('newAlert').setStyle('display','block');
                            $('newAlert').setStyles({'left':mouseX,'top':mouseY});

                            

                        }
                    });
                    $$('.errmsg').addEvent('mouseleave', function(){
                        $('newAlert').setStyle('display','none');
                    });
                     $$('.errmsg-pass').addEvent('mouseover', function(ev){
                        var div = this.getElement('div');
                            if (div) {
                            var txt = div.get('html');
                            $('newAlert').set('html', txt);
                            var mouseX = ev.page.x;
                            var mouseY = ev.page.y;
                            $('newAlert').setStyle('display','block');
                            $('newAlert').setStyles({'left':mouseX,'top':mouseY});
                        }
                    });
                    $$('.errmsg-pass').addEvent('mouseleave', function(){
                        $('newAlert').setStyle('display','none');
                    });
                }
            });
            request.send();
        }
    }
});

au.Popup = new Class({
    Implements: [Options,Events],
    options: {overlayOpacity: 0.8},
    initialize: function(containerId, actBtnClass, closeBtnClass, options) {
        this.setOptions(options);
        this.containerId = $(containerId);
        this.actBtnClass = $$(actBtnClass);
        this.closeBtnClass = $(containerId).getElements('div' + closeBtnClass);
        this.overlay = new Element('div', {'class': 'overlay'});
        
        this.overlay.injectTop(document.body);
        //if(Browser.Engine.trident) var myIFrame = new IFrame({'class': 'nsframe'});
        //if(Browser.Engine.trident) myIFrame.inject('overlay');

        return this;
    },
    attach: function() {
        this.actBtnClass.addEvent('click', function() {
            this.overlay.setStyle('display','block');
            this.containerId.setStyle('display', 'block');
	    
	    var a = getScrollTop();
            this.containerId.setStyle('marginTop', a + 'px');
			this.containerId.setStyle('max-height', document.getElementById('holder').offsetHeight + 'px');
			this.containerId.setStyle('overflow', 'auto');

            this.overlay.set('morph', {duration: 'short', transition: 'sine:in'});
            this.overlay.morph({'opacity': this.options.overlayOpacity});
            this.containerId.set('morph', {duration: 'short', transition: 'sine:in'});
            this.containerId.morph({'opacity': 1});
        }.bind(this));
        this.overlay.addEvent('click', function() {
            this.close();
        }.bind(this));
        this.closeBtnClass.addEvent('click', function() {
            this.close();
        }.bind(this));
        document.addEvent('keydown', function(event) {
            if (event.key=='esc') {
                this.close();
            }
        }.bind(this));
    },
    close: function () {
        this.onclose();
        var overlay = this.overlay;
        this.overlay.set('morph', {duration: 'short', transition: 'sine:out',
            onComplete: function () {
                overlay.setStyle('display', 'none');
            }
        });
        var containerId = this.containerId;
        this.containerId.set('morph', {duration: 'short', transition: 'sine:out',
            onComplete: function () {
                containerId.setStyle('display', 'none');
            }
        });
        this.overlay.morph({'opacity': 0});
        this.containerId.morph({'opacity': 0});
    },
    onclose: function() {}
});
window.addEvent('domready',function(){
        $$('.errmsg').addEvent('mouseover', function(ev){
                        var div = this.getElement('div');
                            if (div) {
                            var txt = div.get('html');
                            $('newAlert').set('html', txt);
                            var mouseX = ev.page.x;
                            var mouseY = ev.page.y;
                            $('newAlert').setStyle('display','block');
                            $('newAlert').setStyles({'left':mouseX,'top':mouseY});
                        }
                    });
                    $$('.errmsg').addEvent('mouseleave', function(){
                        $('newAlert').setStyle('display','none');
                    });
                     $$('.errmsg-pass').addEvent('mouseover', function(ev){
                        var div = this.getElement('div');
                            if (div) {
                            var txt = div.get('html');
                            $('newAlert').set('html', txt);
                            var mouseX = ev.page.x;
                            var mouseY = ev.page.y;
                            $('newAlert').setStyle('display','block');
                            $('newAlert').setStyles({'left':mouseX,'top':mouseY});
                        }
                    });
                    $$('.errmsg-pass').addEvent('mouseleave', function(){
                        $('newAlert').setStyle('display','none');
                    });
});

