/**
 * @author Dominik Scholz
 */

var newsletter = {
	// vars
	
	// handle enter-key to submit form
	keyUp: function(e){
		
		var keynum;
		
		if(window.event) // IE
			keynum = e.keyCode;
		else if(e.which) // Netscape/Firefox/Opera
			keynum = e.which;
		
		if (keynum == 13)
		{
			this.login();
			return false;
		}

		return true;
		
	},
	
	
	// show register new user form
	register: function() {
		
		if (this.validateRegister() > 0) return;

		var methodParams = {};
		
		methodParams.gender = $F('nlr_gender');
		methodParams.company = $F('nlr_company');
		methodParams.name = $F('nlr_name');
		methodParams.lastname = $F('nlr_lastname');
		methodParams.email = $F('nlr_email');
		methodParams.street = $F('nlr_street');
		methodParams.postcode = $F('nlr_postcode');
		methodParams.city = $F('nlr_city');
		methodParams.country = $F('nlr_country');
		methodParams.position = $F('nlr_position');
		methodParams.phone = $F('nlr_phone');
		methodParams.fax = $F('nlr_fax');
		
		var params = cx.utils.Helpers.createSrvCallParams('Gb_Module_Newsletter', 'subscribe', [], [methodParams]);		
		new Ajax.Request('/GTServer.php',
		{
			method:'post',
			parameters: params,
			onSuccess: function(res) {
			    	var msg = eval(res.responseText);
					$('nlr_spinner').style.display = 'none';
					if (msg > 0) {
						$('nlr_form').style.display = 'none';
						$('nlr_valid').style.display = 'block';
					} else {
						contentproxy.close();
					}
			    }.bind(this)
		});
		$('nlr_spinner').style.display = 'block';
		
	},
	
	
	// validate register form fields
	validateRegister: function() {
		
		var fields = "nlr_email nlr_gender nlr_name nlr_lastname nlr_company".split(' ');

		var regExpEmail = /^[a-z0-9][-a-z0-9._]*[a-z0-9]*\@[a-z0-9]([a-z0-9-]*[a-z0-9])+(\.[a-z0-9][-a-z0-9_-]?[a-z0-9]+)+$/i;

		var errors = 0;
		var field = null;
		var valid = false;
		
		for (var i=0; i<fields.length; i++) {
			field = fields[i];
			
			if (field.indexOf('email') >= 0) valid = $(field).value.match(regExpEmail) != null;
			else valid = $(field).value.length > 0;

			if (valid) {
				$(field).removeClassName('nlr_invalid');
			} else {
				$(field).addClassName('nlr_invalid');
				errors++;
			}
		}
		
		return errors;
		
	}
	
};