function ajaxFunction(target, action){

	//alert(target + " - " + action);
	var ajaxRequest;  // The variable that makes Ajax possible!
	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById("content");
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
		}
	}
	var queryString = "?target="+target+"&action="+action;
	if(action=='overview'){
		ajaxRequest.open("GET", "zusammenstellen.php" + queryString, true);
	}else{
		ajaxRequest.open("GET", "offer.php" + queryString, true);
	}
	ajaxRequest.send(null); 
	
	// only for the first time to build the price list..
	moneyFunctionStart(target);
}

function ajaxPrint(target){
	var ajaxRequest5;  // The variable that makes Ajax possible!
	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest5 = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest5 = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest5 = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
	var queryString5 = "?target="+target;
	//alert("queryString5 = " + queryString5);
	ajaxRequest5.open("GET", "print.php" + queryString5, true);
	ajaxRequest5.send(null); 
}
////////////////////////////////////////////////////////////////

//Browser Support Code
function infoFunction(component, buttonClicked, target, sender){
	// gather information on exisiting components for 'total_preis' calculation further down
	//alert(component + " - " + buttonClicked + " - " + target + " - " + sender)
	myForm = document.forms["form1"];
	var num = myForm.elements.length;
	var element = myForm.elements;
	test = new Array(num);
	var n = 0;
	for(i=0;i<(num);i++){
		test[i] = new Array(2);
		if(element[i].name != -1){
			var OK = element[i].name.search("pullDown");
			if(OK != -1){
				parts = element[i].name.split("_");
				test[n][0] = parts[1];
				box = myForm.elements["pullDown_" + parts[1]];
				test[n][1] = myForm.elements["pullDown_" + parts[1]].options[box.selectedIndex].value;
				n++;
				//alert(i + " --> " + element[i].options[box.selectedIndex].value);
			}
		}
	}
	var status = 1;
	
	var singleEntry = sender.search("single");
	// Check whether pulldown or single entry is being processed
	if(singleEntry != -1){
		id = document.getElementById("single_" + component).value; // id comes from single display (without pulldown)
	}else{
		var box = myForm.elements["pullDown_" + component];
		id = myForm.elements["pullDown_" + component].options[box.selectedIndex].value;	// id from pulldown
	}

	// Button changes from + to -
	if(buttonClicked == true) {
		if(document.getElementById("button_" + component).value == "+") {
			document.getElementById("button_" + component).value = "-";
		} else {
			document.getElementById("button_" + component).value = "+";
			document.getElementById(component).innerHTML = "";
			status = 0; //return;
		}
	} else {
		if(document.getElementById("button_" + component).value == "+") {
			document.getElementById(component).innerHTML = "";
			status = 0; //return;
		}
	}
	if(status == 1){
		var ajaxRequest2;  // The variable that makes Ajax possible!
		try{
			// Opera 8.0+, Firefox, Safari
			ajaxRequest2 = new XMLHttpRequest();
		} catch (e){
			// Internet Explorer Browsers
			try{
				ajaxRequest2 = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try{
					ajaxRequest2 = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e){
					// Something went wrong
					alert("Your browser broke!");
					return false;
				}
			}
		}
		// Create a function that will receive data sent from the server
		ajaxRequest2.onreadystatechange = function(){
			if(ajaxRequest2.readyState == 4){
				var ajaxDisplay2 = document.getElementById(component);
				ajaxDisplay2.innerHTML = ajaxRequest2.responseText;
			}
		}
		var queryString = "?component="+component+"&id="+id+"&status="+status+"&target="+target;
		//alert(queryString);
		ajaxRequest2.open("GET", "info.php" + queryString, true);
		ajaxRequest2.send(null);
	}
	//***
	moneyFunction(test, target);
	//***
}

function moneyFunction(test, target){
	// Totalpreis (always calculated --> doesn't depend on 'status')
	var ajaxRequest3;  // The variable that makes Ajax possible!
	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest3 = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest3 = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest3 = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
	ajaxRequest3.onreadystatechange = function(){
		if(ajaxRequest3.readyState == 4){
			var ajaxDisplay3 = document.getElementById("span_money");
			ajaxDisplay3.innerHTML = ajaxRequest3.responseText;
		}
	}
	//alert("test = " + test + " target = " +target);
	var queryString3 = "?test="+test+"&target="+target;
	ajaxRequest3.open("GET", "money.php" + queryString3, true);
	ajaxRequest3.send(null);
}

function moneyFunctionStart(target){
	//alert("target = " + target);
	// Totalpreis (always calculated --> doesn't depend on 'status')
	var ajaxRequest4;  // The variable that makes Ajax possible!
	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest4 = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest4 = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest4 = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
	ajaxRequest4.onreadystatechange = function(){
		if(ajaxRequest4.readyState == 4){
			var ajaxDisplay4 = document.getElementById("span_money");
			ajaxDisplay4.innerHTML = ajaxRequest4.responseText;
		}
	}
	//alert("test = " + test + " target = " +target);
	var queryString4 = "?target="+target;
	ajaxRequest4.open("GET", "money.php" + queryString4, true);
	ajaxRequest4.send(null);
}

//////////////////////////////////////////////////////////////

function overviewFunction(){
	var ajaxRequest;  // The variable that makes Ajax possible!
	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById("content");
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
		}
	}
	var queryString = "";
	ajaxRequest.open("GET", "overview.php" + queryString, true);
	ajaxRequest.send(null); 
}

////////////////////////////////////////////////////////////

function zusammenstellenFunction(){
	var ajaxRequest;  // The variable that makes Ajax possible!
	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById("content");
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
		}
	}
	var queryString = "";
	ajaxRequest.open("GET", "zusammenstellen.php" + queryString, true);
	ajaxRequest.send(null); 
}

////////////////////////////////////////////////////////////

function redirectFunction(where){
	var ajaxRequest;  // The variable that makes Ajax possible!
	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById("content");
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
		}
	}
	var queryString = "";
	ajaxRequest.open("GET", where+ ".php" + queryString, true);
	ajaxRequest.send(null); 
}

////////////////////////////////////////////////////////////

function databaseFunction(action, target){
	if(action == 'delete'){
		var answer = confirm("Möchtest Du das Angebot wirklich löschen?");
	}else{
		answer = 1;
	}
	if(answer==1){
		myForm = document.forms["form1"];
		var num = myForm.elements.length;
		var element = myForm.elements;
		box = myForm.elements["category"];
		category = myForm.elements["category"].options[box.selectedIndex].value;
		//get required vars
		var name1 = document.getElementById("name1").value;
		var total_preis = document.getElementById("total_preis").value;
		var kommentar = document.getElementById("kommentar").value;

		//Check check box for activation of offer
		var active = 0;
		if(document.getElementById("active").checked == true){
			active = 1;
		}
		//alert(active);


		if(name1 == '' || total_preis == '' || category == 'Bitte wählen'){
			//check whether required fields are filled out
			alert("Name, Kategorie und Gesamtpreis sind Pflichtfelder und wurden nicht ausgefüllt!");
		}else{
			//All fine..
			var queryString_a = ''; //contains components and their indices
			var queryString_b = ''; //contains additional pulldowns
			var queryString_c = ''; //contains additional delta prices
			
			for(i=0;i<(num);i++){
				var OK = element[i].name.search("pullDown");
				if(OK != -1){
					parts = element[i].name.split("_");
					box = myForm.elements[element[i].name];
					//queryString_a = queryString_a + parts[1] + "=" + element[i].options[box.selectedIndex].value + "@";
					queryString_a = queryString_a + element[i].options[box.selectedIndex].value + "@";
				}
				var OK2 = element[i].name.search("additional");
				if(OK2 != -1){
					parts = element[i].name.split("_");
					box = myForm.elements[element[i].name];
					//queryString_b = queryString_b + parts[1] + "=" + element[i].options[box.selectedIndex].value + "@";
					queryString_b = queryString_b + element[i].options[box.selectedIndex].value + "@";
				}
				var OK3 = element[i].name.search("delta");
				if(OK3 != -1){
					parts = element[i].name.split("_");
					//queryString_c = queryString_c + parts[1] + "=" + element[i].value + "@";
					queryString_c = queryString_c + element[i].value + "@";
				}
			}
			
			//alert(queryString_a);
			//alert(queryString_b);
			//alert(queryString_c);
			
			var ajaxRequest;  // The variable that makes Ajax possible!
			try{
				// Opera 8.0+, Firefox, Safari
				ajaxRequest = new XMLHttpRequest();
			} catch (e){
				// Internet Explorer Browsers
				try{
					ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
				} catch (e) {
					try{
						ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
					} catch (e){
						// Something went wrong
						alert("Your browser broke!");
						return false;
					}
				}
			}
			// Create a function that will receive data sent from the server
			ajaxRequest.onreadystatechange = function(){
				if(ajaxRequest.readyState == 4){
					var ajaxDisplay = document.getElementById("content");
					ajaxDisplay.innerHTML = ajaxRequest.responseText;
				}
			}
			var queryString = "?name1="+name1+"&action="+action+"&category="+category+"&total_preis="+total_preis+"&kommentar="+kommentar+"&target="+target+"&active="+active+"&queryString_a="+queryString_a+"&queryString_b="+queryString_b+"&queryString_c="+queryString_c;
			ajaxRequest.open("GET", "database.php" + queryString, true);
			ajaxRequest.send(null); 
		}	
	}
}

////////////////////////////////////////////////////////////

function editierenFunction(component, number, id, action){
	
	//set vars
	if(action == 'delete'){
		var answer = confirm("Möchtest Du den Artikel wirklich löschen?");
	}else{
		answer = 1;
	}
	if(answer==1){
		var listValues = '';
		var colorString = '';	
		if(number==undefined){
			number = 0;
		}
		// construct stringlist from input textfields (from form3)
		myForm = document.forms["form3"];
		
		if(myForm){
			var num = myForm.elements.length;
			var element = myForm.elements;
			//get chekcbox information for colorString
			for(i=0;i<num;i++){
				OK = myForm.elements[i].name.search("check");
				if(OK != -1){
					parts = element[i].name.split("_");
					colorString = colorString + element[i].checked + "@";
				}
			}
			var marke = myForm.elements[0].value;
			var name = myForm.elements[1].value;
			var error;
			if(marke == '' || name == ''){
				error = true;
			}else{
				error = false;
			}
		}
		//alert(colorString);

		for(i=0;i<number;i++){
			listValues = listValues + myForm.elements[i].value;
			if(i<number-1){
				listValues = listValues + "@";
			}
		}
		//alert(listValues);
		
		var ajaxRequest;  // The variable that makes Ajax possible!
		try{
			// Opera 8.0+, Firefox, Safari
			ajaxRequest = new XMLHttpRequest();
		} catch (e){
			// Internet Explorer Browsers
			try{
				ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try{
					ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e){
					// Something went wrong
					alert("Your browser broke!");
					return false;
				}
			}
		}
		// Create a function that will receive data sent from the server
		ajaxRequest.onreadystatechange = function(){
			if(ajaxRequest.readyState == 4){
				var ajaxDisplay = document.getElementById("content");
				ajaxDisplay.innerHTML = ajaxRequest.responseText;
			}
		}
		//alert(component + number + id + action);
		var queryString = "?component="+component+"&number="+number+"&listValues="+listValues+"&error="+error+"&id="+id+"&action="+action+"&colorString="+colorString;
		ajaxRequest.open("GET", "editieren.php" + queryString, true);
		ajaxRequest.send(null);
	}
}

function angebotEditierenFunction(component){
	var ajaxRequest;  // The variable that makes Ajax possible!
	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById("content");
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
		}
	}
	//alert(component + number + id + action);
	var queryString = "?component="+component;
	ajaxRequest.open("GET", "../angebot/angebot_editieren.php" + queryString, true);
	ajaxRequest.send(null);
}

////////////////////////////////////////////////////////////

function selectFunction(home){

	document.getElementById("span_money").innerHTML = '';
	var ajaxRequest;  // The variable that makes Ajax possible!
	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById("content");
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
		}
	}
	var queryString = "?home="+home;
	ajaxRequest.open("GET", "selection.php" + queryString, true);
	ajaxRequest.send(null); 
}

////////////////////////////////////////////////////////////

function printFunction(target){
	var total_preis = document.getElementById("total").innerHTML;
	//alert("total_preis = "+total_preis);
	var queryString = '';
	myForm = document.forms["form1"];
	var num = myForm.elements.length;
	var element = myForm.elements;
	for(i=0;i<(num);i++){
		if(element[i].name != -1){
			//statische Felder
			var OK = element[i].id.search("flag");
			if(OK != -1){
				queryString = queryString + element[i].name + "@";
				//alert("static "+element[i].name);
			}
			//pulldowns
			var OK2 = element[i].name.search("pullDown");
			if(OK2 != -1){
				parts = element[i].name.split("_");
				box = myForm.elements["pullDown_" + parts[1]];
				queryString = queryString + parts[1] + "=" + element[i].options[box.selectedIndex].value + "@";
				//alert("pulldown "+element[i].options[box.selectedIndex].value);
			}
		}
	}
	//alert(queryString);
	MM_openBrWindow('popup.php?queryString='+queryString+'&target='+target+'&total_preis='+total_preis,'Angebot drucken','width=600,height=600, scrollbars=yes');
}

////////////////////////////////////////////////////////////

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function fchanger(){
    window.opener.location.reload();
    self.close();
}

function f_warning(){
	if(confirm('Do you really want to delete this entry?')){
		document.form1.submit()
	}
}

