r77131 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r77130‎ | r77131 | r77132 >
Date:04:21, 23 November 2010
Author:kaldari
Status:deferred
Tags:
Comment:
new 1-step form
Modified paths:
  • /trunk/extensions/DonationInterface/payflowpro_gateway/forms/TwoColumnLetter7.php (modified) (history)
  • /trunk/extensions/DonationInterface/payflowpro_gateway/forms/css/TwoColumnLetter7.css (added) (history)

Diff [purge]

Index: trunk/extensions/DonationInterface/payflowpro_gateway/forms/TwoColumnLetter7.php
@@ -12,7 +12,120 @@
1313
1414 parent::__construct( $form_data, $form_errors );
1515 }
 16+
 17+ public function loadPlaceholders() {
 18+ global $wgOut;
 19+ // form placeholder values
 20+ $other = wfMsg( 'payflowpro_gateway-other' );
 21+ $first = wfMsg( 'payflowpro_gateway-first' );
 22+ $last = wfMsg( 'payflowpro_gateway-last' );
 23+ $street = wfMsg( 'payflowpro_gateway-donor-street' );
 24+ $city = wfMsg( 'payflowpro_gateway-donor-city' );
 25+ $zip = wfMsg( 'payflowpro_gateway-zip-code' );
 26+ $email = wfMsg( 'payflowpro_gateway-donor-email' );
 27+ $js = <<<EOT
 28+<script type="text/javascript">
 29+function loadPlaceholders() {
 30+ var otherRadio = document.getElementById('otherRadio');
 31+ var amountOther = document.getElementById('amountOther');
 32+ var fname = document.getElementById('fname');
 33+ var lname = document.getElementById('lname');
 34+ var street = document.getElementById('street');
 35+ var city = document.getElementById('city');
 36+ var zip = document.getElementById('zip');
 37+ var email = document.getElementById('emailAdd');
 38+ if (typeof otherRadio != "undefined" && amountOther.value == '') {
 39+ amountOther.style.color = '#999999';
 40+ amountOther.value = '$other';
 41+ }
 42+ if (fname.value == '') {
 43+ fname.style.color = '#999999';
 44+ fname.value = '$first';
 45+ }
 46+ if (lname.value == '') {
 47+ lname.style.color = '#999999';
 48+ lname.value = '$last';
 49+ }
 50+ if (street.value == '') {
 51+ street.style.color = '#999999';
 52+ street.value = '$street';
 53+ }
 54+ if (city.value == '') {
 55+ city.style.color = '#999999';
 56+ city.value = '$city';
 57+ }
 58+ if (zip.value == '') {
 59+ zip.style.color = '#999999';
 60+ zip.value = '$zip';
 61+ }
 62+ if (email.value == '') {
 63+ email.style.color = '#999999';
 64+ email.value = '$email';
 65+ }
 66+}
 67+addEvent( window, 'load', loadPlaceholders );
1668
 69+function formCheck( ccform ) {
 70+ var msg = [ 'EmailAdd', 'Fname', 'Lname', 'Street', 'City', 'State', 'Zip', 'CardNum', 'Cvv' ];
 71+
 72+ var fields = ["emailAdd","fname","lname","street","city","state","zip","card_num","cvv" ],
 73+ numFields = fields.length,
 74+ i,
 75+ output = '',
 76+ currField = '';
 77+
 78+ var doCheck = true;
 79+ if( typeof( document.payment.PaypalRedirect.value ) !== 'undefined' ) {
 80+ if( document.payment.PaypalRedirect.value == 1 ) {
 81+ doCheck = false;
 82+ }
 83+ }
 84+
 85+ if( doCheck ) {
 86+ for( i = 0; i < numFields; i++ ) {
 87+ if( document.getElementById( fields[i] ).value == '' ) {
 88+ currField = window['payflowproGatewayErrorMsg'+ msg[i]];
 89+ output += payflowproGatewayErrorMsgJs + ' ' + currField + '.\\r\\n';
 90+ }
 91+ }
 92+
 93+ if (document.getElementById('fname').value == '$first') {
 94+ output += payflowproGatewayErrorMsgJs + ' first name.\\r\\n';
 95+ }
 96+ if (document.getElementById('lname').value == '$last') {
 97+ output += payflowproGatewayErrorMsgJs + ' last name.\\r\\n';
 98+ }
 99+ if (document.getElementById('street').value == '$street') {
 100+ output += payflowproGatewayErrorMsgJs + ' street address.\\r\\n';
 101+ }
 102+ if (document.getElementById('city').value == '$city') {
 103+ output += payflowproGatewayErrorMsgJs + ' city.\\r\\n';
 104+ }
 105+ if (document.getElementById('zip').value == '$zip') {
 106+ output += payflowproGatewayErrorMsgJs + ' zip code.\\r\\n';
 107+ }
 108+
 109+ // validate email address
 110+ var apos = document.payment.emailAdd.value.indexOf("@");
 111+ var dotpos = document.payment.emailAdd.value.lastIndexOf(".");
 112+
 113+ if( apos < 1 || dotpos-apos < 2 ) {
 114+ output += payflowproGatewayErrorMsgEmail;
 115+ }
 116+ }
 117+
 118+ if( output ) {
 119+ alert( output );
 120+ return false;
 121+ } else {
 122+ return true;
 123+ }
 124+}
 125+</script>
 126+EOT;
 127+ $wgOut->addHeadItem( 'placeholders', $js );
 128+ }
 129+
17130 public function generateFormStart() {
18131 global $wgOut, $wgRequest;
19132
@@ -93,7 +206,7 @@
94207 // amount
95208 $otherChecked = false;
96209 $amount = -1;
97 - if ( $this->form_data['amount'] != 100 && $this->form_data['amount'] != 50 && $this->form_data['amount'] != 35 && $this->form_data['amount'] != 20 && $this->form_data['amountOther'] > 0 ) {
 210+ if ( $this->form_data['amount'] != 250 && $this->form_data['amount'] != 150 && $this->form_data['amount'] != 100 && $this->form_data['amount'] != 75 && $this->form_data['amount'] != 50 && $this->form_data['amount'] != 35 && $this->form_data['amount'] != 20 && $this->form_data['amountOther'] > 0 ) {
98211 $otherChecked = true;
99212 $amount = $this->form_data['amountOther'];
100213 }
@@ -102,30 +215,33 @@
103216 $form .= '</tr>';
104217 $form .= '<tr>';
105218 $form .= '<td class="label">' . Xml::label( wfMsg( 'payflowpro_gateway-donor-amount' ), 'amount' ) . '</td>';
106 - $form .= '<td>' . Xml::radio( 'amount', 100, $this->form_data['amount'] == 100, array( 'onfocus' => 'clearField2( document.getElementById(\'amountOther\'), "Other" )' ) ) . '100 ' .
107 - Xml::radio( 'amount', 50, $this->form_data['amount'] == 50, array( 'onfocus' => 'clearField2( document.getElementById(\'amountOther\'), "Other" )' ) ) . '50 ' .
108 - Xml::radio( 'amount', 35, $this->form_data['amount'] == 35, array( 'onfocus' => 'clearField2( document.getElementById(\'amountOther\'), "Other" )' ) ) . '35 ' .
109 - Xml::radio( 'amount', 20, $this->form_data['amount'] == 20, array( 'onfocus' => 'clearField2( document.getElementById(\'amountOther\'), "Other" )' ) ) . '20 ' .
 219+ $form .= '<td>' .
 220+ Xml::radio( 'amount', 20, $this->form_data['amount'] == 20, array( 'onfocus' => 'clearField2( document.getElementById(\'amountOther\'), "Other" )' ) ) . '$20 ' .
 221+ Xml::radio( 'amount', 35, $this->form_data['amount'] == 35, array( 'onfocus' => 'clearField2( document.getElementById(\'amountOther\'), "Other" )' ) ) . '$35 ' .
 222+ Xml::radio( 'amount', 50, $this->form_data['amount'] == 50, array( 'onfocus' => 'clearField2( document.getElementById(\'amountOther\'), "Other" )' ) ) . '$50 ' .
 223+ Xml::radio( 'amount', 75, $this->form_data['amount'] == 75, array( 'onfocus' => 'clearField2( document.getElementById(\'amountOther\'), "Other" )' ) ) . '$75 ' .
 224+ '<br/>' .
 225+ Xml::radio( 'amount', 100, $this->form_data['amount'] == 100, array( 'onfocus' => 'clearField2( document.getElementById(\'amountOther\'), "Other" )' ) ) . '$100 ' .
 226+ Xml::radio( 'amount', 150, $this->form_data['amount'] == 150, array( 'onfocus' => 'clearField2( document.getElementById(\'amountOther\'), "Other" )' ) ) . '$150 ' .
 227+ Xml::radio( 'amount', 250, $this->form_data['amount'] == 250, array( 'onfocus' => 'clearField2( document.getElementById(\'amountOther\'), "Other" )' ) ) . '$250 ' .
 228+ Xml::radio( 'amount', $amount, $otherChecked, array( 'id' => 'otherRadio' ) ) . Xml::input( 'amountOther', '7', $this->form_data['amountOther'], array( 'type' => 'text', 'onfocus' => 'clearField(this, "Other");document.getElementById("otherRadio").checked=true;', 'maxlength' => '10', 'onblur' => 'document.getElementById("otherRadio").value = this.value;', 'id' => 'amountOther' ) ) .
 229+ Html::hidden( 'currency_code', 'USD' ) .
110230 '</td>';
111231 $form .= '</tr>';
112 - $form .= '<tr>';
113 - $form .= '<td class="label"></td>';
114 - $form .= '<td>' . Xml::radio( 'amount', $amount, $otherChecked, array( 'id' => 'otherRadio' ) ) . Xml::input( 'amountOther', '7', $this->form_data['amountOther'], array( 'type' => 'text', 'onfocus' => 'clearField(this, "Other");document.getElementById("otherRadio").checked=true;', 'maxlength' => '10', 'onblur' => 'document.getElementById("otherRadio").value = this.value;', 'id' => 'amountOther' ) ) .
115 - ' ' . $this->generateCurrencyDropdown() . '</td>';
116 - $form .= '</tr>';
117232
118233 // email opt-in
 234+ /*
119235 $email_opt_value = ( $wgRequest->wasPosted() ) ? $this->form_data[ 'email-opt' ] : true;
120236 $form .= '<tr>';
121237 $form .= '<td class="label"> </td>';
122238 $form .= '<td class="check-option">' . Xml::check( 'email-opt', $email_opt_value );
123239 $form .= ' ';
124 - // put the label inside Xml::openElement so any HTML in the msg might get rendered (right, Germany?)
125240 $form .= Xml::openElement( 'label', array( 'for' => 'email-opt' ) );
126241 $form .= wfMsg( 'donate_interface-email-agreement' );
127242 $form .= Xml::closeElement( 'label' );
128243 $form .= '</td>';
129244 $form .= '</tr>';
 245+ */
130246
131247 $form .= '<tr>';
132248 $form .= '<td class="label">' . wfMsg( 'payflowpro_gateway-payment-type' ) . '</td>';
@@ -146,45 +262,74 @@
147263 $form .= Xml::openElement( 'table', array( 'id' => 'payflow-table-cc', 'style' => 'display: none;' ) );
148264 }
149265
150 - // name
151 - $form .= $this->getNameField();
 266+ // card number
 267+ $form .= $this->getCardNumberField();
152268
153 - // email
154 - $form .= $this->getEmailField();
155 -
 269+ // expiry
156270 $form .= '<tr>';
157 - $form .= '<td colspan=2><span class="creditcard-error-msg"> </span></td>';
 271+ $form .= '<td class="label">' . Xml::label( wfMsg( 'payflowpro_gateway-donor-expiration' ), 'expiration' ) . '</td>';
 272+ $form .= '<td>' . $this->generateExpiryMonthDropdown() . ' / ' . $this->generateExpiryYearDropdown() . '</td>';
158273 $form .= '</tr>';
159 -
160 - // card number
161 - $form .= $this->getCardNumberField();
162 -
 274+
163275 // cvv
164276 $form .= $this->getCvvField();
165277
166 - // expiry
167 - $form .= $this->getExpiryField();
 278+ // name
 279+ $form .= '<tr>';
 280+ $form .= '<td colspan=2><span class="creditcard-error-msg">' . $this->form_errors['fname'] . '</span></td>';
 281+ $form .= '</tr>';
 282+ $form .= '<tr>';
 283+ $form .= '<td colspan=2><span class="creditcard-error-msg">' . $this->form_errors['lname'] . '</span></td>';
 284+ $form .= '</tr>';
 285+ $form .= '<tr>';
 286+ $form .= '<td class="label">' . Xml::label( wfMsg( 'payflowpro_gateway-name-on-card' ), 'fname' ) . '</td>';
 287+ $form .= '<td>' . Xml::input( 'fname', '30', $this->form_data['fname'], array( 'type' => 'text', 'onfocus' => 'clearField( this, \''.wfMsg( 'payflowpro_gateway-first' ).'\' )', 'maxlength' => '25', 'class' => 'required', 'id' => 'fname' ) ) .
 288+ Xml::input( 'lname', '30', $this->form_data['lname'], array( 'type' => 'text', 'onfocus' => 'clearField( this, \''.wfMsg( 'payflowpro_gateway-last' ).'\' )', 'maxlength' => '25', 'id' => 'lname' ) ) . '</td>';
 289+ $form .= "</tr>";
168290
169291 // street
170 - $form .= $this->getStreetField();
 292+ $form .= '<tr>';
 293+ $form .= '<td colspan=2><span class="creditcard-error-msg">' . $this->form_errors['street'] . '</span></td>';
 294+ $form .= '</tr>';
 295+ $form .= '<tr>';
 296+ $form .= '<td class="label">' . Xml::label( wfMsg( 'payflowpro_gateway-billing-address' ), 'street' ) . '</td>';
 297+ $form .= '<td>' . Xml::input( 'street', '30', $this->form_data['street'], array( 'type' => 'text', 'onfocus' => 'clearField( this, \''.wfMsg( 'payflowpro_gateway-donor-street' ).'\' )', 'maxlength' => '100', 'id' => 'street', 'class' => 'fullwidth' ) ) .
 298+ '</td>';
 299+ $form .= '</tr>';
171300
172301 // city
173 - $form .= $this->getCityField();
 302+ $form .= '<tr>';
 303+ $form .= '<td colspan=2><span class="creditcard-error-msg">' . $this->form_errors['city'] . '</span></td>';
 304+ $form .= '</tr>';
 305+ $form .= '<tr>';
 306+ $form .= '<td class="label"> </td>';
 307+ $form .= '<td>' . Xml::input( 'city', '18', $this->form_data['city'], array( 'type' => 'text', 'onfocus' => 'clearField( this, \''.wfMsg( 'payflowpro_gateway-donor-city' ).'\' )', 'maxlength' => '40', 'id' => 'city' ) ) . ' ' .
 308+ $this->generateStateDropdown() . ' ' .
 309+ Xml::input( 'zip', '5', $this->form_data['zip'], array( 'type' => 'text', 'onfocus' => 'clearField( this, \''.wfMsg( 'payflowpro_gateway-zip-code' ).'\' )', 'maxlength' => '10', 'id' => 'zip' ) ) .
 310+ Html::hidden( 'country', 840 ) .
 311+ '</td>';
 312+ $form .= '</tr>';
174313
175 - // state
176 - $form .= $this->getStateField();
 314+ // country
 315+ /*
 316+ $form .= '<tr>';
 317+ $form .= '<td colspan=2><span class="creditcard-error-msg">' . $this->form_errors['country'] . '</span></td>';
 318+ $form .= '</tr>';
 319+ $form .= '<tr>';
 320+ $form .= '<td class="label"> </td>';
 321+ $form .= '<td>' . $this->generateCountryDropdown() . '</td>';
 322+ $form .= '</tr>';
 323+ */
177324
178 - // zip
 325+ // email
179326 $form .= '<tr>';
180 - $form .= '<td colspan=2><span class="creditcard-error-msg">' . $this->form_errors['zip'] . '</span></td>';
 327+ $form .= '<td colspan=2><span class="creditcard-error-msg">' . $this->form_errors['emailAdd'] . '</span></td>';
181328 $form .= '</tr>';
182329 $form .= '<tr>';
183 - $form .= '<td class="label">' . Xml::label( wfMsg( 'payflowpro_gateway-donor-postal' ), 'zip' ) . '</td>';
184 - $form .= '<td>' . Xml::input( 'zip', '15', $this->form_data['zip'], array( 'type' => 'text', 'maxlength' => '15', 'id' => 'zip' ) ) .
 330+ $form .= '<td class="label">' . Xml::label( wfMsg( 'payflowpro_gateway-email-receipt' ), 'emailAdd' ) . '</td>';
 331+ $form .= '<td>' . Xml::input( 'emailAdd', '30', $this->form_data['email'], array( 'type' => 'text', 'onfocus' => 'clearField( this, \''.wfMsg( 'payflowpro_gateway-donor-email' ).'\' )', 'maxlength' => '64', 'id' => 'emailAdd', 'class' => 'fullwidth' ) ) .
185332 '</td>';
186333 $form .= '</tr>';
187 - // country
188 - $form .= $this->getCountryField();
189334
190335 /*
191336 $comment_opt_value = ( $wgRequest->wasPosted() ) ? $this->form_data[ 'comment-option' ] : true;
@@ -200,6 +345,7 @@
201346 }
202347
203348 public function generateFormSubmit() {
 349+ global $wgScriptPath;
204350
205351 // cc submit button
206352 if ( $this->form_data['card'] == 'cc1' || $this->form_data['card'] == 'cc2' || $this->form_data['card'] == 'cc3' || $this->form_data['card'] == 'cc4' ) {
@@ -208,10 +354,10 @@
209355 $form = Xml::openElement( 'div', array( 'id' => 'payflowpro_gateway-form-submit', 'style' => 'display: none;' ) );
210356 }
211357 $form .= Xml::openElement( 'div', array( 'id' => 'mw-donate-submit-button' ) );
212 - $form .= Xml::element( 'input', array( 'class' => 'button-plain', 'value' => wfMsg( 'payflowpro_gateway-donor-submit' ), 'onclick' => 'document.payment.PaypalRedirect.value=0;return true;', 'type' => 'submit' ) );
 358+ $form .= Xml::element( 'input', array( 'src' => $wgScriptPath . "/extensions/DonationInterface/payflowpro_gateway/includes/submit-donation-button.png", 'alt' => 'Submit donation', 'onclick' => 'document.payment.PaypalRedirect.value=0;return true;', 'type' => 'image' ) );
213359 $form .= Xml::closeElement( 'div' ); // close div#mw-donate-submit-button
214360 $form .= Xml::openElement( 'div', array( 'class' => 'mw-donate-submessage', 'id' => 'payflowpro_gateway-donate-submessage' ) ) .
215 - wfMsg( 'payflowpro_gateway-donate-click' );
 361+ Xml::element( 'img', array( 'src' => $wgScriptPath . "/extensions/DonationInterface/payflowpro_gateway/includes/padlock.gif", 'style' => 'vertical-align:baseline;margin-right:4px;' ) ) . 'Your donation will be securely processed.';
216362 $form .= Xml::closeElement( 'div' ); // close div#payflowpro_gateway-donate-submessage
217363 $form .= Xml::closeElement( 'div' ); // close div#payflowpro_gateway-form-submit
218364
@@ -223,9 +369,12 @@
224370 }
225371 $form .= Xml::openElement( 'div', array( 'id' => 'mw-donate-submit-button' ) );
226372 $form .= Html::hidden( 'PaypalRedirect', 0 );
227 - $form .= Xml::element( 'input', array( 'class' => 'button-plain', 'value' => wfMsg( 'payflowpro_gateway-donor-submit' ), 'onclick' => 'document.payment.PaypalRedirect.value=1;return true;', 'type' => 'submit' ) );
 373+ $form .= Xml::element( 'input', array( 'src' => $wgScriptPath . "/extensions/DonationInterface/payflowpro_gateway/includes/submit-donation-button.png", 'alt' => 'Submit donation', 'onclick' => 'document.payment.PaypalRedirect.value=1;return true;', 'type' => 'image' ) );
 374+ $form .= Xml::closeElement( 'div' ); // close div#mw-donate-submit-button
 375+ $form .= Xml::openElement( 'div', array( 'class' => 'mw-donate-submessage', 'id' => 'payflowpro_gateway-donate-submessage' ) ) .
 376+ Xml::element( 'img', array( 'src' => $wgScriptPath . "/extensions/DonationInterface/payflowpro_gateway/includes/padlock.gif", 'style' => 'vertical-align:baseline;margin-right:4px;' ) ) . 'Your donation will be securely processed.';
228377 $form .= Xml::closeElement( 'div' ); // close div#payflowpro_gateway-donate-submessage
229 - $form .= Xml::closeElement( 'div' ); // close div#payflowpro_gateway-form-submit
 378+ $form .= Xml::closeElement( 'div' ); // close div#payflowpro_gateway-submit-paypal
230379 return $form;
231380 }
232381
@@ -248,23 +397,44 @@
249398 return $form;
250399 }
251400
252 - /**
253 - * Generates the donation footer ("There are other ways to give...")
254 - * @returns string of HTML
255 - */
256401 public function generateDonationFooter() {
257402 global $wgScriptPath;
258403 $form = '';
259404 $form .= Xml::openElement( 'div', array( 'class' => 'payflow-cc-form-section', 'id' => 'payflowpro_gateway-donate-addl-info' ) );
260 - $form .= Xml::openElement( 'div', array( 'id' => 'payflowpro_gateway-donate-addl-info-secure-logos' ) );
261 - $form .= Xml::tags( 'p', array( 'class' => '' ), Xml::openElement( 'img', array( 'src' => $wgScriptPath . "/extensions/DonationInterface/payflowpro_gateway/includes/rapidssl_ssl_certificate-nonanimated.png" ) ) );
262 - $form .= Xml::closeElement( 'div' ); // close div#payflowpro_gateway-donate-addl-info-secure-logos
263405 $form .= Xml::openElement( 'div', array( 'id' => 'payflowpro_gateway-donate-addl-info-text' ) );
264 - $form .= Xml::tags( 'p', array( 'class' => '' ), wfMsg( 'payflowpro_gateway-otherways-short' ) );
265 - $form .= Xml::tags( 'p', array( 'class' => '' ), wfMsg( 'payflowpro_gateway-credit-storage-processing' ) );
266 - $form .= Xml::tags( 'p', array( 'class' => '' ), wfMsg( 'payflowpro_gateway-question-comment' ) );
 406+ $form .= Xml::tags( 'div', array( 'style' => 'text-align:center;' ), '* * *' );
 407+ $form .= Xml::tags( 'div', array( 'class' => '' ), wfMsg( 'payflowpro_gateway-credit-storage-processing' ) );
 408+ $form .= Xml::tags( 'div', array( 'class' => '' ), wfMsg( 'payflowpro_gateway-otherways-alt' ) );
 409+ $form .= Xml::tags( 'div', array( 'class' => '' ), wfMsg( 'payflowpro_gateway-question-comment' ) );
267410 $form .= Xml::closeElement( 'div' ); // close div#payflowpro_gateway-donate-addl-info-text
268411 $form .= Xml::closeElement( 'div' ); // close div#payflowpro_gateway-donate-addl-info
269412 return $form;
270413 }
 414+
 415+ public function generateStateDropdown() {
 416+ require_once( dirname( __FILE__ ) . '/../includes/stateAbbreviations.inc' );
 417+
 418+ $states = statesMenuXML();
 419+
 420+ $state_opts = Xml::option( '', '' );
 421+
 422+ // generate dropdown of state opts
 423+ foreach ( $states as $value => $state_name ) {
 424+ if ( $value !== 'YY' && $value !== 'XX' ) {
 425+ $selected = ( $this->form_data[ 'state' ] == $value ) ? true : false;
 426+ $state_opts .= Xml::option( $value, $value, $selected );
 427+ }
 428+ }
 429+
 430+ $state_menu = Xml::openElement(
 431+ 'select',
 432+ array(
 433+ 'name' => 'state',
 434+ 'id' => 'state'
 435+ ) );
 436+ $state_menu .= $state_opts;
 437+ $state_menu .= Xml::closeElement( 'select' );
 438+
 439+ return $state_menu;
 440+ }
271441 }
Index: trunk/extensions/DonationInterface/payflowpro_gateway/forms/css/TwoColumnLetter7.css
@@ -0,0 +1,156 @@
 2+table#donation_amount {
 3+ background-color:transparent;
 4+ border:1px solid #AAAAAA;
 5+ border-collapse:collapse;
 6+ width: 394px;
 7+}
 8+table#donation_amount td.amount_header {
 9+ background-color:#eef2f7;
 10+ font-size:90%;
 11+}
 12+table#donation_amount td.amount_data {
 13+ background-color:#daf2db;
 14+}
 15+h3.cc_header {
 16+ padding-bottom: 0;
 17+ margin-bottom: 0;
 18+ font-weight: normal;
 19+}
 20+div#payflowpro_gateway-donate-addl-info-text {
 21+ font-size: 90%;
 22+ line-height: 120%;
 23+}
 24+div#payflowpro_gateway-donate-submessage {
 25+ font-size: 90%;
 26+ line-height: 120%;
 27+}
 28+#payflow-table-donor td.label, #payflow-table-comment td.label, #payflow-table-cc td.label {
 29+ padding-right:1em;
 30+ text-align:right;
 31+ width:94px;
 32+}
 33+input#city {
 34+ width: 166px;
 35+}
 36+input#zip {
 37+ width: 65px;
 38+}
 39+
 40+.payflow-cc-form-section {
 41+ float: none;
 42+ margin-right: 0em;
 43+ margin-bottom: 1em;
 44+}
 45+
 46+#payflowpro_gateway-cc_form_container {
 47+ width: 100%;
 48+}
 49+
 50+#payflowpro_gateway-cc_form_form {
 51+ width: 475px;
 52+ float: right;
 53+ margin-left: 2em;
 54+ padding-left: 2em;
 55+ border-left: 1px solid #BBBBBB;
 56+}
 57+
 58+#payflowpro_gateway-cc_form_letter {
 59+ height: 100%;
 60+}
 61+
 62+#payflowpro_gateway-cc_form_letter p {
 63+ font-size: 1.125em;
 64+ margin-bottom: 1.2em;
 65+}
 66+
 67+#payflowpro_gateway-personal-info {
 68+ margin-right:0 !important;
 69+}
 70+
 71+#payflowpro_gateway-donate-addl-info-secure-logos {
 72+ float: left;
 73+ margin-right: 2em;
 74+}
 75+
 76+#payflowpro_gateway-cc_form_letter_inside {
 77+ padding-top: .5em;
 78+}
 79+
 80+#payflowpro_gateway-cc_otherways {
 81+ padding-top: .5em;
 82+ display: block;
 83+}
 84+#payflowpro_gateway-donate-addl-info {
 85+ margin-top:2em !important;
 86+ margin-bottom:1em !important;
 87+}
 88+
 89+#appeal {
 90+ background-color:transparent;
 91+ border-color:transparent;
 92+ border-style:solid;
 93+ border-width:1px 0 1px 1px;
 94+ padding:16px 24px 24px;
 95+}
 96+#appeal-head {
 97+ font-size:1.5em;
 98+ line-height:1.125em;
 99+ padding-bottom:0.5em;
 100+ padding-top:0.125em;
 101+}
 102+#appeal-body {
 103+ font-size:1.125em;
 104+ margin-bottom:1em;
 105+ padding:0.2em 0;
 106+}
 107+#donate {
 108+ background-color:#cce7cd;
 109+ border:1px solid #5EAC58;
 110+ padding:16px 24px 24px;
 111+ width:450px;
 112+}
 113+#donate-head {
 114+ border:none;
 115+ font-size:1.5em;
 116+ line-height:1.125em;
 117+ padding-bottom:0em;
 118+ padding-top:0.125em;
 119+}
 120+#donate-body {
 121+ font-size:1.125em;
 122+ margin-bottom:1em;
 123+}
 124+input#fname {
 125+ width:133px !important;
 126+}
 127+input#lname {
 128+ width:155px !important;
 129+}
 130+input.fullwidth {
 131+ width:300px !important;
 132+}
 133+
 134+/* Move the form up */
 135+#mw-head-base {
 136+ height: 1em !important;
 137+}
 138+
 139+/* Hiding content border */
 140+table {
 141+ background-color: transparent;
 142+}
 143+div#content {
 144+ background-color: transparent !important;
 145+ background-image: none !important;
 146+}
 147+div#mw-head-base {
 148+ background-image: none !important;
 149+}
 150+#footer {
 151+ background-image: none !important;
 152+}
 153+
 154+/* Hiding stuff we don't need */
 155+h1#firstHeading, div#contentSub {
 156+ display: none;
 157+}

Status & tagging log