﻿function resetContentHeight() {
    var newSize = jQuery('#form').height();
    if (jQuery('#main').height() > newSize) {
        newSize = jQuery('#main').height();
    }
    jQuery('#content').css('height', newSize);
    setTimeout("resetContentHeight()", 100);
}

jQuery(document).ready(function() {
    if (jQuery.browser.msie) {
        jQuery('#form').css('top', 10);
    }
    resetContentHeight();

    if (jQuery('.step').length > 0) {
        var allSteps = jQuery('.step');
        jQuery('steps').css('width', (allSteps.length * 200));

        allSteps.each(function(index, thisStep) {
            jQuery(thisStep).css('float', 'left');
            jQuery(thisStep).css('padding-bottom', 15);
            if (index != (allSteps.length - 1)) {
                jQuery(thisStep).append('<br>');

                if (index != 0) {
                    var btnBack = jQuery('<a href="#" class="button">Back</a>');
                    btnBack.click(function(e) {
                        e.preventDefault();
                        var myLeft = parseInt(jQuery('#steps').css('margin-left'));
                        jQuery('#steps').animate({ 'margin-left': (myLeft + 200) });
                    });
                    btnBack.appendTo(jQuery(thisStep));
                }
                var btnContinue = jQuery('<a href="#" class="button">Continue</a>');
                btnContinue.click(function(e) {
                    e.preventDefault();
                    var myLeft = parseInt(jQuery('#steps').css('margin-left'));
                    jQuery('#steps').animate({ 'margin-left': (myLeft - 200) });
                });
                btnContinue.appendTo(jQuery(thisStep));
                jQuery(thisStep).append('<br/>');
            }
            else {
                var btnBack = jQuery('<a href="#" class="button">Back</a>');
                btnBack.click(function(e) {
                    e.preventDefault();
                    var myLeft = parseInt(jQuery('#steps').css('margin-left'));
                    jQuery('#steps').animate({ 'margin-left': (myLeft + 200) });
                });
                btnBack.appendTo(jQuery(thisStep));
                jQuery(thisStep).append('<br/>');
            }
        });
    }

});

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;
}
