/*******************************************************************
 * File: activexObject.js                                          *
 *                                                                 *
 * Autor: Christian Schwarze                                       *
 * Copyright: Christian Schwarze                                   *
 * Stand: 09.11.2007                                               *
 *                                                                 *
 * Liefert die eigentliche Funktion zum Senden und Empfangen       *
 * von Daten im Hintergrund einer Webseite						   *
 *******************************************************************/
var counter = 0;
function saveHeadData(){
	properties['action'] 		= 'loadBackground';
	properties['uri'] 			= '/res/head.php';
	properties['addrSonst'] 	= document.getElementById('addrSonst').value;
	properties['objectName'] 	= document.getElementById('objectname').value;
	properties['zip'] 			= document.getElementById('zip_code').value;
	properties['street'] 		= document.getElementById('street').value;
	properties['city'] 			= document.getElementById('city').value;

	// Show AnimImage
	var waiting = document.getElementById("waitState");
	waiting.style.visibility="visible";
	window.setTimeout("actionNow(properties, 'head', true)", 500);
	return false;
}

function calculation(){
	counter++;
	if(counter > 2){
	
		properties['action'] = 'loadBackground';
		properties['uri'] = '/res/calculator_Flmf.php';
		properties['flaeche'] 	= document.getElementById('flaeche').value!='' ? parseFloat(document.getElementById('flaeche').value+'.'+document.getElementById('flaeche_1').value) : 0;
		properties['schuettSchicht'] 	= 0;
		properties['schichtdicke'] 		= 0;	
		properties['format_bp'] = '540';
		if(document.getElementById('bodensystem_2').checked==true || document.getElementById('bodensystem_3').checked==true){
			properties['format_bp'] = '541';
		}
	
		if(isNaN(document.getElementById('schicht').value)==false && document.getElementById('schicht').value!=''){
			properties['schichtdicke']=parseInt(document.getElementById('schicht').value);
		}else{
			properties['schichtdicke']=0;
		}
		
		properties['bodenbelag'] = document.getElementById('bodenbelag_1').checked == true ? 'textil' : 'fliese';
	
		if(document.getElementById('fussbodenheizung_1').checked == true){
			properties['fussbodenheizung'] = 'nein';
		}
		else if(document.getElementById('fussbodenheizung_2').checked == true){
			properties['fussbodenheizung'] = 'elektrisch';
		}
		else if(document.getElementById('fussbodenheizung_3').checked == true){
			properties['fussbodenheizung'] = 'wasser';
		}
		
		if(document.getElementById('bodensystem_1').checked == true){
			properties['bodensystem'] = 'floormf';
			document.getElementById('lastVerteiler_1').style.display='none';
			document.getElementById('lastVerteiler_2').style.display='none';
			document.getElementById('lastLage_1').style.display='none';
			document.getElementById('lastLage_2').style.display='none';
			document.getElementById('indoorFormate_1').style.display='none';
			document.getElementById('indoorFormate_2').style.display='none';
		}
		else if(document.getElementById('bodensystem_2').checked == true){
			properties['bodensystem'] = 'schuettung1060';
			document.getElementById('lastVerteiler_1').style.display='block';
			document.getElementById('lastVerteiler_2').style.display='block';
		}
		else if(document.getElementById('bodensystem_3').checked == true){
			properties['bodensystem'] = 'schuettung60200';
			document.getElementById('lastVerteiler_1').style.display='block';
			document.getElementById('lastVerteiler_2').style.display='block';
		}
		
		if(isNaN(document.getElementById('schuettSchicht').value)==false && document.getElementById('schuettSchicht').value!=''){
			properties['schuettSchicht']=parseInt(document.getElementById('schuettSchicht').value);
		}else{
			properties['schuettSchicht']=0;
		}
	
		if(document.getElementById('abdeckplatte_1').checked == true){
			properties['abdeckplatte'] = 'gipsplatte';
		}
		else if(document.getElementById('abdeckplatte_2').checked == true){
			properties['abdeckplatte'] = 'holzplatte';
		}
		else if(document.getElementById('abdeckplatte_3').checked == true){
			properties['abdeckplatte'] = 'mineralplatte';
		}
	
		properties['lastverteilung'] = document.getElementById('lastverteilung_1').checked == true ? 'nein' : 'ja';
		if(properties['lastverteilung']=='ja'){
			properties['lage'] = document.getElementById('lage_1').checked == true ? 'unterhalb' : 'oberhalb';
			properties['format_bp_indoor'] = document.getElementById('format_indoor_1').checked==true ? '889' : '925_1';
		}
		
		var waiting = document.getElementById("waitState");
		waiting.style.visibility="visible";
		
		window.setTimeout("actionNow(properties, 'calculator', true)", 500);
		return false;

	}else{
		var error = document.getElementById('error');
	 	error.style.border = "none";
		error.innerHTML = '';
		error.style.display = 'none';
		return false;
	}
}

function actionNow(arr, callBackFunction, showWaitingState){
	requestEngine(arr, callBackFunction, showWaitingState);
}

function requestEngine(properties, ausgabeFunktion, showWaitingState){
	// try/catch Block um Fehler abzufangen
	try{
		var waiting = document.getElementById("waitState");
		// Variablen deklarieren
		var data = '';
		// Post Variablen definieren, diese sollte als Parameter 
		// an die Funktion übergeben werden !
		for(property in properties){
			data += '&' + property + '=' + encodeURIComponent(properties[property]);
		}
		// Basis ist das Verzeichnis der Datei welche 
		// diese Funktion includiert hat und aufruft
		var xhttp = false;
		
		// Überprüfen welches ActiveX bzw. welcher Browser vorliegt!
		xhttp = getActiveX();
		
		// xhttp - Objekt initialisiert ist dann Anfrage senden
		if( xhttp ){
			xhttp.open('POST', properties['uri'], true);        
			xhttp.setRequestHeader('Method', 'POST' + properties['uri'] + ' HTTP/1.1');
			xhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			xhttp.onreadystatechange = function(){
				if (xhttp.readyState != 4){
					// Solange uri nichts zurückliefert, warten
					return;
				}
				else{
					var result=xhttp.responseText;
					
					switch(ausgabeFunktion){
						case "head":
						break;
						case "calculator":
						 var output = document.getElementById('ergebnis');
						 var error = document.getElementById('error');
						 error.style.display = 'block';
						 msg = result.split('][');
						 output.innerHTML = '';
						 if(msg[2]=='0'){
						 	output.innerHTML = msg[0];
						 }
						 error.innerHTML = '';
						 error.innerHTML = msg[1];
						break;						
						default:
						break;
					}
					
					// Hide AnimImage
					if(showWaitingState==true){
						waiting.style.visibility="hidden";
					}
				}
			}
		}
		else{
			// return Fehler
			return "error";
		}
		xhttp.send( data );
		delete xhttp;
	}
	catch(e){
		alert("Fehler in Anwendung" + e);
	}
	// Ende try/catch Block
}

function getActiveX(){
	try{
		xhttp = new ActiveXObject('Msxml2.XMLHTTP');
	} 
	catch (e){
		try { xhttp = new ActiveXObject('Microsoft.XMLHTTP'); } catch (oc)  { xhttp = null;	}
	}
	
	if(!xhttp && typeof XMLHttpRequest != 'undefined'){
		xhttp = new XMLHttpRequest();
	}
	
	return xhttp;
}

function goOn(){
	document.getElementById('fussbodenheizung_1').checked = true;
	calculation();
}

function checkAbdeckung(){
	fb_1,fb_2,fb_3,bosys_1,bosys_2,bosys_3 = null;
	
	var fb_1 = document.getElementById('fussbodenheizung_1').checked == true ? true : false;
	var fb_2 = document.getElementById('fussbodenheizung_2').checked == true ? true : false;
	var fb_3 = document.getElementById('fussbodenheizung_3').checked == true ? true : false;
	
	var bosys_1 = document.getElementById('bodensystem_1').checked == true ? true : false;	
	var bosys_2 = document.getElementById('bodensystem_2').checked == true ? true : false;
	var bosys_3 = document.getElementById('bodensystem_3').checked == true ? true : false;
	
	var fieldToShow_1 = document.getElementById('abdeckplatten_1');
	var fieldToShow_2 = document.getElementById('abdeckplatten_2');
	var fieldToShow_3 = document.getElementById('trittschall');

	fieldToShow_1.style.display="none";
	fieldToShow_2.style.display="none";
	fieldToShow_3.style.display="none";
	
	if(fb_3==true && bosys_1==true){
		var error = document.getElementById('error');
	 	//error.style.border = "3px solid red";
		error.innerHTML = '';
		// definiert in view-script!
		error.innerHTML = fehlermeldung;
		window.setTimeout('goOn()', 3500);
	}else{
		
		if( fb_1==true && bosys_3==true )
		{
			fieldToShow_1.style.display="block";
			fieldToShow_2.style.display="block";
			fieldToShow_3.style.display="none";
			displayLageUnterhalb('show');
		}		
		else if( (fb_1==true || fb_2==true) && bosys_2==true )
		{
			fieldToShow_1.style.display="block";
			fieldToShow_2.style.display="block";
			fieldToShow_3.style.display="block";
			displayLageUnterhalb('show');
		}
		
		else if( fb_3==true && (bosys_2==true || bosys_3==true) )
		{
			fieldToShow_1.style.display="block";
			fieldToShow_2.style.display="block";
			fieldToShow_3.style.display="none";
			displayLageUnterhalb('hide');
		}	

		else{
			fieldToShow_1.style.display="none";
			fieldToShow_2.style.display="none";
			fieldToShow_3.style.display="none";
			displayLageUnterhalb('show');
		}
		calculation();
	}
}

function displayLageUnterhalb(status){
	unterhalb 		= document.getElementById('lage_1');
	lblUnterhalb 	= document.getElementById('lage_1_label');
	
	oberhalb 		= document.getElementById('lage_2');
	lblOberhalb 	= document.getElementById('lage_2_label');
	
	if(status == 'hide'){
		oberhalb.checked = true;
		unterhalb.style.display		= 'none';
		lblUnterhalb.style.display 	= 'none';
	}else{
		unterhalb.style.display 	= 'block';
		lblUnterhalb.style.display 	= 'block';
	}
}

function checkBodenbelag(state){
	var fieldToShow_1 = document.getElementById('conFliessSpachtel_1');
	var fieldToShow_2 = document.getElementById('conFliessSpachtel_2');
	if(state=='show'){
		fieldToShow_1.style.display="block";
		fieldToShow_2.style.display="block";
	}else{
		fieldToShow_1.style.display="none";
		fieldToShow_2.style.display="none";
	}
	calculation();
}

function checkBodensystem(state){
	var fieldToShow_1 = document.getElementById('schuettung_1');
	var fieldToShow_2 = document.getElementById('schuettung_2');
	if(state=='show'){
		fieldToShow_1.style.display="block";
		fieldToShow_2.style.display="block";
	}else{
		fieldToShow_1.style.display="none";	
		fieldToShow_2.style.display="none";
	}
	calculation();
}

function checkLage(state){
	var fieldToShow_1 = document.getElementById('lastLage_1');
	var fieldToShow_2 = document.getElementById('lastLage_2');
	
	var fieldToShow_3 = document.getElementById('indoorFormate_1');
	var fieldToShow_4 = document.getElementById('indoorFormate_2');
	
	var bodensystem_2   	= document.getElementById('bodensystem_2');
	var bodensystem   	= document.getElementById('bodensystem_3');
	var lblBodensystem  = document.getElementById('bodensystem_3_label');
	
	if(state=='show'){
		fieldToShow_1.style.display="block";
		fieldToShow_2.style.display="block";
		fieldToShow_3.style.display="block";
		fieldToShow_4.style.display="block";
		bodensystem_2.checked = true;
		bodensystem.style.display = "none";
		lblBodensystem.style.display = "none";
		
	}else{
		fieldToShow_1.style.display="none";
		fieldToShow_2.style.display="none";
		fieldToShow_3.style.display="none";
		fieldToShow_4.style.display="none";
		bodensystem.style.display = "block";
		lblBodensystem.style.display = "block";
		
	}
	calculation();
}

function clearErg(){
	document.getElementById('ergebnis').innerHTML='';
}

flag = 0;
flashObj = '';
function highlight(id, flash){
	if(flag == 0){
		if(flash != ''){
			var span = document.getElementById(flash+'_span');
			flashObj = span.innerHTML;
			span.innerHTML = '<img class="menupics" alt="" src="/res/images/bodensystem220x178.png"/>';
		}
	var obj = document.getElementById(id);
	var obj_nav = document.getElementById(id+'_links');
	obj.style.backgroundColor="#01AEF0";
	obj_nav.style.display="block";
	obj_nav.style.visibility="visible";
	obj_nav.style.backgroundColor="";
	flag = 1;
	}
}

function downlight(id, flash){
	if(flash != ''){
		var span = document.getElementById(flash+'_span');
		span.innerHTML = flashObj;
		flashObj = '';
	}
	var obj = document.getElementById(id);
	var obj_nav = document.getElementById(id+'_links');
	obj.style.backgroundColor="#0434B2";
	obj_nav.style.display="none";
	obj_nav.style.visibility="hidden";
	obj_nav.style.backgroundColor="";
	flag = 0;
}
