var menumap = {
	'bezirkid' :'bezirk',
	'clickttid' :'clicktt',
	'newsid' :'news',
	'internid' :'intern'
};

function handleMenu() {

	var displayDom = menumap[jQuery(this).attr('id')];
	var jquerydisplayDom=jQuery('#' + displayDom);
	// / CALCULATE POSITION FOR DISPLAY
	var tmpPos = jQuery(this).offset();
	// alert(jQuery(this).outerWidth())
	var arrowHeight = 0;
	var tmpLeft=80;
	var tmpTop=15;
	if ('news' == displayDom){
		tmpLeft=250;
		tmpTop=5;
	}
	var thPositionHeight = tmpPos['top'] + jQuery(this).height()-tmpTop;
	tmpPos['top'] = thPositionHeight + arrowHeight;
	
	
	
	tmpPos['left'] = tmpPos['left'] - tmpLeft;
	if (displayDom!=undefined)
		jquerydisplayDom.css(tmpPos);
	// this ist der Button der geclickt wurde
	
	
	if (!jQuery(this).hasClass("active")) {

		// FADE OUT OTHER ACTIVE ELEMENTS
		var tmpList = jQuery(".active");
	
		if (tmpList.length > 0) {
			tmpList.each( function() {
				// die geöffnete ID
				var displayActiveDom = jQuery(this).attr('id');
				var jqueryElement=jQuery(this);
				// Zuklappen aller offenen Elemente
				jqueryElement.slideUp("fast",function(){
				var opendisplayDom = menumap[jqueryElement.attr('id')];
				
				var openjquerydisplayDom=jQuery('#' + opendisplayDom);
				openjquerydisplayDom.removeClass("active");
				jqueryElement.removeClass("active");
					
			});
				
			})
		}
		
		// FADE IN
	}
	if (!isMenuOpen(jQuery(this)))
		fadeInMenuItem(jQuery(this))
	return false;
};
function isMenuOpen(aQueryMenuButton){
	var displayDom = menumap[aQueryMenuButton.attr('id')];
	if (displayDom==undefined)
		return true
	var popup=jQuery('#' + displayDom);
	if (popup.is (':visible'))
		return true;
	return false;
}
function fadeInMenuItem(aQueryMenuButton) {
	
	var displayDom = menumap[aQueryMenuButton.attr('id')];
	if (displayDom==undefined)
		return
	var popup=jQuery('#' + displayDom);
	popup.slideDown("fast", function() {
		popup.addClass("active");
		
		popup.css("display", "block");
	
		// Wenn ein Link a href im Menucontent gedrückt wird soll das zuklappen
		jQuery('#' + displayDom +' a').bind("click", function() {
			popup.slideUp("slow", function() {
				aQueryMenuButton.removeClass("active");
				popup.removeClass("active");
			});

		})
	});
	

}
function closeElement(id) {
	document.getElementById(id).style.display = "none";
}

function openElement(id) {
	document.getElementById(id).style.display = "block";
}

//this one requires the text "buga", we define a default message, too
// ^(([0-1]?[0-9])|([2][0-3])):([0-5]?[0-9])(:([0-5]?[0-9]))?jQuery	
jQuery.validator.addMethod("checktime", function(value) {
	
 return value=="" || value.match(/^([0-1][0-9]|[2][0-3]):([0-5][0-9])$/);
}, 'Dieses Feld ist eine Uhrzeit im Format HH:MM');

jQuery.validator.addClassRules("time", {
checktime: true
});
function prepare_tooltip(jqForm){
jQuery('.tooltip',jqForm).each(function (i) {
jQuery(this).append('<div class=\"tooltip_head\"></div>');
jQuery(this).append('<div class=\"tooltip_message\"></div>');
jQuery(this).append('<div class=\"tooltip_bottom\"></div>');
});
}
function prepare_Forms(){
jQuery('.form').each(function (i) {

var form =jQuery(this);
prepare_tooltip(form);
//	jQuery(this).jForms({listSize:20,imagePath:'images/jform/'});
	
var messagebox=jQuery('.formalert',jQuery(this));
jQuery(this).submit(submit_form)
jQuery('.required',jQuery(this)).addClass("mandatorystyle");
form.validate(
{
	errorPlacement: function(error, element) {
		
    var elementname=element.attr('name')+'_alert';
    var theID=  jQuery('#'+elementname)
    theID.addClass("error");
   	var tmpmessageDiv=jQuery('.tooltip_message',jQuery('#'+elementname));
 	error.prependTo( tmpmessageDiv );

	var pos
	
	pos = element.position();
	element.addClass("input_alert");
	theID.css({ position: "absolute",
        marginLeft: 0, marginTop: 0,
        top: pos.top-10, left: pos.left+element.width( )+20 
    });
	theID.css('z-index','666');
	
	theID.show(500); 
  },
  errorClass: "message",
  errorElement: "strong",
  
  onkeyup: false, // deaktivieren - notwendig wegen errorHandlerContainer
  onclick: false // deaktivieren - notwendig wegen errorHandlerContainer
});

var errorHandlerContainer = function(){
  jQuery(this).valid(); 
  
 var elementname =jQuery(this).attr('name')+'_alert';
 var jQuerycont =  jQuery('#'+elementname)// Hole message feld
 var haserror = jQuery("strong.message:visible", jQuerycont).size(); 
 
  if (haserror<1) {
    jQuerycont.removeClass("error"); 
    //jQuerycont.removeClass("input_alert");
    jQuerycont .hide(500); 
  } else {
    jQuerycont.addClass("error"); 
    //jQuerycont.addClass("input_alert");
    
    jQuerycont .show(500); 
  }
}
 
// Prüfe wenn Ereignis blur (gegenteil von focus)
jQuery(":input:not(.date_input)", form).blur(errorHandlerContainer);
jQuery(".date_input", form).change(errorHandlerContainer);
// Prüfe wenn Ereignis keyup
jQuery("input, textarea", form).keyup(errorHandlerContainer);
// Prüfe wenn Ereignis change (selectbox)
jQuery("select", form).change(errorHandlerContainer); 
});


}

function submit_form()  {

if( jQuery(this).valid( ))
	{
	
return true
	}
	
var validator = jQuery(this).validate();
validator.showErrors();

return false; 

}

