function confirmation(text) {
	var yes = confirm(text);
	if (yes) return true;
	return false;
}


//toggle
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 || !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_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;
}


//calculator


function hideInputs() {
	
	var hide = $$('.radio');
	
	
	hide.each(function(n) {
		n.style.display = 'none';
		});
		
	var show = $$('.checkbox');
		
	show.each(function(n) {
		n.style.display = 'block';
		});
}


function changeBackground(id) {
	
	obj = $(id);
	
	if (obj.className != "over") {
		obj.addClassName('over');
	}
}

function clearBackground(id) {
	
	obj = $(id);
	
	obj.removeClassName('over');

}


function activateRadio(radioId, boxId) {
	
	var active = $$('.active');
	active.each(function(n) {
		n.removeClassName('active')
		});
	
	var box = document.getElementById(boxId);
	
	box.addClassName('active');
	
	
	var myRadio = document.getElementById(radioId);
	
	if (!myRadio.checked) {
		myRadio.checked = true;
		
	}
	
	//$('calculatorForm').submit();
	
}


///gallery slider
var coverSlideIntervalIdentifier = -1;
var coverSlidePosition = 1;

function coverSlide(direction, numberOfImages) {
	if(direction == "right") {
		coverSlidePosition++;
	}
	if(direction == "left") {
		coverSlidePosition--;
	}
	if(coverSlideIntervalIdentifier == -1) coverSlideIntervalIdentifier = window.setInterval("coverSlideInterval("+numberOfImages+")", 40);
}

function coverSlideInterval(numberOfImages) {
	var element = document.getElementById("coverSliderContainer");
	var actualPosition = element.offsetLeft;
	var pictureWidth = 140;
	var stepSize = 10;
	var targetPosition = (coverSlidePosition - 1) * pictureWidth;
	
	if(Math.max(actualPosition, targetPosition) - Math.min(actualPosition, targetPosition) <= stepSize) {
		window.clearInterval(coverSlideIntervalIdentifier);
		coverSlideIntervalIdentifier = -1;
		element.style.left =  "0px";
	}
	if(actualPosition > targetPosition - targetPosition*2) {
		element.style.left = (actualPosition - stepSize) + "px";
	}
	else if(actualPosition < targetPosition - targetPosition*2) {
		element.style.left = (actualPosition + stepSize) + "px";
	}
	if(actualPosition < (numberOfImages * pictureWidth) - (numberOfImages * pictureWidth) * 2) {
		actualPosition = actualPosition - ((numberOfImages * pictureWidth) - (numberOfImages * pictureWidth) * 2);
		element.style.left = actualPosition + "px";
		coverSlidePosition -= numberOfImages;
	}
	if(actualPosition > 0) {
		tempActualPosition = actualPosition
		actualPosition = (numberOfImages * pictureWidth) - (numberOfImages * pictureWidth) * 2;
		element.style.left = (actualPosition + tempActualPosition) + "px";
		coverSlidePosition += numberOfImages;
	}
	
}
