document.write('<style type=\'text/css\'>\n#mc_campaign_983.mcWidget table, #mc_campaign_983.mcWidget caption, #mc_campaign_983.mcWidget tbody, #mc_campaign_983.mcWidget tfoot, #mc_campaign_983.mcWidget thead, #mc_campaign_983.mcWidget tr, #mc_campaign_983.mcWidget th, #mc_campaign_983.mcWidget td {\n	margin: 0;\n	padding: 0;\n	border: 0;\n	outline: 0;\n	font-size: 100%;\n	vertical-align: baseline;\n	background: transparent;\n}\n\n#mc_campaign_983.mcWidget{\n  padding: 1em;\n  margin: 0;\n}\n\n  #mc_campaign_983.mcWidget div{ }\n  \n  #mc_campaign_983.mcWidget a{ }\n  \n  #mc_campaign_983 img, #mc_campaign_983 div{\n    padding: 0;\n    margin: 0;\n  }\n  \n  #mc_campaign_983.mcWidget .mcHeader{ }\n  \n    #mc_campaign_983.mcWidget .mcHeader .mcName{\n      text-align: center;\n    }\n\n#mc_campaign_983 .mcPhoneNumber input {\n  margin: 0 1em 1em 0;\n  float: left;\n}\n\n#mc_campaign_983 .mcStatusMessage {\n}\n\n#mc_campaign_983 .mcButtonDonationSubmit button {\n  \n}\n\n#mc_campaign_983.mcWidget .valid {\n  color: green;\n}\n<\/style>\n<div class=\'mcWidget\' id=\'mc_campaign_983\'>\n<div class=\'mcCampaignDonation\'>\n<div class=\'mcHeader\'>\n<h3 class=\'mcName\'>\nCovenant House FL\n<\/h3>\n<\/div>\n<div class=\'mcBody\'>\n<p>\nEnter your phone number to give a\n$10\ndonation through your phone\n<\/p>\n<div class=\'mcPhoneNumber\' id=\'mcPhoneNumber\'>\n<input id=\"donation_phone_number\" name=\"donation[phone_number]\" size=\"17\" type=\"text\" />\n<\/div>\n<div class=\'mcStatusMessage\'><\/div>\n<div class=\'mcDonationSubmit\' id=\'mcDonationSubmit\'>\n<button id=\"mcButtonDonationSubmit\" value=\"Send me a donation invitation\"><span>Send me a donation invitation<\/span><\/button>\n<\/div>\n<\/div>\n<div class=\'mcFooter\'>\n<div class=\'mcBranding\'><\/div>\n<\/div>\n<\/div>\n<\/div>\n');

(function(version, src, fun){
  var when = function(condition, fun, time){
    if(condition()){
      return fun();
    } else {
      setTimeout(function(){
        when(condition, fun, time);
      }, time);
    }
  };

  var documentHead = (function(){
    return document.getElementsByTagName("head")[0];
  })();

  var loadJquery = function(){
    if(!jQueryLoaded()){
      var script = document.createElement("script");
      script.setAttribute("type", "text/javascript");
      script.setAttribute("src", src);
      documentHead.appendChild(script);
    }
  };

  var jQueryLoaded = function(){
    return (typeof(jQuery) === 'function' && jQuery.fn.jquery === version);
  };

  loadJquery();

  when(jQueryLoaded, function(){
    fun(jQuery.noConflict());
  }, 10);

})('1.3.2', "https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js", function($){
  /*
   jQuery delayed observer - 0.8
   http://code.google.com/p/jquery-utils/

   (c) Maxime Haineault <haineault@gmail.com>
   http://haineault.com

   MIT License (http://www.opensource.org/licenses/mit-license.php)

  */

  (function($){
      $.extend($.fn, {
          delayedObserver: function(callback, delay, options){
              return this.each(function(){
                  var el = $(this);
                  var op = options || {};
                  el.data('oldval', el.val())
                      .data('delay', delay || 0.5)
                      .data('condition', op.condition || function() { return ($(this).data('oldval') == $(this).val()); })
                      .data('callback', callback)
                      [(op.event||'keyup')](function(){
                          if (el.data('condition').apply(el)) { return; }
                          else {
                              if (el.data('timer')) { clearTimeout(el.data('timer')); }
                              el.data('timer', setTimeout(function(){
                                  el.data('callback').apply(el);
                              }, el.data('delay') * 1000));
                              el.data('oldval', el.val());
                          }
                      });
              });
          }
      });
  })(jQuery);

  // This is where you start implementing widget-specific stuff.
  var phone_number_field = $('#mc_campaign_983 .mcPhoneNumber input:first');
  var widget = $('#mc_campaign_983');
  var host = 'http://causecast.mobilecause.com';
  var campaignId = '983';
  var submitBtn = $("#mc_campaign_983 .mcDonationSubmit button:first");
  var statusMessage = $("#mc_campaign_983 .mcStatusMessage:first");
  // var carrier_campaign = $('#mcCarrierList');

  submitBtn.click(function(){
    $.getJSON('http://causecast.mobilecause.com/t2g/campaigns/fiaoYxzQa0Z/donations/widget_create.jsonp?donation%5Bopt_in_url%5D=http%3A%2F%2Fcausecast.mobilecause.com%2Fcampaigns%2FfiaoYxzQa0Z%2Fdonations%2Fweb.js&_method=get&_callback=?',
           phone_number_field.serialize(),
           function(data){
             if (data.status == 'Success') {
               refreshStatusMessage("invalid_phone", "OK - we sent you an invite!");
               submitBtn.find('span').text("Send me another invite");
             } else {
               refreshStatusMessage("invalid_phone", data.status);
             }
           });
    return false;
  });

  function addMcPhoneInstructions(){
    if(jQuery(this).val()=='') {
      jQuery(this).val('$10 donation');
      jQuery(this).css('color', '#999');
    }
    else {
      jQuery(this).css('color', '#000');
    }
  }
  function removeMcPhoneInstructions(){
    if(jQuery(this).val()=='$10 donation') {
      jQuery(this).val('');
      jQuery(this).css('color', '#000');
    }
  }
  phone_number_field.blur(addMcPhoneInstructions);
  phone_number_field.focus(removeMcPhoneInstructions);
  phone_number_field.trigger('blur');

  phone_number_field.delayedObserver(function(value, autocompleteObject){
    updateStatus();
    return false;
  }, 0.5);

  function updateStatus() {

    phone_number = phone_number_field.attr('value');

    if(phone_number.length > 9 && phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/) ) {
      submitBtn.addClass("valid");
      refreshStatusMessage("invalid_phone", "looks good!");
    } else {
      submitBtn.removeClass("valid");
      refreshStatusMessage("invalid_phone", "looks wrong..");
    }
  }

  function refreshStatusMessage(status, message) {
    message = (!message) ? '' : message;

    statusMessage.text(message);
    /*
    if(status == "invalid_phone") {
      $('#mcStatusNotSubscribed').hide();
      $('#mcStatusInvalid').css('display', 'none');
      $('#mcStatusSubscribed').css('display', 'none');
      $('#mcStatusInvited').css('display', 'block');
    }
    */
  }

});

