var zoomfactor = 100;

function onLoadIndex() {
	window.onresize = onResize;
	onResize();
	onLoad();
}

    function getCookieVal (offset) {
        var endstr = document.cookie.indexOf (";", offset);
        if (endstr == -1)
            endstr = document.cookie.length;
        return unescape(document.cookie.substring(offset, endstr));
    }
    
    function GetCookie (name) {
        var arg = name + "=";
        var alen = arg.length;
        var clen = document.cookie.length;
        var i = 0;
        while (i < clen) {
            var j = i + alen;
            if (document.cookie.substring(i, j) == arg)
            return getCookieVal (j);
            i = document.cookie.indexOf(" ", i) + 1;
            if (i == 0) break;
        }
        return null;
    }


function onLoad() {
	if (GetCookie('zoom')
			&& parseInt(GetCookie('zoom'))>30
			&& parseInt(GetCookie('zoom'))<160) {
		zoomfactor = parseInt(GetCookie('zoom'));
		document.getElementsByTagName("body")[0].style.zoom = zoomfactor+'%';
		document.getElementById("zoomfactor").firstChild.data = zoomfactor;
		document.cookie = 'zoom='+zoomfactor+';';
	} else {
		zoomfactor = 100;
	}
}

document.getElementsByClassName = function(cl) {
	var retnode = [];
	var myclass = new RegExp('\\b'+cl+'\\b');
	var elem = this.getElementsByTagName('*');
	for (var i = 0; i < elem.length; i++) {
	var classes = elem[i].className;
	if (myclass.test(classes)) retnode.push(elem[i]);
	}
	return retnode;
}

function onPatkeyClick(element) {
	if (element.value=="ungültig" || element.value=="invalid" || element.value=="Patienten-Key" || element.value=="Patient key" ) {
		element.value = "";
		element.style.color = "black";
	}
}

function onPatkeyBlur(element,lang) {
	if (element.value=="" && lang=="de") {
		element.value = "Patienten-Key";
		element.style.color = "grey";
	} else if (element.value=="" && lang=="en") {
		element.value = "Patient key";
		element.style.color = "grey";
	}
}

function onResize() {
	var height = 800;
	if (window.innerHeight) {
		height = window.innerHeight;
	} else if (document.body.clientHeight) {
		height = document.body.clientHeight;
	} else if (document.documentElement.clientHeight) {
		height = document.documentElement.clientHeight;
	}
	
	var contentHeight = 570;
	if (document.getElementById("news")) contentHeight += 70;
	
	var padding = Math.round((height-contentHeight)/3);
	if (padding<0) padding = 0;
	document.getElementById("positioning").style.top = padding + "px";
	document.getElementById("bluebar").style.top = (146+padding) + "px";
}

function zoomin() {
	zoomfactor += 10;
	document.getElementsByTagName("body")[0].style.zoom = zoomfactor+'%';
	document.getElementById("zoomfactor").firstChild.data = zoomfactor;
	document.cookie = 'zoom='+zoomfactor+';'; 
}

function zoomout() {
	zoomfactor -= 10;
	document.getElementsByTagName("body")[0].style.zoom = zoomfactor+'%';
	document.getElementById("zoomfactor").firstChild.data = zoomfactor;
	document.cookie = 'zoom='+zoomfactor+';'; 
}

function goback() {
	if (window.back) window.back();
	else if (history.back) history.back();
}

function showTooltip(element) {
	element.lastChild.style.display = "block";
	element.lastChild.style.textDecoration = "none";
	element.style.zIndex = 30;
	element.style.listStyleImage = "url(res/locked.png)"; // workaround for ie6
}

function hideTooltip(element) {
	element.lastChild.style.display = "none";
	element.style.zIndex = 20;
	element.style.listStyleImage = "url(res/locked.png)"; // workaround for ie6
}

function myGetComputedStyle(_elem, _style) {
  var computedStyle;
  if (typeof _elem.currentStyle != 'undefined')
    { computedStyle = _elem.currentStyle; }
  else
    { computedStyle = document.defaultView.getComputedStyle(_elem, null); }

  return computedStyle[_style];
}

function showSubnav(name) {
	
	var subnav = document.getElementById("subnav-"+name);
	subnav.style.display = "block";
	subnav.parentNode.style.zIndex = "200";
	
	if (isNaN(parseInt(subnav.name))) {
		
		var width = 250;
		if (window.getComputedStyle) {
			var str = window.getComputedStyle(subnav,"").getPropertyValue("width");
			width = Math.round(parseInt(str.substring(0,str.length-2)));
	 	} else if (subnav.currentStyle) {
			// Internet Explorer
			width = subnav.offsetWidth;
		}
	 	
	 	subnav.name = width;
	 	
	}
	
	subnav.style.width = (parseInt(subnav.name)+25)+"px";

}

function hideSubnav(name) {
	document.getElementById("subnav-"+name).style.display = "none";
	subnav.parentNode.style.zIndex = "100";
}

function showTab(name) {
	
	var children = document.getElementById("library").childNodes;
	for(var i=0;i<children.length;i++) {
		children[i].style.display = "none";
	}
	document.getElementById(name).style.display = "block";
	
	children = document.getElementById("tabs").childNodes;
	for(i=0;i<children.length;i++) {
		if (children[i].firstChild.nodeValue==name) children[i].className = "selectedtab";
		else children[i].className = "";
	}
	
}

function closeSearchbox() {
	document.getElementById("searchbox").style.display = "none";
	}

function submitEmail(l) {
  
  var email = escape($F("email"));
  
  new Ajax.Request('newsletter.php?add&l='+l, {
    
    method: 'post',
    encoding: 'ISO-8859-15',
    postBody: 'email='+email,
    onSuccess: function(t) {
      
      $("response").innerHTML = t.responseText;
      $("response").style.display = "block";
      $("email")    
      
    },
    onFailure: function(t) { }
    
  });
  
}

function trim(str) {
	return str.replace (/^\s+/, '').replace (/\s+$/, '');
}

function getCheckedValue(radioObj) {
	if(!radioObj) return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked) return radioObj.value;
		else return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}


function submitContactForm(l) {
	
	$("response").innerHTML = "";
	
	var name = trim($F("contactName"));
	if (!name) {
		if(l=='de') $("response").innerHTML = "Bitte geben Sie Ihren Namen ein.";
		else $("response").innerHTML = "Please enter your name.";
		$("response").style.display = "block";
		return;
	}
	
	var email = trim($F("contactEmail"));
	var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
	if (!filter.test(email)) {
		if(l=='de') $("response").innerHTML = "Bitte geben Sie eine gültige E-Mail-Adresse ein.";
		else $("response").innerHTML = "Please enter a valid e-mail address.";
		$("response").style.display = "block";
		return;
	}
	
	var text = trim($F("contactText"));
	if (!text) {
		if(l=='de') $("response").innerHTML = "Bitte geben Sie einen Text ein.";
		else $("response").innerHTML = "Please enter a text.";
		$("response").style.display = "block";
		return;
	}
	
	var type = getCheckedValue(document.forms['contact'].elements['type']);
	if (!type) {
		if(l=='de') $("response").innerHTML = "Bitte wählen Sie den Typ Ihrer Anfrage.";
		else $("response").innerHTML = "Please chose the type of your request.";
		$("response").style.display = "block";
		return;
	}
	
	var code = trim($F("contactCode"));
	var mobile = trim($F("contactMobile"));
	var fax = trim($F("contactFax"));
	
	new Ajax.Request('contact.php?submit&l='+l, {
    	
		method: 'post',
		encoding: 'ISO-8859-15',
		postBody: 'name='+escape(name)+"&email="+escape(email)+"&text="+escape(text)+"&type="+escape(type)+"&patcode="+escape(code)+"&mobile="+escape(mobile)+"&fax="+escape(fax),
		onSuccess: function(t) {
			
			  $("response").innerHTML = t.responseText;
			  $("response").style.display = "block";
			
		},
		onFailure: function(t) { }
    
	});
	
}

var musicTemplate = '<object id="music-object" type="application/x-shockwave-flash" data="emff_standard.swf" width="0" height="0" style="position:absolute;"> \
		<param name="movie" value="emff_standard.swf"> \
		<param name="FlashVars" value="src=%filename%&amp;autoload=yes&amp;autostart=yes&amp;repeat=yes"> \
		<embed src="%filename%" type="audio/x-mpeg" autostart="true" loop="true" hidden="true" height="0" width="0" style="position:absolute;"> \
		</embed> \
	</object>';

function toggleMusic(filename,l) {
	
	var html = musicTemplate.replace(/%filename%/g, escape(filename));
	var element = $("music-"+filename);
	var play = "Musik abspielen";
	var stop = "Musik ausschalten";
	
	if (l=="en") {
		play = "Play Music";
		stop = "Stop Music";
	}
	
	if (element.innerHTML.toLowerCase().indexOf("embed")==-1){
		element.innerHTML = html+'<input type="button" value="'+stop+'" onclick="toggleMusic(\''+filename+'\',\''+l+'\')"/>';
	} else {
		element.innerHTML = '<input type="button" value="'+play+'" onclick="toggleMusic(\''+filename+'\',\''+l+'\')"/>';
	}
	
}

function toggleMusicIndex(filename,l) {
	
	var html = musicTemplate.replace(/%filename%/g, escape(filename));
	var element = $("music");
	var a = $("toggle-music");
	var play = "Musik an";
	var stop = "Musik aus";
	var info = "Möchten Sie Musik von Vivaldi hören?";
	
	if (l=="en") {
		play = "Music on";
		stop = "Music off";
		info = "Do you want to listen to music by Vivaldi?";
	}
	
	if (element.innerHTML.toLowerCase().indexOf("embed")==-1){
		element.innerHTML = html;
		a.innerHTML = stop;
		a.setAttribute("title", '');
	} else {
		element.innerHTML = '';
		a.innerHTML = play;
		a.setAttribute("title", info);
	}
	
}

function toggleMusicStage2(filename,l) {
	
	var html = musicTemplate.replace(/%filename%/g, escape(filename));
	var element = $("music");
	var a = $("toggle-music");
	var play = "Musik abspielen";
	var stop = "Musik ausschalten";
	var info = "Möchten Sie Musik von Vivaldi hören?";
	
	if (l=="en") {
		play = "Play Music";
		stop = "Turn Music off";
		info = "Do you want to listen to music by Vivaldi?";
	}
	
	if (element.innerHTML.toLowerCase().indexOf("embed")==-1){
		element.innerHTML = html;
		a.innerHTML = stop;
		a.setAttribute("title", '');
	} else {
		element.innerHTML = '';
		a.innerHTML = play;
		a.setAttribute("title", info);
	}
	
}
	

