// --------------------------------------------------- START allgemeine erzeugung XMLHttpRequest
// --------------------------------------------------- START allgemeine erzeugung XMLHttpRequest
function createXMLHttpRequestObject() 
	{
		resObject = false;
		try {
			// Microsoft Browser mit älterem XML-Parser
			resObject = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch(Error) {
			try {
				// Microsoft Browser mit neuerem XML-Parser
				resObject = new ActiveXObject("MSXML2.XMLHTTP");
			}
			catch(Error) {
				try {
					// Andere Browser
					resObject = new XMLHttpRequest();
				}
				catch(Error) {
					alert("Erzeugung des XMLHttpRequest-Objekts ist nicht möglich");
				}
			}
		}
		return resObject;
	}
 resObject = createXMLHttpRequestObject();
// --------------------------------------------------- ENDE allgemeine erzeugung XMLHttpRequest
// --------------------------------------------------- ENDE allgemeine erzeugung XMLHttpRequest

// --------------------------------------------------- START Funktionen mit Ajax
// --------------------------------------------------- START Funktionen mit Ajax
	function ds_in_use(theArea,theID,UserID)
		{
			resObject.open('get', '../../../ajax/ajax.php?do=ds_in_use&MenuID='+theArea+'&DSID='+theID+'&UserID='+UserID, true);
			resObject.onreadystatechange = handleRespons;
			resObject.send(null);
			
			function handleRespons() 
				{
					if(resObject.readyState == 4) 
						{
							// 	alert(resObject.responseText);
						}
				}
			
			setTimeout("ds_in_use("+theArea+", "+theID+", "+UserID+")",10000);
		}

	function refreshProductOverview(theGetVars, boxesOverview)
		{
			// loadingImage Einblenden
			document.getElementById('loadingFilter').style.display = "block";
			
			// --- START ermitteln der selektierten Boxen Produktübersicht
			// --- START ermitteln der selektierten Boxen Produktübersicht
				var checkedBoxesOverview = '';
				for(var i=0;i<boxesOverview;i++)
					{
						if(document.getElementById(i+'_checkbox').checked == true)
							{
								checkedBoxesOverview = checkedBoxesOverview + document.getElementById(i+'_checkbox').value + ';';
							}
					}			
			// --- ENDE ermitteln der selektierten Boxen Produktübersicht
			// --- ENDE ermitteln der selektierten Boxen Produktübersicht
			
			// hole Filterwerte über Funktion
			var theFilterValues = checkFilterValues();
			
			// hole orderByInfo
			var orderBy = document.getElementById("orderByInfo").value;			
			
			// --- START abfragen der selektierten gruppierten WrGrps
				var theGetVars = theGetVars + "&naviWrGrp=" + document.getElementById("naviWrGrp").value + "&orderByInfo=" + document.getElementById("orderByInfo").value;
			// --- ENDE abfragen der selektierten gruppierten WrGrps

			// Usersession mit Übergeben
			var usersession = document.getElementById('us').value;
			
			resObject.open('post', 'ajax/ajax.php?'+theGetVars, false);
			resObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1");
			resObject.send("do=refreshProductOverview&checkedBoxesOverview="+checkedBoxesOverview+"&usersession="+usersession+theFilterValues);		

			document.getElementById("ajaxRelaodable").innerHTML = resObject.responseText;

			// loadingImage Ausblenden
			setTimeout("document.getElementById('loadingFilter').style.display = 'none'",50);			
		}

	function refreshFilter()
		{
			// loadingImage Einblenden
			document.getElementById('loadingFilter').style.display = "block";
			
			// hole Filterwerte über Funktion
			var theFilterValues = checkFilterValues(); 
			resObject.open('post', 'ajax/ajax.php?', false);
			resObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1");
			resObject.send("do=refreshFilter"+theFilterValues);

			var filterContentArray = resObject.responseText.split("<>III><III<>");
			document.getElementById('filterWrgrpSelection').innerHTML = filterContentArray[0];
			document.getElementById('filterManufacturerSelection').innerHTML = filterContentArray[1];
			document.getElementById('FilterDIIDSelection').innerHTML = filterContentArray[2];
			document.getElementById('filterQuantitiySelection').innerHTML = filterContentArray[3];
			
			var foundItems = parseInt(filterContentArray[4]);
			if(foundItems > 1 || foundItems == 0)
				{
					document.getElementById('foundItems').innerHTML = foundItems + ' Datensätze';
				}
			else
				{
					document.getElementById('foundItems').innerHTML = '1 Datensatz';
				}
			
			document.getElementById('refreshProductOverviewButton').click();
		}
		
	function checkFilterValues()
		{
			// --- START Anzahl Checkboxen ermitteln und Werte ermitteln der selektierten (alle Filter)
			// --- START Anzahl Checkboxen ermitteln und Werte ermitteln der selektierten (alle Filter)
				var theFilterValues = '';
				
				var boxesFilterWrgrp = 0;
				var checkedBoxesFilterWrgrp = '';
				var boxesFilterManufacturer = 0;
				var checkedBoxesFilterMAID = '';
				var boxesFilterDIID = 0;
				var checkedBoxesFilterDIID = '';
				var boxesFilterQuantitiy = 0;
				var checkedBoxesFilterQuantitiy = '';
				var boxesfieldSearch = 0;
				var checkedBoxesfieldSearch = '';
				
				var sp = document.getElementsByTagName("input");
				for(var i=0;i<sp.length;i++)
					{
						if(sp[i].id.indexOf("_checkboxFilterWGID")!=-1)
							{
								boxesFilterWrgrp++;
							}
						else if(sp[i].id.indexOf("_checkboxFilterMAID")!=-1)
							{
								boxesFilterManufacturer++;
							}
						else if(sp[i].id.indexOf("_checkboxFilterDIID")!=-1)
							{
								boxesFilterDIID++;
							}
						else if(sp[i].id.indexOf("_checkboxFilterQuantitiy")!=-1)
							{
								boxesFilterQuantitiy++;
							}
						else if(sp[i].id.indexOf("_checkboxfieldSearch")!=-1)
							{
								boxesfieldSearch++;
							}
					}
						
				for(i=0;i<boxesFilterWrgrp;i++)
					{
						if(document.getElementById(i+'_checkboxFilterWGID').checked == true)
							{
								checkedBoxesFilterWrgrp = checkedBoxesFilterWrgrp + document.getElementById(i+'_checkboxFilterWGID').value + ';';
							}
					}
				if(checkedBoxesFilterWrgrp.length > 0)
					{
						theFilterValues = theFilterValues+"&checkedBoxesFilterWrgrp="+checkedBoxesFilterWrgrp;
					}
						
				for(i=0;i<boxesFilterManufacturer;i++)
					{
						if(document.getElementById(i+'_checkboxFilterMAID').checked == true)
							{
								checkedBoxesFilterMAID = checkedBoxesFilterMAID + document.getElementById(i+'_checkboxFilterMAID').value + ';';
							}
					}
				if(checkedBoxesFilterMAID.length > 0)
					{
						theFilterValues = theFilterValues+"&checkedBoxesFilterMAID="+checkedBoxesFilterMAID;						
					}
						
						
				for(i=0;i<boxesFilterDIID;i++)
					{
						if(document.getElementById(i+'_checkboxFilterDIID').checked == true)
							{
								checkedBoxesFilterDIID = checkedBoxesFilterDIID + document.getElementById(i+'_checkboxFilterDIID').value + ';';
							}
					}
				if(checkedBoxesFilterDIID.length > 0)
					{
						theFilterValues = theFilterValues+"&checkedBoxesFilterDIID="+checkedBoxesFilterDIID;						
					}
						
				for(i=0;i<boxesFilterQuantitiy;i++)
					{
						if(document.getElementById(i+'_checkboxFilterQuantitiy').checked == true)
							{
								checkedBoxesFilterQuantitiy = checkedBoxesFilterQuantitiy + document.getElementById(i+'_checkboxFilterQuantitiy').value + ';';
							}
					}
				if(checkedBoxesFilterQuantitiy.length > 0)
					{
						theFilterValues = theFilterValues+"&checkedBoxesFilterQuantitiy="+checkedBoxesFilterQuantitiy;						
					}
						
				for(i=0;i<boxesfieldSearch;i++)
					{
						if(document.getElementById(i+'_checkboxfieldSearch').checked == true)
							{
								checkedBoxesfieldSearch = checkedBoxesfieldSearch + document.getElementById(i+'_checkboxfieldSearch').value + ';';
							}
					}
				if(checkedBoxesfieldSearch.length > 0)
					{
						theFilterValues = theFilterValues+"&checkedBoxesfieldSearch="+checkedBoxesfieldSearch;						
					}
					
				var searchText = document.getElementById('searchText').value;
				if(searchText.length > 0)
					{
						searchText = searchText.replace(/\+/gi, "%2B");
						theFilterValues = theFilterValues+"&searchText="+searchText;						
					}
					
				var startDate = document.getElementById('startDate').value;
				if(startDate.length > 0)
					{
						theFilterValues = theFilterValues+"&startDate="+startDate;						
					}
					
				var endDate = document.getElementById('endDate').value;
				if(endDate.length > 0)
					{
						theFilterValues = theFilterValues+"&endDate="+endDate;						
					}

				if(document.getElementById('discontinued').checked == true)
					{
						theFilterValues = theFilterValues+"&discontinued=true";
					}
					
				//	alert(document.getElementById('discontinued').value)
					
					return theFilterValues;
			// --- ENDE Anzahl Checkboxen ermitteln und Werte ermitteln der selektierten (alle Filter)
			// --- ENDE Anzahl Checkboxen ermitteln und Werte ermitteln der selektierten (alle Filter)
		}
		
	function reloadDatasheet(tempID)
		{
			// ermittle die bereits selektierten Datensätze
			var anzCheckboxen = opener.document.getElementById("anzCheckboxenDatasheet").value;
			var theCheckedBoxen = '';
			for(i=0;i<anzCheckboxen;i++)
				{
					if(opener.document.getElementById(i+'_checkbox').checked == true)
						{
							theCheckedBoxen = theCheckedBoxen + opener.document.getElementById(i+'_checkbox').value + ';';
						}
				}

			resObject.open('get', '../ajax/ajax.php?do=reloadDatasheet&tempID='+tempID+'&theCheckedBoxen='+theCheckedBoxen, true);
			resObject.onreadystatechange = handleRespons;
			resObject.send(null);
			
			function handleRespons() 
				{
					if(resObject.readyState == 4) 
						{
							opener.document.getElementById("datasheetSelection").innerHTML = resObject.responseText;
							opener.focus();
							window.close();
						}
				}
		}
		
	function reloadPositiveCheck(tempID,selection)
		{
			resObject.open('get', '../ajax/ajax.php?do=reloadPositiveCheck&tempID='+tempID+'&selection='+selection, true);
			resObject.onreadystatechange = handleRespons;
			resObject.send(null);
			
			function handleRespons() 
				{
					if(resObject.readyState == 4) 
						{
							opener.document.getElementById("PositiveCheck").innerHTML = resObject.responseText;
							opener.document.getElementById("linkTextPositiveCheck").innerHTML = "neues Bild der Positivkontrolle hochladen";
							opener.focus();
							window.close();
						}
				}
		}
		
	function reloadCellDesign(tempID,selection)
		{
			resObject.open('get', '../ajax/ajax.php?do=reloadCellDesign&tempID='+tempID+'&selection='+selection, true);
			resObject.onreadystatechange = handleRespons;
			resObject.send(null);
			
			function handleRespons() 
				{
					if(resObject.readyState == 4) 
						{
							opener.document.getElementById("CellDesign").innerHTML = resObject.responseText;
							opener.document.getElementById("linkTextCellDesign").innerHTML = "neues Bild der Positivkontrolle hochladen";
							opener.focus();
							window.close();
						}
				}
		}
		
	function reloadLiterature(tempID,selection)
		{
			resObject.open('get', '../ajax/ajax.php?do=reloadLiterature&tempID='+tempID+'&selection='+selection, true);
			resObject.onreadystatechange = handleRespons;
			resObject.send(null);
			
			function handleRespons() 
				{
					if(resObject.readyState == 4) 
						{
							opener.document.getElementById("reloadLiteratureSelection").innerHTML = resObject.responseText;
							opener.focus();
							window.close();
						}
				}
		}
		
	function reloadIManuelSelection(tempID,selection)
		{
			resObject.open('get', '../ajax/ajax.php?do=reloadIManuelSelection&tempID='+tempID+'&selection='+selection, true);
			resObject.onreadystatechange = handleRespons;
			resObject.send(null);
			
			function handleRespons() 
				{
					if(resObject.readyState == 4) 
						{
							opener.document.getElementById("reloadIManuelSelection").innerHTML = resObject.responseText;
							opener.focus();
							window.close();
						}
				}
		}

	function formatMoney(theID) 
		{
			var theElement = document.getElementById(theID);
			var Money = theElement.value;
			
			if(Money == ''){ Money = '0'; }
			Money = Money.replace(/\./gi, ""); // entferne Punkte
			Money = Money.replace(/,/gi, "."); // ersete Komma mit Punkt
			Money = parseFloat(Money); // mache Float-Zahl aus String			
			
			var formattedMoney = formatNumber(Money,2,1);
			document.getElementById(theElement.id).value = formattedMoney;
		}
		
	function formatMoneyValue(Money)		
		{			
			if(Money == ''){ Money = '0'; }
			Money = Money.replace(/\./gi, ""); // entferne Punkte
			Money = Money.replace(/,/gi, "."); // ersete Komma mit Punkt
			Money = parseFloat(Money); // mache Float-Zahl aus String			
			
			var formattedMoney = formatNumber(Money,2,1);
			return formattedMoney;
		}
		
	function setCurrencyAltDistributor(theID,thatID)
		{
			var theElement = document.getElementById(theID);
			var theValue = theElement.value;

			resObject.open('get', '../../../ajax/ajax.php?do=setCurrency&DIID='+theValue, true);
			resObject.onreadystatechange = handleRespons;
			resObject.send(null);
			
			function handleRespons() 
				{
					if(resObject.readyState == 4) 
						{
							var obj = document.getElementById(thatID);
							for($i=0; $i < obj.length; $i++)
								{
									if(obj.options[$i].value == resObject.responseText)
										{
											obj.selectedIndex = $i;
											break;
										}
								}
						}
				}
		}
		
	function setCurrency(theID)
		{
			var theElement = document.getElementById(theID);
			var theValue = theElement.value;
			
			resObject.open('get', '../../../ajax/ajax.php?do=setCurrency&DIID='+theValue, true);
			resObject.onreadystatechange = handleRespons;
			resObject.send(null);
			
			function handleRespons() 
				{
					if(resObject.readyState == 4) 
						{
							var obj = document.getElementById("currency");
							for($i=0; $i < obj.length; $i++)
								{
									if(obj.options[$i].value == resObject.responseText)
										{
											obj.selectedIndex = $i;
											break;
										}
								}					
							// blende UF ein und setze Currency dort ein
							if(resObject.responseText != "EUR")
								{
									document.getElementById("umrechnungsfactor").style.display = '';
									document.getElementById("chosenCurrency").innerHTML = resObject.responseText;
								}
							else
								{
									document.getElementById("umrechnungsfactor").style.display = 'none';
								}
						}
				}
		}
		
	function slideNews(theElementID, theButtonID, theContentID, previewLetters)
		{
			var theElement = document.getElementById(theElementID);
			var theButton = document.getElementById(theButtonID);
			var theContent = document.getElementById(theContentID);
			
			if(theElement.className == 'newsContainer')
				{
					resObject.open('get', 'ajax/ajax.php?do=slideNewsIn&NSID='+theElementID, true);
					resObject.onreadystatechange = handleResponsSlideIn;
					resObject.send(null);
				}
			else
				{
					resObject.open('get', 'ajax/ajax.php?do=slideNewsOut&NSID='+theElementID+'&previewLetters='+previewLetters, true);
					resObject.onreadystatechange = handleResponsSlideOut;
					resObject.send(null);
				}
				
			function handleResponsSlideIn() 
				{
					if(resObject.readyState == 4) 
						{
							theContent.innerHTML = resObject.responseText;
							theElement.className = 'newsContainerBig';
							theButton.innerHTML = 'Ausblenden';
						}
				}

			function handleResponsSlideOut() 
				{
					if(resObject.readyState == 4) 
						{
							theContent.innerHTML = resObject.responseText;
							theElement.className = 'newsContainer';
							theButton.innerHTML = 'Einblenden';
						}
				}
				
		}		
// --------------------------------------------------- ENDE Funktionen mit Ajax
// --------------------------------------------------- ENDE Funktionen mit Ajax

function naviWrGrpFunc(thisWrGrp,thisWrGrpNot)
	{
		var naviWrGrp = document.getElementById('naviWrGrp');
		var newValue = naviWrGrp.value;

		// zerlege String der nicht anzuzeigenden WrGrps
		thisWrGrpNot = thisWrGrpNot.split(";");
		
		for(i=0;i<thisWrGrpNot.length;i++)
			{
				newValue = newValue.replace('_'+thisWrGrpNot[i]+'_;', "");
			}
		newValue = newValue.replace('_'+thisWrGrp+'_;', "");
		newValue = newValue + '_' + thisWrGrp + '_;';
		naviWrGrp.value = newValue;
	}

function orderByFunc(field)
	{
		document.getElementById('orderByInfo').value = field;
	}

// zum selectieren alle zutreffenden Checkboxen z.B. bei Warengruppenfilter in Produktübersicht
function checkBoxesInSelection(startValue, numberOfBoxes, idName)
	{
		startValue = parseInt(startValue);
		numberOfBoxes = parseInt(numberOfBoxes);
		
		// prüfe, ob eventuell schon alle zu markierende Felder bereits markiert sind
		// setze entsprechend die Markierung bei der hidden-Checkbox, wichtig für Abfrage danach
		var checkChecking = startValue;
		var allChecked = true;
		for(i=1;i<=numberOfBoxes;i++)
			{
				checkChecking = checkChecking + 1;
				if(document.getElementById(checkChecking+idName).checked == false)
					{
						allChecked = false;
						break;
					}
			}
		
		if(allChecked == true)
			{
				document.getElementById(startValue+idName).checked = true;
			}
		else
			{
				document.getElementById(startValue+idName).checked = false;
			}
		
	
		if(document.getElementById(startValue+idName).checked == false)
			{
				document.getElementById(startValue+idName).checked = true;
				for(i=1;i<=numberOfBoxes;i++)
					{
						startValue = startValue + 1;
						document.getElementById(startValue+idName).checked = true;
					}
			}
		else
			{
				document.getElementById(startValue+idName).checked = false;
				for(i=1;i<=numberOfBoxes;i++)
					{
						startValue = startValue + 1;
						document.getElementById(startValue+idName).checked = false;
					}
			}
	}

// check DropDowns auf "neuer DS" um entsprechendes Input Feld einzublenden
function checkSelectionOnNew(theID)
	{
		var newID = "new_"+theID;
		if(document.getElementById(theID).value == newID)
			{
				document.getElementById(newID).style.display='';
				document.Formular.new_Company.focus();
				return false;
			}
		else
			{
				document.getElementById(newID).style.display='none';
			}
	}
	
function checkInt(obj)
	{
		var theValue = document.getElementById(obj).value;
		if(isNaN(theValue))
			{
				alert("Bitte tragen Sie in dieses Feld nur numerische Werte ein.");
			}
	}
	
var changing = false;
function checkChanging() //wenn irgendwas geändert wurde, damit "Schließen" mit Abfrage kommt
	{
		changing = true;
	}

function killSpace(theID)
	{
		var theElement = document.getElementById(theID);
	 var theCleanValue = theElement.value.replace (/^\s+/, '').replace (/\s+$/, '');
		theElement.value = theCleanValue;
	}

var timeCounter = 0;
function countdown(targetTime,targetID)
	{
		timeCounter = timeCounter + 1;
		
		var showTime = targetTime - timeCounter;
		document.getElementById(targetID).innerHTML = showTime;
		
		if(timeCounter == targetTime)
			{
				refreshparent();
			}
	}

var timeCounter = 0;
function countdownProduct(targetTime,targetID)
	{
		timeCounter = timeCounter + 1;
		
		var showTime = targetTime - timeCounter;
		document.getElementById(targetID).innerHTML = showTime;
		
		if(timeCounter == targetTime)
			{
				closePage();
			}
	}

function countSelectedCheckboxes(numberCheckboxes)
	{
		var checked = 0;
		var theID = 0;
		for(i=0;i<numberCheckboxes;i++)
			{
				if(document.getElementById(i+"_checkbox").checked == 1) 
					{
						checked++;
						theID = document.getElementById(i+"_checkbox").value;
					}
			}
		return checked;
	}
						
function editPopups(numberCheckbox,size_w,size_h,path)
	{
		var checked = 0;
		var theID = 0;
		
		for(i=0;i<numberCheckbox;i++)
			{
				if(document.getElementById(i+"_checkbox").checked == 1) 
					{
						delete(pathWithId);
						checked++;
						theID = document.getElementById(i+"_checkbox").value;
						pathWithId = path + "&selection=" + theID;
						multiplePopUp(size_w,size_h,pathWithId);
					}
			}

		if(checked < 1)
			{
				alert('Sie haben keinen Datensatz gewählt.');
			}														
	}

function is_array(input)
	{
		return typeof(input)=='object'&&(input instanceof Array);
	}

function showFilter()
	{
		document.getElementById('showButton').style.display = 'none';
		document.getElementById('hideButton').style.display = '';
		document.getElementById('theFilter').style.display = '';
	}
	
function hideFilter()
	{
		document.getElementById('showButton').style.display = '';
		document.getElementById('hideButton').style.display = 'none';
		document.getElementById('theFilter').style.display = 'none';
	}

function resetFilterForm(content,openSubs,orderby)
	{
		window.location.href ='index.php?content=' + content + '&openSubs=' + openSubs +'&orderby=' + orderby +'&filter=Anwenden';		
	}

function PopUp(w,h,urli)
 {
  h = h - 20; var x=0, y=0, parameter="";

  if (w < screen.availWidth || h < screen.availHeight)
   {
    x = (screen.availWidth - w - 12) / 2;
    y = (screen.availHeight - h - 104) / 2;
    if (window.opera) y = 0; // Opera positioniert unter den Symbolleisten
    if (x<0 || y<0)
     {
      x=0; y=0;
     }
    else
    parameter = "width=" + w + ",height=" + h + ",";
   }
  parameter += "left=" + x + ",top=" + y;
  parameter += ",menubar=no,location=no,toolbar=no,status=no";
  parameter += ",resizable=yes,scrollbars=yes";
  neuesFenster = window.open(urli,"PopUp", parameter);

  if (window.focus)
   {
				neuesFenster.blur();
    neuesFenster.focus();
   }
		return false;
 }
	
function multiplePopUp(w,h,urli)
 {
  h = h - 20; var x=0, y=0, parameter="";

  if (w < screen.availWidth || h < screen.availHeight)
   {
    x = (screen.availWidth - w - 12) / 2;
    y = (screen.availHeight - h - 104) / 2;
    if (window.opera) y = 0; // Opera positioniert unter den Symbolleisten
    if (x<0 || y<0)
     {
      x=0; y=0;
     }
    else
    parameter = "width=" + w + ",height=" + h + ",";
   }
  parameter += "left=" + x + ",top=" + y;
  parameter += ",menubar=no,location=no,toolbar=no,status=no";
  parameter += ",resizable=yes,scrollbars=yes";
		
		var zufallszahl = 1 + 10000*(Math.random());	
		zufallszahl = Math.round(zufallszahl); // für den IE muss gerundet werden
		
  neuesFenster = window.open(urli, zufallszahl, parameter);

  if(window.focus)
   {
				neuesFenster.blur();
    neuesFenster.focus();
   }
		return false;
 }
	
function confirmDelete(numberChecked)
 {
	 if(numberChecked == 0)
			{
			 alert("Sie haben keinen Datensatz zum Löschen gewählt.");
				return false;
			}
		else
			{
				if(numberChecked > 1)
					{
						conf  = confirm('Möchten Sie die gewählten Datensätze wirklich löschen?');
					}
				else
					{
						conf  = confirm('Möchten Sie den gewählten Datensatz wirklich löschen?');
					}
				
				if(!conf)
				return false;
			}
 }
	
function confirmDeactivation(theProduct)
 {
		conf  = confirm('Möchten Sie das Produkt "'+theProduct+'" wirklich deaktivieren? Eventuell vorgenommene Änderungen werden noch gespeichert.');
		if(!conf)
		return false;
 }	
	
function confirmActivation(theProduct)
 {
		conf  = confirm('Möchten Sie das Produkt "'+theProduct+'" wirklich wieder aktivieren?');
		if(!conf)
		return false;
 }
	
function closePage()
	{
		if(changing === true)
			{
				conf  = confirm('Möchten Sie das Fenster wirklich schließen? Ihre Änderungen werden nicht gespeichert.');
				if(conf)
				window.close();
			}
		else
			{
				window.close();
			}
	}

function roundCommercial(x) 
	{
  var k = (Math.round(x * 100) / 100).toString();
  k += (k.indexOf('.') == -1)? '.00' : '00';
  return k.substring(0, k.indexOf('.') + 3);
	}
	
function formatNumber(zahl, k, fix) 
	{
		if(!k) k = 0;
		var neu = '';
		var dec_point = ',';
		var thousands_sep = '.';

		// Runden
		var f = Math.pow(10, k);
		zahl = '' + parseInt(zahl * f + (.5 * (zahl > 0 ? 1 : -1)) ) / f ;
		// Komma ermittlen
  var idx = zahl.indexOf('.');
		// fehlende Nullen einfügen
		if(fix)    
			{
				zahl += (idx == -1 ? '.' : '' )
				+ f.toString().substring(1);
			}

		var sign = zahl < 0;
		if(sign) zahl = zahl.substring(1);
		idx = zahl.indexOf('.');
		
		// Nachkommastellen ermittlen
  if( idx == -1) idx = zahl.length;
		else neu = dec_point + zahl.substr(idx + 1, k);

		while(idx > 0)    
			{
				if(idx - 3 > 0)
				neu = thousands_sep + zahl.substring( idx - 3, idx) + neu;
				else
				neu = zahl.substring(0, idx) + neu;
				idx -= 3;
			}

		return (sign ? '-' : '') + neu;
}	

function checkCheckbox(theID)
	{
		var theCheckbox = document.getElementById(theID);
		if(theCheckbox.checked == true)
			{
				document.getElementById(theID).checked = false;
			}
		else
			{
				document.getElementById(theID).checked = true;
			}
	}
	
	function checkBrowserName(name)
		{
			var agent = navigator.userAgent.toLowerCase();  
			if(agent.indexOf(name.toLowerCase())>-1) 
				{  
					return true;  
				}
			return false;  
		}
	
		function	toolTip(thePictureID,text,width,height,kill)
			{
				var theID = 'toolTip';
				if(checkBrowserName('MSIE') === false) // gut
					document.getElementById(thePictureID).addEventListener("mousemove", getXY, false);
				else // schlecht
					document.getElementById(thePictureID).attachEvent("onmousemove", getXY);

				function getXY(e) 
					{
						if(!e) e = window.event;
						var body = (window.document.compatMode && window.document.compatMode == "CSS1Compat") ?
						window.document.documentElement : window.document.body || null;
						
						mousey = e.pageY ? e.pageY : e.clientY + body.scrollTop;
						mousex = e.pageX ? e.pageX : e.clientX + body.scrollLeft;

						blendTipIn(mousey, mousex); 
					}
				
				function getWidth() 
					{
						var de = document.documentElement;
						var myWidth = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
						return myWidth;
					}
				
				function getHeight() 
					{
						var de = document.documentElement;
						var myHeight = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
						return myHeight;
					}
					
				function blendTipIn(mousey,mousex)
					{
						// --- START Positionierung abhängig von Fenstergröße zu Mauszeiger und Rand
							var windowWidth = getWidth();
							var windowHeight = getHeight();
							
							// --- START Positionierung links oder rechts
								if((mousex+width) < (windowWidth-30))
									var positionX = 'left';
								else if((mousex-width) > 15)
									var positionX = 'right';
								else
									var positionX = 'left';
							// --- ENDE Positionierung links oder rechts
							
							// --- START Positionierung oben oder unten
								if((mousey+height)< (windowHeight))
									var positionY = 'bottom'
								else if((mousey-height) > 15)
									var positionY = 'top'
								else
									var positionY = 'bottom'
							// --- ENDE Positionierung oben oder unten
						// --- ENDE Positionierung abhängig von Fenstergröße zu Mauszeiger und Rand																				
					
						var theTip = document.getElementById(theID);
						
						theTip.style.width = width+'px';
						theTip.style.height = height+'px';
						if(positionX == 'left')
							theTip.style.left = mousex+12+'px';
						else
							theTip.style.left = mousex-width-12+'px';
						if(positionY == 'bottom')
							theTip.style.top = mousey+5+'px';
						else
							theTip.style.top = mousey-height-5+'px';
						theTip.innerHTML = text;
						theTip.style.display = 'block';
					}

				if(kill === true)
					{
							if(checkBrowserName('MSIE') === false) // gut
								document.getElementById(thePictureID).removeEventListener("mousemove", getXY, false);
							else // schlecht
								document.getElementById(thePictureID).detachEvent("onmousemove", getXY);
								var theTip = document.getElementById(theID);
								theTip.style.display = 'none';		
					}
			}

	// --------------------------------------------------- START spezielle nur einmal vorkommende Funktionen
	// --------------------------------------------------- START spezielle nur einmal vorkommende Funktionen
		function checkBlendingUF(theValue)
			{
				if(theValue != "EUR")
					{
						document.getElementById("umrechnungsfactor").style.display = '';
						document.getElementById("chosenCurrency").innerHTML = theValue;
					}
				else
					{
						document.getElementById("umrechnungsfactor").style.display = 'none';
					}
			}
			
		function exchangePrice()
			{
				var basePrice = document.getElementById("base_price").value.replace(/\./gi, "");
				basePrice = basePrice.replace(/,/gi, ".");
				var exchangeRatio = document.getElementById("exchange_ratio").value.replace(/\./gi, "");
				exchangeRatio = exchangeRatio.replace(/,/ig, ".");
				if(basePrice != '' && exchangeRatio != '')
					{
						var basePriceEur = parseFloat(basePrice) * parseFloat(exchangeRatio);
						basePriceEur = roundCommercial(basePriceEur);
						basePriceEur = basePriceEur.toString();
						basePriceEur = basePriceEur.replace(/\./gi, ",");
						document.getElementById("base_price_eur").value = basePriceEur;
						formatMoney("base_price_eur");
					}
			}
			
		function retailPrice()
			{
				// ist Umrechnungsfaktor-Bereich sichtbar, nehme base_price_eur statt base_price
				if(document.getElementById("umrechnungsfactor").style.display != 'none')
					{
						var basePrice = document.getElementById("base_price_eur").value;
						var foreignPrice = document.getElementById("base_price").value;
					}
				else
					{
						var basePrice = document.getElementById("base_price").value;
					}
				
				if(basePrice != '')
					{
						basePrice = basePrice.replace(/\./gi, ""); // entferne Punkte
						basePrice = basePrice.replace(/,/gi, "."); // ersete Komma mit Punkt
						basePrice = parseFloat(basePrice); // mache Float-Zahl aus String
						
						var discount = document.getElementById("discount").value;
						if(discount == ''){ discount = '0'; }
						discount = discount.replace(/\./gi, ""); // entferne Punkte
						discount = discount.replace(/,/gi, "."); // ersete Komma mit Punkt
						discount = parseFloat(discount); // mache Float-Zahl aus String
						discount = discount / 100;
						
						var margin = document.getElementById("margin").value;
						if(margin == ''){ margin = '0'; }
						margin = margin.replace(/\./gi, ""); // entferne Punkte
						margin = margin.replace(/,/gi, "."); // ersete Komma mit Punkt
						margin = parseFloat(margin); // mache Float-Zahl aus String

						if(margin >= 100)
							{
								alert("Die Marge darf nicht 100 oder mehr Prozent lauten.");
								return;
							}
						
						var discountPrice = (basePrice -(basePrice * discount)); // Preis nach Rabatt
						var retailPrice = (100 * discountPrice) / (100 - margin); // Preis mit Marge
							
						discountPrice = roundCommercial(discountPrice);
						discountPrice = discountPrice.toString();
						discountPrice = discountPrice.replace(/\./gi, ",");											
						discountPrice = formatMoneyValue(discountPrice);
						
						retailPrice = roundCommercial(retailPrice);
						retailPrice = retailPrice.toString();
						retailPrice = retailPrice.replace(/\./gi, ",");
						document.getElementById("retail_price").value = retailPrice;
						formatMoney("retail_price");
						
						if(foreignPrice)
							{
								foreignPrice = foreignPrice.replace(/\./gi, ""); // entferne Punkte
								foreignPrice = foreignPrice.replace(/,/gi, "."); // ersete Komma mit Punkt
								foreignPrice = parseFloat(foreignPrice); // mache Float-Zahl aus String
								
								var discountForeignPrice = (foreignPrice -(foreignPrice * discount)); // Preis nach Rabatt
								discountForeignPrice = roundCommercial(discountForeignPrice);
								discountForeignPrice = discountForeignPrice.toString();
								discountForeignPrice = discountForeignPrice.replace(/\./gi, ",");
								discountForeignPrice = formatMoneyValue(discountForeignPrice);
							}
						
						if(discount != 0)
							{
								document.getElementById("discountPriceCalc").style.display = '';
								if(foreignPrice)
									{
										document.getElementById("discountPrice").innerHTML = discountForeignPrice+" "+document.getElementById("currency").value+"<br />"+discountPrice+" EUR";
									}
								else
									{
										document.getElementById("discountPrice").innerHTML = discountPrice+" EUR";
									}
							}
						else
							{
								document.getElementById("discountPriceCalc").style.display = 'none';
							}
					}
			}
			
		function newMargin()
			{
				// ist Umrechnungsfaktor-Bereich sichtbar, nehme base_price_eur statt base_price
				if(document.getElementById("umrechnungsfactor").style.display != 'none')
					{
						var basePrice = document.getElementById("base_price_eur").value;
					}
				else
					{
						var basePrice = document.getElementById("base_price").value;
					}
					
				if(basePrice != '')
					{
						basePrice = basePrice.replace(/\./gi, ""); // entferne Punkte
						basePrice = basePrice.replace(/,/gi, "."); // ersete Komma mit Punkt
						basePrice = parseFloat(basePrice); // mache Float-Zahl aus String

						var discount = document.getElementById("discount").value;
						if(discount == ''){ discount = '0'; }
						discount = discount.replace(/\./gi, ""); // entferne Punkte
						discount = discount.replace(/,/gi, "."); // ersete Komma mit Punkt
						discount = parseFloat(discount); // mache Float-Zahl aus String
						discount = discount / 100;						
						
						var retailPrice = document.getElementById("retail_price").value;
						if(retailPrice == ''){ retailPrice = '0'; }
						retailPrice = retailPrice.replace(/\./gi, ""); // entferne Punkte
						retailPrice = retailPrice.replace(/,/gi, "."); // ersete Komma mit Punkt
						retailPrice = parseFloat(retailPrice); // mache Float-Zahl aus String
						if(retailPrice == 0 || retailPrice < 0)
							{
								alert("Der Verkaufspreis darf nicht 0 oder geringer sein.");
								return;
							}
						
						basePrice =  basePrice -(basePrice * discount);
						var difference = (retailPrice - basePrice);
						var margin = difference / (retailPrice / 100);

						margin = roundCommercial(margin);
						margin = margin.toString();
						margin = margin.replace(/\./gi, ",");	
						
						document.getElementById("margin").value = margin;
					}
			}
			
		function wgidChange(oldWGID)
			{
				var newWGID = document.getElementById('newWGID').value;
				if(newWGID != oldWGID)
					document.getElementById('alertChangedWGID').style.display = 'block';
				else
					document.getElementById('alertChangedWGID').style.display = 'none';
			}	
	// --------------------------------------------------- ENDE spezielle nur einmal vorkommende Funktionen
	// --------------------------------------------------- ENDE spezielle nur einmal vorkommende Funktionen
	

