﻿function resetContentHeight() {
    var newSize = $('form').getSize().y;
    if ($('main').getScrollSize().y > newSize) {
        newSize = $('main').getScrollSize().y;
    }
    $('content').setStyle('height', newSize);
    setTimeout("resetContentHeight()", 100);
}

window.addEvent('domready', function() {
    if (Browser.Engine.trident) {
        $('form').setStyle('top', 10);
    }
    resetContentHeight();

    if ($$('.step').length > 0) {
        var allSteps = $$('.step');
        $('steps').setStyle('width', (allSteps.length * 200));
        $('steps').set('tween', { duration: 500, transition: Fx.Transitions.Sine.easeOut });

        allSteps.each(function(thisStep, index) {
            thisStep.setStyle('float', 'left');
            thisStep.setStyle('padding-bottom', 15);
            if (index != (allSteps.length - 1)) {
                (new Element('br')).inject(thisStep);

                if (index != 0) {
                    var btnBack = new Element('a', {
                        'class': 'button',
                        'text': 'Back',
                        'href': '#'
                    });
                    btnBack.addEvent('click', function(e) {
                        e.stop();
                        var myLeft = $('steps').getStyle('margin-left').toInt();
                        $('steps').tween('margin-left', (myLeft + 200));
                    });
                    btnBack.inject(thisStep);
                }
                var btnContinue = new Element('a', {
                    'class': 'button',
                    'text': 'Continue',
                    'href': '#'
                });
                btnContinue.addEvent('click', function(e) {
                    e.stop();
                    var myLeft = $('steps').getStyle('margin-left').toInt();
                    $('steps').tween('margin-left', (myLeft - 200));
                });
                btnContinue.inject(thisStep);
                (new Element('br')).inject(thisStep);
            }
            else {
                var btnBack = new Element('a', {
                    'class': 'button',
                    'text': 'Back',
                    'href': '#'
                });
                btnBack.addEvent('click', function(e) {
                    e.stop();
                    var myLeft = $('steps').getStyle('margin-left').toInt();
                    $('steps').tween('margin-left', (myLeft + 200));
                });
                btnBack.inject(thisStep.getElement('a.button'), 'before');
                (new Element('br')).inject(thisStep);
            }
        });
    }

});

YAHOO.namespace('YAHOO.Hack').FixIESelectWidth = new function() {
    var oSelf = this;
    var YUE = YAHOO.util.Event;
    var YUD = YAHOO.util.Dom;
    var oTimer = {};
    var oAnim = {};
    var nTimerId = 0;
    var dLastFocalItem;
    var ie7 = !!(document.uniqueID && typeof (XMLHttpRequest) != 'undefined')
    function init(el) {


        el = el || this;



        if (el.tagName.toLowerCase() != 'select') {
            throw Error('element [' + el.id + '] is not <select>');
            return;
        };

        if (!YUD.hasClass(el.parentNode, 'selectbox')) {
            return;
        };

        var oRs = el.runtimeStyle;
        var oPRs = el.parentNode.runtimeStyle;


        oPRs.fonSize = 0;


        var sDisplay = el.parentNode.currentStyle.display.toLowerCase();
        if (sDisplay == '' || sDisplay == 'inline' || sDisplay == 'inline-block') {
            oPRs.display = 'inline-block';
            oPRs.width = el.offsetWidth + 'px';
            oPRs.height = el.offsetHeight + 'px';
            oPRs.position = 'relative';
            oRs.position = 'absolute';
            oRs.top = 0;
            oRs.right = 0;
        };



        el._timerId = (nTimerId += 1);

        el.selectedIndex = Math.max(0, el.selectedIndex);

        oTimer['_' + el._timerId] = setTimeout('void(0)', 0);
        oAnim['A' + el._timerId] = setTimeout('void(0)', 0);

        YUE.on(el, 'mouseover', onMouseOver);
        YUE.on(document, 'mousedown', onMouseDown, el, true);
        YUE.on(el, 'change', collapseSelect, el, true);
    }


    function collapseSelect(e) {
        status++;
        this.runtimeStyle.width = '';
    }

    function onMouseOver(e) {

        var el = this;
        if (dLastFocalItem && dLastFocalItem != el) {
            onMouseDown.call(dLastFocalItem, e);
        };

        var sTimerId = '_' + el._timerId;
        var sAniId = 'A' + el._timerId;
        clearTimeout(oTimer[sTimerId]);



        var onTween = function() {
            clearTimeout(oAnim[sAniId]);
            if (Math.abs(nEndWidth - nStartWidth) > 3) {
                nStartWidth += (nEndWidth - nStartWidth) / 3;
                el.runtimeStyle.width = nStartWidth + 'px';
                oAnim[sAniId] = setTimeout(onTween, 0);
            }
            else {
                el.runtimeStyle.width = 'auto';
                el.selectedIndex = Math.max(0, el.selectedIndex);
            }
        }

        var nStartWidth = el.offsetWidth;
        el.runtimeStyle.width = 'auto';
        var nEndWidth = el.offsetWidth;


        clearTimeout(oAnim[sAniId]);
        onTween();

        el.focus();
        dLastFocalItem = el;
    }

    function onMouseDown(e, el) {
        el = (e.srcElement || e.target);



        if (el == this && e.type != 'mouseover') {
            status++;
            YUE.stopEvent(e);
            return false;
        };


        el = this;

        clearTimeout(oAnim['A' + el._timerId]);


        var sTimerId = '_' + el._timerId;
        var doItLater = function() {
            el.runtimeStyle.width = '';
        };
        if (e.type == 'mouseover')
        { doItLater(); }
        else {
            oTimer[sTimerId] = setTimeout(doItLater, 100);
        }
    }



    function constructor(sId) {
        sId = [sId, ''].join('');
        //Only fix for IE55 ~ IE7

        if (document.uniqueID && window.createPopup) {
            YUE.onAvailable(sId, init);
            return true;

        } else { return false };
    };

    return constructor;
}