var lettermanWebservice = {

	checkRequiredFields : function(requiredList) {
		var error = false;
		this.clearHiddenMessages();

		if (this.checkRequiredError(requiredList))
			error = true;

		if ($("email_input").value == null || $("email_input").value == ''
				|| !this.checkEmail($("email_input").value)) {
			$("requiredMsg_email_format").show();
			error = true;
		}

		if (this.zeroChecked("kategorien_input")) {
			$("requiredMsg_katgories").show();
			error = true;
		}
		return !error;
	},

	checkRequiredFieldsForProfileUpdate : function(requiredList) {
		return !this.checkRequiredError(requiredList);
	},

	checkRequiredError : function(requiredList) {
		var i;
		var errorFound = 0;

		for (i = 0; i < requiredList.length; i++) {			
			if (requiredList[i] == 'mailformat_input') {
				if (this.checkSelectedRadio(requiredList[i]) == false) {
					$("requiredMsg_" + requiredList[i]).show();
					errorFound++;
				}
			} else if (requiredList[i] == 'land_input') {				
				if ($(requiredList[i]).value == null
						|| $(requiredList[i]).value == "") {
					$("requiredMsg_" + requiredList[i]).show();
					errorFound++;
				}
			} else if (requiredList[i] == 'geschlecht_input') {
				if (this.checkSelectedRadio(requiredList[i]) == false) {
					$("requiredMsg_" + requiredList[i]).show();
					errorFound++;
				}
			}else if ($(requiredList[i]) == null
					|| this.emptyInput($(requiredList[i]))) {
				$("requiredMsg_" + requiredList[i]).show();
				errorFound++;
			}
		}
		return (errorFound > 0);
	},

	zeroChecked : function(name) {
		var counter = 0;
		var list = document.getElementsByName(name);
		if (list.length == 0)
			return false;
		for ( var i = 0; i < list.length; i++) {
			if (list[i] != null && list[i].checked) {
				counter++;
			}
		}
		if (counter == 0)
			return true;
		else
			return false;

	},

	emptyInput : function(input) {
		if (input == null || $(input) == null)
			return true;
		if ($(input).type == "text") {
			return $(input).value == '';
		} else if ($(input).type == "checkbox") {
			return !$(input).checked;
		} else if ($(input).type == 'radio') {
			return !$(input).checked;
		}
	},

	clearHiddenMessages : function() {
		var list = document.getElementsByName("hiddenMsg");
		var i;
		for (i = 0; i < list.length; i++) {
			if (list[i] != null && list[i].style.diplay != "none")
				list[i].style.display = "none";
		}
	},

	checkSelectedRadio : function(name) {
		var list = document.getElementsByName(name);
		if (list == null || list.length == 0)
			return true;
		for ( var i = 0; i < list.length; i++) {
			if (list[i] != null && list[i].checked) {
				return true;
			}
		}
		return false;
	},

	getSelectedCheckbox : function(name) {
		var list = document.getElementsByName(name);
		var idArray = [];

		for ( var i = 0; i < list.length; i++) {
			if (list[i] != null && list[i].checked) {
				idArray.push(list[i].value);
			}
		}
		if (idArray.length > 0)
			return idArray.join(",");
		else
			return "";
	},

	showHiddenMsg : function(name) {
		this.clearHiddenMessages();
		$(name).show();
	},

	checkEmail : function(emailString) {
		if (emailString == null || emailString == "")
			return false;
		var email = emailString;
		var filter = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		if (!filter.test(email)) {
			return false;
		}
		return true;
	},

	allClear : function() {
		$('subscribeFailed').hide();
		$('subscribeSucceeded').hide();
		$('emailMessage').hide();
		$('subscribeFailedInvalidEmail').hide();
	},

	hide : function(id) {
		$(id).hide();
	},

	showCaptcha : function() {
		$("anmelde_info_div").hide();
		$("anmelde_captcha_div").show();
	},

	weiterLeiten : function(url) {
		this.clearHiddenMessages();
		var email = $("email_input").value;
		if (email == null || email.blank())
			$("requiredMsg_email_format").show();
		if (url != null && !url.blank() && email != null && !email.blank()) {
			if (!url.endsWith("/"))
				url += "/";
			url += "?lettermanaction=subscribe&email%5Finput=";
			url += email;
			document.location.href = url;
		}
		return false;
	}

};