﻿//	CW-Scripts
//	Autor: Rajko Kleinschmidt, Copyright 2010

//	==========================================================
//	nach Seitenaufbau Initialisierung durchführen
//	==========================================================
function initSite() {

	//	da Chrome und Safari (webkit) die Blenden-Animation fehlerhaft darstellen,
	//	dort nicht animieren, sondern nur harte Blenden verwenden
	if ($.browser.webkit) {
		speed="";
	}
	else {
		speed="slow";
	}
	
	//	Logo im Header animieren
	loadLogo();
	
	//	seitenabhänige Inititalisierung
	switch (selector) {
		case "ss":
			initStartPage();
			break;

		case "ap":
			initProjectPage();
			break;
			
		case "ep":
			initProfilePage();
			break;
			
		case "epl":
			initEditProjectList();
			break;
			
		case "epd":
		case "rpd":
		case "npd":
			initEditProjectDetails();
			break;
			
		case "lin":
			initLogin();
			break;
	}	//	ende switch(selector)
	
	//	email-Link preparieren
	$("area.emailshape").click(function(event) {
		lamDnes();
		event.preventDefault();
	});
}

//	==========================================================
//	Logo animieren unter Umgehung des Browser-Cashs
//	==========================================================
function loadLogo() {
	$("img.HeadLogo").attr("src","./pics/Logo041.gif?"+ (Math.random()*10000000));
}


//	==========================================================
//	Initialisierung für das Login
//	==========================================================
function initLogin() {
	$("#loginForm").submit(function() {
			 $("#password").attr("value",MD5($("#password").attr("value")));
		 });
}

//	==========================================================
//	Initialisierung für das Editieren der Projektliste
//	==========================================================
function initEditProjectList() {
	//	View-Button initialisieren
	$(".edEye").click(function(event) {
		var number = $(this).attr("id").slice(-3);											//	Projektnummer separieren
		$.get("ajax_handler.php?lnk=tgv&nr="+number, function(data) {		//	Visibility via Ajax toggeln
				$("#edEye"+number).attr("src",data);												//	Rückgabe = Icon-Dateiname für Sichbarkeit -> setzen
//				alert(data);
		});
	});
	
	//	Delete-Button initialisieren
	$(".edDel").click(function() {
			var number = $(this).attr("id").slice(-3);
			if (confirm("Soll das Projekt "+number+" wirklich gelöscht werden?")) {
				document.location.href="index.php?lnk=epl&del="+number;
			}
		});
	
	//	Edit-Button initialisieren
	$(".edDel").mouseover(function() {
	 $(this).css("cursor","pointer");
 });
	$(".edEye").mouseover(function() {
		$(this).css("cursor","pointer");
	});
	
	//	Initialisieren der Tabelle + D'nD
		$("#prj_table tr:even").addClass("altTabColor");
		$("#prj_table tr:odd").addClass("normTabColor");
		$("#prj_table").tableDnD({
			onDrop: function(table, row) {
				$.post("ajax_handler.php?lnk=spl",
								$.tableDnD.serialize(),
								function(data) { $.globalEval(data); });
			}
		});
		$("#prj_table tr").mousedown(
			function() {
				$(this).addClass("lightTabColor");
//				$(this).glow("#EFE8D8",300,20);
			}).mouseup(
			function() {
				$("#prj_table tr").removeClass("lightTabColor");
				$("#prj_table tr").removeClass("altTabColor");
				$("#prj_table tr").removeClass("normTabColor");
				$("#prj_table tr:even").addClass("altTabColor");
				$("#prj_table tr:odd").addClass("normTabColor");
			});
		$(".edPen").mouseover(function() {
			$(this).css("cursor","pointer");
		});
		$(".edEye").mouseover(function() {
			$(this).css("cursor","pointer");
		});
}

//	==========================================================
//	Initialisierung für das Editieren der Projektdetails
//	==========================================================
function initEditPDSelAndTab() {
	// bei Änderung der select-Box-Auswahl
	$(".selectBoxPrjDetail").change(function() {
	// zugehöriges Eingabefeld sperren, wenn select-Box auf einem Auswahl-Element steht
		var inpName = "#input"+$(this).attr("name").slice(6);
		if ($(this).attr("selectedIndex") != 0) {
			$(inpName).attr("disabled",true).addClass("disabledBkg");
		}
		else {
		// zugehöriges Eingabefeld entsperren, wenn select-Box auf "neues Element eingeben" (Index 0) steht
			$(inpName).removeAttr("disabled").removeClass("disabledBkg");
		}
	});
	// Drag'nDrop der Tabellenangaben initialisieren
	$(".dndtab").tableDnD({
		onDragClass: "lightTabColor",
		onDrop: function(table,row) {
			var roworder = "";
			rows = table.rows;
			for (var i=0; i<rows.length; i++) {
				roworder += rows[i].id+" ";
			}
			$.post("ajax_handler.php?lnk=spe",
						 {
							 new_order: roworder,
							 entry_type: $(table).attr("id").slice(3).slice(0,-1),
							 prj_number: projectid
						 },
						 function(data) {
//							 alert(data);
							 $.globalEval(data);
						 });
//			alert("Droped : "+$.tableDnD.serialize()+"\n"+debugStr+"\n"+name+"\n"+dar);
//			alert("Dropped: "+table.id+" - "+row.id+"\n"+debugStr);
		}
	});
	
	//	Lösch-Button initilisieren
	$(".deleteEntry").mouseover(function() {
		$(this).css("cursor","pointer");
	});

	$(".deleteEntry").click(function(event) {
		var entrytype = $(this).parent().parent().parent().parent().parent().attr("id").slice(0,-1);
		var entryid = $(this).parent().parent().attr("id");
//		alert("Art: "+entrytype+" Id: "+entryid);
		$.post("ajax_handler.php?lnk=rpe",
					 { 
					 	 entry_type: entrytype,
					 	 entry_id: entryid,
						 prj_number: projectid
					 }, 
					 function(data) {
							//	Rückgabe 
//							alert(data);
							$.globalEval(data);
						});
		return false;
	});
}

function initEditProjectDetails() {
	initEditPDSelAndTab();	
	// bei Übernahme der Auswahl in den jeweiligen Listen-Inhalt
	$(".commitButton").click(function() {
		var columnname = $(this).attr("name").slice(6);
		var inp = $(this).next();				// Eingabefeld holen
		var sel = $("#select"+columnname);
		var newentry = !($(inp).attr("disabled"));
		var content = (newentry ? $(inp).val() : $(sel).val());
		if (content.length > 0) {
			$.post("ajax_handler.php?lnk=ipe",
						 {
							 prj_number: projectid,
							 entry_name: columnname,
							 entry_content: content
						 },
						 function(data) {
//							 alert(data);
							 $.globalEval(data);
						 });
		}

		$(sel).attr("selectedIndex","0");
		$(inp).removeAttr("disabled").removeClass("disabledBkg").attr("value","");
		return false;
	});
	
	//	Eingabefelder - Änderungen darstellen
	$("#inputTime").keyup(function() {
				$("#projectTime").html($(this).attr("value"));
			});
	$("#inputTitle").keyup(function() {
				$("#projectTitle").html($(this).attr("value"));
			});
	$("#inputShortDesc").keyup(function() {
				$("#projectShortDesc").html($(this).attr("value"));
			});
	$("#inputLongDesc").keyup(function() {
				$("#projectLongDesc").html($(this).attr("value"));
			});
	
	//	Eingabefelder - Änderungen übernehmen
	$(".prjInput").change(function() {
				$.post("ajax_handler.php?lnk=upd",
							 { pjn: projectid, col: $(this).attr("name").slice(5), val: $(this).attr("value") },
							 function(data) { 
//							 		alert(data);
							 	$.globalEval(data) 
							 }
				);
		});
	
	//	Filteroptionen übernehmen
	$(".filterOption").change(function() {
			$.post("ajax_handler.php?lnk=cfo",
						 {
							 pjn: projectid,
							 name: $(this).attr("name"),
							 val: $(this).val(),
							 checked: $(this).is(":checked")
						 },
						 function(data) {
//							 alert(data);
							 $.globalEval(data)
						 }
				);

		});
	
	
	//	Head-Steuerungs-Buttons
	$(".ctrlBtn").mouseover(function() {$(this).css("cursor","pointer")});
	//	Steuer-Button-Klicks
	$("#goPrev").click(function() {
			window.location.href='./index.php?lnk=epd&leave='+projectid+'&pjn='+prevProject;
		});
	$("#goNext").click(function() {
			window.location.href='./index.php?lnk=epd&leave='+projectid+'&pjn='+nextProject;
		});
	$("#goList").click(function() {
			window.location.href='./index.php?lnk=epl&leave='+projectid;
		});
	$("#resetEdit").click(function() {
			window.location.href='./index.php?lnk=rpd&pjn='+projectid;
		});
	$("#breakEdit").click(function() {
			if (different) {
				if (confirm("Möchten Sie alle Änderungen an diesem Eintrag verwerfen?")) { 
					window.location.href='./index.php?lnk=cep&pjn='+projectid;
				} 
			}
			else  {
				window.location.href='./index.php?lnk=cep&pjn='+projectid;
			}
		});
	$("#assumeEdit").click(function() {
				$.post("ajax_handler.php?lnk=apd",
							 { pjn: projectid },
							 function(data) { 
//							 		alert(data);
							 	$.globalEval(data) 
							 }
				);
		});
}

//	==========================================================
//	Initialisierung für die Startseite
//	==========================================================
function initStartPage() {
//	Texte auf Startseite reorganisieren
	$("#UebersichtText").hide();
	$("#SoftwareentwicklungText").hide();
	$("#ProjektierungText").hide();
	$("#DesignGestaltungText").hide();
	$("#BeratungText").hide();
	$("#SupportText").hide();
	$("#UebersichtText").show(speed);
//	NoFlash-ErsatzNavigation initialisieren
	$("#softwareClick").click(function(event) { externerAufruf("Softwareentwicklung"); return false; });
	$("#projektierungClick").click(function(event) { externerAufruf("Projektierung"); return false; });
	$("#designClick").click(function(event) { externerAufruf("Design"); return false; });
	$("#beratungClick").click(function(event) { externerAufruf("Beratung"); return false; });
	$("#supportClick").click(function(event) { externerAufruf("Support"); return false; });
	$("#uebersichtClick").click(function(event) { externerAufruf("Rewind"); return false; });
}

//	==========================================================
//	Initialisierung für die Profil-Seite
//	==========================================================
function initProfilePage() {
//	Profil-Linksteuerung initialisieren
	$("#lnk_Personendaten").click(function(event) { showProfile("Personendaten"); return false; });
	$("#lnk_Position").click(function(event) { showProfile("Position"); return false; });
	$("#lnk_Einsatzort").click(function(event) { showProfile("Einsatzort"); return false; });
	$("#lnk_Ausbildung").click(function(event) { showProfile("Ausbildung"); return false; });
	$("#lnk_Fremdsprachen").click(function(event) { showProfile("Fremdsprachen"); return false; });
	$("#lnk_Hardware").click(function(event) { showProfile("Hardware"); return false; });
	$("#lnk_Betriebssysteme").click(function(event) { showProfile("Betriebssysteme"); return false; });
	$("#lnk_Programmiersprachen").click(function(event) { showProfile("Programmiersprachen"); return false; });
	$("#lnk_Datenbanken").click(function(event) { showProfile("Datenbanken"); return false; });
	$("#lnk_Datenkommunikation").click(function(event) { showProfile("Datenkommunikation"); return false; });
	$("#lnk_Erfahrungen").click(function(event) { showProfile("Erfahrungen"); return false; });
	$("#lnk_Branchen").click(function(event) { showProfile("Branchen"); return false; });
	$("#lnk_Sonstiges").click(function(event) { showProfile("Sonstiges"); return false; });

//	Profilabschnitte verbergen und 1. Einblenden
	hideProfiles("");
	showProfile("Personendaten");
	
//	NoJavaScript-Home-Button der Profilseite verbergen
	$("img.homeicon").hide();
	$("td.cutline").hide();
}

//	==========================================================
//	Initialisierung für die Projekt-Seite
//	==========================================================
function initProjectPage() {
//	die von PHP der Projektseite mitgegebe Initialisierung ausführen
	initPrjLocal();
//	Aufklapp-Icon für Anzeigefilter freischalten
	$("#Zeigefilter").css("visibility","visible");
//	"nicht filtern"-Checkboxen freischalten
	$(".selectNothing").css("visibility","visible");
//	"Alle Details"-Schalter freischalten
	$("#showHideNavi").css("visibility","visible");
//	Anzeigefilter-Schalter zu Beginn verbergen
	$("#Filteranzeige").hide();
//	Absende-Button (für non-JS-Version) verbergen
	$("#filterAbsenden").hide();

//	Mouseverhalten für Anzeigefilter-Schalter hinzufügen
	$("#lnk_Anzeigefilter").mouseover(
		function() {
			$(this).css('cursor','pointer');
		}
	);
	//	Eventsteuerung hinzufügen
	$("#lnk_Anzeigefilter").toggle(
		function() {
			$("#Filteranzeige").show(speed);
			$("#Zeigefilter").attr("src","pics/details_weniger.jpg");
		},
		function() {
			$("#Filteranzeige").hide(speed);
			$("#Zeigefilter").attr("src","pics/details_mehr.jpg");
		}
	);

// Schalterverhalten für "Alle Details anzeigen"-Schalter hinzufügen
	$("#lnk_ShowAllDetails").mouseover(
		function() {
			$(this).css('cursor','pointer');
		}
	);
	$("#lnk_ShowAllDetails").click(
		function() {
			showAllDetails();
		}
	);

//	Schalterverhalten für "Alle Details verbergen"-Schalter hinzufügen
	$("#lnk_HideAllDetails").mouseover(
		function() {
			$(this).css('cursor','pointer');
		}
	);
	$("#lnk_HideAllDetails").click(
		function() {
			hideAllDetails();
		}
	);
	
//	Projektheader bei Überfahren mit der Maus farblich verändern
	$(".ProjektTable").mouseover(
		function(){
			$(this).css("background-image","url(./pics/project_desc_bg7.jpg)");
		}
	).mouseout(
		function(){
			$(this).css("background-image","url(./pics/project_desc_bg6.jpg)");
		}
	);

//	Filter und Checkboxen konfigurieren
	$("#filterForm").data("filterPrjType","-1").data("filterOpSystem","-1").data("filterProgLang","-1");
	disableCheckbox("filter_projecttype[]",true);
	disableCheckbox("filter_opsystem[]",true);
	disableCheckbox("filter_proglang[]",true);

//	Eventhandler an Checkboxen binden
	$("input").click(
		function() { 
			evalFilter(this.name);
		});
}

//	==========================================================
//	Checkboxen des Anzeigenfilters der Projekt-Seite auswerten
//	==========================================================
function evalFilter(tname) {
	var disable = false;
	switch (tname) {
		case "filter_pt_all":
			disable = getCheckbox("filter_pt_all");
			disableCheckbox("filter_projecttype[]",disable);
			break;
		case "filter_os_all":
			disable = getCheckbox("filter_os_all");
			disableCheckbox("filter_opsystem[]",disable);
			break;
		case "filter_pl_all":
			disable = getCheckbox("filter_pl_all");
			disableCheckbox("filter_proglang[]",disable);
			break;
	}

	var fPt = 0;
	var fOs = 0;
	var fPl = 0;
	$("input[name=filter_projecttype[]][checked]").each(function() { fPt |= $(this).val(); });
	$("input[name=filter_opsystem[]][checked]").each(function() { fOs |= $(this).val(); });
	$("input[name=filter_proglang[]][checked]").each(function() { fPl |= $(this).val(); });
	if (getCheckbox("filter_pt_all") || (fPt == 0) || (fPt == 31)) fPt = -1;
	if (getCheckbox("filter_os_all") || (fOs == 0) || (fOs == 31)) fOs = -1;
	if (getCheckbox("filter_pl_all") || (fPl == 0) || (fPl == 255)) fPl = -1;
	var si = "";
	for (var i = 0; i < prjArray.length; i++) {
		var si;
		if (prjArray[i]) {
			si = ((prjArray[i] < 10) ? "00" : "0")+prjArray[i];
			$("#entryProject"+si).filterPrj(si,fPt,fOs,fPl);
		}
	}
}

//	==========================================================
//	Projekte laut Anzeigefilter anzeigen
//	==========================================================
$.fn.filterPrj = function(si,fPt,fOs,fPl) {
	var txt = "";
	var sPt = (fPt != -1 ? ($(this).data("filterPrjType") & fPt) : -1);
	var sOs = (fOs != -1 ? ($(this).data("filterOpSystem") & fOs) : -1);
	var sPl = (fPl != -1 ? ($(this).data("filterProgLang") & fPl) : -1);
	var sAll = sPt && sOs && sPl;
	var iv = $(this).data("isvisible");
	var n = $(this).data("myName");
	if (sAll && !iv) {
			if (showCnt == 0) {
				$("#detailsProject"+si).hide();
			}
			else if (showCnt == projectCnt) {
				$("#detailsProject"+si).show();
			}
			$(this).show(speed);
			$(this).data("isvisible",true);
	}
	if (!sAll && iv) {
			$(this).hide(speed);
			$(this).data("isvisible",false);
	}
	return this;
}

//	==========================================================
//	Checkbox-Behandlungen	Set / Get / Disable
//	==========================================================
function setCheckbox(name, wert) {
	$("input[name="+name+"]").attr("checked",wert);
}
function getCheckbox(name) {
	return $("input[name="+name+"]").is(":checked");
}
function disableCheckbox(name, wert) {
	$("input[name="+name+"]").attr("disabled",wert);
}

//	==========================================================
//	Togglefunktion zum Anzeigen / Verbergen der Projektdetails
//	----------------------------------------------------------
//	- ist pshow nicht angegeben, wird getoggelt
//	- ist pshow=true -> anzeigen, false -> verbergen
//	- eine Zähler ermittelt, wieviele Details offen sind,
//	  und blendet entsprechende Steuerelemente ein oder aus
//	==========================================================
function showHideDetails(pname,pshow) {
	//	Variablen-Initialisierung
	var iname="#show"+pname;
	var dname="div#details"+pname;
	var isvisible = $(dname).data("isvisible");
	
	//	Toggle oder gezielte Schaltung?
	if (arguments.length < 2) {
		pshow = !isvisible;
	}
	//	Anzeigen
	if (!pshow && isvisible) {
		$(dname).slideUp(speed);
		$(iname).attr("src","pics/details_mehr.jpg");
		$(iname).attr("title","Projektdetails einblenden");
		$(iname).attr("alt","mehr Detais");
		$(dname).data("isvisible",false);
		showCnt--;
	}
	//	Verbergen
	else if (pshow && !isvisible) {
		$(dname).slideDown(speed);
		$(iname).attr("src","pics/details_weniger.jpg");
		$(iname).attr("title","Projektdetals ausblenden");
		$(iname).attr("alt","weniger Details");
		$(dname).data("isvisible",true);
		showCnt++;
	}
	//	"Alle Details anzeigen/verbergen"-Schalter entspr. des Anzeigezustandes (un)sichtbar schalten
	if (showCnt == 0) {
		$("#lnk_ShowAllDetails").slideDown(speed);
		$("#lnk_HideAllDetails").slideUp(speed);
	}
	else if (showCnt == projectCnt) {
		$("#lnk_ShowAllDetails").slideUp(speed);
		$("#lnk_HideAllDetails").slideDown(speed);
	}
	else {
		$("#lnk_ShowAllDetails").slideDown(speed);
		$("#lnk_HideAllDetails").slideDown(speed);
	}
}

//	==========================================================
//	alle Texte auf der Startseite verbergen
//	==========================================================
function resetStartseitenTexte() {
	$("#UebersichtText").hide(speed);
	$("#SoftwareentwicklungText").hide(speed);
	$("#ProjektierungText").hide(speed);
	$("#DesignGestaltungText").hide(speed);
	$("#BeratungText").hide(speed);
	$("#SupportText").hide(speed);
}

//	==========================================================
//	Flash-Callback: Text-Navigation
//	==========================================================
function externerAufruf(arg1) {
	switch (arg1)	{
	case "Rewind":
		resetStartseitenTexte();
		$("#UebersichtText").show(speed);
		break;
	case "Softwareentwicklung":
		resetStartseitenTexte();
		$("#SoftwareentwicklungText").show(speed);
		break;
	case "Projektierung":
		resetStartseitenTexte();
		$("#ProjektierungText").show(speed);
		break;
	case "Design":
		resetStartseitenTexte();
		$("#DesignGestaltungText").show(speed);
		break;
	case "Beratung":
		resetStartseitenTexte();
		$("#BeratungText").show(speed);
		break;
	case "Support":
		resetStartseitenTexte();
		$("#SupportText").show(speed);
		break;
	default:
		break;
	}
	return false;
}

//	==========================================================
//	Profil-Abschnitte ausblenden
//	==========================================================
function hideProfiles(hidespeed) {
	$("#Personendaten").hide(hidespeed);
	$("#lnk_Personendaten").css("font-weight","normal");
	$("#Position").hide(hidespeed);
	$("#lnk_Position").css("font-weight","normal");
	$("#Einsatzort").hide(hidespeed);
	$("#lnk_Einsatzort").css("font-weight","normal");
	$("#Ausbildung").hide(hidespeed);
	$("#lnk_Ausbildung").css("font-weight","normal");
	$("#Fremdsprachen").hide(hidespeed);
	$("#lnk_Fremdsprachen").css("font-weight","normal");
	$("#Hardware").hide(hidespeed);
	$("#lnk_Hardware").css("font-weight","normal");
	$("#Betriebssysteme").hide(hidespeed);
	$("#lnk_Betriebssysteme").css("font-weight","normal");
	$("#Programmiersprachen").hide(hidespeed);
	$("#lnk_Programmiersprachen").css("font-weight","normal");
	$("#Datenbanken").hide(hidespeed);
	$("#lnk_Datenbanken").css("font-weight","normal");
	$("#Datenkommunikation").hide(hidespeed);
	$("#lnk_Datenkommunikation").css("font-weight","normal");
	$("#Erfahrungen").hide(hidespeed);
	$("#lnk_Erfahrungen").css("font-weight","normal");
	$("#Branchen").hide(hidespeed);
	$("#lnk_Branchen").css("font-weight","normal");
	$("#Sonstiges").hide(hidespeed);
	$("#lnk_Sonstiges").css("font-weight","normal");
}

//	==========================================================
//	Profil-Abschnitte einblenden
//	==========================================================
function showProfile(section) {
	switch(section) {
	case "Personendaten":
		hideProfiles(speed);
		$("#lnk_Personendaten").css("font-weight","bold");
		$("#Personendaten").show(speed);
		break;
	case "Position":
		hideProfiles(speed);
		$("#lnk_Position").css("font-weight","bold");
		$("#Position").show(speed);
		break;
	case "Einsatzort":
		hideProfiles(speed);
		$("#lnk_Einsatzort").css("font-weight","bold");
		$("#Einsatzort").show(speed);
		break;
	case "Ausbildung":
		hideProfiles(speed);
		$("#lnk_Ausbildung").css("font-weight","bold");
		$("#Ausbildung").show(speed);
		break;
	case "Fremdsprachen":
		hideProfiles(speed);
		$("#lnk_Fremdsprachen").css("font-weight","bold");
		$("#Fremdsprachen").show(speed);
		break;
	case "Hardware":
		hideProfiles(speed);
		$("#lnk_Hardware").css("font-weight","bold");
		$("#Hardware").show(speed);
		break;
	case "Betriebssysteme":
		hideProfiles(speed);
		$("#lnk_Betriebssysteme").css("font-weight","bold");
		$("#Betriebssysteme").show(speed);
		break;
	case "Programmiersprachen":
		hideProfiles(speed);
		$("#lnk_Programmiersprachen").css("font-weight","bold");
		$("#Programmiersprachen").show(speed);
		break;
	case "Datenbanken":
		hideProfiles(speed);
		$("#lnk_Datenbanken").css("font-weight","bold");
		$("#Datenbanken").show(speed);
		break;
	case "Datenkommunikation":
		hideProfiles(speed);
		$("#lnk_Datenkommunikation").css("font-weight","bold");
		$("#Datenkommunikation").show(speed);
		break;
	case "Erfahrungen":
		hideProfiles(speed);
		$("#lnk_Erfahrungen").css("font-weight","bold");
		$("#Erfahrungen").show(speed);
		break;
	case "Branchen":
		hideProfiles(speed);
		$("#lnk_Branchen").css("font-weight","bold");
		$("#Branchen").show(speed);
		break;
	case "Sonstiges":
		hideProfiles(speed);
		$("#lnk_Sonstiges").css("font-weight","bold");
		$("#Sonstiges").show(speed);
		break;
	default:
		break;
	}
}

//	==========================================================
//	eMail-Adresse codieren
//	==========================================================
function lamDnes()
{
	var myad = "l`"+"hks"+"n9eh"+"ql`"+"?bqxrs`"+"k,vnqjr-"+"cd";
	var thead = "";
	for (i = 0; i < myad.length; i++)
	{
		thead+= String.fromCharCode(myad.charCodeAt(i)+1);
	}
	this.location.href = thead;
}


//	############################################################
//	Flashplayer: 
//		Installation + Version prüfen und Player vorbereiten

//v1.7
// Flash Player Version Detection
// Detect Client Browser type
// Copyright 2005-2008 Adobe Systems Incorporated.  All rights reserved.
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
function ControlVersion()
{
	var version;
	var axo;
	var e;
	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry
	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}
	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";
			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";
			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}
	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}
	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}
	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");			
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];
        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}

function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '';
  if (isIE && isWin && !isOpera)
  {
    str += '<object ';
    for (var i in objAttrs)
    {
      str += i + '="' + objAttrs[i] + '" ';
    }
    str += '>';
    for (var i in params)
    {
      str += '<param name="' + i + '" value="' + params[i] + '" /> ';
    }
    str += '</object>';
  }
  else
  {
    str += '<embed ';
    for (var i in embedAttrs)
    {
      str += i + '="' + embedAttrs[i] + '" ';
    }
    str += '> </embed>';
  }
  document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    
    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblclick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
      case "id":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

