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';
fnames[2]='COMPANY';
ftypes[2]='text';

try {
    var jqueryLoaded=jQuery;
    jqueryLoaded=true;
} catch(err) {
    var jqueryLoaded=false;
}

var head= document.getElementsByTagName('head')[0];
var err_style = '';
try{
    err_style = mc_custom_error_style;
} catch(e){
    err_style = '';
}
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);

var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'http://downloads.mailchimp.com/js/jquery.form-n-validate.js';
head.appendChild(script);
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;';
}

//setTimeout('mce_preload_check();', 250);
window.addEvent('domready', function() { mce_preload_check(); });
var mce_preload_checks = 0;
function mce_preload_check() {
    if (mce_preload_checks>40) return;
    mce_preload_checks++;
    try {
//		console.log("jq loaded");
        var jqueryLoaded=jQuery;
    } catch(err) {
//		console.log("jq loaded _ FAIL");
        setTimeout('mce_preload_check();', 250);
        return;
    }
    try {
//		console.log("jq validate");
        var validatorLoaded=jQuery("#fake-form").validate({});
    } catch(err) {
//		console.log("jq validate _ FAIL");	
        setTimeout('mce_preload_check();', 250);
        return;
    }
//	console.log("initing the form");
    mce_init_form();
}

function mce_init_form() {
    jQuery(document).ready( function($) {
      var options = { errorClass: 'mce_inline_error', errorElement: 'div', onkeyup: function(){}, onfocusout:function(){}, onblur:function(){}  };
      var mce_validator = jQuery("#mc-embedded-subscribe-form").validate(options);
      jQuery("#mc-embedded-subscribe-form").unbind('submit');//remove the validator so we can get into beforeSubmit on the ajaxform, which then calls the validator
      options = { url: 'http://todo.us2.list-manage.com/subscribe/post-json?u=c398d7a5e47f3ac982bb5f19a&id=2b7cca215b&c=?', type: 'GET', dataType: 'json', contentType: "application/json; charset=utf-8",
                    beforeSubmit: function(){
                        jQuery('#mce_tmp_error_msg').remove();
                        jQuery('.datefield','#mc_embed_signup').each(
                            function() {
                                var txt = 'filled';
                                var fields = new Array();
                                var i = 0;
                                jQuery(':text', this).each(
                                    function(){
                                        fields[i] = this;
                                        i++;
                                    });
                                jQuery(':hidden', this).each(
                                    function() {
                                        if (fields.length == 2) fields[2] = {'value':1970};//trick birthdays into having years
                                    	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
                };
      jQuery('#mc-embedded-subscribe-form').ajaxForm(options);      
      
    });
}
function mce_success_cb(resp){
    jQuery('#mce-success-response').hide();
    jQuery('#mce-error-response').hide();
    if (resp.result=="success") {
        jQuery('#mce-'+resp.result+'-response').show();
        jQuery('#mce-'+resp.result+'-response').html(resp.msg);
        jQuery('#mc-embedded-subscribe-form').each(function(){
            this.reset();
    	});


		$$(".mc-field-group").each(function(el, idx) {
			var hideLabels = new Fx.Morph(el, { duration: '300', transition: Fx.Transitions.Sine.easeOut });
			hideLabels.start({
		    	'height': [30, 0],
		    	'opacity': 0
			});
		});
		
		$('mc-embedded-subscribe').fade('0');
    } 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){
                jQuery('#mce-'+resp.result+'-response').show();
                jQuery('#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 = jQuery(input_id);
                if (ftypes[index]=='address'){
                    input_id = '#mce-'+fnames[index]+'-addr1';
                    f = jQuery(input_id).parent().parent().get(0);
                } else if (ftypes[index]=='date'){
                    input_id = '#mce-'+fnames[index]+'-month';
                    f = jQuery(input_id).parent().parent().get(0);
                } else {
                    input_id = '#mce-'+fnames[index];
                    f = jQuery().parent(input_id).get(0);
                }
                if (f){
                    jQuery(f).append(html);
                    jQuery(input_id).focus();
                } else {
                    jQuery('#mce-'+resp.result+'-response').show();
                    jQuery('#mce-'+resp.result+'-response').html(msg);
                }
            }
        } catch(e){
            jQuery('#mce-'+resp.result+'-response').show();
            jQuery('#mce-'+resp.result+'-response').html(msg);
        }
    }
}

