AWeber = function(){

    var setSignupSuccess = function(bodyEl, signupButton){
	    return function(o){
                // Load the html into the body content element
		if(document.getElementById('messageDialog')){
	             var n=document.getElementById('messageDialog');
		     n.parentNode.parentNode.removeChild(n.parentNode);
		}
                signupButton.disabled = true;
		bodyEl.innerHTML += o.responseText;
            }
        };
  
        var setSignupFailure = function(bodyEl){
	    return function(o){
            }
        };             

        var setSignupButton = function(bodyEl, aff){
           return function(e){            
            YAHOO.util.Connect.setForm('aweberForm');
	    WIDGET.messagebox('messageDialog', 'Processing ...', '', '', 0, '750px');
            var callback =
	    {
		success: setSignupSuccess(bodyEl, YAHOO.util.Event.getTarget(e)),
    	       failure: setSignupFailure(bodyEl)
     	    };  
            var cObj = YAHOO.util.Connect.asyncRequest('POST', 'aweber/server/aweber.functions.php?run=addSignup&aff='+aff, callback);            
           }
        }

        var loadSuccess = function(bodyEl, aff){
	    return function(o){
                // Load the html into the body content element
		bodyEl.innerHTML += o.responseText;
                YAHOO.util.Event.on("signupButton","click", setSignupButton(bodyEl, aff));
            }
        };
  
        var loadFailure = function(bodyEl){
	    return function(o){
            }
        };             

        var load = function(bodyEl, aff){
          return function(e){
            var callback =
	    {
	       success: loadSuccess(bodyEl, aff),
    	       failure: loadFailure(bodyEl)
     	    };  
            var cObj = YAHOO.util.Connect.asyncRequest('GET', 'aweber/server/aweber.functions.php?run=load', callback);            
         }
       }
     
       return{

	        init : function(bodyEl, aff){
		       return (function(e){
		            try{
				(load(bodyEl, aff))();
			     }
			     catch(err){
			        alert(err + ":ArticleSpinner init()");
			     }
		       });
		   }
	};

}();



