/**
 * @author Matthias Weidlich
 */

function checkContactForm() {
	var result = true;
  	regex = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
                   '(\\@)([a-zA-Z0-9\\-\\.]+)'+
                   '(\\.)([a-zA-Z]{2,4})$');
  	if (!(regex.test($('email').value))) {
    	alert("Bitte geben Sie Ihre Email Adresse an.");
    	$('email').focus();
    	result = false;
  	}
	return result;
}

function effectInfo(infosub, h){
	var link = $(infosub + 'link');
	var sub_outer = $(infosub + 'outer');
	var sub_over = $(infosub + 'over');
	
	if (sub_outer.offsetHeight <= 0) {
		link.firstChild.nodeValue = "Ausblenden...";
		effectOpen(sub_outer.effects(), h, false);
		effectOpen(sub_over.effects(), h, true);
	}
	else {
		link.firstChild.nodeValue = "Weitere Informationen...";
		effectClose(sub_over.effects(), sub_outer.effects(), infosub + 'outer');
	}
}

function effectOpen(item, height, with_opac){
	if (with_opac == true) {
		item.custom({
			'height': [0,height]
		}).chain(function(){
			item.custom({
			  'opacity': [1,0]
			});
		});
	}
	else {
		item.custom({
			'height': [0, height]
		});
	}
}

function effectClose(item, item2, sub_name){
	h = $(sub_name).offsetHeight;
	item.custom({
	  'opacity': [0,1]
	}).chain(function (){
		item.custom({
		  'height': [h,0]
		});
		item2.custom({
		  'height': [h,0]
		});
	});
}


function fireRequest(target){
	new ajax(target,{method: 'get', update:'ajax_target'}).request();
	return false;
}

function changeSingleUrl(menu, link) {
	var new_href = link.getAttribute('href');
	var regex = new RegExp('.*' + menu + '_open=1.*');
	
	if (new_href.match(/(.*)\?(.*)/)) {
		var url = RegExp.$1;
		var get_parameter = RegExp.$2;
		if (!(regex.test(get_parameter))) {
			if (get_parameter.length > 0)
				link.setAttribute('href', new_href + "&" + menu + "_open=1");
			else
				link.setAttribute('href', new_href + menu + "_open=1");				
		}
		else {
			delete regex;
			regex = new RegExp('&' + menu + '_open=1|' + menu + '_open=1&|' + menu + '_open=1');
			get_parameter = get_parameter.replace(regex, '');
			delete regex;
			regex = new RegExp('&' + menu + '_open=1&');
			get_parameter = get_parameter.replace(regex, '&');
			if (get_parameter.length > 0)
				get_parameter = '?' + get_parameter;
			link.setAttribute('href', url + get_parameter);
		}
	}
	else {
		link.setAttribute('href', new_href + "?" + menu + "_open=1");
	}
}

function effectMenu(outer, over, height){
	if (outer.offsetHeight <= 0) {
		effectOpen(outer.effects(), height, false);
		effectOpen(over.effects(), height, true);
	}
	else if (outer.offsetHeight >= height){
		effectClose(over.effects(), outer.effects(), outer);
	}
}

function menuAction(menu, height) {

	treatLinks(menu);

	var sub_outer = $(menu + '_outer');
	var sub_over = $(menu + '_over');
	var sub_ext = $(menu + '_ext');
	
	var other = 'fv';
	if (menu == 'fv') { other = 'np';}
	
	var other_outer = $(other + '_outer');
	var other_over = $(other + '_over');
	var other_ext = $(other + '_ext');
	
	if ((other_outer.offsetHeight >= other_ext.offsetHeight) && (other_outer.offsetHeight != 0)) {
		treatLinks(other);
		other_over.style.height = other_ext.offsetHeight + "px";
		effectClose(other_over.effects(), other_outer.effects(), other + '_outer');
	}
	sub_over.style.height = height + "px";
	effectMenu(sub_outer, sub_over, height);
}

function treatLinks(menu) {
	var myLinks = document.getElementsByTagName("a");
	for(var i=0; i < myLinks.length; ++i) {
		// javascript link?
		if (!(myLinks[i].getAttribute('href').match(/((https{0,1}|ftp|):\/\/)|javascript:/))) {
			changeSingleUrl(menu, myLinks[i]);
		}
		else if (myLinks[i].getAttribute('href').match(/(http:\/\/(www\.){0,1}foerderverein-schlaubetal\.de.*)/)) {
			changeSingleUrl(menu, myLinks[i]);
		}
	}
}
