﻿Sys.require([Pacem.components.tween, Pacem.components.rollOver, Sys.components.dataView]);
var tween, tweenColor, dataView;
var span = 166; var total = 996; var forced = false;
var sections = [
            { Name: "strutture", Tag: Forme.Sections.structures },
            { Name: "impianti", Tag: Forme.Sections.services },
            { Name: "idraulica", Tag: Forme.Sections.hydraulics },
            { Name: "geotecnica", Tag: Forme.Sections.geotechnics },
            { Name: "infrastrutture", Tag: Forme.Sections.roads },
            { Name: "sicurezza", Tag: Forme.Sections.safety }
        ];
            Sys.onReady(function() {
                dataView = Sys.create.dataView('#dv', { autoFetch: true, data: sections });
                with (Sys.get("#contact")) {
                    innerHTML = "info@formeingegneria.it";
                    href = String.format('mailto:{0}', innerHTML);
                }
                Sys.get('#underliner').style.backgroundColor = Forme.SectionColors[sections[0].Tag];
                Pacem.create.rollOver('#pacemLogo', { rollOverImage: 'images/pacem.gif' });
                tween = Pacem.create.tween('#cursorWrapper', { isCssProperty: true, finish: span, duration: 1.0, unit: Pacem.UI.Unit.pixels, property: 'marginLeft', easingFunc: Pacem.UI.Easing.Sine.easeInOut, delay: 3.0, motionFinished: tween_finished });
                tweenColor = Pacem.create.tween('#underliner', { isCssProperty: true, type: Pacem.UI.TweenType.color, start: Forme.SectionColors[sections[0].Tag], finish: Forme.SectionColors[sections[1].Tag], duration: 1.0, property: 'backgroundColor', delay: 3.0 });
            });
function tween_finished(sender, args) {
    if (!forced) {
        var actual = tween.get_finish();
        var index = (actual / span);
        var tag = sections[index].Tag;
        focus(tag);
        tween.set_start(actual);
        tweenColor.set_start(tweenColor.get_finish());
        tween.set_delay(3.0);
        tweenColor.set_delay(3.0);
        var target = actual + span; if (target >= total) target = 0.0;
        tween.set_finish(target);
        if (index + 1 >= sections.length) index = -1;
        tweenColor.set_finish(Forme.SectionColors[sections[index+1].Tag]);
        tween.play();
        tweenColor.play();
    }
}
function stopTween() {
    if (tween) {
        forced = true;
        tween.stop();
        tweenColor.stop();
    }
}
function tweenTo(tag) {
    for (var i = 0; i < sections.length; i++) {
        if (sections[i].Tag == tag) {
            var target = span * i;
            forced = false;
            tween.set_finish(span * i);
            tweenColor.set_finish(Forme.SectionColors[tag]);
            tweenColor.set_delay(0.0);
            tween.set_delay(0.0);
            tween.play();
            tweenColor.play();
            break;
        }
    }
    return false;
}
function focus(tag) {
    if (Sys.get('#slPlugin').content && Sys.get('#slPlugin').content["slRoot"])
        Sys.get('#slPlugin').content["slRoot"].focusFace(tag);
    return false;
}
