﻿// +-----------------------------------------------------+
// | function: submitContact                             |
// +-----------------------------------------------------+
function submitContact() {

    var postData    = '';
    var fields      = Array(
        Array('refID',                      1),
		Array('dealerID',                   1),
        Array('pageID',                     1),
		Array('subnaviID',                  1),
		Array('pageSubnaviID',              1),
        Array('salutation',                 1),
        Array('firstname',                  1),
        Array('surname',                    1),
        Array('company',                    1),
        Array('street',                     1),
        Array('zipcode',                    1),
        Array('city',                       1),
        Array('phone',                      1),
        Array('phone_private',              1),
        Array('email',                      1),
        Array('enquiry',                    1)
    );

    //error_password_confirm
    for(i = 0; i < fields.length; i++) {
        if( fields[i][1] == 1 ) {
            postData = ''+ postData + fields[i][0] + '=' + encodeURIComponent( jQuery("#"+ fields[i][0] +"").val() ) + '&';
        } else {
            postData = ''+ postData + fields[i][0] + '=' + encodeURIComponent( jQuery("#"+ fields[i][0] +":checked").length ) + '&';
        }
    }

    j = ajaxSubmit('submitContact', postData, fields);

}

// +-----------------------------------------------------+
// | function: submitUsedCarsContact                     |
// +-----------------------------------------------------+
function submitUsedCarsContact() {

    var postData    = '';
    var fields      = Array(
        Array('refID',                      1),
		Array('dealerID',                   1),
        Array('pageID',                     1),
		Array('subnaviID',                  1),
		Array('pageSubnaviID',              1),
        Array('ciperID',                    1),
        Array('salutation',                 1),
        Array('firstname',                  1),
        Array('surname',                    1),
        Array('phone',                      1),
        Array('email',                      1),
        Array('enquiry',                    1)
    );

    //error_password_confirm
    for(i = 0; i < fields.length; i++) {
        if( fields[i][1] == 1 ) {
            postData = ''+ postData + fields[i][0] + '=' + encodeURIComponent( jQuery("#"+ fields[i][0] +"").val() ) + '&';
        } else {
            postData = ''+ postData + fields[i][0] + '=' + encodeURIComponent( jQuery("#"+ fields[i][0] +":checked").length ) + '&';
        }
    }

    j = ajaxSubmit('submitUsedCarsContact', postData, fields);

}


// +-----------------------------------------------------+
// | function: submitServiceContact                      |
// +-----------------------------------------------------+
function submitServiceContact() {

    var postData    = '';
    var fields      = Array(
        Array('refID',                      1),
		Array('dealerID',                   1),
        Array('pageID',                     1),
		Array('subnaviID',                  1),
		Array('pageSubnaviID',              1),
        Array('contactType',                1),
        Array('offerID',                    1),
        Array('offerTitle',                 1),
        Array('offerURL',                   1),
        Array('salutation',                 1),
        Array('firstname',                  1),
        Array('surname',                    1),
        Array('phone',                      1),
        Array('email',                      1),
        Array('callback',                   1),
        Array('appointment',                1),
        Array('enquiry',                    1)
    );

    //error_password_confirm
    for(i = 0; i < fields.length; i++) {
        if( fields[i][1] == 1 ) {
            postData = ''+ postData + fields[i][0] + '=' + encodeURIComponent( jQuery("#"+ fields[i][0] +"").val() ) + '&';
        } else {
            postData = ''+ postData + fields[i][0] + '=' + encodeURIComponent( jQuery("#"+ fields[i][0] +":checked").length ) + '&';
        }
    }

    j = ajaxSubmit('submitServiceContact', postData, fields);

}


// +-----------------------------------------------------+
// | function: submitTradein                             |
// +-----------------------------------------------------+
function submitTradein() {

    var postData    = '';
    var configData  = '';
    var fields      = Array(
        Array('refID',                      1),
	    Array('dealerID',                   1),
        Array('pageID',                     1),
		Array('subnaviID',                  1),
		Array('pageSubnaviID',              1),
        Array('salutation',                 1),
        Array('firstname',                  1),
        Array('surname',                    1),
        Array('street',                     1),
        Array('zipcode',                    1),
        Array('city',                       1),
        Array('phone',                      1),
        Array('email',                      1),
        Array('key1',                       1),
        Array('key2',                       1),
        Array('performance',                1),
        Array('displacement',               1),
        Array('accreditation',              1),
        Array('chassis',                    1),
        Array('owner',                      1),
        Array('cartype',                    1),
        Array('variante',                   1),
		Array('style',                      1),
		Array('color',                      1),
		Array('licence_number',             1),
		Array('odometer_reading',           1),
		Array('anniversary_date',           1),
		Array('accident_free',              1),
		Array('accident_info',              1),
		Array('checkbook',                  1),
		Array('additional_configuration',   1)
    );

    //error_password_confirm
    for(i = 0; i < fields.length; i++) {
        if( fields[i][1] == 1 ) {
            postData = ''+ postData + fields[i][0] + '=' + encodeURIComponent( jQuery("#"+ fields[i][0] +"").val() ) + '&';
        } else {
            postData = ''+ postData + fields[i][0] + '=' + encodeURIComponent( jQuery("#"+ fields[i][0] +":checked").length ) + '&';
        }
    }

    for( i = 0; i <= jQuery('#configuration_items').val(); i++ ) {
        if( jQuery("#configuration_"+ i +":checked").length ) {
            configData += escape( jQuery("#configuration_"+ i +"").val() ) + ',';
        }
    }
    
    postData += 'configuration=' + configData +'';

    j = ajaxSubmit('submitTradein', postData, fields);

}

// +-----------------------------------------------------+
// | function: submitTestdrive                           |
// +-----------------------------------------------------+
function submitTestdrive() {

    jQuery("#loading").removeClass('content-hide');
    
    var postData            = '';
    var testdriveModells    = '';
    var testdriveCars       = 0;
    var fields      = Array(
        Array('refID',                      1),
		Array('dealerID',                   1),
        Array('pageID',                     1),
		Array('subnaviID',                  1),
		Array('pageSubnaviID',              1),
        Array('salutation',                 1),
        Array('firstname',                  1),
		Array('age',						1),
        Array('surname',                    1),
        Array('street',                     1),
        Array('zipcode',                    1),
        Array('city',                       1),
        Array('phone',                      1),
        Array('phone_private',              1),
		Array('phone_mobile',				1),
        Array('email',                      1),
        Array('date_month',                 1),
        Array('date_day',                   1),
        Array('date_time',                  1),
        Array('fueltype1',					1),
		Array('fueltype2',					1),
		Array('toyota_owner',				1),
		Array('period',						1)
    );

    //error_password_confirm
    for(i = 0; i < fields.length; i++) {
        if( fields[i][1] == 1 ) {
            postData = ''+ postData + fields[i][0] + '=' + encodeURIComponent( jQuery("#"+ fields[i][0] +"").val() ) + '&';
        } else {
            postData = ''+ postData + fields[i][0] + '=' + encodeURIComponent( jQuery("#"+ fields[i][0] +":checked").length ) + '&';
        }
    }

    for( i = 0; i <= jQuery('#testdrive_items').val(); i++ ) {
        if( jQuery("#testdrive_modell_"+ i +":checked").length ) {
            testdriveModells += encodeURIComponent( jQuery("#testdrive_modell_"+ i +"").val() ) + ',';
            testdriveCars = testdriveCars+1;
        }
    }
    
    postData += 'testdrive_modells=' + testdriveModells +'&testdrive_cars='+ testdriveCars +'';

    jQuery.ajax({
        type: 'POST',
        dataType: 'json',
        url: '/proc/submitTestdrive.asp',
        data: postData,
        success: function(j){
            
            for(i = 0; i < fields.length; i++) {
                if( fields[i][1] == 1 ) {
                    checkField(j, fields[i][0]);
                }
            }

            if( j.date_month == 0 && j.date_day == 0 && j.date_time == 0 ) {
                jQuery("#field_testdrive_date").removeClass("errortext");
            } else {
                jQuery("#field_testdrive_date").addClass("errortext");
            }

            checkField(j, 'testdrive_cars');
            
            if( j.error_code != 0 ) {
                jQuery('#error_text').html('<p>'+ j.error_msg + '</p>').removeClass('content-hide');
                
                if( j.error_code == -2 ) {
                    jQuery("#field_testdrive_date").addClass("errortext");
                }
            } else {
                jQuery('#formContent').hide();
                jQuery('#confirmContent').show();
            }
            
            jQuery("#loading").addClass('content-hide');
            
        },
        error: function(o,e,k){
            jQuery("#loading").addClass('content-hide');
        }
    });

}

// +-----------------------------------------------------+
// | function: submitNewsletter                          |
// +-----------------------------------------------------+
function submitNewsletter() {
    
    var postData    = '';
    var fields      = Array(
        Array('refID',                      1),
		Array('dealerID',                   1),
        Array('pageID',                     1),
		Array('subnaviID',                  1),
		Array('pageSubnaviID',              1),
		Array('FID',                        1),
		Array('Subnavi',                    1),
		Array('pageSubnavi',                1),
        Array('salutation',                 1),
        Array('firstname',                  1),
        Array('surname',                    1),
        Array('street',                     1),
        Array('zipcode',                    1),
        Array('city',                       1),
        Array('phone',                      1),
        Array('phone_private',              1),
        Array('email',                      1)
    );

    //error_password_confirm
    for(i = 0; i < fields.length; i++) {
        if( fields[i][1] == 1 ) {
            postData = ''+ postData + fields[i][0] + '=' + encodeURIComponent( jQuery("#"+ fields[i][0] +"").val() ) + '&';
        } else {
            postData = ''+ postData + fields[i][0] + '=' + encodeURIComponent( jQuery("#"+ fields[i][0] +":checked").length ) + '&';
        }
    }

    j = ajaxSubmit('submitNewsletter', postData, fields);

}

// +-----------------------------------------------------+
// | function: submitService                             |
// +-----------------------------------------------------+
function submitService() {
    
    var postData    = '';
    var fields      = Array(
        Array('refID',                      1),
		Array('dealerID',                   1),
        Array('pageID',                     1),
		Array('subnaviID',                  1),
		Array('pageSubnaviID',              1),
        Array('salutation',                 1),
        Array('firstname',                  1),
        Array('surname',                    1),
        Array('street',                     1),
        Array('zipcode',                    1),
        Array('city',                       1),
        Array('phone',                      1),
        Array('phone_private',              1),
        Array('email',                      1),
        Array('date_month',                 1),
        Array('date_day',                   1),
        Array('date_time',                  1),
        Array('enquiry',                    1)
    );

    //error_password_confirm
    for(i = 0; i < fields.length; i++) {
        if( fields[i][1] == 1 ) {
            postData = ''+ postData + fields[i][0] + '=' + encodeURIComponent( jQuery("#"+ fields[i][0] +"").val() ) + '&';
        } else {
            postData = ''+ postData + fields[i][0] + '=' + encodeURIComponent( jQuery("#"+ fields[i][0] +":checked").length ) + '&';
        }
    }

    //j = ajaxSubmit('submitService', postData, fields);

    jQuery.ajax({
        type: 'POST',
        dataType: 'json',
        url: '/proc/submitService.asp',
        data: postData,
        success: function(j){

            for(i = 0; i < fields.length; i++) {
                if( fields[i][1] == 1 ) {
                    checkField(j, fields[i][0]);
                }
            }

            if( j.date_month == 0 && j.date_day == 0 && j.date_time == 0 ) {
                jQuery("#field_service_date").removeClass("errortext");
            } else {
                jQuery("#field_service_date").addClass("errortext");
            }

            if( j.error_code != 0 ) {
                jQuery('#error_text').html('<p>'+ j.error_msg + '</p>').removeClass('content-hide');

                if( j.error_code == -2 ) {
                    jQuery("#field_service_date").addClass("errortext");
                }
            } else {
                jQuery('#formContent').hide();
                jQuery('#confirmContent').show();
            }

            jQuery("#loading").addClass('content-hide');

        },
        error: function(o,e,k){
            jQuery("#loading").addClass('content-hide');
        }
    });

}

// +-----------------------------------------------------+
// | function: submitTracingService                      |
// +-----------------------------------------------------+
function submitTracingService() {
    
    var postData    = '';
    var fields      = Array(
        Array('refID',                      1),
		Array('dealerID',                   1),
        Array('pageID',                     1),
		Array('subnaviID',                  1),
		Array('pageSubnaviID',              1),
        Array('salutation',                 1),
        Array('firstname',                  1),
        Array('surname',                    1),
        Array('street',                     1),
        Array('zipcode',                    1),
        Array('city',                       1),
        Array('phone',                      1),
        Array('phone_private',              1),
        Array('email',                      1),
        Array('construction_year',          1),
        Array('pkw_type',                   1),
        Array('color',                      1),
        Array('kilometrage',                1),
        Array('fueltype1',                  1),
        Array('fueltype2',                  1),
        Array('price',                      1),
        Array('enquiry',                    1)
    );

    //error_password_confirm
    for(i = 0; i < fields.length; i++) {
        if( fields[i][1] == 1 ) {
            postData = ''+ postData + fields[i][0] + '=' + encodeURIComponent( jQuery("#"+ fields[i][0] +"").val() ) + '&';
        } else {
            postData = ''+ postData + fields[i][0] + '=' + encodeURIComponent( jQuery("#"+ fields[i][0] +":checked").length ) + '&';
        }
    }

    j = ajaxSubmit('submitTracingService', postData, fields);
}

function submitTracingServiceBasic() {

    var postData    = '';
    var fields      = Array(
        Array('refID',                      1),
		Array('dealerID',                   1),
        Array('pageID',                     1),
		Array('subnaviID',                  1),
		Array('pageSubnaviID',              1),
        Array('salutation',                 1),
        Array('firstname',                  1),
        Array('surname',                    1),
        Array('street',                     1),
        Array('zipcode',                    1),
        Array('city',                       1),
        Array('phone',                      1),
        Array('phone_private',              1),
        Array('email',                      1),
        Array('construction_year',          1),
        Array('pkw_type',                   1),
        Array('enquiry',                    1)
    );

    //error_password_confirm
    for(i = 0; i < fields.length; i++) {
        if( fields[i][1] == 1 ) {
            postData = ''+ postData + fields[i][0] + '=' + encodeURIComponent( jQuery("#"+ fields[i][0] +"").val() ) + '&';
        } else {
            postData = ''+ postData + fields[i][0] + '=' + encodeURIComponent( jQuery("#"+ fields[i][0] +":checked").length ) + '&';
        }
    }

    j = ajaxSubmit('submitTracingServiceBasic', postData, fields);
}

// +-----------------------------------------------------+
// | function: ajaxSubmit                                |
// +-----------------------------------------------------+
function ajaxSubmit(ajax_url, postData, fields) {

    jQuery("#loading").removeClass('content-hide');
    
    jQuery.ajax({
        type: 'POST',
        dataType: 'json',
        url: '/proc/'+ ajax_url +'.asp',
        data: postData,
        success: function(j){
            
            for(i = 0; i < fields.length; i++) {
                if( fields[i][1] == 1 ) {
                    checkField(j, fields[i][0]);
                }
            }

            if( j.error_code != 0 ) {
                jQuery('#error_text').html('<p>'+ j.error_msg + '</p>').removeClass('content-hide');
            } else {
                jQuery('#formContent').hide();
                jQuery('#confirmContent').show();
            }
            
            jQuery("#loading").addClass('content-hide');
            
            return j;
            
        },
        error: function(o,e,k){
            jQuery("#loading").addClass('content-hide');
            jQuery('#error_text').html('<p>Es ist ein unerwarteter Fehler aufgetreten. Bitte versuchen Sie es später noch einmal.</p>').removeClass('content-hide');
        }
    });
}

// +-----------------------------------------------------+
// | function: checkField                                |
// +-----------------------------------------------------+
function checkField(j,field_name) {
    if( eval('j.'+ field_name +'') == 1 ) {
        jQuery("#field_"+ field_name +"").addClass("errortext");
        jQuery("#"+ field_name +"").addClass("errorfield");
    } else {
        jQuery("#field_"+ field_name +"").removeClass("errortext");
        jQuery("#"+ field_name +"").removeClass("errorfield");
    }
}


function toggleServiceListerForm(form_name) {
    jQuery('#contactType').val(form_name);

    jQuery(".fieldregular").removeClass("errorfield");
    jQuery(".selectregular").removeClass("errorfield");

    if(form_name == 'callback') {
        jQuery('#form-title').html('Rückruf vereinbaren');
        jQuery('#field-appointment').hide();
        jQuery('#field-callback').show();
    } else if(form_name == 'contact') {
        jQuery('#form-title').html('Frage zum Produkt');
        jQuery('#field-appointment').hide();
        jQuery('#field-callback').hide();
    } else if(form_name == 'price') {
        jQuery('#form-title').html('Preisanfrage');
        jQuery('#field-appointment').hide();
        jQuery('#field-callback').hide();
    } else {
        jQuery('#form-title').html('Termin buchen');
        jQuery('#field-appointment').show();
        jQuery('#field-callback').hide();
    }

    jQuery('#formContent').show();
    jQuery('#confirmContent').hide();

    jQuery('#sl-form').show();
}

function dcsTrk() {}
