// JavaScript Document

function mw_preload(){
	var images = new Array();
	for(var i=0; i<mw_preload.arguments.length; i++){
		document['pre_' + i] = new Image();
		document['pre_' + i].src = mw_preload.arguments[i];
	}
}

function highlight(m){
	mw_preload('/images/main/navi_sitemap_1.gif','/images/main/navi_impressum_1.gif','/images/main/navi_imprint_1.gif','/images/main/navi_ueber_uns_1.gif','/images/main/navi_about_us_1.gif','/images/main/navi_kompetenzen_1.gif','/images/main/navi_competencies_1.gif','/images/main/navi_produkte_1.gif','/images/main/navi_products_1.gif','/images/main/navi_referenzen_1.gif','/images/main/navi_references_1.gif','/images/main/navi_news_1.gif','/images/main/navi_kontakt_1.gif','/images/main/navi_contact_1.gif','/images/main/navi_top_german_1.gif','/images/main/navi_top_english_1.gif');
	if(!m) return;
	document.getElementById(m).style.backgroundImage = "url(../images/main/navi_" + m + "_1.gif)";
}

function check_regex(input, typ){
	if(!input) return false;
	switch(typ){
		case "date_dd":
			if(input < 1 || input > 31) return false;
		break;
		case "date_mm":
			if(input < 1 || input > 12) return false;
		break;
		case "date_yyyy":
			if(input < 1000 || input > 9999) return false;
		break;
		case "mail":
			val = /\w.+@\w.+\.\w.+/;
			if(!val.test(input)) return false;
		break;
		case "num":
			val = /\d/;
			if(!val.test(input)) return false;
		break;
		case "num_x":
			val = /\D/;
			if(!val.test(input)) return false;
		break;
		default:
			return false;
		break;
	}
	return true;
}

function checkForm(lan){
	var form = document.forms.form;
	var success = true;
	switch(lan){
		case "de":
			if(form.anrede.value == "" || form.anrede.value == "Bitte ausfüllen"){
				form.anrede.value = "Bitte ausfüllen";
				success = false;
			}
			if(form.name.value == "" || form.name.value == "Bitte ausfüllen"){
				form.name.value = "Bitte ausfüllen";
				success = false;
			}
			if(form.ort.value == "" || form.ort.value == "Bitte ausfüllen"){
				form.ort.value = "Bitte ausfüllen";
				success = false;
			}
			if(form.land.value == "" || form.land.value == "Bitte ausfüllen"){
				form.land.value = "Bitte ausfüllen";
				success = false;
			}
			if(form.referrer.value == "" || form.referrer.value == "Bitte ausfüllen"){
				form.referrer.value = "Bitte ausfüllen";
				success = false;
			}else if(!check_regex(form.referrer.value, "mail")){
				form.referrer.value = "Adresse ungültig";
				success = false;
			}
			break;
		default:
			if(form.anrede.value == "" || form.anrede.value == "Fill out"){
				form.anrede.value = "Fill out";
				success = false;
			}
			if(form.name.value == "" || form.name.value == "Fill out"){
				form.name.value = "Fill out";
				success = false;
			}
			if(form.ort.value == "" || form.ort.value == "Fill out"){
				form.ort.value = "Fill out";
				success = false;
			}
			if(form.land.value == "" || form.land.value == "Fill out"){
				form.land.value = "Fill out";
				success = false;
			}
			if(form.referrer.value == "" || form.referrer.value == "Fill out"){
				form.referrer.value = "Fill out";
				success = false;
			}else if(!check_regex(form.referrer.value, "mail")){
				form.referrer.value = "Invalid address";
				success = false;
			}
			break;
	}
	return success;
}

var languages = new Array();
languages['de'] = new Array('/deutsch/impressum.html','/deutsch/kompetenzen.html','/deutsch/kompetenzen_02.html','/deutsch/kompetenzen_03.html','/deutsch/kompetenzen_04.html','/deutsch/kontakt.html','/deutsch/kontakt_02.html','/deutsch/news.html','/deutsch/produkte.html','/deutsch/produkte_02.html','/deutsch/produkte_03.html','/deutsch/produkte_04.html','/deutsch/produkte_05.html','/deutsch/produkte_06.html','/deutsch/referenzen.html','/deutsch/sitemap.html','/deutsch/start.html','/deutsch/ueber_uns.html');
languages['en'] = new Array('/english/imprint.html','/english/competencies.html','/english/competencies_02.html','/english/competencies_03.html','/english/competencies_04.html','/english/contact.html','/english/contact_02.html','/english/news.html','/english/products.html','/english/products_02.html','/english/products_03.html','/english/products_04.html','/english/products_05.html','/english/products_06.html','/english/references.html','/english/sitemap.html','/english/start.html','/english/about_us.html');

function switch_language(lan){
	if(lan == "de") var ol = "en";
	else var ol = "de";
	var winloc = window.location.pathname;
	for(var i=0; i<languages[ol].length; i++){
		if(winloc == languages[ol][i]){
			var nl = languages[lan][i];
			break;
		}
	}
	window.location.href = nl;
}

b64s='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';

function decode(t){
	var r=''; var m=0; var a=0; var c;
	for(n=0; n<t.length; n++){
		c=b64s.indexOf(t.charAt(n));
		if(c >= 0){
			if(m) r+=String.fromCharCode((c << (8-m))&255 | a);
			a = c >> m;
			m+=2;
			if(m==8) m=0;
		}
	}
	return r;
}

function insertMailto(str, subj){
	document.write('<a href="mailto:' + decode(str) + '?subject=' + subj + '">' + decode(str) + '<\/a>');
}

function insertAddress(str){
	document.write(decode(str));
}
