window.addEvent('domready', function() {
    new Resizer();
    new PageOpener();
});

NavFixer = {
    show: function() {
        var nav_container = $('nav-top-container');
        var flash_container = $('nav-flash');

        nav_container.setStyle('z-index', 100);
        flash_container.setStyle('z-index', 10);
    },

    hide: function() {
        var nav_container = $('nav-top-container');
        var flash_container = $('nav-flash');

        nav_container.setStyle('z-index', 10);
        flash_container.setStyle('z-index', 100);
    }
}

/**
 * Resizer Class
 */
Resizer = new Class({
    /**
     * Constructor
     */
    initialize: function() {
        this.anchor_container = $('resizer');
        this.content_container = $('content-main');

        // guard
        if (! this.anchor_container || ! this.content_container) {
            return;
        }

        var label = new Element('span', {
            'text': 'Text '
        });
        label.inject(this.anchor_container);
        this.size_arr = ['xsmall', 'small', 'medium', 'large', 'xlarge', 'xxlarge'];
        this.current_size = 'small';

        var thisObject = this;
        var plus_anchor = new Element('a', {
            'text': '[+]',
            'href': 'javascript: void(null);'
        });
        plus_anchor.inject(this.anchor_container);
        plus_anchor.addEvent('click', function(e) {
            new Event(e).stop();

            thisObject.resize(1);
        });

        var slash = new Element('span', {
            'text': '/'
        });
        slash.inject(this.anchor_container);

        var minus_anchor = new Element('a', {
            'text': '[-]',
            'href': 'javascript: void(null);'
        });
        minus_anchor.inject(this.anchor_container);
        minus_anchor.addEvent('click', function(e) {
            new Event(e).stop();

            thisObject.resize(-1);
        });
    },

    /**
     * param string, "+" or "-"
     * @return void
     */
    resize: function(delta_index) {
        var current_index = this.size_arr.indexOf(this.current_size);
        var index = current_index + delta_index;

        if (index >= 0 && index < this.size_arr.length) {
            this.content_container.removeClass(this.current_size);
            this.current_size = this.size_arr[index];
            this.content_container.addClass(this.current_size);
        }
    }
});

/**
 * PageOpener Class
 */
PageOpener = new Class({
    /**
     * Constructor
     */
    initialize: function() {
        var anchor_arr = [];

        anchor_arr.push($(document.body).getElement('ul#nav-top-right li.english a'));
        anchor_arr.push($(document.body).getElement('ul#nav-sub-left li.inbeeld a'));
        anchor_arr.push($(document.body).getElement('div#introduction p.image a'));
        anchor_arr.push($(document.body).getElement('div#introduction div.button-container a'));

        for (var i = 0; i < anchor_arr.length; i++) {
            // guard
            if (anchor_arr[i] === false) {
                continue;
            }
            // alert("test");
            // alert(anchor_arr[i]);
            this.addEvent(anchor_arr[i]);
        }
    },

    /**
     * @param Element
     * @return void
     */
    addEvent: function(anchor) {
        var thisObject = this;

        // guard
        if (! anchor) {
            return;
        }

        anchor.addEvent('click', function(event) {
            event.stop();
            thisObject.open(anchor);
        });
    },

    /**
     * Popup Function
     *
     * @param Element
     * @return void
     */
    open: function(anchor) {
        // alert('foo');
        var href = anchor.get('href');
        var li = anchor.getParent('li');
        var div = anchor.getParent('div');
        var p = anchor.getParent('p');
        var scroll = 'yes';
        var width = 720;
        var height = 500;

        if (li && li.hasClass('inbeeld')) {
            width = 550;
            height = 400;
            scroll = 'no';
        }

        if (div && div.hasClass('button-container')) {
            width = 550;
            height = 400;
            scroll = 'no';
        }

        if (p && p.hasClass('image')) {
            width = 550;
            height = 400;
            scroll = 'no';
        }

        var mywindow = window.open(href, 'English', 'location=no,status=no,resizable=yes,scrollbars='+ scroll +',width='+ width +',height='+ height);
        mywindow.moveTo(screen.width/2-(width/2),screen.height/2-(height/2));
        // alert();
     }
});