var xho, str_browser, target;
var int_version = parseInt(navigator.appVersion.substr(0,3));
var currentNavElem;
var currPage;

if (document.innerHeight == "undefined") {    
	if (document.getElementById != "undefined") {        
		str_browser = "ie";    
	} else {
		str_browser = "alt";    
	}
}
else if(navigator.userAgent.indexOf("MSIE 8.0") > -1){
	if (document.getElementById != "undefined") {        
		str_browser = "ie";    
	} else {
		str_browser = "alt";    
	}
} else if (window.pkcs11 != "undefined" || window.updateCommands != "undefined") {
	if (int_version >= 4) {        
		str_browser = "gecko";
	} else {        
		str_browser = "alt";
	}
}
else if (window.opera != "undefined") {
	if (int_version >= 4) {
		str_browser = "opera";
	} else {
		str_browser = "alt";
	}
} else {
	str_browser = "alt";
}
function getXHO(){
	var obj;
	if (typeof XMLHttpRequest != 'undefined') 
	{
		obj = new XMLHttpRequest();
	}
	
	// Wenn im oberen Block noch kein Objekt erzeugt, dann versuche XMLHTTP-Objekt zu erzeugen
	// Notwendig für IE6 oder IE5
	if (!obj) 
	{
		try {
			obj = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e){
			try {
				obj = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e){
				obj = null;
			}
		}
	}
	return obj;
}
function orsc(){
	// shows status (for debugging)
	/*
	if(document.getElementById('statfeld')){
		st = '';
		if(this.readyState == 4){
			st = (this.status)?this.status:'';
			//document.getElementById('statfeld').innerText = st+" / "+xho.readyState;
		}
		document.getElementById('statfeld').innerHTML = st+" / "+this.readyState
	}
	*/
	if(this.readyState == 4){
			//alert(target);
		if(this.status == 200){
			document.getElementById(target).innerHTML = this.responseText+"<br />";//+xho.status;
			fade(document.getElementById(target));
			if(pageTracker)
				pageTracker._trackPageview("/"+currPage);
			//alert(currPage);
			/*
			if(pageTracker)
				pageTracker._trackPageview("/"+currPage);
			var ScriptFragment = '(?:<script.*?>)((\n|.)*?)(?:</script>)';
			   
			var match    = new RegExp(ScriptFragment, 'img');
			var scripts  = this.responseText.match(match);
			
			if(scripts) {
				var js = '';
				for(var s = 0; s < scripts.length; s++) {
					var match = new RegExp(ScriptFragment, 'im');
					js += scripts[s].match(match)[1];
				}
				eval(js);
			}
			//alert(this.status);
			*/
		}
	}
}
xho = getXHO();
xho.onreadystatechange = orsc;

function getPage(page, song){
	updateNavigation(page);
	target = 'content';
	param = "page="+page;
	currPage = page;
	if(song)
		param += "&song="+song;
	//alert(param);
	sendForm(param);
}
function setNewsletter(){
	if(checkNewsletter()){
		target = 'content';
		param = 'fname='+document.getElementById('nl_fname').value+'&lname='+document.getElementById('nl_lname').value+"&mail="+document.getElementById('nl_mail').value+'&att=newsletter';
		//alert(param);
		sendForm(param);
	}
}
function setLang(lang){
	target = 'content';
	param = "lang="+lang;
	document.getElementById('langTxt').innerHTML = (lang == 'de')?'This site in <a href="javascript:setLang(\'en\');">English</a> &middot; German</span>':'<span id="langTxt">This site in English &middot; <a href="javascript:setLang(\'de\');">German</a></span>';
	sendForm(param);
}
function sendForm(param){
	document.getElementById(target).innerHTML = '<table width="500" height="500"><tr><td align="center" height="500">hold on - getting data...</td></tr></table>';//'';
	fade(document.getElementById(target));
	var url = 'getData.php';
	//alert(param);
	xho = getXHO();
	xho.onreadystatechange = orsc;
	xho.open('POST', url, true);
	xho.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xho.setRequestHeader("Content-length", param.length);
	xho.setRequestHeader("Connection", "close");
	xho.send(param);
	//alert(xho);
}
function fade(ele, value){
	if(ele)
		fadeElem = ele;
	op = (value)?value:0;
	if(str_browser == "ie"){
		if(op > 100){
			//alert("done ie");
			return true;
		}
		fadeElem.style.filter = 'alpha(opacity='+op+')';
		op += 5;
		var timeval = 0;
	}
	else{
		if(op > 1){
			//alert("done moz");
			return true;
		}
		fadeElem.style.opacity = op;
		op += .1;
		var timeval = 40;
	}
	//document.getElementById('infoline').innerHTML = "Opacity: "+op+"<br />"+"Timeval: "+timeval;
	window.setTimeout("fade(null,"+op+")", timeval);
}
var productArr = new Array("interactiveaudio", "interactivevideo", "interactivedatabase", "interactiveresearch", "interactivecommunity");
var referenceArr = new Array("company", "projects");
function updateNavigation(elem){
	var productArr = new Array("interactiveaudio", "interactivevideo", "interactivedatabase", "interactiveresearch", "interactivecommunity");
	var referenceArr = new Array("company", "projects");
	if(currentNavElem)
		document.getElementById(currentNavElem).style.textDecoration = 'none';
	for(i=0; i<productArr.length; i++){
		if(productArr[i] == elem){
			document.getElementById('nav_product').style.display = 'block';
			document.getElementById('nav_references').style.display = 'none';
			break;
		}
		else if(referenceArr[i] && referenceArr[i] == elem){
			document.getElementById('nav_references').style.display = 'block';
			document.getElementById('nav_product').style.display = 'none';
			break;
		}
	}
	if(document.getElementById("elem_"+elem)){
		currentNavElem = "elem_"+elem;
		document.getElementById(currentNavElem).style.textDecoration = 'underline';
	}
}
function checkNewsletter(){
	lang = document.getElementById('nl_lang').value;
	if(document.getElementById('nl_fname') && document.getElementById('nl_fname').value == ''){
		document.getElementById('nl_fname').focus();
		msg = (lang == 'de')?'Bitte geben Sie Ihren Vornamen an.':'Please enter your first name';
		alert(msg);
		return false;
	}
	if(document.getElementById('nl_lname') && document.getElementById('nl_lname').value == ''){
		document.getElementById('nl_lname').focus();
		msg = (lang == 'de')?'Bitte geben Sie Ihren Nachnamen an.':'Please enter your surname';
		alert(msg);
		return false;
	}
	if(document.getElementById('nl_fname') && document.getElementById('nl_fname').value == ''){
		document.getElementById('nl_fname').focus();
		msg = (lang == 'de')?'Bitte geben Sie Ihren Vornamen an.':'Please enter your first name';
		alert(msg);
		return false;
	}
	if(document.getElementById('nl_mail') && document.getElementById('nl_mail').value == ''){
		document.getElementById('nl_mail').focus();
		msg = (lang == 'de')?'Bitte geben Sie Ihre E-Mail Adresse an.':'Please enter your e-mail address.';
		alert(msg);
		return false;
	}
	filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if(document.getElementById('nl_mail') && document.getElementById('nl_mail').value && !filter.test(document.getElementById('nl_mail').value))
	{
		document.getElementById('nl_mail').focus();
		msg = (lang == 'de')?"Dies ist keine gueltige E-Mail Adresse!":"This is not a valid e-mail address!";
		alert(msg);
		return false;
	}
	return true;
}