
function ready(modal) {
    
    forms.setup();

   googleMap.init(modal);    

}

var googleMap = {

    init: function(modal) {
    
         $('#google-map a').click(function(event) {
            event.preventDefault();
            
            if ( ! $('#google-map-box').exists()) {
                
                var selector = modal ? '#modal' : '#content-body';
                
                
                $(selector)
                    .append('<div id="google-map-box" style="display: none;"><iframe style="display: block; width: 100%; height: 100%;" scrolling="no" src="' + config.basePath + 'map/google' + '"></iframe><span id="close">close</span></div>')
                
                $('#close').click(function() { 
                
                    $('#google-map-box').fadeOut(500);
                    $('#employment, #close-block').show();                
                });
                
            }
            
            $('#employment, #close-block').hide();                
            $('#google-map-box').fadeIn(500);
            
            
        });
        

    
    }


}

var forms = {
 givenFocus: null,     

    setup: function() {
        var self = this;
        
      
        
        
        
        var $formObjects = $('form input, form textarea');

        
        $formObjects.focus(function() {
         
			$(this).parents('div').addClass('active-input')
	
        
        });
        
        $formObjects.blur(function() {
        
            $(this).parents('div').removeClass('active-input');
        });
        
        $formObjects.keyup(function() {
            
            var $parentDiv = $(this).parent('div');
            
             if ($parentDiv.hasClass('error')) {
	            $parentDiv.removeClass('error');
               $parentDiv.find('.error-message').fadeOut(1000);
            
            }
        
        });
        
        
        
        
        $('form').submit(function() {
        
            // validate fields
            forms.givenFocus = null;
            var error = false;
            
            var $nameObject = $(this).find('.input-text input[name=name]');
            
            if ( ! $nameObject.val().match(self.nameRegex)) {
                
                error = true;
                self.showError($nameObject, 'You must enter a valid name.')
            
            }
            
            var $emailObject = $(this).find('.input-text input[name=email]');
            
            if ( ! $emailObject.val().match(self.emailRegex)) {
                
                error = true;
                self.showError($emailObject, 'You must enter a valid email address.')
            
            }
            
            var $messageObject = $(this).find('.input-textarea textarea[name=message]');
          
            
            if ($messageObject.val() === '') {
                
                error = true;
                self.showError($messageObject, 'You must enter a message.')
            
            }
            
            
            if (error) {
                
                return false;
            
            }
            
            // no error, so let's ajax the stuff over shall we?
            
            $(this).
            find('div.input-submit').
            addClass('sending').
            find('button').
            attr('disabled', 'true').
            after('<span class="status-message">Sending...</span>');
                       
            var postValues =   {
                name: $($nameObject).val(), 
                email: $($emailObject).val(),
                message: $($messageObject).val(),
                form: $(this).find('input[name=form]').val()
            };
            
            
            var form = this;

            
            $.post(config.basePath + 'contact/', postValues, function(data) {
              
                // get json here and make sure it sent
              
                
              
                var $statusObject = $(form).find('.status-message');

                
                if (data.success) {
              
                                  
                    $statusObject.removeClass('failed').text(data.message);
                  
                    setTimeout(function() {
                    
                        $statusObject.fadeOut(1500).remove();
                        
                        $(form).find('input[type=text], textarea').val('');
                        
                        $(form).find('button[type=submit]').removeAttr('disabled').parent('div').removeClass('sending');

                    
                    }, 1500);
                
                } else { // error with ajax
                
                    $statusObject.addClass('failed').text(data.message);
                    $(form).find('button[type=submit]').removeAttr('disabled');

                }
              

              
              
              }, 'json');

            
            
            return false;
        
        
        });
        
        
    
    },
    
    showError: function(errorObject, errorText) {
        
        if ( ! this.givenFocus) {
            $(errorObject).focus();
            this.givenFocus = true;
        }
        
		
		 
        $(errorObject).parent('div').find('span.error-message').remove().end().addClass('error').prepend('<span class="error-message" title="' + errorText + '">'  + errorText + '</span>');    
        
        $(errorObject).parent('div').find('.error-message').fadeIn(1000);
        
        
    
    },
    emailRegex: /^.+@.+\..+/i,

    nameRegex: /^[a-z-'\s]{2,}$/i


}

