// Protect the global namespace. Use $ for jQuery within.

(function($) {


$(document).ready( function() {

  // Ensure only one login dialog is open at a time
  var launching_login = false;

  $('.event-login-link').bind( 'click', function() {

    if (launching_login) return false;
    launching_login = true;
      
    // Find fundraiser id
    var frId = null;
    var classes = this.className.split( ' ' );
    for( var i = 0; i < classes.length; i++ ) {
	var name = classes[i];
	if( name.indexOf( 'fr-id-' ) == 0 ) {
	    frId = name.substr( "fr-id-".length );
	}
    }

    $.ajax({
      url: '/aim-for-action/fundraiser/login.html',
      dataType: 'html',
      type: 'get',
      data: { ajax: 1 },
      error: function() {
        /* TODO display ajax error message */
        launching_login = false;
      },
      success: function (html, textStatus) {

        var dlg = $( $.from_html('<div></div>') ).dialog({
          title: "Login",
	  width: 410,
          modal: true,
          resizable: false,
          autoOpen: false,
          open: function(ev, ui) {
            dlg.fundraiserLogin( { 'fundraiser_id' : frId } );
          },
          close: function(ev, ui) {
            launching_login = false;
          },
          buttons: {}
        });

        dlg.html( html );
        dlg.dialog("open");

        return false;

      }
    }); // $.ajax

  }); // event login link

    // Show the correct number of first/last name, email inputs
    $( '#num-registrants' ).bind( 'change', function () {
	var numRegs = $(this).val();
	
	if( !numRegs )
	    return;
	
	if (numRegs > 1) {
		$( '#registrant').show();
	} else {
		$( '#registrant').hide();
	}
	
	for( var i = 2; i <= 25; i++ )
	{
	    regBlock = $( '#registrant_block_' + i );
	    
	    if( i <= numRegs )
		regBlock.show();
	    else
		regBlock.hide();
	}
	
    } ).trigger( 'change' ); // number of registrants
    
    setTimeout( function () { $( '.scroller' ).scroller() }, 3000 );

}); // $(document).ready(...)


$.from_html = function (html) {
  var div = document.createElement('div');
  div.innerHTML = html;
  var elem = div.childNodes[0];
  div.removeChild(elem);
  return elem;
};


})(jQuery);

