String.prototype.format = function(){
    var pattern = /\{\d+\}/g;
    var args = arguments;
    return this.replace(pattern, function(capture){
        return args[capture.match(/\d+/)];
    });
}

var signup = {
    userid: null,
    userRec:null,
    curPage: null,
    emailDelay: null,
    loginDelay: null,
    passDelay: null,
    programs: [],
    stepNums: ['one','two','three','four','five','six'],
    init: function() {
        this.userid = $('#userid').val();
        showPage($('#startpage').val());
    }
}

function showPage(page) {
    var doShow = function(page) {
        $('#signup-'+page).fadeIn(500,function() {
            $('#signup-nav-next').show();
            $('#signup-'+page).addClass('open');
            $('#signup-nav-back').removeClass('disabled');
            if (page == 0) $('#signup-nav-back').addClass('disabled');
            if (page == 5) {
                $('#signup-nav-next').hide();
                $('#signup-nav-back').hide();
                $('#signup-submit').show();
            }
            $('#signup-nav').fadeIn(function() {
                signup.curPage = parseInt(page);
            });
        });
    }

    if (page != signup.curPage && signup.curPage != 5) {
        $('#signup-error').hide();
        $('#signup-nav').fadeOut('fast',function() {
            $('.spage.open').hide();
            $('.step').removeClass('current');
            if (page == 4) {
                var p = 4;
                for (var i=0;i<4;i++) {
                    if (!$('.step.'+signup.stepNums[i]).hasClass('complete')) {
                        p = i;
                        break;
                    }
                }
                if (p == 4)
                    parseAssignPage();
                else {
                    $('#modal1').dialog('option','title','Interview Incomplete');
                    $('#modal1 .dialog-content').html('There are incomplete sections of the interview that would prevent us from assigning you the optimal program. Please fix those ommissions before choosing a program.');
                    $('#modal1').dialog('option','buttons',{
                        'OK':function(){
                            $(this).dialog('close');
                        }
                    });
                    $('#modal1').dialog('open');
                    $('#signup-4').hide();
                    page = p;
                }
            }
            $('.step.'+signup.stepNums[page]).addClass('current');
            doShow(page);
            if (page == 2) countDays();
        });
    }
}

function parseAssignPage() {
    var html='',html2,html3;
    var today= new Date();
    $('#assign-loader').show();
    $('#assign-results').empty();
    $.ajax({
        async: false,
        type:'POST',
        url:'../admin/xhr/getUserById.php',
        dataType:'json',
        data: {
            userid:signup.userid
        },
        success: function(data,status){
            var resultsTypeWrapperT =
            ['<div class="assign-results-header {0}">',
            '<span>{1}</span>',
            '</div>',
            '<fieldset><legend></legend>{2}</fieldset>'
            ];
            var resultsWrapperT =
            ['<div class="assign-results-sub">',
            '<span class="">{0}</span>',
            '<div class="assign-results-startdate{3}"><span>Start Date: </span><span class="date-value"><i>Today</i></span><input class="datepicker" type="hidden" name="date-{2}-{4}" value="'+$.datepicker.formatDate('yy-mm-dd',today)+'"/></div>',
            '</div>',
            '<ul>{1}</ul>'];
            var resultsItemT =
            ['<li><div class="assign-results-item"><input type="radio" class="radio" name="assign-{4}" value="{0}"{5}>',
            '<span class="">{1}</span></div>',
            '<div class="assign-results-item-detail-wrapper" style="display:{2};">',
            '<div class="assign-results-item-detail-header"><div class="ui-expander ui-expander2-collapsed fleft" for="assign-results-item{0}"><span><i>More details...</i></span></div></div>',
            '<div id="assign-results-item{0}" class="assign-results-item-detail-content" style="display:none;">{3}</div>',
            '</div>',
            '</li>'];
            var user = data.data[0];
            signup.userRec = user;
            var pTypes = [];
            if (user.strength_skip == '0') pTypes.push('Strength');
            if (user.cardio_skip == '0') pTypes.push('Cardio');
            var params,equip,curType;
            var gDays,ngDays;
            signup.programs = [];
            $.each(pTypes,function(){
                html3 = '';
                curType = this.toString();
                params = {
                    type:curType,
                    filter:'true',
                    gender:user.gender,
                    age:parseInt((new Date().getTime() - new Date(user.dob_alt)) / (365.25*24*60*60*1000)),
                    weight:user.weight*2.2,
                    start:user.start_date
                };
                equip = [];
                $.each(user.equip,function(){
                    if (this.type == curType) equip.push(this.id);
                });
                switch (curType) {
                    case 'Strength':
                        params.goal = user.sg_name;
                        params.exp = user.se_name;
                        params.intensity = user.si_name;
                        params.mpd = user.s_duration;
                        gDays = user.sdays_gym;
                        params.gDays = user.sdays_gym.length;
                        ngDays = user.sdays_nogym;
                        params.ngDays = user.sdays_nogym.length;
                        params.equip = JSON.stringify(equip);
                        break;
                    case 'Cardio':
                        params.goal = user.cg_name;
                        params.exp = user.ce_name;
                        params.intensity = user.ci_name;
                        params.mpd = user.c_duration;
                        gDays = user.cdays_gym;
                        params.gDays = user.cdays_gym.length;
                        ngDays = user.cdays_nogym;
                        params.ngDays = user.cdays_nogym.length;
                        params.equip = JSON.stringify(equip);
                        break;
                }
                $.ajax({
                    async: false,
                    type:'POST',
                    url:'../admin/xhr/getFilterProgramList.php',
                    dataType:'json',
                    data: params,
                    success: function(data,status){
                        var str;
                        var count;
                        if (gDays.length > 0) {
                            count = 0;
                            html2 = '';
                            // how many in gym?
                            $.each(data.data,function(){
                                if (this.in_gym) count++;
                            });
                            if (count == 0) {
                                html2 = '<p><i>No programs found. The system administrator will contact you to discuss workout options with you.</i></p>';
                            } else {
                                $.each(data.data,function(){
                                    if (this.in_gym) {
                                        this.program_days = gDays;
                                        signup.programs.push(this);
                                        html2 += resultsItemT.join('\n').format(this.id,this.name,(this.description.length > 0)?'block':'none',this.description,curType.toLowerCase()+'-gym',(count == 1)?' checked':'');
                                    }
                                });
                            }
                            html3 += resultsWrapperT.join('\n').format('Gym',html2,curType.toLowerCase(),(count==0?' hide':''),'gym');
                        }
                        if (ngDays.length > 0) {
                            count = 0;
                            html2 = '';
                            // how many no-gym?
                            $.each(data.data,function(){
                                if (!this.in_gym) count++;
                            });
                            if (count == 0) {
                                html2 = '<p><i>No programs found. The system administrator will contact you to discuss workout options with you.</i></p>';
                            } else {
                                $.each(data.data,function(){
                                    if (!this.in_gym) {
                                        this.program_days = ngDays;
                                        signup.programs.push(this);
                                        html2 += resultsItemT.join('\n').format(this.id,this.name,(this.description.length > 0)?'block':'none',this.description,curType.toLowerCase()+'-home',(count == 1)?' checked':'');
                                    }
                                });
                            }
                            html3 += resultsWrapperT.join('\n').format('Home',html2,curType.toLowerCase(),(count==0?' hide':''),'home');
                        }
                        html += resultsTypeWrapperT.join('\n').format(curType.toLowerCase(),curType,html3);
                    },
                    error: function() {
                        html = '<p>A system issue has prevented a program from being assigned at this time. Please continue with the sign-up and the administrator will be in contact with you shortly with an appropriate program(s) for you.';
                    }
                });
            });
        },
        error: function() {
            html = '<p>A system issue has prevented a program from being assigned at this time. Please continue with the sign-up and the administrator will be in contact with you shortly with an appropriate program(s) for you.';
        }

    });
    $('#assign-results').html(html);
    // bind the datepickers
    $('.datepicker').datepicker({
        dateFormat:'yy-mm-dd',
        minDate: '0d',
        showOn:'both',
        showAnim:'fadeIn',
        buttonImage:'../images/calendar_view_month.png',
        buttonImageOnly:true,
        onClose: function() {
            $(this).prevAll('.date-value').html($.datepicker.formatDate('D, d M',$(this).datepicker('getDate')));
        }
    });
    // bind the expanders
    $('.ui-expander').bind('click',function(){
        var id = this.getAttribute('for');
        var cls = $(this).attr('class');
        var oldCls,newCls;
        var num;
        var hide;
        if (cls.match('collapsed')) {
            oldCls = 'ui-expander{0}-collapsed';
            newCls = 'ui-expander{0}-expanded';
            num = cls.substr(cls.indexOf('-collapsed')-1,1);
            hide = false;
        } else {
            oldCls = 'ui-expander{0}-expanded';
            newCls = 'ui-expander{0}-collapsed';
            num = cls.substr(cls.indexOf('-expanded')-1,1);
            hide = true;
        }
        if (id) {
            if (hide)
                $('#'+id).hide('blind');
            else
                $('#'+id).show('blind');
            $(this).removeClass(oldCls.format(num));
            if (!$(this).hasClass(newCls.format(num))) $(this).addClass(newCls.format(num));
        }
    });
    $('#assign-loader').hide();
    $('#assign-results').show();
}

function selEquip() {
    var type,cls1,cls2;
    var v = $(this).val();
    if ($(this).hasClass('s-equip')) {
        cls1 = 's-days';
        //cls2 = 's-day';
        type = 'strength';
    } else if ($(this).hasClass('c-equip')) {
        cls1 = 'c-days';
        //cls2 = 'c-day';
        type = 'cardio';
    }
    if (v.indexOf('gym') == -1) {
        $('.'+cls1+'.g').hide();
        $('.'+cls1+'.g .checkbox').removeClass('checked');
    } else {
        $('.'+cls1+'.g').show();
    }
    if (v.indexOf('home') == -1) {
        $('.'+cls1+'.ng').hide();
        $('.'+cls1+'.ng .checkbox').removeClass('checked');
    } else {
        $('.'+cls1+'.ng').show();
    }
    countDays();
}

function countDays() {
    var total;
    total = $('li.s-days:visible .checkbox[class~=checked]').length;
    $('#strength-days-total span').html(total);
    total = $('li.c-days:visible .checkbox[class~=checked]').length;
    $('#cardio-days-total span').html(total);
}

function backPage() {
    showPage(signup.curPage - 1);
}

function nextPage() {
    if (verifyPage(signup.curPage)) {
        updateRecord();
        $('.step.'+signup.stepNums[signup.curPage]).addClass('complete');
        showPage(signup.curPage + 1);
    }
}

function gotoPage(page) {
    if (signup.curPage < 4) {
        if (verifyPage(signup.curPage)) {
            updateRecord();
            $('.step.'+signup.stepNums[signup.curPage]).addClass('complete');
            showPage(page);
        } else {
            //$('#signup-error').fadeIn();
            showPage(page);
        }
    } else {
        showPage(page);
    }
}

function verifyPage(page) {
    var date;
    var email,email2;
    var result = true;
    var eArr = new Array();

    // text inputs
    $('#signup-'+page+' input:text:enabled').each(function(i) {
        if (!$(this).val()) result = false;
    });

    //password inputs
    $('#signup-'+page+' input:password:enabled').each(function(i) {
        if (!$(this).val()) result = false;
    });

    // radio groups
    var name,oldName = '';
    $('#signup-'+page+' input:radio:enabled').each(function(i) {
        name = $(this).attr('name');
        if (name != oldName) {
            if ($('#signup-'+page+' input[name='+name+']:radio:checked').length == 0) result = false;
            oldName = name;
        }
    });

    if (result == false) eArr.push('All fields are required to be completed.');

    // account/email/login verification
    if (page == 0) {
        date = new Date($('#dob-m').val()+'/'+$('#dob-d').val()+'/'+$('#dob-y').val());
        if (isNaN(date)) {
            eArr.push('Date of birth is not a vaild date.');
            $('#dob-m').val('').trigger('focus');
            $('#dob-d').val('').trigger('focus');
            $('#dob-y').val('').trigger('focus').trigger('blur');
            result = false;
        }
        email = $('#email1').val();
        email2 = $('#email2').val();
        if (!isEmail(email)) {
            if (email.length > 0) eArr.push('Enter a valid email address.');
            result = false;
        } else if (email != email2) {
            if (email.length) eArr.push('Email fields do not match.');
        } else if (!$('#email1').attr('disabled') && !doVerifyEmail()) {
            if (email.length) eArr.push('Email already exists in our records. Choose another or contact the system administrator.');
            result = false;
        }

        if (!$('#login-txt').attr('disabled')) {
            if (doVerifyLogin()) {
                if (doVerifyPass()) {
                    if (eArr.length == 0) {
                        $.ajax({
                            async: false,
                            type:'POST',
                            url:'../xhr/createAccount.php',
                            dataType:'text',
                            data: {
                                id: $('#login-txt').val(),
                                pass: $('#pass1').val(),
                                email: $('#email1').val()
                            },
                            error: function(){
                                eArr.push('The account could not be created because of a fatal error.');
                                result = false;
                            },
                            success: function(data,status){
                                data = parseInt(data);
                                if (data) { // account created
                                    signup.userid = data;
                                    $('#email1').attr('disabled','disabled');
                                    $('#email2').attr('disabled','disabled');
                                    $('#login-txt').attr('disabled','disabled');
                                    $('#pass1').attr('disabled','disabled');
                                    $('#pass2').attr('disabled','disabled');
                                    $('#userid').val(data);
                                    $('#login').val($('#login-txt').val());
                                    $('#pass').val($('#pass1').val());
                                } else { // it failed... for some reason
                                    eArr.push('The account could not be created because of a fatal error.');
                                    result = false;
                                }
                            }
                        });
                    }
                } else {
                    if ($('#pass1').val().length > 0) eArr.push('Enter a valid password and confirm it.');
                    result = false;
                }
            } else {
                if ($('#login-txt').val().length > 0) eArr.push('User ID is invalid or is in use by someone else.');
                result = false;
            }
        }
    }    

    // workout days
    if (page == 2) {
        if ($('.s-days:visible').length > 0)
            if ($('.s-days:visible .checkbox.checked').length == 0) {
                eArr.push('At least one workout day of type must be chosen.');
                result = false;
            }
        if ($('.c-days:visible').length > 0)
            if ($('.c-days:visible .checkbox.checked').length == 0) {
                eArr.push('At least one workout day of type must be chosen.');
                result = false;
            }
    }

    // placement numbers
    if (page == 3) {
        if (!parseInt($('#height').val())) {
            if ($('#height').val().length) eArr.push('Height must be a numerical value (in inches).');
            result = false;
        }
        if (!parseInt($('#weight').val())) {
            if ($('#weight').val().length) eArr.push('Weight must be a numerical value (in lbs).');
            result = false;
        }
        if (isNaN(parseInt($('#placement').val()))) {
            if ($('#placement').val().length) eArr.push('Pushups must be a number.');
            result = false;
        }
    }

    // start date
    /*if (page == 11) {
        date = new Date($('#start_date').val());
        if (isNaN(date)) {
            if ($('#start_date').val().length) eArr.push('Start date is not a vaild date. Use MM/DD/YYYY format.');
            result = false;
        }
    }*/

    if (page == 4) {
        if (result == false) eArr = ['You need to choose a program of each type.'];
    }


    if (!result) {
        // take care of errors
        var e;
        var list='';
        var tmpl = [
        '<ul>',
        '{0}',
        '</ul>'
        ];
        for (var i=0;i<eArr.length;i++) {
            list += '<li>'+eArr[i]+'</li>';
        }
        $('#signup-error').html(tmpl.join('\n').format(list));
        if ($('#signup-error:hidden').length == 1) $('#signup-error').fadeIn();
    } else {
        $('#signup-error').hide();
    }
    
    return result;
}

function verifyEmail() {
    if (signup.emailDelay) clearTimeout(signup.emailDelay);
    signup.emailDelay = setTimeout(doVerifyEmail,2000);
}

function doVerifyEmail() {
    var email1,email2;
    var result = false;
    email1 = $('#email1').val();
    email2 = $('#email2').val();
    $('.status.email').removeClass('good bad');
    if (email1 && email2 && isEmail(email1) && (email1 == email2)) {
        $.ajax({
            async: false,
            type:'POST',
            url:'../xhr/verifyEmail.php',
            dataType:'text',
            data: {
                email: email1
            },
            error: function(){
                result = false;
            },
            success: function(data,status){
                data = parseInt(data);
                if (data == 0) {
                    result = true;
                    $('.status.email').addClass('good');
                } else {
                    $('.status.email').addClass('bad');
                }
            }
        });
    } else {
        if (email1.length && email2.length) $('.status.email').addClass('bad');
    }

    return result;
}

function verifyLogin() {
    if (signup.loginDelay) clearTimeout(signup.loginDelay);
    $('.status.login').removeClass('good bad');
    signup.loginDelay = setTimeout(function(){
        var result = doVerifyLogin();
        if (result) {
            $('.status.login').addClass('good');
        } else {
            if ($('#login-txt').val()) $('.status.login').addClass('bad');
        }
    },2000);
}

function doVerifyLogin() {
    var login;
    var result = false;
    login = $('#login-txt').val();
    if (login.length > 3) {
        $.ajax({
            async: false,
            type:'POST',
            url:'../xhr/verifyLogin.php',
            dataType:'text',
            data: {
                id: login
            },
            error: function(){
                result = false;
            },
            success: function(data,status){
                data = parseInt(data);
                if (data == 0) result = true;
            }
        });
    }
    return result;
}

function verifyPass() {
    if (signup.passDelay) clearTimeout(signup.passDelay);
    //$('.pass-status').hide();
    $('.status.pass').removeClass('good bad');
    signup.passDelay = setTimeout(function(){
        var result = doVerifyPass();
        if (result) {
            $('.status.pass').addClass('good');
        } else {
            if ($('#pass1').val().length) $('.status.pass').addClass('bad');
        }
    },2000);
}

function doVerifyPass() {
    var pass1,pass2;
    var result = false;
    pass1 = $('#pass1').val();
    pass2 = $('#pass2').val();
    if (pass1.length > 0 && pass2.length > 0) {
        if (pass1.length > 3 && pass2.length > 3 && pass1 == pass2) {
            result = true;
        }
    }

    return result;
}

function updateStatus(el,status) {
    
}

function updateRecord() {
    var data;
    var arr,str;
    switch (signup.curPage) {
        case 0:
            data = {
                name_f: $('#name_f').val(),
                name_l: $('#name_l').val(),
                gender: $('input[name=gender]:radio:checked').val(),
                dob: $.datepicker.formatDate('yy-mm-dd',new Date($('#dob-m').val()+'/'+$('#dob-d').val()+'/'+$('#dob-y').val()))
            };
            break;
        case 1:
            data = {
                strength_goal_id: $('input[name=str0]:radio:checked').val(),
                strength_experience: $('input[name=str1]:radio:checked').val(),
                strength_intensity: $('input[name=str5]:radio:checked').val(),
                strength_skip: $('#skipstrength').attr('checked'),
                cardio_goal_id: parseInt($('input[name=car0]:radio:checked').val()),
                cardio_experience: $('input[name=car1]:radio:checked').val(),
                cardio_intensity: $('input[name=car6]:radio:checked').val(),
                cardio_skip: $('#skipcardio').attr('checked')
            }
            break;
        case 2:
            var sgym='',shome='';
            $('.s-days.g .checkbox').each(function() {
                if ($(this).hasClass('checked')) sgym += $(this).attr('value');
            });
            $('.s-days.ng .checkbox').each(function() {
                if ($(this).hasClass('checked')) shome += $(this).attr('value');
            });
            var cgym='',chome='';
            $('.c-days.g .checkbox').each(function() {
                if ($(this).hasClass('checked')) cgym += $(this).attr('value');
            });
            $('.c-days.ng .checkbox').each(function() {
                if ($(this).hasClass('checked')) chome += $(this).attr('value');
            });
            data = {
                strength_equip: $('input[name=str2]:radio:checked').val(),
                strength_days_gym: sgym,
                strength_days_nogym: shome,
                strength_duration: $('input[name=str4]:radio:checked').val(),
                strength_intensity: $('input[name=str5]:radio:checked').val(),
                cardio_equip: $('input[name=car2]:radio:checked').val(),
                cardio_days_gym: cgym,
                cardio_days_nogym: chome,
                cardio_duration: $('input[name=car4]:radio:checked').val(),
                cardio_intensity: $('input[name=car6]:radio:checked').val()
            }
            break;
        case 3:
            data = {
                height: $('#height').val(),
                weight: $('#weight').val(),
                placement: $('#placement').val(),
                start_date: $('#start-date').val()
            }
            break;
        case 4:
            arr = [];
            $.each($('#signup-4 input:radio:checked'),function(){
                var sel = this;
                $.each(signup.programs,function(){
                    if (this.id == $(sel).val()) {
                        str = '';
                        $.each(this.program_days,function(){
                            switch (this[0]) {
                                case 'M':
                                    str += 'Monday,';
                                    break;
                                case 'T':
                                    str += 'Tuesday,';
                                    break;
                                case 'W':
                                    str += 'Wednesday,';
                                    break;
                                case 'H':
                                    str += 'Thursday,';
                                    break;
                                case 'F':
                                    str += 'Friday,';
                                    break;
                                case 'A':
                                    str += 'Saturday,';
                                    break;
                                case 'S':
                                    str += 'Sunday,';
                                    break;
                            }
                        });
                        arr.push({
                            program_id:this.id,
                            min_per_day:this.min_per_day,
                            program_days:str.slice(0,-1),
                            start_date:$('input[name='+$(sel).attr('name').replace('assign','date')+']').val()
                        })
                    }
                });
            });
            data = {
                programs: JSON.stringify(arr)
            }
            break;
        
        case 9:
        /*arr= [];
            $('input[name=activities]:checkbox:checked').each(function(i) {
                arr.push($(this).val());
            });
            data = {
                activities: JSON.stringify(arr)
            }
            break;*/
        case 9:
            data = {
                
            }
            break;
        case 10:
            
            break;
        case 11:
            data = {
                
            }
            break;
        default:
            break;
    }
    if (data) {
        data.userid = signup.userid;
        $.ajax({
            async: true,
            type:'POST',
            url:'../xhr/updateMemberRec.php',
            dataType:'json',
            data: {
                json: JSON.stringify(data)
            },
            error: function(){
            },
            success: function(data,status){

            }
        });
    }
}

function showHelp (el) {
    $(el).closest('.qcontent').next('.qhelpcontent').fadeIn();
    $(el).remove();
}

function doSkip() {
    if ($('.colheader input:checkbox:checked').length == 2) {
        // one is already checked - alert and kill event
        $('#modal1').dialog('option','title','Cannot continue...');
        $('#modal1 .dialog-content').html('You cannot skip both the strength and cardio interview questions.');
        $('#modal1').dialog('option','buttons',{
            'OK':function(){
                $(this).dialog('close');
            }
        });
        $('#modal1').dialog('open');
        return false;
    } else {
        var el = $(this).closest('.colheader').next('.colwrapper');
        var parentCls = $($(el).parent()).attr('class').split(' ')[0];
        if ($(this).attr('checked')) {
            $('.'+parentCls+' input:not(.skip-checkbox)').removeAttr('checked');
            $('.'+parentCls+' input:not(.skip-checkbox)').removeAttr('selected');
            $('.'+parentCls+' input:not(.skip-checkbox)').attr('disabled','disabled');
            $('.'+parentCls+' checkbox').removeClass('checked');
            $('.'+parentCls+' li.g,.'+parentCls+' li.ng').hide();
            countDays();
            $('.'+parentCls).addClass('disabled');
        } else {
            $('.'+parentCls+' input:not(.skip-checkbox)').removeAttr('disabled');
            $('.'+parentCls).removeClass('disabled');
        }
        $('.step:not(.one)').removeClass('complete');
        return true;
    }
}

$(function(){
    signup.init();

    // bind the action for equipment
    $('.s-equip,.c-equip').bind('change',selEquip);

    // bind the workout day custom checkboxes
    $('.checkbox').bind('click',function() {
        $(this).toggleClass('checked');
    })

    // bind the skip checkboxes
    $('.skip-checkbox').bind('click',doSkip);

    // init dialogs
    $('.dialog').dialog({
        autoOpen: false,
        bgiframe: true,
        draggable: false,
        resizable: false,
        closeOnEscape: true,
        modal: true,
        width: 400
    });

    // init the datepickers
    $('.datepicker').datepicker({
        dateFormat:'yy-mm-dd',
        showOn:'both',
        showAnim:'fadeIn',
        buttonImage:'../images/calendar_view_month.png',
        buttonImageOnly:true,
        onClose: function() {
            $(this).prevAll('#start-date-value').html($.datepicker.formatDate('DD, d M',$(this).datepicker('getDate')));
        }
    });

    // take care of dob color
    if ($('#dob-m').val() == 'MM')  $('#dob-m').css('color','#aaa');
    if ($('#dob-d').val() == 'DD')  $('#dob-d').css('color','#aaa');
    if ($('#dob-y').val() == 'YYYY')  $('#dob-y').css('color','#aaa');

});
