var Newsletter = function() {}

Newsletter.prototype.initialize = function()
{
	var formList = $j( '.newsletter_signup_form label' );
	var i;
	for ( i = 0; i < formList.length; i++ ) {
		this.setActions( $j( formList[ i ] ) );
	}
}

Newsletter.prototype.setActions = function( label )
{
	var eventTrackerId = label.attr( 'for' );
	var id = '#' + eventTrackerId;
	var emailInput = $j( id );
	
	label.addClass( 'overlabel' );

	emailInput.blur( function () {
        if ( ! emailInput.val() ) {
            label.removeClass( 'over' );
        }
    });

	emailInput.focus( function () {
        if ( ! emailInput.val() ) {
            label.addClass( 'over' );
        }
    });

	if ( emailInput.val() ) {
		label.addClass( 'over' );
	}

	var obj = this;
    $j( id + '_submit' ).click( function () {
					if ( emailInput.val() ) {
						var form = $j(this).parent();
						while ( ! form.is( 'form' ) && ! form.is( 'body' ) ) {
							form = form.parent();
						}
						
						obj.addNewsletter( form, eventTrackerId  );
					}
					return false;
					
				 } );
}

Newsletter.prototype.addNewsletter = function( formObj, eventTrackerId ) {
    var obj = this;
    this.toggleLoad( formObj );

    $j.ajax( { url  : '/scripts/newsletter.signup.php?resp=y',
               type : 'POST',
               data : formObj.serialize(),
               success : function( data ) {
                  formObj.html( data );
                  obj.toggleLoad( formObj );
                  pageTracker._trackEvent( 'newsletter', eventTrackerId );
               } } );
 
}

Newsletter.prototype.toggleLoad = function( formObj ) {
    formObj.find( 'fieldset' ).toggle();
    formObj.find( 'div' ).toggle();
}

// Depricated
Newsletter.prototype.signup = function( formId ) {
    this.addNewsletter( $j( '#' + formId ) );
}

var newsletter = new Newsletter;

$j(document).ready( function() {
	newsletter.initialize();
});
