var myScrollEffect;
var newWidth;

window.addEvent('domready', function () {

    //external links
    $$('a[rel=external]').set('target', '_blank');

    //ie6/ie7 stuffs
    if (Browser.ie6 || Browser.ie7) {
        if ($$('.content')[0]) {
            var primaryimage = $$('h1 + img')[0];
            if (primaryimage) {
                primaryimage.addClass('primary-image');
            }
        }
        if ($$('.home')[0]) {
            var footer = $$('.footer .container')[0];
            var attractionsClose = new Element('span', {
                'id': 'wave'
            }).inject(footer, 'top');
        }
        if ($$('.home')[0]) {
            var guestbookLink = $$('.guestbook a')[0];
            var attractionsClose = new Element('span', {
                'id': 'picture'
            }).inject(guestbookLink, 'top');
        }
    }

    //home news
    if ($$('.latestNews')[0]) {

        $$('.latestNews')[0].setStyles({
            'display': 'block',
            'cursor': 'pointer'
        });

        //get width of text wrap (one line = 14px)
        var newsWrap = $$('.newsWrap')[0];
        newsWrap.setStyle('margin-left', 418);
        do {
            newsWrap.setStyle('width', newsWrap.getStyle('width').toInt() + 10);
        } while (newsWrap.getStyle('height').toInt() > 20);

        newWidth = newsWrap.getStyle('width').toInt();

        //add click event for link
        $$('.latestNews')[0].addEvent('click', function (event) {
            new Event(event).stop();
            window.location = $$('.latestNews div a')[0];
        });

        //add mouseover event for link and PAUSE
        $$('.latestNews')[0].addEvent('mouseover', function (event) {
            new Event(event).stop();
            myScrollEffect.pause();
        });

        //add mouseout event for link and RESUME
        $$('.latestNews')[0].addEvent('mouseout', function (event) {
            new Event(event).stop();
            myScrollEffect.resume();
        });

        //animate text
        myScrollEffect = new Fx.Morph(newsWrap, { duration: newsWrap.get('text').trim().length * 250, transition: 'linear', onComplete: startAnim });
        startAnim();
    }

    var attractionsHTML = $('attractions').get('html');
    $('attractions').dispose();
    var attractionsTab = $$('.our-attractions a')[0];
    attractionsTab.set('href', '#')
    //add HTML for attractions tab
    var attractDiv = new Element('div', {
        'id': 'attractionsSlide',
        'html': attractionsHTML
    }).inject($$('ul.accessmenu')[0], 'after').addClass('up')

    var attractionsClose = new Element('a', {
        'id': 'close',
        'href': '#',
        'text': 'Close this'
    }).inject(attractDiv, 'top')

    var attractionsSlide = $('attractionsSlide');

    var slideEffect = new Fx.Morph(attractionsSlide, { duration: 500, transition: Fx.Transitions.Sine.easeOut });

    attractionsTab.addEvent('click', function (event) {
        slideEffect.start('.down');
    });

    attractionsClose.addEvent('click', function (event) {
        slideEffect.start('.up');
    });

    //multibox
    var box = new multiBox('mb', {
        overlay: new overlay()
    });

    //Site Show
    setTimeout('$(document.body).setStyle("visibility","visible");', 0);

    if ($('slider')) {
        // VARIABLES 
        var bannerWrapper = $('slider');
        var panelWrapper = $('slider-panels');
        var autoMethod = true;
        var initialPanelsArray = panelWrapper.getChildren('div.main-panel');

        if (initialPanelsArray.length > 1) {
            var slidesNav = new Element('div', {
                'id': 'slides-nav'
            }).inject(bannerWrapper);


            // FADE FUNCTION 
            function fadeOut() {
                if (autoMethod == true) {
                    var currentPanel = $('current');
                    var nextPanel = currentPanel.getNext('div.main-panel');
                    if (nextPanel) {

                    } else {
                        nextPanel = initialPanelsArray[0]
                    };
                    var nextPosition = String(nextPanel.get('class'));
                    var positionString = nextPosition.replace('main-panel ', '');
                    var panelFadeIn = new Fx.Morph(nextPanel, { duration: '2000' });
                    panelFadeIn.start({
                        'opacity': '1'
                    }).addEvent('complete', function () {
                        var navArray = $$('#slides-nav a');
                        navArray.each(function (el) {
                            if (el.hasClass(positionString)) {
                                el.addClass('active');
                            } else {
                                el.removeClass('active');
                            }
                        });
                        currentPanel.set('id', '');
                        nextPanel.set('id', 'current');
                        //currentTitle.fade('out');
                        currentPanel.tween('opacity', '0');
                        //nextTitle.fade('in');
                        repeaterSlide();
                    });
                } else {
                    autoMethod = true;
                    repeaterSlide.delay(5000);
                };
            };

            // INITIAL BANNER SET UP 
            initialPanelsArray.each(function (el, index) {
                var arrayPosition = 'panel' + index;
                el.addClass(arrayPosition);
                el.fade('hide');
                var panelFadeOut = new Fx.Morph(el, { duration: '500' });
                var bannerNav = new Element('a', {
                    'href': '#'
                });
                bannerNav.addClass(arrayPosition);
                bannerNav.inject(slidesNav);
                var navArray = $$('#slides-nav a');
                navArray.each(function (el, index) {
                    var navClass = el.get('class');
                    var classString = navClass.replace(' ', '');
                    var linkedPanelString = 'div.' + classString;
                    var linkedPanel = $$(linkedPanelString);
                    var linkedPanel = linkedPanel[0];
                    var otherPanels = linkedPanel.getSiblings('div.main-panel');
                    var otherNav = el.getSiblings('a')
                    el.addEvent(
		 				'click', function (e) {
		 				    e.stop();
		 				    autoMethod = false;
		 				    el.addClass('active');
		 				    linkedPanel.set('id', 'current')
		 				    otherNav.removeClass('active');
		 				    otherPanels.each(function (item) {
		 				        item.tween('opacity', '0');
		 				        item.set('id', '')
		 				    });
		 				    linkedPanel.tween('opacity', '1');
		 				}
	 				);
                });
            });

            var firstPanel = initialPanelsArray[0];
            var firstNav = $$('#slides-nav a')[0];
            firstPanel.fade('in').set('id', 'current');
            firstNav.addClass('active');

            // REPEAT THE FADE FUNCTION 
            function repeaterSlide() {
                if (autoMethod == true) {
                    fadeOut.delay(5000);
                };
            };

            // FIRST CALL OF THE FADE 
            fadeOut.delay(4000);
        };
    };

});


function startAnim(){
	myScrollEffect.start({
	    'margin-left': [418, -newWidth]
	});	
}
