	// delete this script tag and use a "div.mce_inline_error{ XXX !important}" selector
	// or fill this in and it will be inlined when errors are generated
	var mc_custom_error_style = '';

	try {
		var jqueryLoaded=jQuery;
		jqueryLoaded=true;
	} catch(err) {
		var jqueryLoaded=false;
	}
	if (!jqueryLoaded) {
		var head= document.getElementsByTagName('head')[0];
		var script= document.createElement('script');
		script.type= 'text/javascript';
		script.src= 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js';
		head.appendChild(script);    
	}
	var fnames = new Array();var ftypes = new Array();fnames[0]='EMAIL';ftypes[0]='email';fnames[1]='FNAME';ftypes[1]='text';fnames[2]='LNAME';ftypes[2]='text';var err_style = '';
	try{
		err_style = mc_custom_error_style;
	} catch(e){
		err_style = 'margin: 1em 0 0 0; padding: 1em 0.5em 0.5em 0.5em; background: ERROR_BGCOLOR none repeat scroll 0% 0%; font-weight: bold; float: left; z-index: 1; width: 80%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: ERROR_COLOR;';
	}
	var head= document.getElementsByTagName('head')[0];
	var style= document.createElement('style');
	style.type= 'text/css';
	if (style.styleSheet) {
	  style.styleSheet.cssText = '.mce_inline_error {' + err_style + '}';
	} else {
	  style.appendChild(document.createTextNode('.mce_inline_error {' + err_style + '}'));
	}
	head.appendChild(style);
	(function($) {
  	$(document).ready( function($) {
  	  var options = { errorClass: 'mce_inline_error', errorElement: 'div', onkeyup: function(){}, onfocusout:function(){}, onblur:function(){}  };
  	  var mce_validator = $("#mc-embedded-subscribe-form").validate(options);
  	  options = { url: 'http://spine-health.us1.list-manage.com/subscribe/post-json?u=f93264af165d7fb7124f7a963&id=bc4c8a1b1b&c=?', type: 'GET', dataType: 'json', contentType: "application/json; charset=utf-8",
  					beforeSubmit: function(){
  						$('#mce_tmp_error_msg').remove();
  						$('.datefield','#mc_embed_signup').each(
  							function(){
  								var txt = 'filled';
  								var fields = new Array();
  								var i = 0;
  								$(':text', this).each(
  									function(){
  										fields[i] = this;
  										i++;
  									});
  								$(':hidden', this).each(
  									function(){
  										if ( fields[0].value=='MM' && fields[1].value=='DD' && fields[2].value=='YYYY' ){
  											this.value = '';
  										} else if ( fields[0].value=='' && fields[1].value=='' && fields[2].value=='' ){
  											this.value = '';
  										} else {
  											this.value = fields[0].value+'/'+fields[1].value+'/'+fields[2].value;
  										}
  									});
  							});
  						return mce_validator.form();
  					}, 
  					success: mce_success_cb
  				};
  	  $('#mc-embedded-subscribe-form').ajaxForm(options);
  
  	});
  	function mce_success_cb(resp){
  		$('#mce-success-response').hide();
  		$('#mce-error-response').hide();
  		if (resp.result=="success"){
  			$('#mce-'+resp.result+'-response').show();
  			$('#mce-'+resp.result+'-response').html(resp.msg);
  			$('#mc-embedded-subscribe-form').each(function(){
  				this.reset();
  			});
  		} else {
  			var index = -1;
  			var msg;
  			try {
  				var parts = resp.msg.split(' - ',2);
  				if (parts[1]==undefined){
  					msg = resp.msg;
  				} else {
  					i = parseInt(parts[0]);
  					if (i.toString() == parts[0]){
  						index = parts[0];
  						msg = parts[1];
  					} else {
  						index = -1;
  						msg = resp.msg;
  					}
  				}
  			} catch(e){
  				index = -1;
  				msg = resp.msg;
  			}
  			try{
  				if (index== -1){
  					$('#mce-'+resp.result+'-response').show();
  					$('#mce-'+resp.result+'-response').html(msg);            
  				} else {
  					err_id = 'mce_tmp_error_msg';
  					html = '<div id="'+err_id+'" style="'+err_style+'"> '+msg+'</div>';
  					
  					var input_id = '#mc_embed_signup';
  					var f = $(input_id);
  					if (ftypes[index]=='address'){
  						input_id = '#mce-'+fnames[index]+'-addr1';
  						f = $(input_id).parent().parent().get(0);
  					} else if (ftypes[index]=='date'){
  						input_id = '#mce-'+fnames[index]+'-month';
  						f = $(input_id).parent().parent().get(0);
  					} else {
  						input_id = '#mce-'+fnames[index];
  						f = $().parent(input_id).get(0);
  					}
  					if (f){
  						$(f).append(html);
  						$(input_id).focus();
  					} else {
  						$('#mce-'+resp.result+'-response').show();
  						$('#mce-'+resp.result+'-response').html(msg);
  					}
  				}
  			} catch(e){
  				$('#mce-'+resp.result+'-response').show();
  				$('#mce-'+resp.result+'-response').html(msg);
  			}
  		}
  	}
	})(jQuery);
;

(function($) {

/**
 * Drupal FieldGroup object.
 */
Drupal.FieldGroup = Drupal.FieldGroup || {};
Drupal.FieldGroup.Effects = Drupal.FieldGroup.Effects || {};

/**
 * Implements Drupal.FieldGroup.processHook().
 */
Drupal.FieldGroup.Effects.processFieldset = {
  execute: function (context, settings, type) {
    if (type == 'form') {
      // Add required fields mark to any fieldsets containing required fields
      $('fieldset.fieldset').each(function(i){
        if ($(this).is('.required-fields') && $(this).find('.form-required').length > 0) {
          $('legend span.fieldset-legend', $(this)).eq(0).append('&nbsp;').append($('.form-required').eq(0).clone());
        }
      });
    }
  }
}

/**
 * Implements Drupal.FieldGroup.processHook().
 */
Drupal.FieldGroup.Effects.processAccordion = {
  execute: function (context, settings, type) {
    $('div.field-group-accordion-wrapper', context).accordion({
      autoHeight: false,
      active: '.field-group-accordion-active'
    });
    if (type == 'form') {
      // Add required fields mark to any element containing required fields
      $('div.accordion-item').each(function(i){
        if ($(this).is('.required-fields') && $(this).find('.form-required').length > 0) {
          $('h3.ui-accordion-header').eq(i).append('&nbsp;').append($('.form-required').eq(0).clone());
        }
      });
    }
  }
}

/**
 * Implements Drupal.FieldGroup.processHook().
 */
Drupal.FieldGroup.Effects.processHtabs = {
  execute: function (context, settings, type) {
    if (type == 'form') {
      // Add required fields mark to any element containing required fields
      $('fieldset.horizontal-tabs-pane').each(function(i){
        if ($(this).is('.required-fields') && $(this).find('.form-required').length > 0) {
          $(this).data('horizontalTab').link.find('strong:first').after($('.form-required').eq(0).clone()).after('&nbsp;');
        }
      });
    }
  }
}

/**
 * Implements Drupal.FieldGroup.processHook().
 */
Drupal.FieldGroup.Effects.processTabs = {
  execute: function (context, settings, type) {
    if (type == 'form') {
      // Add required fields mark to any fieldsets containing required fields
      $('fieldset.vertical-tabs-pane').each(function(i){
        if ($(this).is('.required-fields') && $(this).find('.form-required').length > 0) {
          $(this).data('verticalTab').link.find('strong:first').after($('.form-required').eq(0).clone()).after('&nbsp;');
        }
      });
    }
  }
}

/**
 * Implements Drupal.FieldGroup.processHook().
 * 
 * TODO clean this up meaning check if this is really 
 *      necessary.
 */
Drupal.FieldGroup.Effects.processDiv = {
  execute: function (context, settings, type) {

    $('div.collapsible', context).each(function() {
      var $wrapper = $(this);

      // Turn the legend into a clickable link, but retain span.field-group-format-toggler
      // for CSS positioning.
      var $toggler = $('span.field-group-format-toggler:first', $wrapper);
      var $link = $('<a class="field-group-format-title" href="#"></a>');
      $link.prepend($toggler.contents()).appendTo($toggler);
      
      // .wrapInner() does not retain bound events.
      $link.click(function () {
        var wrapper = $wrapper.get(0);
        // Don't animate multiple times.
        if (!wrapper.animating) {
          wrapper.animating = true;
          var speed = $wrapper.hasClass('speed-fast') ? 300 : 1000;
          if ($wrapper.hasClass('effect-none') && $wrapper.hasClass('speed-none')) {
            $('> .field-group-format-wrapper', wrapper).toggle();
          }
          else if ($wrapper.hasClass('effect-blind')) {
            $('> .field-group-format-wrapper', wrapper).toggle('blind', {}, speed);
          }
          else {
            $('> .field-group-format-wrapper', wrapper).toggle(speed);
          }
          wrapper.animating = false;
        }
        return false;
      });
      
    });
  }
};

/**
 * Behaviors.
 */
Drupal.behaviors.fieldGroup = {
  attach: function (context, settings) {
    if (settings.field_group == undefined) {
      return;
    }
    $('body', context).once('fieldgroup-effects', function () {
      // Execute all of them.
      $.each(Drupal.FieldGroup.Effects, function (func) {
        // We check for a wrapper function in Drupal.field_group as 
        // alternative for dynamic string function calls.
        var type = func.toLowerCase().replace("process", "");
        if (settings.field_group[type] != undefined && $.isFunction(this.execute)) {
          this.execute(context, settings, settings.field_group[type]);
        }
      });
    });
  }
};

})(jQuery);;

