﻿function moveFixBG() {
    var bk = document.getElementById("backgroundImage");
    bk.width = self.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
    bk.height = self.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
    bk.style.top = document.body.scrollTop + "px";
    bk.style.left = document.body.scrollLeft + "px";
    bk.style.width = document.documentElement ? document.documentElement.width : document.body.clientWidth + "px";
    bk.style.height = document.documentElement ? document.documentElement.height : document.body.clientHeight + "px";
}
//setInterval("moveFixBG()", 10);


window.addEvents(
{ 'domready': function () {
    var classBody = $$('#main-nav-wrap').getProperty('class');

    $$('#main-nav li').addEvents(
        { mouseenter:
            function () {
                $('main-nav').addClass('hover');

                var bodyClass = $$('body').getProperty('class');
                if (this.getProperty('class') && this.getProperty('class') != 'first') {
                    if (this.getProperty('class') != "") {
                        $$('#main-nav-wrap').setProperty('class', this.getProperty('class'));
                    }
                    this.addClass('sfhover');
                    if (bodyClass.toString().indexOf('tall') >= 0) {
                        $$('#main-nav-wrap').addClass('tall');
                    }
                    if (bodyClass.toString().indexOf('wide') >= 0) {
                        $$('#main-nav-wrap').addClass('wide');
                    }
                }
                else if (this.getParent('li').getProperty('class')) {
                    $$('#main-nav-wrap').setProperty('class', this.getParent('li').getProperty('class'));
                    this.getParent('li').addClass('sfhover');
                    if (bodyClass.toString().indexOf('tall') >= 0) {
                        $$('#main-nav-wrap').addClass('tall');
                    }
                    if (bodyClass.toString().indexOf('wide') >= 0) {
                        $$('#main-nav-wrap').addClass('wide');
                    }
                }
            }
        }
    );

    $$('#main-nav li').addEvents(
        { mouseleave:
            function () {
                $('main-nav').removeClass('hover');

                var bodyClass = $$('#main-nav-wrap').getProperty('class');
                if (this.getProperty('class') && this.getProperty('class') != 'first') {
                    $$('#main-nav-wrap').setProperty('class', classBody);
                    this.removeClass('sfhover');
                    if (bodyClass.toString().indexOf('tall') >= 0) {
                        $$('#main-nav-wrap').addClass('tall');
                    }
                    if (bodyClass.toString().indexOf('wide') >= 0) {
                        $$('#main-nav-wrap').addClass('wide');
                    }
                }
                /*else if (this.getParent('li').getProperty('class')) {
                $$('body').setProperty('class', classBody);
                this.getParent('li').removeClass('sfhover');
                }*/
            }
        }
    );

    $('hiTabMaster').style.display = "";

    // Main Slide Tech
    if ($$(".slide-toggle") != "") {
        aryMasterSlides = new Array();
        //  arySlides = $$(".slide-ini-close")
        var aryToggles = $$(".slide-toggle");
        aryToggles.each(function (item, index) {
            tarSliderID = item.get('rel');
            vertSlide = new Fx.Slide($(tarSliderID), { mode: 'horizontal' });
            aryMasterSlides[tarSliderID] = vertSlide
            //  vertSlide.hide();
            item.addEvent('click', function (e) {
                e.stop();
                vertSlide.toggle();
                //alert(vertSlide.open);
            });
        });
        vertSlide.slideOut();
    }

    $$('a.skype-button').each(function (el) {
        var img = el, running = false;
        var fx2 = new Fx.Morph(img, { duration: 100, link: 'chain', onChainComplete: function () { running = false; } });
        var fx1 = new Fx.Morph(img, { duration: 200, link: 'chain', onComplete: function () {
            fx2.start({ 'top': '-7px' }).start({ 'top': '0' }).start({ 'top': '-6px' }).start({ 'top': '0' });
        }
        });
        var fx3 = new Fx.Morph(img, { duration: 200, link: 'chain', onComplete: function () {
            fx2.start({ 'top': '0px' }).start({ 'top': '0px' });
        }
        });
        el.addEvent('mouseenter', function () {
            if (!running) {
                fx1.start({ 'top': '-18px' }).start({ 'top': '-4px' });
                running = true;
            }
        });
        el.addEvent('mouseleave', function () {
            fx3.start({ 'top': '0px' }).start({ 'top': '0px' });
            running = false;
        });
    });

}
});


// Start Scaleable Baground
(function ($) {
    var flexiBackground = function () {
        /** CONFIGURATION: Define the size of our background image */
        var bgImageSize = {
            width: 1300,
            height: 967
        };
        /** Declare and define variables */
        var $window,
			  $body,
			  imageID = "expando",
			  tallClass = 'tall',
			  wideClass = 'wide',
			  $bgImage, $wrapper, img, url, imgAR;

        /** Are we dealing with ie6? */

        var ie6 = ($.browser.msie && parseInt($.browser.version, 10) <= 6);

        /** Set up the action that happens on resize */

        var resizeAction = function () {
            var win = {
                height: $window.height(),
                width: $window.width()
            };

            // The current aspect ratio of the window
            var winAR = win.width / win.height;

            // Determine if we need to show the image and whether it needs to stretch tall or wide

            if (win.width < bgImageSize.width && win.height < bgImageSize.height) {
                $body
				  	.removeClass(wideClass)
				  	.removeClass(tallClass);
            } else if ((win.w < bgImageSize.width && win.height >= bgImageSize.height) || (winAR < imgAR)) {
                $body
				  	.removeClass(wideClass)
				  	.addClass(tallClass);

                // Center the image

                $bgImage.css('left', Math.min(((win.width - bgImageSize.width) / 2), 0));
            } else if (win.width >= bgImageSize.width) {
                $body
				  	.addClass(wideClass)
				  	.removeClass(tallClass);
                $bgImage.css('left', 0);
            }

            // Need to fix the height of the wrapper for IE6

            if (ie6) {
                $wrapper.css('height', win.height);
            }
        };
        return {

            /* Sets up the basic functionality */

            initialize: function () {

                // No need for any of this if the screen isn't bigger than the background image
                if (screen.availWidth <= bgImageSize.width || screen.availHeight <= bgImageSize.height) {
                    return;
                }

                // Grab elements we'll reference throughout
                $window = $(window);
                $body = $('body');

                // Parse out the URL of the background image and drop out if we don't have one

                url = $body.css('background-image').replace(/^url\(("|')?|("|')?\);?$/g, '') || false;
                if (!url || url === "none" || url === "") {
                    return;
                }

                // Get the aspect ratio of the image

                imgAR = bgImageSize.width / bgImageSize.height;

                // Create a new image element
                $bgImage = $('<img />')
				  .attr('src', url)
				  .attr('id', imageID);

                // Create a wrapper and append the image to it.
                // The wrapper ensures we don't get scrollbars.

                $wrapper = $('<div></div>')
				  .css({
				      'overflow': 'hidden',
				      'width': '100%',
				      'height': '100%',
				      'z-index': '-1'
				  })
				 .append($bgImage)
				 .appendTo($body);

                // IE6 Doesn't do position: fixed, so let's fake it out.
                // We'll apply a class which gets used in the CSS to emulate position: fixed
                // Otherwise, we'll simply used position: fixed.

                if (ie6) {
                    $wrapper.addClass('ie6fixed');
                } else {
                    $wrapper.css({
                        'position': 'fixed',
                        'top': 0,
                        'left': 0
                    });
                }

                // Set up a resize listener to add/remove classes from the body

                $window.bind('resize', resizeAction);

                // Set it up by triggering a resize

                $window.trigger('resize');
            }
        };
    } ();

    $(document).ready(flexiBackground.initialize);
})(jQuery);
// End Scaleable Background
