window.addEvent('domready', function() {
    // Menu
    var activeMenu  = 0;
    var nbMenu      = 5;
    var activeDiv  = 0;

    var scroll = new Fx.Scroll('menu_wrapper', {
        wait: false,
        duration: 300,
        transition: Fx.Transitions.Cubic.easeOut
    });

    $$('#menu_text div').each(function(e, i) {
        $('menu_text' + i).addEvents({
            'mouseover': function(event) {
                event = new Event(event).stop();
                scroll.toElement('menu_border' + (nbMenu - i));
            },
            'mouseout': function(event) {
                event = new Event(event).stop();
                scroll.toElement('menu_border' + (nbMenu - activeMenu));
            },
            'click': function(event) {
                activeMenu = i;
                event = new Event(event).stop();
                new Fx.Scroll('content', {
                    wait: false,
                    duration: 500,
                    transition: Fx.Transitions.Cubic.easeOut
                }).toElement($('content_slide').getChildren()[i]);
                mySlide.slideOut();
            }
        });
    });

    // Slideshow "Our clients"
    if ($('home_clients_ss')) {
        var myShow = new Slideshow('home_clients_ss', {
                'zodiac.png': {},
                'dbc.png': {},
                'cowinglobal.png': {}
            }, {
                width: 120,
                height: 198,
                hu: 'public/images/clients/',
                thumbnails: false,
                controller: false
            }
        );
    }

    // Slide "Our products"
    if ($('home_products')) {
        var mySlide = new Fx.Slide('home_products', {transition: Fx.Transitions.Bounce.easeOut}).hide();
        $('content0').addEvent('mouseover', function(e){
            e = new Event(e);
            mySlide.slideIn();
            e.stop();
        });
    }

    // Create variables (in this case two arrays) representing our bubbles and pages
    if ($('bubbleWrap')) {
        var myPages = $$('.page');
        var myBubbles = $$('.bubble');

        // Set bubbles opacity to zero so they're hidden initially
        // and toggle visibility on for their container	back on
        myBubbles.setStyle('opacity', 0);
        $('bubbleWrap').setStyle('visibility','visible');

        // Add our events to the pages
        myPages.each(function(el, i) {
                /* Here we change the default 'link' property to 'cancel' for our morph effects, which
                   ensures effects are interrupted when the mouse is leaving and entering
                   to immediately begin the morph effect being called */
                el.set('morph', {link : 'cancel'});

                el.addEvents({
                        'mouseenter': function() {
                                myBubbles[i].morph({
                                        'opacity' : 1,
                                        'margin-top' : '-15px'
                                });
                        },
                        'mouseleave' : function() {
                                myBubbles[i].morph({
                                        'opacity' : 0,
                                        'margin-top' : 0
                                });
                        }
                });
        });
    }
    
    // Services
//    $$('#service_list li').each(function(item, index) {
//        var e = $('service_details').getChildren()[index];
//        $(item).addEvents({
//            'click': function(event) {
//                event = new Event(event).stop();
//                if (activeDiv != 0) {
//                    activeDiv.set('tween', {}).tween('height', '0px');
//                }
//                e.set('tween', {
//                    duration: 500,
//                    transition: Fx.Transitions.Quad.easeInOut // This could have been also 'bounce:out'
//                }).tween('height', '245px');
//                activeDiv = e;
//            },
//            'mouseleave': function() {
//                $(item).style.color = "#FFF";
//            },
//            'mouseover': function() {
//                $(item).style.color = "#F9AE1D";
//            }
//        });
//    });

//    var ServicesSlide = new Fx.Slide('home_products', {transition: Fx.Transitions.Bounce.easeOut}).hide();
//    $('content0').addEvent('mouseover', function(e){
//        e = new Event(e);
//        mySlide.slideIn();
//        e.stop();
//    });
//
//    function slideIn(e) {
//        var slide = new Fx.Slide(e, {transition: Fx.Transitions.Bounce.easeOut}).hide();
//    }

//    $$('.service_details_slide').each(function(item, index) {
//        item.setStyle('opacity', '0');
//    });

    $$('#service_list li').each(function(item, index) {
        var e = $('service_details').getChildren()[index];
        $(item).addEvents({
            'mouseover': function(event) {
                event = new Event(event).stop();
//                if (activeDiv != 0) {
//                    activeDiv.set('tween', {
//                        duration: 500,
//                        transition: Fx.Transitions.Quad.easeInOut // This could have been also 'bounce:out'
//                    }).tween('opacity', '0');
//                }
                e.set('tween', {
                    duration: 500,
                    transition: Fx.Transitions.Quad.easeInOut // This could have been also 'bounce:out'
                }).tween('opacity', '1');
//                activeDiv = e;
            },
            'mouseleave': function() {
                e.set('tween', {
                    duration: 500,
                    transition: Fx.Transitions.Quad.easeInOut // This could have been also 'bounce:out'
                }).tween('opacity', '0');
            }
        });
    });

    // Contact
    $$('.form').each(function(item, index) {
        $(item).addEvents({
            'focus': function(event) {
                this.set('tween', {
                    duration: 500,
                    transition: Fx.Transitions.Quad.easeInOut // This could have been also 'bounce:out'
                }).tween('backgroundColor', '#FFFFFF');
            },
            'blur': function(event) {
                this.set('tween', {
                    duration: 500,
                    transition: Fx.Transitions.Quad.easeInOut // This could have been also 'bounce:out'
                }).tween('backgroundColor', '#d7e1ec');
            }
        });
    });

    $$('.msg').each(function(item, index) {
        $(item).style.visibility = 'hidden';
    });

    SqueezeBox.assign($$('a[rel=squeezebox]'));

    if (gotoMenu > 0) {
        scroll.toElement('menu_border' + gotoMenu);
                new Fx.Scroll('content', {
                    wait: false,
                    duration: 500,
                    transition: Fx.Transitions.Cubic.easeOut
                }).toElement($('content_slide').getChildren()[nbMenu - gotoMenu]);
    }
    else scroll.toElement('menu_border' + nbMenu);
});

function sendForm()
{
    SqueezeBox.initialize({
        size: {x: 250, y: 50}
    });
    if ($('contact-name').value == '') {
        SqueezeBox.open('forms/email.php?msg=name');
        return false;
    } else if ($('contact-email').value == '') {
        SqueezeBox.open('forms/email.php?msg=email');
        return false;
    } else if ($('contact-subject').value == '') {
        SqueezeBox.open('forms/email.php?msg=subject');
        return false;
    } else if ($('contact-message').value == '') {
        SqueezeBox.open('forms/email.php?msg=message');
        return false;
    }

    var myRequest = new Request({
        url: 'forms/email.php',
        method: 'post',
        onSuccess: function(responseText, responseXML) {
            if (responseText == 'yes') {
                $$('.form').each(function(item, index) {
                    $(item).value = '';
                });
                SqueezeBox.open('forms/email.php?msg=confirm');
            } else {
                SqueezeBox.open('forms/email.php?msg=captcha');
            }
        }
    });
    myRequest.send(
        'contact-name=' + $('contact-name').value +
        '&contact-email=' + $('contact-email').value +
        '&contact-subject=' + $('contact-subject').value +
        '&contact-message=' + $('contact-message').value +
        '&contact-captcha=' + $('contact-captcha').value
    );

    return false;
}

function sendSupport()
{
    SqueezeBox.initialize({
        size: {x: 250, y: 50}
    });
    if ($('email').value == '') {
        SqueezeBox.open('../forms/support.php?msg=email');
        return false;
    } else if ($('tracker').value == '') {
        SqueezeBox.open('../forms/support.php?msg=tracker');
        return false;
    } else if ($('subject').value == '') {
        SqueezeBox.open('../forms/support.php?msg=subject');
        return false;
    } else if ($('message').value == '') {
        SqueezeBox.open('../forms/support.php?msg=message');
        return false;
    }

    var myRequest = new Request({
        url: '../forms/support.php',
        method: 'post',
        onSuccess: function(responseText, responseXML) {
            if (responseText == 'yes') {
                $$('.form').each(function(item, index) {
                    $(item).value = '';
                });
                SqueezeBox.open('../forms/support.php?msg=confirm');
            } else {
                SqueezeBox.open('../forms/support.php?msg=captcha');
            }
        }
    });
    myRequest.send(
        'email=' + $('email').value +
        '&project=' + escape(project) +
        '&tracker=' + $('tracker').value +
        '&subject=' + $('subject').value +
        '&message=' + $('message').value +
        '&contact-captcha=' + $('contact-captcha').value
    );

    return false;
}