if(jQuery.audi == null) {
    jQuery.audi = {};

}
jQuery.audi.home = {
    get_carlines: function() {
        jQuery.post($.audi.opt.path+'/'+$.audi.opt.lang+'/api/get_carlines', {},
            function(d, ts, xhr) {
                $('#model-list').remove();
                $('#model-holder').html();
                var list = "<option value=''>Select Model</option>";
                $.each(d.carlines, function(i, val){
                    list += "<option value='"+val.name+"'>"+val.readable+"</option>";
                });
                $('#model-holder').append($('<select class="slct4" id="model-list" name="model"></select>').html(list));
                try{
                // $('#calc-form').rules('remove');
                // init_validate();
                }
                catch(e){
                }
                $('#model-list').change(function(){
                    jQuery.audi.home.get_models($('#model-list').val());
                });
            }, 'json');
    },
    get_models: function(carline_id) {
        jQuery.post($.audi.opt.path+'/'+$.audi.opt.lang+'/api/get_models',
        {
            carline_id: carline_id
        },
        function(d, ts, xhr) {
            $('#trimline-list').remove();
            $('#trimline-list-menu').remove();
            var list = "<option value=''>Select Trimline</option>";
            $.each(d.models, function(i, val){
                list += "<option value='"+val.model_code+"'>"+val.carline_readable+"</option>";
            });
            $('#trimline-holder').append($('<select class="slct3" id="trimline-list" name="trimline"></select>').html(list));
            try{
            // $('#calc-form').rules('remove');
            // init_validate();
            }
            catch(e){
            }
            $('#trimline-list').change(function(){
                jQuery.audi.home.get_msrp($('#trimline-list').val());
            });
            $.audi.home.get_msrp($('#trimline-list').val());
            $('.error_red').hide();
        }, 'json');
    },
    get_msrp: function(model_code) {
        jQuery.post($.audi.opt.path+'/'+$.audi.opt.lang+'/api/get_msrp',
        {
            model_code: model_code
        },
        function(d, ts, xhr) {
            $('#msrp-result').html(d.msrp);
            $('#msrp-plain').val(d.plain);
        }, 'json');
        $('.error_red').hide();
    },
    submit_form: function() {
        $('.error_red').hide();
        // Get needed values
        var action = $('#calc-form').attr('action');
        var province = $('#province-list').val();
        var trimline = $('#trimline-list').val();
        var msrp = jQuery('#msrp-plain').val();
        
        // Build new form
        var form = $('<form method="GET" action="'+action+'"></form>').append(
            '<input type="hidden" name="PROV" value="'+province+'" />').append(
            '<input type="hidden" name="MODELID" value="'+trimline+'" />').append(
            '<input type="hidden" name="PRICE" value="$'+msrp+'.00" />');

        $('body').append(form);
        form.submit();
    },
    check_form: function(e) {
        e.preventDefault();
        var valid = true;
        var model = $('#model-list').val();
        var trimline = $('#trimline-list').val();
        if(trimline=='') {
            valid = false;
            $('#trimline-list-err').show();
        }
        if(model=='') {
            valid = false;
            $('#model-list-err').show();
        }
        if(valid) {
            $.audi.home.submit_form();
        }
    }
};

$(document).ready(function(){
    $('#model-list').change(function(){
        jQuery.audi.home.get_models($('#model-list').val());
    });
    $('#trimline-list').change(function(){
        jQuery.audi.home.get_msrp($('#trimline-list').val());
    });
    init_validate();

    $('#emp_btn').click(function(e) {
        e.preventDefault();
        if($('#model-list').val()=='') $('#model-list-err').show();
        $('#calc-form').submit();
    });
});

function init_validate() {
    $('#calc-form').submit($.audi.home.check_form);
}
