/**************************************************************/
/*                   GENERAL FUNCTIONS                        */
/**************************************************************/
function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}
	return [curleft,curtop];
}

function createRequest() {
	var request = null;
	try {
	 	request = new XMLHttpRequest();
	} catch (trymicrosoft) {
		try {
			request = new ActiveXObject("Msxml2.XMLHTTP");
				
		} catch (othermicrosoft) {
			try {
				request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (failed) {
				request = null;
			}
		}
	}
	
	return request;
}

function trim(string) {
	return string.replace(/^\s+|\s+$/g,"");
}


/**************************************************************/
/*                   ROTATE COLOR BAR                         */
/**************************************************************/
var colors = Array();

function colorInit() {
	for (i = 0 ; i < 128 ; i++) {
		colors[i] = d2h(2 * i);
		
		if (colors[i].length == 1) {
			colors[i] = '0' + colors[i];
		}
	}
	colors[128] = 'FF';
}
	

function changeColorUp(i) {
	var location = document.getElementById('location');
	
	if (i < 128) {
		location.style.backgroundColor = '#FF' + colors[i] + '00';
		setTimeout('changeColorUp(' + (i+1) + ')',100);
	}
	else {
		setTimeout('changeColorDown(128)',10000);
	}
}

function changeColorDown(i) {
	var location = document.getElementById('location');
	
	if (i > 0) {
		location.style.backgroundColor = '#FF' + colors[i] + '00';
		setTimeout('changeColorDown(' + (i-1) + ')',100);
	}
	else {
		setTimeout('changeColorUp(0)',10000);
	}
}

function d2h(d) {return d.toString(16);}
function h2d(h) {return parseInt(h,16);}

/**************************************************************/
/*                       ONLOAD                               */
/**************************************************************/
/*
window.onload = function() {
	colorInit();
	bInit();
	changeColorUp(0);
	setTimeout('rotateUp(0)',2000);
}
*/

/**************************************************************/
/*                   NAVIGATION HOVER                         */
/**************************************************************/
function naviHover(obj) {
	obj.style.backgroundColor = '#C0C0C0';
}

function naviOut(obj) {
	obj.style.backgroundColor = '';
}

/**************************************************************/
/*                     TOP MENU HOVER                         */
/**************************************************************/
function menuHover(obj) {
	if (obj.className != 'active') {
		obj.style.backgroundColor = '#FFFF00';
		obj.style.color = '#000000';
		obj.getElementsByTagName('a')[0].style.color = '#000000';
	}
}

function menuOut(obj) {
	if (obj.className != 'active') {
		obj.style.backgroundColor = '';
		obj.style.color = '#CCCCCC';
		obj.getElementsByTagName('a')[0].style.color = '#CCCCCC';
	}
}

/**************************************************************/
/*                   LOGO ANIMATION                           */
/**************************************************************/
var bs = Array();

function bInit() {
	var j = 0;
	
	for (i = 1 ; i < 22 ; i++) {
		bs[j] = new Image();
		bs[j].src = 'Images/d' + i + '.jpg';
		j++;
	}
	
	for (i = 21 ; i > 0 ; i--) {
		bs[j] = new Image();
		bs[j].src = 'Images/b' + i + '.jpg';
		j++;
	}
}

function rotateUp(i) {
	var logo = document.getElementById('logo');
	
	if (i < 42 && i >= 0) {
		logo.src = bs[i].src;
		setTimeout('rotateUp(' + (i+1) + ')',50);
	}
	else {
		setTimeout('rotateDown(' + (i-1) + ')',1000);
	}
}

function rotateDown(i) {
	var logo = document.getElementById('logo');
	
	if (i >= 0) {
		logo.src = bs[i].src;
		setTimeout('rotateDown(' + (i-1) + ')',50);
	}
	else {
		setTimeout('rotateUp(' + (i+1) + ')',30000);
	}
}

/**************************************************************/
/*                   KONTAKTFORMULAR                          */
/**************************************************************/

function clearContactForm(ask) {
	var name = document.getElementById('name');
	var firma = document.getElementById('firma');
	var email = document.getElementById('email');
	var anfrage = document.getElementById('anfrage');
	
	if (ask == 'true') {
		if (confirm('Sind Sie sicher, dass Sie das Formular löschen wollen?')) {
			name.value = '';
			firma.value = '';
			email.value = '';
			anfrage.value = '';
		}
	}
	else {
		name.value = '';
		firma.value = '';
		email.value = '';
		anfrage.value = '';
	}
}

var request = createRequest();

function sendContactForm() {
	var name = trim(document.getElementById('name').value);
	var firma = trim(document.getElementById('firma').value);
	var email = trim(document.getElementById('email').value);
	var anfrage = trim(document.getElementById('anfrage').value);
	
	if (name == null || name == "") {
		alert('Bitte füllen Sie alle Felder aus, die mit einem * gekennzeichnet sind.');
		return;
	}
	
	if (email == null || email == "") {
		alert('Bitte füllen Sie alle Felder aus, die mit einem * gekennzeichnet sind.');
		return;
	}
	
	if (anfrage == null || anfrage == "") {
		alert('Bitte füllen Sie alle Felder aus, die mit einem * gekennzeichnet sind.');
		return;
	}
	
	if (!email.match(/^[a-z0-9]+([_.-][a-z0-9]+)*@([a-z0-9]+([.-][a-z0-9]+)*)+\.[a-z]{2,4}$/)) {
		alert('Die E-Mail Adresse, die Sie eingegeben haben, ist ungültig. Bitte überprüfen Sie Ihre Eingabe.');
		return;
	}
	
	if (request == null) {
		alert('Ihr Browser unterstützt kein JavaScript. Bitte installieren Sie die aktuellste Version Ihres Browsers.');
		return;
	}
	
	request.onreadystatechange = contactStateChange;
	
	request.open("POST","/Kontakt/mail-process.php",true);
	request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
	
	request.send('name='+escape(name)+'&firma='+escape(firma)+'&email='+escape(email)+'&anfrage='+escape(anfrage));
}
	
	
function contactStateChange() {
	if (request.readyState != 4) return;
	
	if (request.status != 200 && request.status != 0) {
		alert('Bei der Ausführung Ihrer Anfrage ist ein Fehler aufgetreten. Bitte versuchen Sie es später noch einmal.\n' + request.statusText);
		return false;
	}
	
	var returnstring = request.responseText;
	
	switch (returnstring) {
		case 'OK':
			clearContactForm('false');
			alert('Ihre Anfrage wurde erfolgreich verschickt und wird schnellstmöglich bearbeitet.');
			break;
		default:
			if (returnstring.substr(0,7) == "FEHLER:") {
				alert(returnstring);
			}
			break;
	}
	
	request = createRequest();
}

/**************************************************************/
/*                         TICKER                             */
/**************************************************************/

var tObj;

//Falls Leeraum zwischen News...hier Wert erhoehen...minimum:1
var tRepeat     =2;

var tPos = 0;

var tGo;

function ticker(tickerDivId) {
    /* * * * * * * * * D I E  V A R I A B L E N *  * * * * * * * * * * */
    var meldungen = new Array();

    //Die Meldung(en)
    meldungen.push('<a href="news/3d_trifft_variete.php" style="text-decoration:underline;color:#77AAFF;font-weight:bold">3D trifft Variet&eacute;</a>');
    meldungen.push('Freitag, 11. Dezember 2009, Colombi Hotel Freiburg');

    //Trennzeichen zwischen den einzelnen News
    var tDelimiter  =' + + + ';

    //Interval in ms
    var tInterval   =10;

    //Stop bei mouseover?true:false
    var tStop       =true;

    //Rahmen
    var tBorder     ='3px solid yellow';

    //Breite
    var tWidth      =400;

    //Höhe
    var tHeight     =25;

    //Abstand Rahmen->Inhalt (top+bottom)
    var tPadding    =2;

    //Das Aussehen per CSS anpassbar unter Verwendung des Selectors #ticker

    /* * * * * * * * * * * * D E R  T I C K E R * * * * * * * * * * * * * * * */
    var IE  = document.all&&!window.opera;
    var DOM = document.getElementById&&!IE;

    if(DOM||IE)
    {
        var tStop = tStop?'onmouseover="clearInterval(tGo)"'+ ' onmouseout="tGo=setInterval(\'DM_ticken()\','+tInterval+')"':'',
            tTxt  = tDelimiter+meldungen.join(tDelimiter),
            tNews = tTxt;

        for(var i = 1; i < tRepeat; ++i)
        {
            tNews += tTxt;
        }
        
        var tickerDiv = document.getElementById(tickerDivId);

        tickerDiv.innerHTML = '<div style="overflow:hidden;border:' + tBorder +
                       ';width:' + tWidth + 'px;height:' + (tHeight+tPadding) + 'px;' +
                       'padding:' + tPadding + 'px 0px ' + tPadding + 'px 0px;">' +
                       '<div style="position:absolute;left:50%;margin-left:-'+(tWidth/2)+'px;width:' + tWidth + 'px;height:' + tHeight + 'px;'+
                       'overflow:hidden;clip:rect(0px '+tWidth+'px '+tHeight+'px 0px);">'+
                       '<span id="ticker" style="white-space:nowrap;position:relative;color:white" ' + tStop + '>' + tNews +
                       '</span></div></div>';

        tObj = IE ? document.all.ticker : document.getElementById('ticker');
        
        tGo = setInterval('DM_ticken()',tInterval);
    }
}

function DM_ticken()
{
    var tOffset = tObj.offsetWidth/tRepeat;
    if(Math.abs(tPos) > tOffset)
    {
        tPos=0;
    }
    tObj.style.left=tPos+'px';
    tPos=parseInt(tPos)-1;
}

/**************************************************************/
/*           ANMELDEFORMULAR 3D TRIFFT VARIETE                */
/**************************************************************/

function clearContactForm3d(ask) {
	var name = document.getElementById('name');
	var vorname = document.getElementById('vorname');
	var strasse = document.getElementById('strasse');
	var plz = document.getElementById('plz');
	var ort = document.getElementById('ort');
	var telefon = document.getElementById('telefon');
	var email = document.getElementById('email');
	var fv = document.getElementById('fv');
	var fvd = document.getElementById('fvd');
	var d = document.getElementById('d');
	var dz = document.getElementById('dz');
	var ez = document.getElementById('ez');
	
	if (ask == 'true') {
		if (confirm('Sind Sie sicher, dass Sie das Formular löschen wollen?')) {
			name.value = '';
			vorname.value = '';
			strasse.value = '';
			plz.value = '';
			ort.value = '';
			telefon.value = '';
			email.value = '';
			fv.value = '';
			fvd.value = '';
			d.value = '';
			dz.value = '';
			ez.value = '';
		}
	}
	else {
		name.value = '';
		vorname.value = '';
		strasse.value = '';
		plz.value = '';
		ort.value = '';
		telefon.value = '';
		email.value = '';
		fv.value = '';
		fvd.value = '';
		d.value = '';
		dz.value = '';
		ez.value = '';
	}
}

function sendContactForm3d() {
	var name = trim(document.getElementById('name').value);
	var vorname = trim(document.getElementById('vorname').value);
	var strasse = trim(document.getElementById('strasse').value);
	var plz = trim(document.getElementById('plz').value);
	var ort = trim(document.getElementById('ort').value);
	var telefon = trim(document.getElementById('telefon').value);
	var email = trim(document.getElementById('email').value);
	var fv = trim(document.getElementById('fv').value);
	var fvd = trim(document.getElementById('fvd').value);
	var d = trim(document.getElementById('d').value);
	var dz = trim(document.getElementById('dz').value);
	var ez = trim(document.getElementById('ez').value);
	
	if (name == null || name == "" 
		|| vorname == null || vorname == "" 
		|| strasse == null || strasse == "" 
		|| plz == null || plz == "" 
		|| ort == null || ort == ""
		|| email == null || email == "") {
		alert('Bitte füllen Sie alle Felder aus, die mit einem * gekennzeichnet sind.');
		return;
	}
	
	if (!email.match(/^[a-z0-9]+([_.-][a-z0-9]+)*@([a-z0-9]+([.-][a-z0-9]+)*)+\.[a-z]{2,4}$/)) {
		alert('Die E-Mail Adresse, die Sie eingegeben haben, ist ungültig. Bitte überprüfen Sie Ihre Eingabe.');
		return;
	}
	
	if ((fv == null || fv == "")
		 && (fvd == null || fvd == "")
		 && (d == null || d == "")
		 && (dz == null || dz == "")
		 && (ez == null || ez == "")) {
		alert('Sie müssen sich für mindestens eine Sache anmelden.');
		return;
	}
	
	if (request == null) {
		alert('Ihr Browser unterstützt kein JavaScript. Bitte installieren Sie die aktuellste Version Ihres Browsers.');
		return;
	}
	
	request.onreadystatechange = contactStateChange3d;
	
	request.open("POST","3d_trifft_variete_anmeldung-process.php",true);
	request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
	
	request.send('name='+escape(name)+'&vorname='+escape(vorname)+'&strasse='+escape(strasse)+'&plz='+escape(plz)+'&ort='+escape(ort)+'&telefon='+escape(telefon)+'&email='+escape(email)+'&fv='+escape(fv)+'&fvd='+escape(fvd)+'&d='+escape(d)+'&dz='+escape(dz)+'&ez='+escape(ez));
}
	
	
function contactStateChange3d() {
	if (request.readyState != 4) return;
	
	if (request.status != 200 && request.status != 0) {
		alert('Bei der Ausführung Ihrer Anfrage ist ein Fehler aufgetreten. Bitte versuchen Sie es später noch einmal.\n' + request.statusText);
		return false;
	}
	
	var returnstring = request.responseText;
	
	switch (returnstring) {
		case 'OK':
			clearContactForm3d('false');
			alert('Ihre Anmeldung wurde erfolgreich verschickt. Sie bekommen eine schriftliche Bestätigung zugeschickt.');
			break;
		default:
			if (returnstring.substr(0,7) == "FEHLER:") {
				alert(returnstring);
			}
			break;
	}
	
	request = createRequest();
}

/**************************************************************/
/*                     KOSTENVORANSCHLAG                      */
/**************************************************************/

function clearKV(ask) {
	var inputs = document.getElementsByTagName('input');
	var textareas = document.getElementsByTagName('textarea');
	var selects = document.getElementsByTagName('select');
	
	if (ask == 'true') {
		if (confirm('Sind Sie sicher, dass Sie das Formular löschen wollen?')) {
			if (inputs.length) {
				for (var i = 0 ; i < inputs.length ; i++) {
					if (inputs[i].type == 'checkbox' || inputs[i].type == 'radio') {
						inputs[i].checked = false;
					}
					else if (inputs[i].type == 'text') {
						inputs[i].value = '';
					}
				}
			}
			else {
				inputs.value = '';
			}
			
			if (textareas.length) {
				for (var i = 0 ; i < textareas.length ; i++) {
					textareas[i].value = '';
				}
			}
			else {
				textareas.value = '';
			}
			
			if (selects.length) {
				for (var i = 0 ; i < selects.length ; i++) {
					selects[i].value = 'NONE';
				}
			}
			else {
				selects.value = 'NONE';
			}
		}
	}
	else {
		if (inputs.length) {
			for (var i = 0 ; i < inputs.length ; i++) {
				if (inputs[i].type == 'checkbox' || inputs[i].type == 'radio') {
					inputs[i].checked = false;
				}
				else if (inputs[i].type == 'text') {
					inputs[i].value = '';
				}
			}
		}
		else {
			inputs.value = '';
		}
		
		if (textareas.length) {
			for (var i = 0 ; i < textareas.length ; i++) {
				textareas[i].value = '';
			}
		}
		else {
			textareas.value = '';
		}
		
		if (selects.length) {
			for (var i = 0 ; i < selects.length ; i++) {
				selects[i].value = 'NONE';
			}
		}
		else {
			selects.value = 'NONE';
		}
	}
}

function sendKV() {
	var inputs = document.getElementsByTagName('input');
	var textareas = document.getElementsByTagName('textarea');
	var selects = document.getElementsByTagName('select');
	
	var praxis_name = trim(document.getElementById('praxis_name').value);
	var praxis_strasse = trim(document.getElementById('praxis_strasse').value);
	var praxis_plz = trim(document.getElementById('praxis_plz').value);
	var praxis_ort = trim(document.getElementById('praxis_ort').value);
	var praxis_email = trim(document.getElementById('praxis_email').value);
	var patient = trim(document.getElementById('patient').value);
	
	if (request == null) {
		alert('Ihr Browser unterstützt kein JavaScript. Bitte installieren Sie die aktuellste Version Ihres Browsers.');
		return;
	}
	
	if (praxis_name == null || praxis_name == "" 
		|| praxis_strasse == null || praxis_strasse == ""
		|| praxis_plz == null || praxis_plz == ""
		|| praxis_ort == null || praxis_ort == ""
		|| praxis_email == null || praxis_email == ""
		|| patient == null || patient == "") {
		alert('Bitte füllen Sie alle Felder aus, die mit einem * gekennzeichnet sind.');
		return;
	}
		
	if (!praxis_email.match(/^[a-z0-9]+([_.-][a-z0-9]+)*@([a-z0-9]+([.-][a-z0-9]+)*)+\.[a-z]{2,4}$/)) {
		alert('Die E-Mail Adresse, die Sie eingegeben haben, ist ungültig. Bitte überprüfen Sie Ihre Eingabe.');
		return;
	}
	
	var requeststring = '';
	
	if (inputs.length) {
		for (var i = 0 ; i < inputs.length ; i++) {
			if (inputs[i].type == 'radio') {
				if (inputs[i].checked) {
					requeststring += '&' + inputs[i].name + '=' + trim(inputs[i].value);
				}
			}
			else if (inputs[i].type == 'checkbox') {
				requeststring += '&' + inputs[i].name + '=' + inputs[i].checked;
			}
			else if (inputs[i].type == 'text') {
				requeststring += '&' + inputs[i].name + '=' + trim(inputs[i].value);
			}
		}
	}
	else {
		requeststring += '&' + inputs.name + '=' + trim(inputs.value);
	}
	
	if (textareas.length) {
		for (var i = 0 ; i < textareas.length ; i++) {
			requeststring += '&' + textareas[i].name + '=' + trim(textareas[i].value);
		}
	}
	else {
		requeststring += '&' + textareas.name + '=' + trim(textareas.value);
	}
	
	if (selects.length) {
		for (var i = 0 ; i < selects.length ; i++) {
			requeststring += '&' + selects[i].name + '=' + selects[i].value;
		}
	}
	else {
		requeststring += '&' + selects.name + '=' + selects.value;
	}
	
	request.onreadystatechange = KVStateChange;
	
	//alert(requeststring.substring(1));
	
	request.open("POST","kostenvoranschlag-process.php",true);
	request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
	
	request.send(requeststring.substring(1));
}
	
	
function KVStateChange() {
	if (request.readyState != 4) return;
	
	if (request.status != 200 && request.status != 0) {
		alert('Bei der Ausführung Ihrer Anfrage ist ein Fehler aufgetreten. Bitte versuchen Sie es später noch einmal.\n' + request.statusText);
		return false;
	}
	
	var returnstring = request.responseText;
	
	switch (returnstring) {
		case 'OK':
			clearKV('false');
			alert('Ihr Kostenvoranschlag wurde erfolgreich verschickt.');
			break;
		default:
			if (returnstring.substr(0,7) == "FEHLER:") {
				alert(returnstring);
			}
			break;
	}
	
	request = createRequest();
}

/**************************************************************/
/*                       ZAHNARZTSUCHE                        */
/**************************************************************/

function clearZASuche(ask) {
	var name = document.getElementById('name');
	var telefon = document.getElementById('telefon');
	var email = document.getElementById('email');
	
	if (ask == 'true') {
		if (confirm('Sind Sie sicher, dass Sie das Formular löschen wollen?')) {
			name.value = '';
			telefon.value = '';
			email.value = '';
		}
	}
	else {
		name.value = '';
		telefon.value = '';
		email.value = '';
	}
}

function sendZASuche() {
	var name = trim(document.getElementById('name').value);
	var ort = trim(document.getElementById('ort').value);
	var telefon = trim(document.getElementById('telefon').value);
	var email = trim(document.getElementById('email').value);
	
	if (request == null) {
		alert('Ihr Browser unterstützt kein JavaScript. Bitte installieren Sie die aktuellste Version Ihres Browsers.');
		return;
	}
	
	if (name == null || name == "" 
		|| telefon == null || telefon == ""
		|| email == null || email == "") {
		alert('Bitte füllen Sie alle Felder aus, die mit einem * gekennzeichnet sind.');
		return;
	}
		
	if (!email.match(/^[a-z0-9]+([_.-][a-z0-9]+)*@([a-z0-9]+([.-][a-z0-9]+)*)+\.[a-z]{2,4}$/)) {
		alert('Die E-Mail Adresse, die Sie eingegeben haben, ist ungültig. Bitte überprüfen Sie Ihre Eingabe.');
		return;
	}
	
	request.onreadystatechange = ZASucheStateChange;
	
	request.open("POST","partnerpraxen-process.php",true);
	request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
	
	request.send('name='+escape(name)+'&ort='+escape(ort)+'&telefon='+escape(telefon)+'&email='+escape(email));
}
	
	
function ZASucheStateChange() {
	if (request.readyState != 4) return;
	
	if (request.status != 200 && request.status != 0) {
		alert('Bei der Ausführung Ihrer Anfrage ist ein Fehler aufgetreten. Bitte versuchen Sie es später noch einmal.\n' + request.statusText);
		return false;
	}
	
	var returnstring = request.responseText;
	
	switch (returnstring) {
		case 'OK':
			clearZASuche('false');
			alert('Ihre Anfrage wurde erfolgreich verschickt. Sie werden so bald wie möglich von unserem Serviceteam zurückgerufen.');
			break;
		default:
			if (returnstring.substr(0,7) == "FEHLER:") {
				alert(returnstring);
			}
			break;
	}
	
	request = createRequest();
}