$(document).ready(function(){
    function disableClick(){
        //console.log('Function Start :: disableClick();');
        error = false;
        if(email_error || name_error || phone_error || message_error){
            submit.attr('disabled','true');
            submit.addClass('disabled');
            error = false;
            //console.log(submit.attr('disabled'));
        } else{
            submit.attr('disabled','');
            submit.removeClass('disabled');
            error = true;
        }
        //console.log('Function End :: disableClick();');
    }
    var form = $('#contact-sidebar');
    var name = $('#name');
    var email = $('#email');
    var phone = $('#phone');
    var message = $('#message');
    var submit = $('#submit');
    var error_div = $('#errors');
    var name_error = true;
    var email_error = true;
    var phone_error = true;
    var message_error = true;
    disableClick();
    $('#contact-sidebar input').change(function(){
        disableClick();
    });
    name.blur(function(){
        //console.log('Function Start :: name.blur();');
        if(empty(name.attr('value'))){
            name.removeClass('error');
            $('.name_error').remove();
            name.addClass('good');
            name_error = false;
            disableClick();
        }else{
            name.addClass('error');
            if(error_div.has('.name_error').length > 0){
            }else{
                error_div.append('<span class=\'name_error\'>Please Enter a Name<br/></span>');
            }
            name_error = true;
            disableClick();
        }
        //console.log('Function End :: name.blur();');
    });
    email.blur(function(){
        //console.log('Function Start :: email.blur();');
        if(!validateEmail(email.attr('value'))){
            email.removeClass('error');
            $('.email_error').remove();
            email.addClass('good');
            email_error = false;
            disableClick();
        }else{
            email.addClass('error');
            if(error_div.has('.email_error').length > 0){
            }else{
            error_div.append('<span class=\'email_error\'>Please Enter a Valid Email<br/></span>');
            }
            email_error = true;
            disableClick();
        }
        //console.log('Function End :: email.blur();');
    });
    phone.blur(function(){
        //console.log('Function Start :: phone.blur();');
        if(validatePhone(phone.attr('value'))){
            phone.removeClass('error');
            $('.phone_error').remove();
            phone.addClass('good');
            phone_error = false;
            disableClick();
        }else{
            phone.addClass('error');
            if(error_div.has('.phone_error').length > 0){
            }else{
                error_div.append('<span class=\'phone_error\'>Please Enter a Valid Phone Number<br/></span>');
            }
            phone_error = true;
            disableClick();
        }
        //console.log('Function End :: phone.blur();');
    });
    message.blur(function(){
        //console.log('Function Start :: message.blur();');
        if(empty(message.attr('value'))){
            message.removeClass('error');
            $('.message_error').remove();
            message.addClass('good');
            message_error = false;
            disableClick();
        }else{
            message.addClass('error');
            if(error_div.has('.message_error').length > 0){
            }else{
                error_div.append('<span class=\'message_error\'>Please Enter a Message<br/></span>');
            }
            message_error = true;
            disableClick();
        }
       // console.log('Function End :: message.blur();');
    });
    $('input').change(function(){
		console.log('...');
		disableClick();
	});
	$('textarea').change(function(){
		disableClick();
	});
    form.submit(function(){
        var action = 'http://www.whitemediadev.com/hughes/contact_us/send_email';
        var post = {};
        post.email = $('#email').val();
        post.phone = $('#phone').val();
        post.name = $('#name').val();
        post.message = $('#message').val();
        $.post(action,post,function(resp){
            form.hide('slow',function(){
				error_div.html('Thanks for emailing us');
			});
            
        });
        return false;
    });
});
function validateEmail(strng) {
    var email_error=false;
    var emailFilter=/^.+@.+\..{2,4}$/;
    if (!(emailFilter.test(strng))) {
        email_error = true;
    }
    else
    {
        //test email for illegal characters
        var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
        if (strng.match(illegalChars)) {
            email_error = true;
        }
    }
    return email_error;
}
function empty(string){
    var empty = false;
    if(string == undefined || string == null || string == ''){
        return empty;
    }
    else
    {
        empty = true;
        return empty;
    }
}
function validatePhone(phone) {
    var error = false;
    var stripped = phone.replace(/[\(\)\.\-\ ]/g, '');

    if (phone.value == "") {
        error = false;
    } else if (isNaN(parseInt(stripped))) {
        error = false;
    } else if (!(stripped.length == 10 || stripped.length == 7)) {
        error = false;
    } else{
        error = true;
    }
    return error;
}
$(window).bind("load", function() {
    jQuery.fn.cleardefault = function() {
        return this.focus(function() {
            if( this.value == this.defaultValue ) {
                this.value = "";
            }
        }).blur(function() {
            if( !this.value.length ) {
                this.value = this.defaultValue;
            }
        });

    };
    jQuery("input, textarea").cleardefault();
});
