
var orig_size = new Array(2);

// Treecrumb-Klasse
var TreeCrumb = function() {		

	// Klassen zuweisen
	this.init = function() {			
		var i = 0;
		var t = '#treecrumb>div';
		var s = $(t).size()-1;	
		$(t+" ul li:first-child a").addClass('startseite');
		$(t).map( function() {
			if( s != i ) {
				$(this).attr('name', 'sibling'+i);		
				orig_size[i] = $(this).width();
			}
			else
				$(this).attr('class', 'aktuell');
			i++;
		});
	};
	
	// Klick-Event-Handling
	this.clickEvent = function() {		
		var c = $(this).parents().filter('div').attr('name');
		var d = '#treecrumb div[name="'+c+'"]';
		var s = $(d).hasClass('anzeigen');		
		$('#treecrumb div').removeClass('anzeigen');
		for( i = 0; i <=1; i++ )
			$('#treecrumb div[name="sibling'+i+'"]').attr('style', 'width: '+orig_size[i]+'px');
		if( ! s ) {
			$(d).removeAttr('style');
			$(d).addClass('anzeigen');
		}
		else {
			l = c.length;
			w = parseInt(c.substring(l-1,l));
			$(d).attr('style', 'width: '+orig_size[w]+'px');
		}
	};
	
};

$(document).ready(function(){
	setTimeout("_init()", 30); // Fix f&#252;r den Safari Breite-Bug in jQuery
});	

function _init() {
	// TreeCrumb instanzieren
	var tc = new TreeCrumb();
	tc.init();
	
	// Klick-Event-Handling 
	$('#treecrumb h2 a').click(tc.clickEvent);
	
	// Focus-Event-Handling 
	$('#treecrumb h2 a').focus(tc.clickEvent);	
	
	// IE6 korrigieren
	if($.browser.msie && $.browser.version.substring(0,1) == 6) {
		$("*:first-child").addClass('ie6-firstChild');
		$("*:last-child").addClass('ie6-lastChild');
		$("h2.ohne-abstand + *").addClass('ie6-ohne-abstand');
	}
}

function findeLinks(){
	try{
		var links,i;
	 	links=document.getElementsByTagName('a');
		
		for(i=0;i<links.length;i++)
		{
			//klassenname anker
			if(/anker/.test(links[i].className)){
				if(links[i].parentNode.parentNode.attributes["class"].value == "aufzaehlung"){
					links[i].parentNode.parentNode.attributes["class"].value = "anker-nav";
				}
			}
		}
	}catch(e){}
}

$(document).ready(function(){
	findeLinks();
});

function spamschutz(part1,part2){
	try{
		var spamschutz = "mailto:"+part1+"@"+part2;
		document.location.href = spamschutz;
	}catch(e){}
}

function checkState(value){
	try{
		var tmpObject;
		
		if(value == "rubrik"){
			document.getElementById('form_rubrik_auswahl').checked = true;
			document.getElementById('form_rubrik').disabled = false;
			document.getElementById('form_rubrikgruppe').selectedIndex = 0;
			document.getElementById('form_rubrikgruppe').disabled = true;
		}else{
			document.getElementById('form_rubrikgruppe_auswahl').checked = true;
			document.getElementById('form_rubrik').selectedIndex = 0;
			document.getElementById('form_rubrik').disabled = true;
			document.getElementById('form_rubrikgruppe').disabled = false;
		}
	}catch(e){}	
}

function checkSchule(selectedValue){
	try{
		if(selectedValue == 21){
			try{
				document.getElementById('form_rubrik_auswahl').checked = true;
				document.getElementById('form_rubrikgruppe_auswahl').checked = false;
				document.getElementById('form_rubrik').disabled = false;
				document.getElementById('form_rubrikgruppe').disabled = true;
				document.getElementById('form_rubrik').selectedIndex = 0;
				document.getElementById('form_rubrikgruppe').selectedIndex = 0;
			}catch(e){}
			try{
				document.getElementById('form_veranstaltungsserien').selectedIndex = 0;
			}catch(e){}
			try{	
				document.getElementById('bslb').style.display = 'block';
			}catch(e){}			
		}else{
			try{
				document.getElementById('form_rubrik_auswahl').checked = true;
				document.getElementById('form_rubrikgruppe_auswahl').checked = false;
				document.getElementById('form_rubrik').disabled = false;
				document.getElementById('form_rubrikgruppe').disabled = true;
				document.getElementById('form_rubrik').selectedIndex = 0;
				document.getElementById('form_rubrikgruppe').selectedIndex = 0;
			}catch(e){}
			try{
				document.getElementById('form_veranstaltungsserien').selectedIndex = 0;
			}catch(e){}
			try{
				document.getElementById('bslb').style.display = 'none';
			}catch(e){}
		}
	}catch(e){}
}

function checkSerie(selectedValue){

// ge&#228;ndert nach E-Mail von Peter Spettig vom 02.08.2010
// es wird nach den IDs  1013 & 1027 gesucht

	try{
		if((''+selectedValue == '1013') || (''+selectedValue == '1027')){
			try{
				document.getElementById('form_rubrik_auswahl').checked = true;
				document.getElementById('form_rubrikgruppe_auswahl').checked = false;
				document.getElementById('form_rubrik').disabled = false;
				document.getElementById('form_rubrikgruppe').disabled = true;
				document.getElementById('form_rubrik').selectedIndex = 0;
				document.getElementById('form_rubrikgruppe').selectedIndex = 0;
			}catch(e){}	
			try{
				document.getElementById('bslbSerien').style.display = 'block';
			}catch(e){}	
		}else{
			try{
				document.getElementById('form_rubrik_auswahl').checked = true;
				document.getElementById('form_rubrikgruppe_auswahl').checked = false;
				document.getElementById('form_rubrik').disabled = false;
				document.getElementById('form_rubrikgruppe').disabled = true;
				document.getElementById('form_rubrik').selectedIndex = 0;
				document.getElementById('form_rubrikgruppe').selectedIndex = 0;
			}catch(e){}	
			try{
				document.getElementById('bslbSerien').style.display = 'none';
			}catch(e){}	
		}
	}catch(e){}
}

function getIndexFromSelect(selectId,selectedValue){
	try{
		var selectObject = document.getElementById(selectId);
		var selectedIndex = 0;
		
		for(var x = 0;x < selectObject.length;x++){
			if(selectObject.options[x].value == selectedValue)selectedIndex = x;
		}
		return selectedIndex;
	}catch(e){}		
}

function checkAbonnenten()
{
	var valid = true;
	var err_msg = "";
	var doku = document.abomeldung;	

	if (doku.email.value == "") { valid = false; err_msg += "- E-Mail\n";}	
	if (valid == false) {		
		alert("Fehlende Angaben!\nBitte geben Sie folgende Daten an:\n\n" + err_msg);
		return false;
	}
	   
	// Check: kommt ein '@' und ein '.' in der Adresse vor
  
  var emailFilter=/^.+@.+\..{2,3}$/;
  if (!(emailFilter.test(doku.email.value))) { 
				alert("Bitte geben Sie eine g\u00FCltige E-Mail-Adresse ein!");
				doku.email.select();
				return false;
  }

  // Check: werden illegale Zeichen verwendet
  
  var illegalChars= /[\(\)\<\>\ \,\;\:\\\/\"\'\[\]]/
  var email =  doku.email.value;
  if (email.match(illegalChars)){
				alert("Bitte geben Sie eine g\u00FCltige E-Mail-Adresse ein!");
				doku.email.select();
				return false;
  }
  
  
  // Check: gibt es zwei @
 
 	var firstTime = email.indexOf("@");
 	firstTime = parseInt(firstTime,10)+1;
 	if (email.indexOf("@",firstTime)!=-1){
			alert("Bitte geben Sie eine g\u00FCltige E-Mail-Adresse ein!");
			doku.email.select();
			return false;
		}
		
		
	  // Check: gibt es die Kombination .@
 
 	if (email.indexOf(".@")!=-1){
			alert("Bitte geben Sie eine g\u00FCltige E-Mail-Adresse ein!");
			doku.email.select();
			return false;
		}	      
	   
	return true;   
 
}


function checkDatum(datumVon,datumBis){
	var datumMeldung = "Ung\u00FCltiges Datum oder falsches Datumsformat!\n\nDas Datum muss nach folgendem Muster eingegeben werden:\n\ntt.mm.jjjj\n\nz.B. 31.12.2009";
	if(datumVon != ''){
		if(!checkFormat(datumVon)){
			alert(datumMeldung);
			return false;
		}else{
			if(datumBis != ''){
				if(!checkFormat(datumBis)){
					alert(datumMeldung);
					return false;
				}
			}else{
				return true;
			}			
		}
	}else{
		if(datumBis != ''){
			if(!checkFormat(datumBis)){
				alert(datumMeldung);
				return false;
			}
		}else{
			return true;
		}
	}
}

function checkForm(datumVon,datumBis,checkKu,checkBg){
	
	if(!checkKu && !checkBg){
		alert('Achtung! Kurse und/oder Bildungsg\u00E4nge m\u00FCssen ausgew\u00E4hlt werden!');
		return false;
	}
	
	var datumMeldung = "Ung\u00FCltiges Datum oder falsches Datumsformat!\n\nDas Datum muss nach folgendem Muster eingegeben werden:\n\ntt.mm.jjjj\n\nz.B. 31.12.2009";
	if(datumVon != ''){
		if(!checkFormat(datumVon)){
			alert(datumMeldung);
			return false;
		}else{
			if(datumBis != ''){
				if(!checkFormat(datumBis)){
					alert(datumMeldung);
					return false;
				}
			}else{
				return true;
			}			
		}
	}else{
		if(datumBis != ''){
			if(!checkFormat(datumBis)){
				alert(datumMeldung);
				return false;
			}
		}else{
			return true;
		}
	}
}

function checkFormat(datum)
{
	//Check: 01-31 Tage, 01-12 Monate, 1900-2099; als zwei beziehungsweise vier Ziffern dargestellt; punktsepariert
	var regExpString = "^(01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31)[.](01|02|03|04|05|06|07|08|09|10|11|12)[.]((19|20)\\d{2})$";
	var datumPattern = new RegExp(regExpString);
	var status = datumPattern.exec(datum);
	if(status==null)
	{
		return false;
	}	
	var tag = status[1];
	var monat = status[2];
	var jahr = status[3];
	//Check: April, Juni, September und November haben h&#246;chstens 30 Tage
	if(monat=="04"||monat=="06"||monat=="09"||monat=="11")
	{
		tag = parseInt(tag,10);
		if(tag > 30)
		{
			return false;
		}	
	}
	//Check: Februar hat h&#246;chstens 29 Tage
	if(monat=="02")
	{
		tag = parseInt(tag,10);
		if(tag > 29)
		{
			return false;			
		}		
	}	
	return true;
}
