/*FORUM*/

function add_post(form_id, topic_id) {
	
	var form = $(form_id);
	var text = $('text-' + topic_id).value;
	
	if(!text || text == 'Antwort') return false;
	
	
	
	new Ajax.Request(form.readAttribute('action') + '/?ajax=1&text=' + escape(text),  {
		onSuccess: function(transport) {
			if(transport.responseText == 'error') {
				alert("Systemfehler");
			}
			else {
				
				new Insertion.Before('new-' + topic_id, transport.responseText);
				$('text-' + topic_id).value = 'Antwort';
				new Effect.BlindUp('area-new-' + topic_id);
				
			}
		}
	});
	
	return false;
}



function toggleOtherElement(selected, element) {
	if(selected=='other') {
		$(element).style.display = 'block';
	}
	else $(element).style.display = 'none';
}



function toggleComments(link) {
	
	var container = $('container-comments');
	var caption = (container.visible()) ? 'Kommentare einblenden' : 'Kommentare ausblenden';
	
	link.update(caption);
	link.title = caption;
	
	container.toggle();
	
	//new Effect.toggle(container, 'blind');
	
	
	return false;
}

//toggle
function toggleArea(id_item, id_list, show) {
	var item = $(id_item);
	var current = item.style.display;
	var cat = $(id_list);
	
	if(current == 'none' && (show == undefined || show == true)) {
		new Effect.BlindDown(id_item);
		cat.addClassName('show');
	} else {
		if (show == undefined || show == false) {
			new Effect.BlindUp(id_item);
			cat.removeClassName('show');
		}
	}
	return true;
}

//toggle&close
function toggleItemInfo(id_item, id_list, toggle) {
	var item = $(id_item);
	var current = item.style.display;
	var cat = $(id_list);
	
	//reset subnavis
	
	var open = $$('.open')[0];
	if(open) {
		open.removeClassName('open');
	}

	var toggleItems = $$(toggle);
	
	toggleItems.each(function(n) {
		if(n.style.display != 'none') {
			new Effect.BlindUp(n);
		}
	});
	
	if(current == 'none') {
		new Effect.BlindDown(id_item);		
		cat.addClassName('open');
	} else {
		new Effect.BlindUp(id_item);
		cat.removeClassName('open')
	}
	return true;
}



//check form
function checkForm(id_form) {
	

	var fElms = $(id_form).getElements();
	var errorMessage = '';
	var texterror = false;

	for(i=0; i < fElms.length; i++) {
		if(fElms[i].getAttribute('rel')) {
			var checktype	= fElms[i].getAttribute('rel');
			var checkvalue	= fElms[i].value;
			
			switch (checktype) {
				case 'integer':
					if(isNaN(checkvalue) || checkvalue == '') {
						if(fElms[i].getAttribute('type')=='hidden') {
							
							switch (_language) {
								case 'de':
									errorMessage += 'Bitte überprüfen Sie Ihre Eingaben!'+"\n";
								break;
								
								default:
									errorMessage += 'Please check your inputs!'+"\n";
								break;
							}
						}
							
						} else {
							
							if(checkvalue) {
								
								switch (_language) {
									case 'de':
										errorMessage += '"'+checkvalue+'" ist keine Zahl!'+"\n";
									break;
									
									default:
										errorMessage += '"'+checkvalue+'" is not a number!'+"\n";
									break;
								}		
							} 
						}
					
					break;
					
				case 'text':
					if((checkvalue=='Name' ||  checkvalue=='Nachricht' || checkvalue=='name' ||  checkvalue=='message') && !texterror ) {
						var texterror = true;
						
						switch (_language) {
							case 'de':
								errorMessage += 'Bitte füllen Sie alle nötigen Felder aus!'+"\n";
							break;
							
							default:
								errorMessage += 'Please fill in all required informations!'+"\n";
							break;
						}	

					}
					
					break;
					
				case 'email':
					var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
					if(!filter.test(checkvalue)) {
						
						switch (_language) {
							case 'de':
								errorMessage += 'Bitte überprüfen Sie Ihre Emailadresse!'+"\n";
							break;
							
							default:
								errorMessage += 'Please check your email-address!'+"\n";
							break;
						}	
					
					}
					
					break;
			}
		}
	}
	
	if(errorMessage!='') {
		alert(errorMessage);
		return false;
	}
	
	return true;
}



function check_abo(values) {
	
	var error = 'Bitte prüfen Sie folgende Felder: ' + "\n";
	
	pairs = values.split('&');
	var check_fields =  ["gender=Frau", "firstname=Vorname*", "lastname=Name*", "street=Straße*", "number=Nr.*", "number=Wohnort*", "zip=PLZ*", "dob=Geburtsdatum (TT.MM.JJJJ)", "phone=Telefon", "fax=Telefax", "email=Email", "account_firstname=Vorname*", "account_lastname=Name*", "account_insitute=Geldinstitut*", "account_code=BLZ*", "account_number=Kontonummer*", "payment=bank"];
	
	
	for(i in check_fields) {
		if(typeof(check_fields[i]) != 'function') {
			
			field = check_fields[i].split('=');
			
			fieldvalue = $$('input[name=' + field[0] + ']').value;
			console.log(fieldvalue);
			if(field[0].substring(0,8) != 'account_' && field[0] != 'bank') {
				
				if(fieldvalue == field[1] || (field[1].substring(field[1].length-1, field[1].length) == '*' && fieldvalue == '')) {
					error += field[1].substring(0, field[1].length-1) + "\n";
				}
			}
		}
	}
	
	
	alert(error);
	
	
	return false;
	
	
}

function check_form(form, check) {
	var failedElements = [];
	
	check.each(function(n) {
		var parts = n.split("=");
		var elem = form[parts[0]];

		if (parts[1].charAt(parts[1].length - 1) == "*") {
			console.log(n);
			if (parts[1].charAt(parts[1].length - 2) == "@") {
				
				var defaultValue = parts[1].substr(0, parts[1].length - 2);
				
				var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
				if (!filter.test($F(elem))) {
					failedElements.push(elem);
				}
			} else {
				var defaultValue = parts[1].substr(0, parts[1].length - 1);
				if ($F(elem) == "" || $F(elem) == defaultValue) {
					failedElements.push(elem);
				} 
			}
		}
	});
	
	return failedElements;
}

/*function check_register_form(form) {
	var messages = [];
	
	var check = "user[lastname]=Name*, user[firstname]=Vorname*, user[street]=Straße*, user[street_number]=Nr.*, user[zip]=PLZ*, user[city]=Ort*, user[bank_number]=Kontonummer*, user[bank_code]=BLZ*, user[bank_name]=Kreditinstitut*, user[password]=Passwort*, user[password2]=Wiederholung*".split(", ");

	var failedElements = check_form(form, check);
	
	if (form["user[bank_aux_owner]"].checked) {
		var check_aux = "user[bank_lastname]=Name*, user[bank_firstname]=Vorname*".split(", ");
		var c = check_form(form, check_aux);
		failedElements = failedElements.concat(c);
	}
	
	var checkMail = ["user[email]=E-Mail@*"];
	var c = check_form(form, checkMail);
	if (c.length > 0) {
		messages.push("Bitte tragen Sie eine gültige E-Mail-Adresse ein!");
	}
	failedElements = failedElements.concat(c);
	
	if (!form["terms"].checked) {
		messages.push("Bitte akzeptieren sie die AGB!");
		failedElements.push(form["terms"]);
	}
	
	form.getElements().each(function(e) {
		e.removeClassName("form-error");
	});
	
	if (failedElements.length > 0) {
		messages.push("Bitte füllen sie das Formular vollständig aus!");
		
		failedElements.each(function(n) {
			n.addClassName("form-error");
		});
		
		alert(messages.join("\n"));
		
		return false;
	}
	return true;
}*/

function check_login_form(form) {
	var messages = [];
	
	var check = "email=E-Mail@*, password=Passwort*".split(", ");
	
	var failedElements = check_form(form, check);
	
	form.getElements().each(function(e) {
		e.removeClassName("form-error");
	});
	
	if (failedElements.length > 0) {
		messages.push("Bitte geben sie eine gültige E-Mail-Adresse und ein Passwort ein!");
		
		failedElements.each(function(n) {
			n.addClassName("form-error");
		});
		
		alert(messages.join("\n"));
		
		return false;
	}
	
	return true;
}

function check_newsletter_form(form) {
	var messages = [];
	var check = "email=E-Mail@*".split(", ");
	var failedElements = check_form(form, check);
	
	form.getElements().each(function(e) {
		e.removeClassName("form-error");
	});
	
	if (failedElements.length > 0) {
		messages.push("Bitte geben sie eine gültige E-Mail-Adresse ein!");
		
		failedElements.each(function(n) {
			n.addClassName("form-error");
		});
		
		alert(messages.join("\n"));
		
		return false;
	}
	
	return true;
}

function check_contact_form(form) {
	var messages = [];
	
	var check = "lastname=Name*, firstname=Vorname*, email=E-Mail@*, message=Nachricht*".split(", ");
	
	var failedElements = check_form(form, check);
	
	form.getElements().each(function(e) {
		e.removeClassName("form-error");
	});
	
	if (failedElements.length > 0) {
		messages.push("Bitte füllen Sie das Formular vollständig aus!");
		
		failedElements.each(function(n) {
			n.addClassName("form-error");
		});
		
		alert(messages.join("\n"));
		
		return false;
	}
	
	return true;
}

