function InitializeLeadForm() {
    $('#lead').find("input[type='text'],textarea").each(function(i) {
        $(this).focus(function() {
            $(this).removeClass('error');
        });
    });
}

function SubmitLead() {
    if ( !ValidateLeadForm() ) {
        return false;
    }
        
    var params = $("#lead").serialize();

    $('#leadform').html('<div style="margin:20px auto;width:50px;"><img src="/images/ajax-loader.gif" /></div><span style="color: white; font-size: 14pt">Please wait while we process your request...</span>');
    
    $.post('/ajax/submitlead.php', params, function(data) {
        $('#leadform').html(data);
    });
    
    return false;
}

function SubmitModalLead(vin) {
    if ( !ValidateLeadForm() ) {
        return false;
    }    
    
    var params = $("#lead").serialize();
    
        
    if ( typeof SellerContacted == 'function' ) {
        SellerContacted(vin); 
    }
    
	$('.cforms-bg').html('<span style="color: white; font-size: 14pt">Please wait while we process your request...</span>');
	
    $.post('/ajax/submitlead.php', params, function(data) {
        $('.cforms-bg').html(data);
    });

    return false
}
String.prototype.capitalize = function(){ //v1.0
    return this.replace(/\w+/g, function(a){
        return a.charAt(0).toUpperCase() + a.substr(1).toLowerCase();
    });
};

function ValidateLeadForm() {
    InitializeLeadForm();
    var result = true;
    var error_description = '';
    $('#lead').find("input[type='text'],textarea").each(function(i){    
        $(this).removeClass('error');
		$(this).val(jQuery.trim($(this).val()));
		if ( $(this).hasClass('required') ) {
            if ( is_empty($(this).val()) || $(this).val() == $(this).attr('title') ) {
                result = false;
                $(this).addClass('error');
                error_description += '<div class="error_message">&bull; ' + $(this).attr('title').capitalize() + ' is required.</div>';
            }
        }
		
		if ( $(this).hasClass('maddress') ) {
            if ( is_empty($(this).val()) || $(this).val() == $(this).attr('title') ) {
                result = false;
                $(this).addClass('error');
                error_description += '<div class="error_message">&bull; Valid street address is required.</div>';
            }
        }

        if ( $(this).hasClass('validemail') ) {
            if ( ! is_valid_email($(this).val()) ) {
                result = false;
                $(this).addClass('error');
                error_description += '<div class="error_message">&bull; Valid email address is required.</div>';
            }
        }
        
        if ( $(this).hasClass('zipcode') ) {
            if ( ! is_valid_zipcode($(this).val())) {
                result = false;
                $(this).addClass('error');
                error_description += '<div class="error_message">&bull; Valid U.S. zip code is required.</div>';
            }
        }
        
        if ( $(this).hasClass('validphone') ) {
            if ( ! is_valid_phonenumber($(this).val())) {
                result = false;
                $(this).addClass('error');
                error_description += '<div class="error_message">&bull; Valid 10 digit phone number is required.</div>';
            } else {
                var phonenumber = $(this).val();
                $(this).val(phonenumber.replace(/[^0-9]/g,''));                
            }
        }
    });
    if ( $('#lead input[name="first_name"]').val().length < 3 ) {
        $('#lead input[name="first_name"]').addClass('error');
        error_description += '<div class="error_message">&bull; First name is required to be at least 3 characters.</div>';
        result = false;
    }
	if ( $('#lead input[name="last_name"]').val().length < 3 ) {
        $('#lead input[name="last_name"]').addClass('error');
        error_description += '<div class="error_message">&bull; Last name is required to be at least 3 characters.</div>';
        result = false;
    }
	if ( $('#lead input[name="last_name"]').val().toLowerCase() == $('#lead input[name="first_name"]').val().toLowerCase() ) {
		if ( $('#lead input[name="last_name"]').val() != 'test' && $('#lead input[name="first_name"]').val() != 'test' ) {
			$('#lead input[name="last_name"]').addClass('error');
			error_description += '<div class="error_message">&bull; Last name is required to be different from First Name.</div>';
			result = false;
		}
	}
    
    if ( !result ) {
        $('#lead').find('div.onerror').show();
        $('#lead div.error_description').html(error_description).show();
    }
    return result;
}
