/*#######################################
#########################################
###       noctec.de Easy CMS          ###
###                                   ###
### Datei:    Javascript Funktionen   ###
### Typ:      Template / Javascript   ###
### Version:  0.7                     ###
### Autor:    David Donath            ###
### Homepage: http://www.noctec.de    ###
### Email:    postman@noctec.de       ###
###                                   ###
### Letzte Änderung:  02.05.2007      ###
###                                   ###
###      This is not FreeWare!        ###
###       all rights reserved         ###
#########################################
#######################################*/
// UTF8 Decode
function utf8_decode(utftext) {
	var plaintext = ""; var i=0; var c=c1=c2=0;
	// while-Schleife, weil einige Zeichen uebersprungen werden
	while(i<utftext.length) {
		c = utftext.charCodeAt(i);
		if (c<128) {
			plaintext += String.fromCharCode(c);
			i++;
		}
		else if((c>191) && (c<224)) {
			c2 = utftext.charCodeAt(i+1);
			plaintext += String.fromCharCode(((c&31)<<6) | (c2&63));
			i+=2;
		}
		else {
			c2 = utftext.charCodeAt(i+1); c3 = utftext.charCodeAt(i+2);
			plaintext += String.fromCharCode(((c&15)<<12) | ((c2&63)<<6) | (c3&63));
			i+=3;
		}
	}
	return plaintext;
}



/* ####################################################################
###   Funktionen die direkt nach dem Laden durchgeührt werden sollen
####################################################################*/
function lade() {
	hoehen_korrektur(); // Korrektur der Höhen der einzelnen Boxen
	produktkatalogStart() // Produktkatalog
	return 0;
}

/* ####################################################################
###   Hoehenkorrektur für die Main und Content
####################################################################*/
function hoehen_korrektur() { 
	// Hohe der Elemente ermitteln
	var content_left = window.document.getElementById("content_left").clientHeight;
	var content_right = window.document.getElementById("content_right").clientHeight;
	var content = window.document.getElementById("content").clientHeight;
	// Abfragen was am Größten und Hohe in Variable schreiben
	if(content_left > content_right) { var content_hoehe = content_left; }
	else { var content_hoehe = content_right; }
	if(content > content_hoehe) { var conten_hoehe = content; }
	if(content_hoehe < 350) { return 0;	} // Wenn Gesamthöhe kleiner ist abbrechen
	//Wenn Gesamt hohe größer ist, dann anpassen der Höhen
	if(navigator.appName.indexOf("Explorer") != -1 && !isIE7) { // Explorer Hack
		document.getElementById("content").style.height = content_hoehe - 10 + "px";
		document.getElementById("main").style.height = content_hoehe - 210 + "px"; 
	}
	else { // alle anderen Browser
		document.getElementById("content").style.height = content_hoehe + 70 + "px";
		document.getElementById("main").style.height = content_hoehe + 250 + "px";
	}
	//alert("tada");
	return 0;
}


/* ####################################################################
###   Antiblurfunktion für Links
####################################################################*/
function antiblur() {
	if(this.blur) this.blur();
}


/* ####################################################################
###   Email auf Gültigkeit prüfen
####################################################################*/
function email_checken(email) {
	if(email.match(/^[a-zA-Z0-9_\.-]{1,}@[a-z0-9-]{2,}\.[a-z]{2,4}|museum$/)) {	return true; }
	else { return false; }
}


/* ####################################################################
###   Infomeldung (besseres alert)
####################################################################*/
function meldung(text, typ) {
	alert(text); // Erstmal nur per alert, in Kürze mittels Overlay-div
}

/* ####################################################################
###   Registrierung abschicken
####################################################################*/
function registrieren() {

	// Daten in Array schreiben
	var daten = new Array();
	daten["typ"] = document.getElementById("typ").value;
	daten["vorname"] = document.getElementById("vorname").value;
	daten["nachname"] = document.getElementById("nachname").value;
	daten["firma"] = document.getElementById("firma").value;
	daten["strasse"] = document.getElementById("strasse").value;
	daten["plz"] = document.getElementById("plz").value;
	daten["stadt"] = document.getElementById("stadt").value;
	daten["land"] = document.getElementById("land").value;
	daten["telefon"] = document.getElementById("telefon").value;
	daten["email"] = document.getElementById("email").value;
	daten["mobil"] = document.getElementById("mobil").value;
	daten["fax"] = document.getElementById("fax").value;
	daten["web"] = document.getElementById("web").value;
	if(daten["typ"] == "" | 
			 daten["vorname"] == "" | 
			 daten["nachname"] == "" | 
			 daten["firma"] == "" | 
			 daten["strasse"] == "" | 
			 daten["plz"] == "" | 
			 daten["stadt"] == "" | 
			 daten["land"] == "" | 
			 daten["telefon"] == "" | 
			 daten["email"] == "" ) { // Prüfen ob erforderliche Felder ausgefüllt wurden
		njb_infofield("Bitte alle erforderlichen Felder ausf&uuml;llen", "error");
		return 0;
	}
	if( email_checken(daten["email"]) == false ) { // Checken ob gültige Email eingegeben wurde
		njb_infofield("Bitte g&uuml;ltige Emailadresse eingeben", "error");
		return 0;
	}
	document.registrierung.regist_button.disabled = true; // Button deaktivieren
	warten_start(); // Wartenbild sichtbar machen
	sende_registrierung(daten); //Ajax Funktion zum Senden der Daten

	// Bei erfolgreichem Senden werden in ajax.js Felder deaktiviert
	// Bei Fehlerhaftem wird Sendebutton in der ajax.js freigegeben
	// Wartebild wird in ajax.js ausgeblendet
	return;
}


/* ####################################################################
###   Email schreiben / Kontaktformular
####################################################################*/
function email_senden() {

	// Daten in Array schreiben
	var daten = new Array();
	daten["name"] = document.getElementById("name").value;
	daten["firma"] = document.getElementById("firma").value;
	daten["email"] = document.getElementById("email").value;
	daten["betreff"] = document.getElementById("betreff").value;
	daten["text"] = document.getElementById("text").value;
	if(daten["name"] == "" | daten["email"] == "" | daten["betreff"] == "" | daten["text"] == "" ) { // Prüfen ob erforderliche Felder ausgefüllt wurden
		njb_infofield("Bitte alle erforderlichen Felder ausf&uuml;llen", "error");
		return 0;
	}
	if( email_checken(daten["email"]) == false ) { // Checken ob gültige Email eingegebn wurde
		njb_infofield("Bitte g&uuml;ltige Emailadresse eingeben", "error");
		return 0;
	}
	document.kontakt.button.disabled = true; // Button deaktivieren
	warten_start(); // Wartenbild sichtbar machen
	sende_email(daten) //Ajax Funktion zum Senden der Daten
	
	// Bei erfolgreichem Senden werden in ajax.js Felder deaktiviert
	// Bei Fehlerhaftem wird Sendebutton in der ajax.js freigegeben
	// Wartebild wird in ajax.js ausgeblendet
	return;
}

/* ####################################################################
###   Registrierung abschicken
####################################################################*/
function international_kontakt() {

	// Daten in Array schreiben
	var daten = new Array();
	daten["firma"] = document.getElementById("firma").value;
	daten["titel"] = document.getElementById("titel").value;
	daten["position"] = document.getElementById("position").value;
	daten["vorname"] = document.getElementById("vorname").value;
	daten["zweitname"] = document.getElementById("zweitname").value;
	daten["nachname"] = document.getElementById("nachname").value;
	daten["email"] = document.getElementById("email").value;
	daten["web"] = document.getElementById("web").value;
	daten["telefon"] = document.getElementById("telefon").value;
	daten["fax"] = document.getElementById("fax").value;
	daten["mobil"] = document.getElementById("mobil").value;
	daten["adresse"] = document.getElementById("adresse").value;
	daten["land"] = document.getElementById("land").value;
	daten["text"] = document.getElementById("text").value;
	if(daten["firma"] == "" | 
			 daten["position"] == "" | 
			 daten["vorname"] == "" | 
			 daten["nachname"] == "" | 
			 daten["email"] == "" | 
			 daten["telefon"] == "" | 
			 daten["adresse"] == "" | 
			 daten["land"] == "" | 
			 daten["text"] == "") { // Prüfen ob erforderliche Felder ausgefüllt wurden
		njb_infofield("Please fill out the required informations.", "error");
		return 0;
	}
	if( email_checken(daten["email"]) == false ) { // Checken ob gültige Email eingegeben wurde
		njb_infofield("Please enter a valid email adresse.", "error");
		return 0;
	}
	document.kontakt.sende_button.disabled = true; // Button deaktivieren
	warten_start(); // Wartenbild sichtbar machen
	sende_international_kontakt(daten); //Ajax Funktion zum Senden der Daten

	// Bei erfolgreichem Senden werden in ajax.js Felder deaktiviert
	// Bei Fehlerhaftem wird Sendebutton in der ajax.js freigegeben
	// Wartebild wird in ajax.js ausgeblendet
	return;
}

/* ####################################################################
###   Für Newsletter registrieren
####################################################################*/
function regist_newsletter() {

	// Daten in Array schreiben
	var daten = new Array();
	daten["vorname"] = document.getElementById("vorname").value;
	daten["nachname"] = document.getElementById("nachname").value;
	daten["email"] = document.getElementById("email").value;
	daten["firma"] = document.getElementById("firma").value;
	daten["strasse"] = document.getElementById("strasse").value;
	daten["plz"] = document.getElementById("plz").value;
	daten["stadt"] = document.getElementById("stadt").value;
	daten["land"] = document.getElementById("land").value;
	if(daten["vorname"] == "" | daten["nachname"] == "" | daten["email"] == "" ) { // Prüfen ob erforderliche Felder ausgefüllt wurden
		njb_infofield("Bitte alle erforderlichen Felder ausf&uuml;llen", "error");
		return 0;
	}
	if( email_checken(daten["email"]) == false ) { // Checken ob gültige Email eingegeben wurde
		njb_infofield("Bitte g&uuml;ltige Emailadresse eingeben", "error");
		return 0;
	}
	document.getElementById("sende_button").disabled = true; // Button deaktivieren
	warten_start(); // Wartenbild sichtbar machen
	sende_newsletter(daten); //Ajax Funktion zum Senden der Daten

	// Bei erfolgreichem Senden werden in ajax.js Felder deaktiviert
	// Bei Fehlerhaftem wird Sendebutton in der ajax.js freigegeben
	// Wartebild wird in ajax.js ausgeblendet
	return;
}

/* ####################################################################
###   Produktkatalog, rechtes div ausblenden
####################################################################*/
function produktkatalogStart() {
	if(document.getElementById("pr_katalog")) {
		var katalog = document.getElementById("pr_katalog").innerHTML;
		document.getElementById("content_right").style.visibility = "hidden";
		document.getElementById("content_left").style.width = "590px";
		ax_Produkte("uebersicht");
		return 0;
	}
	else { return 0; }
}

/* ####################################################################
###   Produktkatalog, Navigation Over Hintergund
####################################################################*/
function produktNaviOver(id) {
	document.getElementById(id).style.backgroundColor = "#94B03F";
	document.getElementById(id).style.color = "#FFF";
	return 0;
}


/* ####################################################################
###   Produktkatalog, Navigation Over Hintergund
####################################################################*/
function produktNaviOut(id) {
	document.getElementById(id).style.backgroundColor = "#F3F6EA";
	document.getElementById(id).style.color = "#666";
	return 0;
}