// allg. Funktionen
////// begin ErrorStopper //////

function stoperror(){
	return true
	}
window.onerror=stoperror

////// end ErrorStopper //////
//	Validierung des Kontaktformulars
function validate(){
	if ((document.emailForm.from.value == "") || (document.emailForm.text.value == "") || (document.emailForm.name.value == ""))
	{
		alert('Fï¿½llen Sie das Formular bitte vollstï¿½ndig aus');
		return (false);
	}
	else
	{
		//document.emailForm.action = 'contact.php'
		document.emailForm.submit();
	}
}

//	Validierung des Weiterempf.-Formulars
function validate2(){
	if ((document.emailForm.from.value == "") || (document.emailForm.text.value == "") || (document.emailForm.name.value == "") || (document.emailForm.nameTo.value == "") || (document.emailForm.mailTo.value == ""))
	{
		alert('Fï¿½llen Sie das Formular bitte vollstï¿½ndig aus');
		return (false);
	}
	else
	{
		//document.emailForm.action = 'contact.php'
		document.emailForm.submit();
	}
}

//	Bestaetigung der AGBs
function validateAGB(){
	if (document.eintrag.agb.checked == false)
	{
		alert('Vor dem Absenden mï¿½ssen Sie durch Anklicken\nder entsprechenden Checkbox unten auf der Seite\nausdrï¿½cklich die Akzeptanz unserer AGBs bestï¿½tigen!\n\nBitte haben Sie Verstï¿½ndnis.');
		return (false);
	}
	else
	{
		return (true);
	}
}

// als Favoriten speichern

function doFavorite()
{
	clientName = navigator.appName;
	
	if (clientName == "Microsoft Internet Explorer") window.external.addFavorite('http://www.Theaterverzeichnis.de/', 'Theaterverzeichnis.de');
	else alert("Ihr Internetseitenbetrachter unterstï¿½tzt diese Funktion\nleider nur ï¿½ber die internetseitenbetrachtereigene\nMenï¿½funktion! ;-)");
}

// Anfang termincheck. Fï¿½r die Datei tuev_termin: checkt ob das feld 'email' ausgefï¿½llt wurde

function termincheck()
{
if(document.tuevTermin.email.value == "")
	{
	alert("Bitte geben Sie Ihre E-Mail-Adresse ein!");
	document.tuevTermin.email.focus();
	return false;
	}   	
}
// Ende termincheck

// Anfang openWindow. Fï¿½r Datei entfernungstabelle.php und fzg-bewertung
function openWindow(URLtoOpen, windowName, windowFeatures)
 {
	Fenster=window.open(URLtoOpen, windowName, windowFeatures);
 }
 // Ende openWindow
 
 function switchText(bname)
{
	 if( window.document.getElementById("kreisbereich"))
	 {
		 window.document.getElementById("kreisbereich").lastChild.data=bname;
	 }

}


function restoreText()
{
	if( window.document.getElementById("kreisbereich"))
 	{
 	window.document.getElementById("kreisbereich").firstChild.data="";
	}
}


function kreisTrick()
{
	if( window.document.getElementById("kreisbereich"))
	{
		window.document.getElementById("kreisbereich").firstChild.data="";
	}
}

function submitter(id)
{
	if (window.location.search == "?action=kulturserver") getKultur(id);		// Weiche fuer Abfrage Veranstaltungs-DB; Prozedur in "getKultur(id)" weiter unten
	else if (isNaN(id) == true)
	{
		document.land.inc.value = id;
		//alert(id);
		if (document.suchform.stichwort.value != "") { document.land.stichwort.value = document.suchform.stichwort.value; }
		document.land.submit();
	}
	else
	{
		if (document.kreis.stichwort.value == "")
		{
			document.kreis.stichwort.value=document.suchform.stichwort.value;
		}
		document.kreis.stichwort.value=document.suchform.stichwort.value;
		document.kreis.kreis_id.value=id;
		document.kreis.kreisname.value=window.document.getElementById("kreisbereich").lastChild.data;
		document.kreis.submit();
	}
}

function keywordToKreis()
{
	document.kreis.stichwort.value=document.suchform.stichwort.value;
}

// setzt den Link fuer die externen Veranstaltungen zusammen und beschreibt die
// Location-Bar entsprechend neu
function getKultur(wohin)
{
	server	= location.hostname;
	option	= "veranstaltungen.php?abschicken=1&kateg=10%2C2%2C5%2C1%2C12%2C6%2C11%2C7%2C4%2C3%2C8&cb3stadt=0&kateg=2&region="
	
	if (server == "tomcat") { newServer = "http://" + server + "/theater_neu/site/"; }
	else { newServer = "http://" + server + "/"; }
	
	switch(wohin)
	{
		case "schleswig_holstein":
			region = "13";
			break;
		case "hamburg":
			region = "161";
			break;
		case "mv":
			region = "16";
			break;
		case "bremen":
			region = "135";
			break;
		case "nieders":
			region = "7";
			break;
		case "berlin":
			region = "20";
			break;
		case "brandenburg":
			region = "15";
			break;
		case "sachsen_a":
			region = "10";
			break;
		case "sachsen":
			region = "9";
			break;
		case "bayern":
			region = "6";
			break;
		case "baden_w":
			region = "5";
			break;
		case "saarland":
			region = "12";
			break;
		case "rheinland_pfalz":
			region = "11";
			break;
		case "hessen":
			region = "8";
			break;
		case "thueringen":
			region = "14";
			break;
		case "nrw":
			region = "4";
			break;
		default:
			region = "20";
			break;
	}
	option += region;
	document.location.href = newServer + option;
}

//checkt daten fï¿½r den routenplaner
function checkroutenplaner()
{
	
	if (document.route.scity.value == "")
	{
		alert('Bitte geben Sie ein Startort ein!');
		document.route.scity.focus();
		return false;
	}
	
	if (document.route.dcity.value == "")
	{
		alert('Bitte geben Sie ein Zielort ein!');
		document.route.dcity.focus();
		return false;
	}
	
}
/* Wird diese Funktion benoetigt? */
function mapInputCheck()
{
 		 if (document.route.sstreet.value == "Strasse und Nr.") 
		 {
			document.route.sstreet.value = '';
		 }
 		 if (document.route.scity.value == "-Ort-") 
		 {
		  	document.route.scity.value = "";
		 }
 		 if (document.route.szip.value == "" || document.route.szip.value == "PLZ" || isNaN(document.route.szip.value) == true) 
		 {
		  	alert ("Bitte geben Sie eine Start PLZ ein.");
		  	document.route.szip.value = ""
		  	document.route.szip.focus();
			return false;
		 }
 		 if (document.route.dstreet.value == "Strasse und Nr.") 
		 {
			document.route.dstreet.value = '';
		 }
 		 if (document.route.dcity.value == "-Ort-") 
		 {
		  	document.route.dcity.value = "";
		 }
 		 if (document.route.dzip.value == "" || document.route.dzip.value == "PLZ" || isNaN(document.route.dzip.value) == true) 
		 {
		  	alert ("Bitte geben Sie eine Ziel PLZ ein.");
		  	document.route.dzip.value = ""
		  	document.route.dzip.focus();
			return false;
		 }
		 else 
		 {
		  	  return true;
		 }
}

// routenplaner Eingabe Check
function mapCheck(formular)
{
	var plzValue = formular.szip.value;
	if (formular.sstreet.value == "-Strasse-") {
		formular.sstreet.value = '';
	}
	if (formular.scity.value == "-Ort-") {
		formular.scity.value = "";
	}
	if (formular.szip.value == "" || formular.szip.value == "-Plz-" || isNaN(formular.szip.value) == true) {
		alert ("Bitte geben Sie eine Start Plz ein.");
		formular.szip.value == "";
		formular.szip.focus();
		return false;
	} else {
		if (formular.szip.value.length < 5) {
			if (confirm('Die Eingabe einer nicht vollständigen PLZ kann zu unerwarteten Ergebnissen führen.\n\nTrotzdem fortfahren?') == true) {
				return true;
			} else {
				return false;
			}
		}
		return true;
	}
}
//ende
//popup fenster
function popUpWindow(URLStr, left, top, width, height)
{
  popUpWin = open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
}
//popup ende

//popup fenster staumeldungen
function kunstdruckfenster(URLStr, left, top, width, height)
{
  stauWin = open(URLStr,"neu","width="+width+",height="+height+",scrollbars=yes,left="+left+",top="+top+",screenX="+left+",screenY="+top+"");
}
//popup ende
//

// begin Imageswap im Header
// Images muessen nach dem Muster "1.jpg, 2.jpg, 3.jpg ... n.jpg"
// lueckenlos durchnummeriert sein.

var imgCount1 = 27;		// hier die Anzahl der kleinen Images
var imgCount2 = 5;		// hier die Anzahl der groï¿½en  -"- (ganz rechts)

var swapTime = 5;			// Wechselintervall in Sekunden

var src =  new Array("", "1.jpg", "2.jpg", "3.jpg");

function ImgSwap() {
	thisImg	 = (Math.floor((Math.random()) * 4 + 1));
	nextImg1 = (Math.floor((Math.random()) * imgCount1 + 1));
	nextImg2 = (Math.floor((Math.random()) * imgCount2 + 1));

	if (thisImg == 4)
	{
		nextImg = "http://www.theaterverzeichnis.de/images/imageswap/b_" + nextImg2 + ".jpg";
	}
	else
	{
		nextImg =  nextImg1 + ".jpg";

		if ((nextImg == src[1]) || (nextImg == src[2]) || (nextImg == src[3]))
		{
			ImgSwap();
		}
		else
		{
			src[thisImg] = nextImg;
			nextImg = "http://www.theaterverzeichnis.de/images/imageswap/" + nextImg;
		}
	}
	thisID = "visual" + thisImg;
	document.getElementById(thisID).src = nextImg;
}

var losgehts = window.setInterval("ImgSwap()", swapTime*1000);
// end Imageswap im Header


// ---- fkt. fuer homepage-preview
//
function toggleIFrame(wohin) {
	var toggle = document.toggleStatus.status.value;
	x=document.getElementsByTagName("span").length;
	
	for (a=0; a < x; a++)
	{
			if (document.getElementsByTagName("span")[a].id == "vorschau_span")
			{
				break;
			}
	}

	if (toggle == 0) {
		document.toggleStatus.status.value = 1;
		var backclick = document.toggleStatus.clickrate.value;
		document.toggleStatus.clickrate.value = backclick-1;
		document.getElementsByTagName("span")[0].style.display = "block";
		document.getElementsByTagName("iframe")[0].src = wohin;
		document.getElementsByName("vorschau_link")[0].firstChild.data = "Vorschau schliessen";
	}
	else {
		document.toggleStatus.status.value = 0;
		var backclick = document.toggleStatus.clickrate.value;
		document.toggleStatus.clickrate.value = backclick-1;
		document.getElementsByTagName("iframe")[0].src = "";
		document.getElementsByTagName("span")[0].style.display = "none";
		document.getElementsByName("vorschau_link")[0].firstChild.data = "Homepagevorschau";
	}
}

function goBack() {
	pages = parseInt(document.toggleStatus.clickrate.value);
	if (pages != -1) history.go(pages);
	else history.back();
}

// ---- fkt. fuer homepage-preview ende
//

function spielplanFrame(wohin) {
	var toggle = document.spielplan_Status.spielplanstatus.value;
	x=document.getElementsByTagName("span").length;
	
	for (a=0; a < x; a++)
	{
			if (document.getElementsByTagName("span")[a].id == "spielplan_span")
			{
				break;
			}
	}

	if (toggle == 0) {
		
		document.spielplan_Status.spielplanstatus.value = 1;
		document.getElementsByTagName("span")[a].style.display = "block";
		document.getElementsByName("spielplan_iframe")[0].src = wohin;
		document.getElementsByName("spielplan_link")[0].firstChild.data = "Spielplan schliessen";
	}
	else {
		document.spielplan_Status.spielplanstatus.value = 0;
		document.getElementsByTagName("span")[a].style.display = "none";
		document.getElementsByName("spielplan_iframe")[0].src = "";
		document.getElementsByName("spielplan_link")[0].firstChild.data = "Aktueller Spielplan";
	}
}




// ---- fkt. fï¿½r Routenplaner
//
function adresscheck()
{
	if (document.startadress.sstreet.value == "Strasse und Nr.") 
	{
		document.startadress.sstreet.value = '';
	}
	if (document.startadress.scity.value == "-Ort-") 
	{
		document.startadress.scity.value = "";
	}
	if (document.startadress.szip.value == "" || document.startadress.szip.value == "PLZ") 
	{
		alert ("Bitte geben Sie eine Start PLZ ein.");
		return false;
	}
	else 
	{
		return true;
	}
}
// ---- fkt. fï¿½r Routenplaner ende
//

// ---- Check auf gï¿½ltige Eingabe im Suchformular
//
function suchFormCheck()
{	
	if (document.suchform.plz.value != "" && document.suchform.ort.selectedIndex != 0)
	{
		alert('Bitte nur Plz ODER Ort angeben.');
		document.suchform.plz.value = "";
		return false;
	}
	if (document.suchform.land.value != "")
	{
		alert('Bitte wï¿½hlen Sie einen Landkreis durch anklicken aus.');
		return false;
	}
	document.suchform.selIndex.value = document.suchform.ort.selectedIndex;
	return true;
}
////// WAIT FOR DIVS TO LOAD /////////////////////////////////

NS4=(document.layers)?1:0;

function waitForPageLoad()
{		
		var cover = document.getElementById('cover');
		cover.style.display = "none";
}
//////////////////////////////////////////////////////////////

///////// mailto/////////////
		function mask(end,middle,start,subject) {
			var one ='mai';
			var two='lto:';
			var three='?Subject=';
			//start,middle,end,subject;
			var putogether= one+two+start+middle+end+three+subject;
			document.location.href=eval('"'+putogether+'"');
			window.status=putogether;
		}
/////////////////////////

/////////		noch'n mailCheck,
/////////		und zwar fï¿½r das Benutzerzentrum
/////////		aufruf: onsubmit="return check_mail('formular_name', 'E-Mail feldname', 'input1;;;fehlermeldung1###input2;;;fehlermeldung2###...###inputn;;;fehlermeldungn')"
function checkEmail(email) {
  var proto  = "(mailto:)?";
  var usr    = "([a-zA-Z0-9][a-zA-Z0-9_.-]*|\"([^\\\\\x80-\xff\015\012\"]|\\\\[^\x80-\xff])+\")";
  var domain = "([a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*[a-zA-Z0-9][a-zA-Z0-9._-]*\\.[a-zA-Z]{2,5}";
  var regex  = "^" + proto + "?" + usr + "\@" + domain + "$";

  var rgx    = new RegExp(regex);
  return rgx.exec(email) ? true : false;
}

function check_mail(formular, emailfeld, mailfeld)
{
		var inputs = mailfeld.split("###");
		var fehler;
		var rt = true; 
		
		var laenge = inputs.length;
		for (n=0; n<laenge; n++)
		{
     		fehler = inputs[n].split(";;;");
			if (document[formular][fehler[0]].value == "")
    		{
    		   alert(fehler[1]);
    		   return false;		   
    		}
		}
		if (checkEmail(document[formular][emailfeld].value) == false)
		{
		   alert('Bitte geben Sie eine gï¿½ltige E-mail Adresse\nin der Form IhrName@IhreDomain.de ein.')
		   document[formular][emailfeld].value = "";
		   document[formular][emailfeld].focus();
		   return false;
		}
		return rt;
}

///////////ummelden, antwort ein und aus blenden/////////////////
function zusatz(divName)
{
	var alle=new Array('eu','zweitsitz','saison','oldtimer','zulassung2','kennzeichen07','kurzzeit','entzogen');
	
	for(var x=0;x<alle.length;x++)
	{		
		document.getElementsByName(alle[x])[0].style.display = "none";
		
	}
	
    if(document.getElementsByName(divName)[0].style.display == "none")
    {
      document.getElementsByName(divName)[0].style.display =  "";        
    }
    else
    {
     document.getElementsByName(divName)[0].style.display = "none";         
    }
}
/////////////////////////////////


function gewinnspiel_check_mail()
{
	
	
	if(document.gewinnspiel.loesung[0].checked==false && document.gewinnspiel.loesung[1].checked==false)
	{
		alert("Bitte wï¿½hlen Sie eine Antwort aus!");
		return false;
	}
	
	if(document.gewinnspiel.vname.value=="")
	{
		alert("Bitte geben Sie Ihren Vornamen an!");
		document.gewinnspiel.vname.focus();
		return false;
	}	
	if(document.gewinnspiel.nname.value=="")
	{
		alert("Bitte geben Sie Ihren Nachnamen an!");
		document.gewinnspiel.nname.focus();
		return false;
	}
	if(document.gewinnspiel.strasse.value=="")
	{
		alert("Bitte geben Sie Ihre vollstï¿½ndige Adresse an!");
		document.gewinnspiel.strasse.focus();
		return false;
	}
	if(document.gewinnspiel.plz.value=="")
	{
		alert("Bitte geben Sie Ihre vollstï¿½ndige Adresse an!");
		document.gewinnspiel.plz.focus();
		return false;
	}	
	if(document.gewinnspiel.ort.value=="")
	{
		alert("Bitte geben Sie Ihre vollstï¿½ndige Adresse an!");
		document.gewinnspiel.ort.focus();
		return false;
	}	
	if(document.gewinnspiel.email.value=="")
	{
		alert("Bitte geben Sie Ihre E-Mail Adresse an!");
		document.gewinnspiel.email.focus();
		return false;
	}
	if(checkEmail(document.gewinnspiel.email.value) == false)
		{
		   alert('Bitte geben Sie eine gï¿½ltige E-mail Adresse\nin der Form IhrName@IhreDomain.de ein.')
		   document.gewinnspiel.email.value = "";
		   document.gewinnspiel.email.focus();
		   return false;
		}
		
	if(document.gewinnspiel.gefunden.value=="")
	{
	   alert('Bitte geben Sie an wie Sie auf die Seite Theaterverzeichnis.de aufmerksam wurden.')
	   document.gewinnspiel.gefunden.value = "";
	   document.gewinnspiel.gefunden.focus();
	   return false;
	}
	
	if(document.gewinnspiel.gewinnspielbedingungen.checked==false)
	{
		alert('Bitte lesen Sie sich die allgemeinen Bedingungen fï¿½r das Gewinnspiel durch und akzeptieren diese duch anhacken.')		
		return false;
	}	
return true;
}


function aktivieren()
{
	if(document.gewinnspiel.gewinnspielbedingungen.checked==true)
	{
		document.gewinnspiel.Senden.disabled=false;
	}
	else
	{
		document.gewinnspiel.Senden.disabled=true;
	}
	
}

///////////ENDE Gewinnspiel

////////onlinetickets
function kartenhaus(formularname)
{
	document[formularname].submit();
}

///ende

//popups
function openWindow(URLtoOpen, windowName, windowFeatures)
{
	Fenster=window.open(URLtoOpen, windowName, windowFeatures);
}
 
 //
 
 function presse_check_mail()
{

	if(document.newsletter.anrede.value=="")
	{
		alert("Bitte geben Sie Ihre Anrede an!");
		document.newsletter.anrede.focus();
		return false;
	}
	if(document.newsletter.vname.value=="")
	{
		alert("Bitte geben Sie Ihren Vornamen an!");
		document.newsletter.vname.focus();
		return false;
	}	
	if(document.newsletter.nname.value=="")
	{
		alert("Bitte geben Sie Ihren Nachnamen an!");
		document.newsletter.nname.focus();
		return false;
	}
	if(document.newsletter.redaktion.value=="")
	{
		alert("Bitte geben Sie an, zu welcher Redaktion Sie gehï¿½ren!");
		document.newsletter.redaktion.focus();
		return false;
	}

	if(document.newsletter.email.value=="")
	{
		alert("Bitte geben Sie Ihre E-Mail Adresse an!");
		document.newsletter.email.focus();
		return false;
	}
	if(checkEmail(document.newsletter.email.value) == false)
		{
		   alert('Bitte geben Sie eine gï¿½ltige E-mail Adresse\nin der Form IhrName@IhreDomain.de ein.')		   
		   document.newsletter.email.focus();
		   return false;
		}
	
return true;
}
/********Formular fï¿½r Eingabe von Pressemitteilungen***************/
function valPresseForm()
{
	var validate=new Array('name', 'strasse', 'plz', 'ort', 'vtel', 'tel', 'titel', 'text1', 'agb');
	var rt = 0;
	var label = '';
	var error=new Array();
	var re = new RegExp ("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[_a-z0-9-]+(\.[_a-z0-9-]+)*\.[a-z]{2,4}$");
	for (x=0;x<validate.length;x++)
	{
		if (document.pressemitteilungen[validate[x]].value=='')
		{
			validate[x] == 'ort' ? validate[x] = 'plz' : validate[x];
			validate[x] == 'tel' ? validate[x] = 'vtel' : validate[x];
			error.push(validate[x]);
		}
		validate[x] == 'ort' ? validate[x] = 'plz' : validate[x];
		validate[x] == 'tel' ? validate[x] = 'vtel' : validate[x];
		label = validate[x]+'Label';
		document.getElementById(label).style.color='#4D546E';
		document.getElementById('emailLabel').style.color='#4D546E';
		document.getElementById('presseImgLabel').style.color='#4D546E';
	}
	if (isNaN(document.pressemitteilungen.plz.value) || document.pressemitteilungen.plz.value.length < 5)
	{
		error.push('plz');
	}
	if (isNaN(document.pressemitteilungen.vtel.value) || document.pressemitteilungen.vtel.value.length < 3)
	{
		error.push('vtel');
	}
	if (isNaN(document.pressemitteilungen.tel.value) || document.pressemitteilungen.tel.value.length < 3)
	{
		error.push('vtel');
	}
	if (re.test(document.pressemitteilungen.email.value) == false)
	{
		error.push('email');
	}
	if (document.pressemitteilungen['agb'].checked==false)
	{
		error.push('agb');
	}
	if (document.pressemitteilungen.presseImg.value != '' && document.pressemitteilungen.presseImg.value.substr(-3, 3) != 'gif' && document.pressemitteilungen.presseImg.value.substr(-3, 3) != 'jpg' && document.pressemitteilungen.presseImg.value.substr(-4, 4) != 'jpeg')
	{
		error.push('presseImg');
	}
	if (error.length>0)
	{
		alert("Bitte alle mit * markierten Felder ausfï¿½llen.");
		for (x=0;x<error.length;x++)
		{
			label = error[x]+'Label';
			document.getElementById(label).style.color='#ff0000';
		}
		return false;
	}
	return true;
}


// scroller
var count=100;
//var count2=100;
var span;
window.onload = main;

function main()
{  
	//alert(document.getElementById('scrollerText').childNodes.length);
	
	x = document.getElementById('scrollerText').childNodes.length;
	y = 0;
	
	for(i = 0; i < x; i++)
	{		
		b = document.getElementById('scrollerText').childNodes[i].nodeValue;
		if (b != null)
		{
			y += b.length;
		}
	}
	document.getElementById('scrollerText').style.height = y + 100 + 'px';
	//document.getElementById('scrollerText2').style.height=document.getElementById('scrollerText').style.height;
	moveSpan(0);
}
// newsticker
function moveSpan(scrollen)
{
	var y;
	if (!y)
	{
		//alert('nix y');
		x = document.getElementById('scrollerText').childNodes.length;
		y = 0;
		for(i=0; i<x; i++)
		{
			b = document.getElementById('scrollerText').childNodes[i].nodeValue;
			if (b != null)
			{
				y += b.length;
			}
		}
	}
	
	span = document.getElementById('scrollerText');
	//span2=document.getElementById('scrollerText2');
	//alert(count+' '+y);
	
	//steuerung div1
	if(count>-y-140)
	{
		span.style.top=count+'px';		
		count--;
		
		/*span2.style.top=(count2+20)+'px';
		count2--;*/
	}
	else
	{
		//alert(span2.style.top);
		count = 100;		
	}
	/*
	//steuerung div2
	if(count2<-y-240)
	{
		count2=100;		
	}
	*/
	if (scrollen == 0)
	{
		scrollTime = setTimeout("moveSpan(0)", 50);
	}
	else
	{
		clearTimeout(scrollTime);
	}
}
/* Opener Fï¿½r Presestimmen */
function winOpen(id, width, height)
{
		 width=width+40;
		 height=height+40;
		 window.open('referenzen.php?id=' + id + '', '', 'width='+ width +',height='+ height +',scrollbars=yes');
}