jQuery(document).ready(function($){ var error = true; function addLoading( e ) { e.val( 'attendi...' ).attr('disabled', true); } function removeLoading( e, value_submit ) { e.val(value_submit).attr('disabled', false); } function addError(msg, e, effect) { error = true; e.removeClass('icon success'); e.addClass('icon error'); e.parent().find('.msg-error').text(msg); if( effect !== undefined && effect == true ) { e.css({position:'relative'}).animate({left:-10}, 100).animate({left:10}, 100).animate({left:-5}, 100).animate({left:5}, 100).animate({left:0}, 100); } } function addSuccess(e) { e.parents('li').addClass('icon success'); } function removeError(e) { error = false; e.parent().find('.msg-error').text(''); e.removeClass('icon error'); addSuccess(e); } function checkRequired(e) { var name = $(e).attr('name'); jQuery.globalEval( 'var msg = error_messages.'+name ); if( e.val() == '' ) addError( msg, e ); else removeError(e); } function checkEmail(e) { var expr = /^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$/; var name = $(e).attr('name'); jQuery.globalEval( 'var msg = error_messages.'+name ); if( ( e.val() != '' && !expr.test( e.val() ) ) || ( e.is('.required') && e.val() == '' ) ) addError( msg, e ); else removeError(e); } $('.contact-form').each(function(){ var form = $(this); var value_submit = $('.sendmail', form).val(); $('.required', form).each(function(){ $(this).blur(function(){ checkRequired( $(this) ); }); }); $('.email-validate, form').each(function(){ $(this).blur(function(){ checkEmail( $(this) ); }); }); $(form).submit(function(){ addLoading( $('input:submit', form) ); $('input, select, textarea', form).each(function(){ if ( $(this).hasClass('required') ) checkRequired( $(this) ); if ( $(this).hasClass('email-validate') ) checkEmail( $(this) ); }); $.post('sendmail.asp', $(this).serialize()+'&ajax=1', function(msg) { showMessage = function() { $('.usermessagea', form).css({opacity:0}).html(msg).animate({opacity:1}, 500); } if ( form.is('#quick-form-footer') ) { $('ul', form).slideUp(500, function(){ showMessage(); $( ' Close' ).appendTo( $('.usermessagea', form).find('p') ).addClass('close_msg'); }); } else showMessage(); removeLoading( $('.sendmail', form), value_submit ); }); return false; }); $('.close_msg').live( 'click', function(){ $(this).parents('form').find('ul').slideDown(500); $(this).parent().remove(); return false; }); }); });