
		function saveSignUp(obj){
			if ( validateForm(obj) ){ 
				//new ajax ('custom/processors/proc_SaveSignup.asp', {postBody: 'email='+obj.txtEmail.value+'&firstname='+obj.txtFirstName.value+'&lastname='+obj.txtLastName.value, update: $('inputarea'), onComplete: callBack});
				obj.submit();
				return;
			}
		};

				
		function initInputs(){
			document.getElementById("inputarea").innerHTML = '<input type="hidden" name="RegistrationForm" value="54" />' +
			'<input type="hidden" name="Datapoints" value="Email,firstname,zipcode,onlineregistrants" />' +
			'<input name="OnlineRegistrants" type="hidden" value="Yes" />' +
			'<input type="hidden" name="RegistrationPage" value="1" /><input type="hidden" value="29" name="mv"/>' +
			'<div class="formheader"><strong>Newsletter Sign-Up</strong> - <a href="javascript:_showform();" tabindex="5">Cancel</a></div>' +
			'<div><input type="text" maxlength="100" name="firstname" id="firstname" tabindex="1" value="" onFocus="changeInput(this,true, String(defInput1).toUpperCase())"  onBlur="changeInput(this, false, String(defInput1).toUpperCase() )" />' +		
			'<input type="text" maxlength="100" name="Email" id="Email" tabindex="2" value="" onFocus="changeInput(this,true, String(defInput3).toUpperCase())"  onBlur="changeInput(this, false, String(defInput3).toUpperCase() )" /></div>' +
			'<input type="text" maxlength="100" name="zipcode" id="zipcode" tabindex="3" value="" onFocus="changeInput(this,true, String(defInput2).toUpperCase())"  onBlur="changeInput(this, false, String(defInput2).toUpperCase() )" />' +
			'<div class="submitBtn"><a href="javascript: void(0);" onclick="javascript:saveSignUp(document.frmNewsletterEmailSignup);return false;" tabindex="4">&nbsp<span>Submit</span></a>'+
			'<input type="submit" value="Submit" style="display:none;"/></div>';
		}

		function clearText(){	
			document.frmNewsletterEmailSignup.firstname.value = String(defInput1).toUpperCase();
			document.frmNewsletterEmailSignup.zipcode.value = String(defInput2).toUpperCase();
			document.frmNewsletterEmailSignup.Email.value = String(defInput3).toUpperCase();
		};

	//VALIDATE EMAIL
	function validateForm(obj){
		var sErr = '';
		if(obj.firstname.value == '' || obj.firstname.value ==  defInput1) sErr += '- Please provide First Name.\n';
		if(obj.zipcode.value == '' || obj.zipcode.value ==  defInput2) sErr += '- Please provide Zipcode\n';
		if(!validateEmail(obj.Email) || obj.Email.value ==  defInput3) sErr += '- Email Not Valid\n';
		
		if(sErr != ''){
			alert(sErr);return false;
		}else{
			return true;
		}
	}
	
	function validateEmail(o){
		var str = o.value;
		var at='@'; var dot='.';
		var lat=str.indexOf(at); var lstr=str.length; var ldot=str.indexOf(dot);
			if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
				return false;
			if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
				return false;
			if (str.indexOf(at,(lat+1))!=-1)
				return false;
			if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
				return false;
			if (str.indexOf(dot,(lat+2))==-1)
				return false;
			if (str.indexOf(' ')!=-1)
				return false;
		 
			return true;	
	}; 
	
	function changeInput(obj,empty, def){
		obj.value = (empty && obj.value == def)? "" : (obj.value.length > 0)? obj.value : def;
	};

	
	/////////////////////////////
	// effect function
	var fxExpandForm;var fxShowForm;
	var defInput1 = "First Name"; var defInput2 = "Zip Code"; var defInput3 = "Email Address";  
	preSetSignUpEffect();
	
	function preSetSignUpEffect(){
		fxExpandForm = new fx.Height('openarea', {duration: 400 ,onComplete:_onShowFormComplete });
		fxShowForm = new fx.Opacity('inputarea', {duration: 500 }); 
		//preSetHeaderEffect();
		initInputs();
		clearText();
	}
		
   /* window.onload = function(){   
		preSetSignUpEffect();
		//preSetHeaderEffect();
	} */
	
	function _showform(){
		var curH = xHeight('openarea');
		var desH = (curH == 0)? 100:0;
		if(curH != 0) fxShowForm.custom(100,0); 
			fxExpandForm.custom(curH,desH);	
	}
	
	function _onShowFormComplete(){
		if(xHeight('openarea') != 0) fxShowForm.custom(0,100);
		if(xHeight('openarea') == 0) initInputs();clearText();
	}