/*********************************************************************************
(c)2004 by h@nke websolutions (http://www.hankewebsolutions.de). Inhalte dieses
Skripts duerfen nicht ohne Ausdrueckliche Genehmigung des Autors verwendet werden.
Bei Interesse Email an: info@hankewebsolutions.de
********************************************************************************/
var win, winpop;
var lastHighLight;
var lastPath="";

function popit() {
	winpop = window.open("/pop.php","pop","width=318,height=450,left=0,top=0");
}

function openSubmenu(itemId) {
	var i=1;
	window.clearTimeout(win);
	while(document.getElementById(i)) document.getElementById(i++).style.visibility="hidden";
	document.getElementById(itemId).style.visibility="visible";
	if(document.getElementById("m"+lastHighLight))
	{
		if(document.getElementById("m"+lastHighLight).src.search("_hover.gif") != -1)
		{
			document.getElementById("m"+lastHighLight).src = lastPath;
			//document.getElementById("m"+lastHighLight).src.replace(/_hover.gif/, ".gif");
		}
	}

	lastHighLight = itemId;
	lastPath = document.getElementById("m"+itemId).src
	if(document.getElementById("m"+itemId).src.search("_sel.gif") == -1)
	{
		if((document.getElementById("m"+itemId).src.search("_hover.gif") == -1) && (document.getElementById("m"+itemId).src.search("_shad.gif") == -1))
		{
			document.getElementById("m"+itemId).src = document.getElementById("m"+itemId).src.replace(/.gif/, "_hover.gif");
		}
		else if((document.getElementById("m"+itemId).src.search("_hover.gif") == -1) && (document.getElementById("m"+itemId).src.search("_shad.gif") != -1))
		{
			document.getElementById("m"+itemId).src = document.getElementById("m"+itemId).src.replace(/_shad.gif/, "_hover.gif");
		}
	}
}

function closeSubmenu(itemId) {
	win=window.setTimeout("hideLayer('"+itemId+"')",1000);
}

function hideLayer(itemId) {
	//document.getElementById("m"+itemId).src = document.getElementById("m"+itemId).src.replace(/_hover.gif/, ".gif");
	if(lastPath.search(".gif") == -1)
	{
		document.getElementById("m"+itemId).src = document.getElementById("m"+itemId).src.replace(/_hover.gif/, ".gif");
	}
	else
	{
		document.getElementById("m"+itemId).src = lastPath;
	}
	document.getElementById(itemId).style.visibility="hidden";
}

function showLyrics(title, lang) {
	var lyricsWin=window.open('/content_'+lang+'/lyrics.php?title='+title,'Lyrics','width=450,height=400,left=0,top=0,resizable=no,scrollbars=yes');
}

function showPic(file, lang) {
	var picWin=window.open('/content_'+lang+'/picpop.php?file='+file, 'Pic', 'width=200,height=100,location=no,scrollbars=no,resizable=yes,top=0,left=0');
}

function showPressetext(file, lang) {
	var presseWin=window.open('/content_'+lang+'/presspop.php?file='+file, 'Pic', 'width=200,height=100,location=no,scrollbars=yes,resizable=yes,top=0,left=0');
}

function showDateDetails(id, lang) {
	var dateWin=window.open('/content_'+lang+'/datepop.php?id='+id, 'Date', 'width=350,height=200,location=no,scrollbars=yes,resizable=yes,top=0,left=0');
}

function createLink(element) {
	var intern;
	var linktext=prompt("Linktext eingeben (z.B. Substage):","");
	var link=prompt("Linkziel eingeben (z.B. http://www.substage.de):","");
	if(link.substr(0,7)!="http://") link="http://"+link;
	eval(element).value+="[link]"+linktext+"[linktext]"+link+"[/link]";
}

function createInternalLink(link, element, lang)
{
	var linktext=prompt("Linktext eingeben (z.B. Tagebuch):","");
	eval(element).value+="[link intern]"+linktext+"[linktext]"+link+"[/link]";
	document.getElementById('tree').style.top=-1000;
	document.getElementById('treeEn').style.top=-1000;
}

/*********************************************************************************
Funktionen für das Gästebuch
********************************************************************************/

var TextAreaSelection = "";
var theSelection = "";

TagStack = new Array();

function checkGuestbookForm(form)
{
	var regTest = /[^- A-Za-z0-9äöüßÄÖÜ]/i;
	var regTestEmail = /['"]/i;
	errorMsg="";
	if(form.name.value=="") errorMsg+="- Name fehlt\n";
	else if(regTest.test(form.name.value)) errorMsg+="- Keine Sonderzeichen im Namen erlaubt\n";
	if(form.email.value!="" && (form.email.value.indexOf("@")==-1 || form.email.value.indexOf(".")==-1)) errorMsg+="- Emailadresse ist ungÃ¼ltig\n";
	else if(regTestEmail.test(form.email.value)) errorMsg+="- Nichterlaubte Zeichen in der Emailadresse\n";
	if(form.message.value=="") errorMsg+="- Nachricht fehlt\n";
	if(errorMsg!="")
	{
		alert("Es sind folgende Fehler aufgetreten:\n"+errorMsg);
		return false;
	}
	else
		return true;
}

function checkGuestbookFormEn(form)
{
	var regTest = /[^- A-Za-z0-9äöüßÄÖÜ]/i;
	var regTestEmail = /['"]/i;
	errorMsg="";
	if(form.name.value=="") errorMsg+="- Name is missing\n";
	else if(regTest.test(form.name.value)) errorMsg+="- No special character allowed in the name\n";
	if(form.email.value!="" && (form.email.value.indexOf("@")==-1 || form.email.value.indexOf(".")==-1)) errorMsg+="- Invalid email address\n";
	else if(regTestEmail.test(form.email.value)) errorMsg+="- Not allowed characters in email address\n";
	if(form.message.value=="") errorMsg+="- Message is missing\n";
	if(errorMsg!="")
	{
		alert("The following errors occurred:\n"+errorMsg);
		return false;
	}
	else
		return true;
}

// Pseudo-HTML-Tags setzen
function setHtmlTag(style)
{

	var TextArea = document.Guestbook.message;

	if (TextArea.createTextRange && TextArea.caretPos)
	{
		theSelection = document.selection.createRange().text;
	}
	else
		theSelection = false;

	// Falls Text markiert wurde
	if (theSelection)
	{
		// Markierten Text mit Tag umschliessen
		wrapTag(style);
	}
	else
	{
		// Bold-Tag oeffnen
		if(style=='b' && document.Guestbook.Bold.value=="  F  ")
		{
			document.Guestbook.Bold.value=" F * ";
			PasteInto("[b]");
			TagStack.push('b');
		}
		// Bold-Tag schliessen
		else if(style=='b' && document.Guestbook.Bold.value==" F * ")
		{
			document.Guestbook.Bold.value="  F  ";
			closeTags(style);
		}
		// Italic-Tag oeffnen
		else if(style=='i' && document.Guestbook.Italic.value=="  K  ")
		{
			document.Guestbook.Italic.value=" K * ";
			PasteInto("[i]");
			TagStack.push('i');
		}
		// Italic-Tag schliessen
		else if(style=='i' && document.Guestbook.Italic.value==" K * ")
		{
			document.Guestbook.Italic.value="  K  ";
			closeTags(style);
		}
		// Underline-Tag oeffnen
		else if(style=='u' && document.Guestbook.Underline.value=="  U  ")
		{
			document.Guestbook.Underline.value=" U * ";
			PasteInto("[u]");
			TagStack.push('u');
		}
		// Underline-Tag schliessen
		else if(style=='u' && document.Guestbook.Underline.value==" U * ")
		{
			document.Guestbook.Underline.value="  U  ";
			closeTags(style);
		}
		// Fontsize-Tag oeffnen und schliessen
		else if(style=='s')
		{
			PasteInto("[size="+document.Guestbook.Fontsize.value+"][/size]");
		}
		// Fontcolor-Tag oeffnen und schliessen
		else if(style=='c')
		{
			PasteInto("[color="+document.Guestbook.Fontcolor.value+"][/color]");
		}
	}
}


// Pseudo-HTML-Tags setzen
function setHtmlTagEn(style)
{

	var TextArea = document.Guestbook.message;

	if (TextArea.createTextRange && TextArea.caretPos)
	{
		theSelection = document.selection.createRange().text;
	}
	else
		theSelection = false;

	// Falls Text markiert wurde
	if (theSelection)
	{
		// Markierten Text mit Tag umschliessen
		wrapTag(style);
	}
	else
	{
		// Bold-Tag oeffnen
		if(style=='b' && document.Guestbook.Bold.value=="  B  ")
		{
			document.Guestbook.Bold.value=" B * ";
			PasteInto("[b]");
			TagStack.push('b');
		}
		// Bold-Tag schliessen
		else if(style=='b' && document.Guestbook.Bold.value==" B * ")
		{
			document.Guestbook.Bold.value="  B  ";
			closeTagsEn(style);
		}
		// Italic-Tag oeffnen
		else if(style=='i' && document.Guestbook.Italic.value=="  I  ")
		{
			document.Guestbook.Italic.value=" I * ";
			PasteInto("[i]");
			TagStack.push('i');
		}
		// Italic-Tag schliessen
		else if(style=='i' && document.Guestbook.Italic.value==" I * ")
		{
			document.Guestbook.Italic.value="  I  ";
			closeTagsEn(style);
		}
		// Underline-Tag oeffnen
		else if(style=='u' && document.Guestbook.Underline.value=="  U  ")
		{
			document.Guestbook.Underline.value=" U * ";
			PasteInto("[u]");
			TagStack.push('u');
		}
		// Underline-Tag schliessen
		else if(style=='u' && document.Guestbook.Underline.value==" U * ")
		{
			document.Guestbook.Underline.value="  U  ";
			closeTagsEn(style);
		}
		// Fontsize-Tag oeffnen und schliessen
		else if(style=='s')
		{
			PasteInto("[size="+document.Guestbook.Fontsize.value+"][/size]");
		}
		// Fontcolor-Tag oeffnen und schliessen
		else if(style=='c')
		{
			PasteInto("[color="+document.Guestbook.Fontcolor.value+"][/color]");
		}
	}
}


// Alle eingeschlossenen geoffneten Tags wieder schliessen
function closeTags(style)
{
	var i = TagStack.length-1;

	do
	{
		document.Guestbook.message.value += "[/"+TagStack[i]+"]";

		switch(TagStack[i])
		{
			case  'b':
				document.Guestbook.Bold.value="  F  ";
				break;
			case  'i':
				document.Guestbook.Italic.value="  K  ";
				break;
			case  'u':
				document.Guestbook.Underline.value="  U  ";
				break;
		}
	}
	while(TagStack[i--]!=style && i>=0) TagStack.pop();
	document.Guestbook.message.focus();
}


function closeTagsEn(style)
{
	var i = TagStack.length-1;

	do
	{
		document.Guestbook.message.value += "[/"+TagStack[i]+"]";

		switch(TagStack[i])
		{
			case  'b':
				document.Guestbook.Bold.value="  B  ";
				break;
			case  'i':
				document.Guestbook.Italic.value="  I  ";
				break;
			case  'u':
				document.Guestbook.Underline.value="  U  ";
				break;
		}
	}
	while(TagStack[i--]!=style && i>=0) TagStack.pop();
	document.Guestbook.message.focus();
}


// Passenden ToolTip-Text anzeigen
function showToolTip(style)
{
	switch(style)
	{
		case 'b':
			document.getElementById("help").innerHTML = "Fette Schrift: [b]Text[/b]";
			break;
		case 'i':
			document.getElementById("help").innerHTML = "Kursive Schrift: [i]Text[/i]";
			break;
		case 'u':
			document.getElementById("help").innerHTML = "Unterstrichene Schrift: [u]Text[/u]";
			break;
		case 's':
			document.getElementById("help").innerHTML = "Schriftgr&ouml;&szlig;e: [size=x]Text in Schriftgr&ouml;&szlig;e x[/size]";
			break;
		case 'c':
			document.getElementById("help").innerHTML = "Schriftfarbe: [color=red]Text in roter Schrift[/color]";
			break;
		case 'p':
			document.getElementById("help").innerHTML = "Hier klicken, um ein Bild einzufÃ¼gen oder zu ändern";
			break;
		default:
			document.getElementById("help").innerHTML = "&nbsp;";
	}
}

function showToolTipEn(style)
{
	switch(style)
	{
		case 'b':
			document.getElementById("help").innerHTML = "Bold font: [b]Text[/b]";
			break;
		case 'i':
			document.getElementById("help").innerHTML = "Italic font: [i]Text[/i]";
			break;
		case 'u':
			document.getElementById("help").innerHTML = "Underlined font: [u]Text[/u]";
			break;
		case 's':
			document.getElementById("help").innerHTML = "Font size: [size=x]Text in font size x[/size]";
			break;
		case 'c':
			document.getElementById("help").innerHTML = "Font color: [color=red]Text in red color[/color]";
			break;
		case 'p':
			document.getElementById("help").innerHTML = "";
			break;
		default:
			document.getElementById("help").innerHTML = "&nbsp;";
	}
}


// Einfuegeposition ermitteln
function storeCaret(textEl)
{
	if (textEl.createTextRange)
		textEl.caretPos = document.selection.createRange().duplicate();
}


// Text an Einfuegeposition einfuegen
function PasteInto(Text)
{
	var TextArea = document.Guestbook.message;

	if (TextArea.createTextRange && TextArea.caretPos)
	{
		var caretPos = TextArea.caretPos;
		caretPos.text = Text;
	}
	else
		TextArea.value  += Text;

	TextArea.focus();
}


// Markierten Text mit uebergebenen Tags umschliessen
function wrapTag(style)
{
	var TextArea = document.Guestbook.message;

	theSelection = document.selection.createRange().text;
	if(style=='s')
		document.selection.createRange().text = "[size=" + document.Guestbook.Fontsize.value + "]" + theSelection + "[/size]";
	else if(style=='c')
		document.selection.createRange().text = "[color=" + document.Guestbook.Fontcolor.value + "]" + theSelection + "[/color]";
	else
		document.selection.createRange().text = "[" + style + "]" + theSelection + "[/" + style + "]";

	TextArea.focus();
}


// Smilies umwandeln
function SetSmiley(ID)
{
	PasteInto(" "+ID+" ");
}


/*********************************************************************************
Funktionen fÃ¼r das Newsletterskript
********************************************************************************/

function checkNewsletterForm(form)
{
	var regTest = /[^- A-Za-z0-9äöüßÄÖÜ]/i;
	var regTestEmail = /['"]/i;
	errorMsg="";
	if(form.name.value=="") errorMsg+="- Name fehlt\n";
	if(form.wohnort.value=="") errorMsg+="- Wohnort fehlt\n";
	if(form.email.value=="") errorMsg+="- Email fehlt\n";
	else if(form.email.value!="" && (form.email.value.indexOf("@")==-1 || form.email.value.indexOf(".")==-1)) errorMsg+="- Emailadresse ist ungÃ¼ltig\n";
	else if(regTestEmail.test(form.email.value)) errorMsg+="- Nichterlaubte Zeichen in der Emailadresse\n";
	if(errorMsg!="")
	{
		alert("Es sind folgende Fehler aufgetreten:\n"+errorMsg);
		return false;
	}
	else
		return true;
}

function checkNewsletterFormEn(form)
{
	var regTest = /[^- A-Za-z0-9äöüßÄÖÜ]/i;
	var regTestEmail = /['"]/i;
	errorMsg="";
	if(form.name.value=="") errorMsg+="- Name is missing\n";
	if(form.wohnort.value=="") errorMsg+="- City is missing\n";
	if(form.email.value=="") errorMsg+="- Email is missing\n";
	else if(form.email.value!="" && (form.email.value.indexOf("@")==-1 || form.email.value.indexOf(".")==-1)) errorMsg+="- Invalid email address\n";
	else if(regTestEmail.test(form.email.value)) errorMsg+="- Not allowed characters in email address\n";
	if(errorMsg!="")
	{
		alert("The following errors occurred:\n"+errorMsg);
		return false;
	}
	else
		return true;
}

function checkNewsletterUnsubscribeForm(form)
{
	var regTest = /[^- A-Za-z0-9äöüßÄÖÜ]/i;
	var regTestEmail = /['"]/i;
	errorMsg="";
	if(form.email.value=="") errorMsg+="- Email fehlt\n";
	else if(form.email.value!="" && (form.email.value.indexOf("@")==-1 || form.email.value.indexOf(".")==-1)) errorMsg+="- Emailadresse ist ungÃ¼ltig\n";
	else if(regTestEmail.test(form.email.value)) errorMsg+="- Nichterlaubte Zeichen in der Emailadresse\n";
	if(errorMsg!="")
	{
		alert("Es sind folgende Fehler aufgetreten:\n"+errorMsg);
		return false;
	}
	else
		return true;
}

function checkNewsletterUnsubscribeFormEn(form)
{
	var regTest = /[^- A-Za-z0-9äöüßÄÖÜ]/i;
	var regTestEmail = /['"]/i;
	errorMsg="";
	if(form.email.value=="") errorMsg+="- Email is missing\n";
	else if(form.email.value!="" && (form.email.value.indexOf("@")==-1 || form.email.value.indexOf(".")==-1)) errorMsg+="- Invalid email address\n";
	else if(regTestEmail.test(form.email.value)) errorMsg+="- Not allowed characters in email address\n";
	if(errorMsg!="")
	{
		alert("The following errors occurred:\n"+errorMsg);
		return false;
	}
	else
		return true;
}

/*********************************************************************************
Funktionen fÃ¼r das Tagebuch
********************************************************************************/

function checkDairyForm(form)
{
	var easyDateTest = /[0-9]{2}\.[0-9]{2}\.[0-9]{4}/;
	errorMsg="";
	if(form.startDate.value=="") errorMsg+="- Start-Datum fehlt\n";
	else if(!easyDateTest.test(form.startDate.value)) errorMsg+="- Start-Datum fehlerhaft\n";
	if(form.endDate.value!="" && !easyDateTest.test(form.endDate.value)) errorMsg+="- Ende-Datum fehlerhaft\n";
	if(form.author.value=="") errorMsg+="- Autor fehlt\n";
	if(form.message.value=="") errorMsg+="- Beitragstext fehlt\n";
	if(errorMsg!="")
	{
		alert("Es sind folgende Fehler aufgetreten:\n"+errorMsg);
		return false;
	}
	else
		return true;
}

/*********************************************************************************
Funktionen fÃ¼r die News
********************************************************************************/

function checkNewsForm(form)
{
	var easyDateTest = /[0-9]{2}\.[0-9]{2}\.[0-9]{4}/;
	errorMsg="";
	if(form.date.value=="") errorMsg+="- Datum fehlt\n";
	else if(!easyDateTest.test(form.date.value)) errorMsg+="- Datum fehlerhaft\n";
	if(form.header_de.value=="") errorMsg+="- Ãœberschrift (deutsch) fehlt\n";
	//if(form.header_en.value=="") errorMsg+="- Ãœberschrift (englisch) fehlt\n";
	if(form.message_de.value=="") errorMsg+="- Newstext (deutsch) fehlt\n";
	//if(form.message_en.value=="") errorMsg+="- Newstext (englisch) fehlt\n";
	if(errorMsg!="")
	{
		alert("Es sind folgende Fehler aufgetreten:\n"+errorMsg);
		return false;
	}
	else
		return true;
}

/*********************************************************************************
Funktionen fÃ¼r die Tourdaten
********************************************************************************/

function checkTourdatesForm(form)
{
	var easyDateTest = /[0-9]{2}\.[0-9]{2}\.[0-9]{4}/;
	errorMsg="";
	if(form.date.value=="") errorMsg+="- Datum fehlt\n";
	else if(!easyDateTest.test(form.date.value)) errorMsg+="- Datum fehlerhaft\n";
	if(form.text.value=="") errorMsg+="- Termintext fehlt\n";
	if(errorMsg!="")
	{
		alert("Es sind folgende Fehler aufgetreten:\n"+errorMsg);
		return false;
	}
	else
		return true;
}



function showMember(member)
{
	document.getElementById("marcuspic").src = "/images/pix/marcus_band_clear.jpg";
	document.getElementById("andypic").src = "/images/pix/andy_band_clear.jpg";
	document.getElementById("stevepic").src = "/images/pix/steve_band_clear.jpg";
	document.getElementById("marcustxt").style.top = -360;
	document.getElementById("andytxt").style.top = -360;
	document.getElementById("stevetxt").style.top = -360;
	document.getElementById("starttxt").style.top = -360;

	document.getElementById(member+"pic").src = "/images/pix/"+member+"_band.jpg";

	document.getElementById(member+"txt").style.top = 360;
}


function showWords(track, lang)
{
	var header = new Array("WE COULD HAVE IT",
							"FEEL YOUR LOVE",
							"BEYOND IMAGINATION",
							"THOURGH A CHILD'S EYES",
							"FOLLOW MY TRAIL",
							"CRYING SHAME",
							"THE CHANGE",
							"NOT OUT OF MIND",
							"SOME KIND OF POETRY",
							"WAKE UP",
							"THESE SILENT NIGHTS",
							"HEAVEN");

	document.getElementById("wordsframe").src = "/content_"+lang+"/words/"+track+".php";
	document.getElementById("wordsheaderspan").innerHTML = "&middot;&middot;&middot; "+header[track-1]+" &middot;&middot;&middot;";
	document.getElementById("wordsdiv").style.top = 290;
	document.getElementById("wordsdiv").style.left = 60;
}

function closeWords(track)
{
	document.getElementById("wordsframe").src = "";
	document.getElementById("wordsdiv").style.top = -360;
}

function showLyrics()
{
	document.getElementById("lyrics").style.display = "";
	document.getElementById("comments").style.display = "none";

	document.getElementById("lyricstd").style.background="url('/images/icons/words_sel.gif') no-repeat";
	document.getElementById("commentstd").style.background="url('/images/icons/words_not_sel.gif') no-repeat";
}

function showComments()
{
	document.getElementById("lyrics").style.display = "none";
	document.getElementById("comments").style.display = "";

	document.getElementById("commentstd").style.background="url('/images/icons/words_sel.gif') no-repeat";
	document.getElementById("lyricstd").style.background="url('/images/icons/words_not_sel.gif') no-repeat";
}

function highlightMember(member)
{
    fadeMembers();
    
    document.getElementById(member + "_desc").className = "member_hover";
    document.getElementById(member + "_img").src = "/images/pics/members/" + member + ".jpg";
}

function resetMembers()
{
    var member = new Array('marcus', 'andy', 'steve');

    for(var i=0; i<3; i++)
    {
        document.getElementById(member[i] + "_desc").className = "member";
        document.getElementById(member[i] + "_img").src = "/images/pics/members/" + member[i] + ".jpg";
    }
}

function fadeMembers()
{
    var member = new Array('marcus', 'andy', 'steve');

    for(var i=0; i<3; i++)
    {
        document.getElementById(member[i] + "_desc").className = "member";
        document.getElementById(member[i] + "_img").src = "/images/pics/members/" + member[i] + "_faded.jpg";
    }
}

function displayBlock(lnk, id, lang)
{
    var value;

    if(document.getElementById(id).style.display == 'none')
    {
        value = 'block';
        if(lang == "de")
            lnk.innerHTML = "&laquo;schlie&szlig;en&raquo;";
        else
            lnk.innerHTML = "&laquo;close&raquo;";
    }
    else
    {
         value = 'none';
         if(lang == "de")
            lnk.innerHTML = "&laquo;weiterlesen&raquo;";
         else
             lnk.innerHTML = "&laquo;read on&raquo;";
    }
    document.getElementById(id).style.display = value;
}
