// Hilfsfunktionen
// gibt den Wert des Inputfelds mit dem Namen "Name"[0] zurück
function get_input_value(name){
return(document.getElementsByName(name)[0].value);
}

// gibt den Wert des ausgewählten Selectelements des Selectfelds mit dem Namen "Name"[0] zurück
function get_select_value(name){
return(document.getElementsByName(name)[0].options[document.getElementsByName(name)[0].selectedIndex].value);
}

// addslashes für JavaScript
function addslashes(str) {
str=str.replace(/\\/g,'\\\\');
str=str.replace(/\'/g,'\\\'');
str=str.replace(/\"/g,'\\"');
str=str.replace(/\0/g,'\\0');
return str;
}


// updated die Spalte einer DB-Tabelle mit dem übergebenen Wert //
var rx1 = getRequestObject();
var rx1_2 = getRequestObject();
function db_update(tabelle,spalte,wert,idspalte,id) // ID Spalte => z.B. "ProdID" => id = Spalte mit diesem Wert soll aktualisiert werden
{
// URL relativ zum Adminordner => Ajaxskripts funktionieren nur in Kombination mit dem Include in die admin.php
//alert('Adminpfad:' + admin_pfad_ajax + 'Beta: ' + beta); 
rx1.open("post", admin_pfad_ajax + beta + "Ajax/update.php?tabelle=" + tabelle + "&spalte=" + spalte + "&wert=" + wert + "&idspalte=" + idspalte + "&id=" +id);
rx1.onreadystatechange = db_update_result; // falls Preis oder Menge geändert => Totalen Preis neu berechnen
rx1.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
rx1.send(null); //alternativ zu sendende daten	
}

// aktualisiert einen Datensatz und lädt danach die Seite neu
function db_update_reload(tabelle,spalte,wert,idspalte,id) // ID Spalte => z.B. "ProdID" => id = Spalte mit diesem Wert soll aktualisiert werden
{
// URL relativ zum Adminordner => Ajaxskripts funktionieren nur in Kombination mit dem Include in die admin.php
rx1_2.open("post",admin_pfad_ajax + beta + "Ajax/update.php?tabelle=" + tabelle + "&spalte=" + spalte + "&wert=" + wert + "&idspalte=" + idspalte + "&id=" +id);
rx1_2.onreadystatechange = db_update_reload_result; // falls Preis oder Menge geändert => Totalen Preis neu berechnen
rx1_2.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
rx1_2.send(null); //alternativ zu sendende daten	
}

function db_update_reload_result ()
{
	if(rx1_2.readyState  == 4)
	{
		//alert(rx1.responseText);
		location.reload();
	}
}

function db_update_result ()
{
	if(rx1.readyState  == 4)
	{
		//alert(rx1.responseText);
	}
}

// inserted einen Datensatz in die Tabelle mit den angegebenen Werten
var rx_insert = getRequestObject();
function db_insert(tabelle,spalten,werte)  // Spalten = String => (spalte1,spalte2), Werte = String => VALUES(1,2)
{
// URL relativ zum Adminordner => Ajaxskripts funktionieren nur in Kombination mit dem Include in die admin.php
rx_insert.open("post",admin_pfad_ajax + beta + "Ajax/insert.php?tabelle=" + tabelle + "&spalten=" + spalten + "&werte=" + werte);
rx_insert.onreadystatechange = db_rx_insert_result;
rx_insert.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
rx_insert.send(null); //alternativ zu sendende daten	
}

function db_rx_insert_result ()
{
	if(rx_insert.readyState  == 4)
	{
		//alert(rx_insert.responseText);
	}
}


// (Steuer-) Produkt zur Bestellung hinzufügen
// inserted einen Datensatz in die Tabelle mit den angegebenen Werten
function db_insert_prod(bestellungsID,produktID)  // Spalten = String => (spalte1,spalte2), Werte = String => VALUES(1,2)
{
var rx_insert_prod = getRequestObject();	
//alert('BestellungsID: ' + bestellungsID + ' ProduktID: ' + produktID);
// URL relativ zum Adminordner => Ajaxskripts funktionieren nur in Kombination mit dem Include in die admin.php
rx_insert_prod.open("post",admin_pfad_ajax + beta +"Ajax/insert_prod.php?bestellungsID=" + bestellungsID + "&produktID= " + produktID);
rx_insert_prod.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
rx_insert_prod.send(null); //alternativ zu sendende daten	
}




// löscht einen Datensatz und lädt danach die Seite neu
function db_delete_reload(tabelle,spalte,idspalte,id) // ID Spalte => z.B. "ProdID" => id = Spalte mit diesem Wert soll aktualisiert werden
{
// URL relativ zum Adminordner => Ajaxskripts funktionieren nur in Kombination mit dem Include in die admin.php
rxdel.open("post",admin_pfad_ajax + beta +"Ajax/delete.php?tabelle=" + tabelle + "&spalte=" + spalte + "&idspalte=" + idspalte + "&id=" +id);
rxdel.onreadystatechange = db_delete_reload_result; // falls Preis oder Menge geändert => Totalen Preis neu berechnen
rxdel.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
rxdel.send(null); //alternativ zu sendende daten	
}

function db_delete_reload_result ()
{
	if(rxdel.readyState  == 4)
	{
		location.reload();
	}
}


// löscht einen Datensatz einer DB-Tabelle mit dem übergebenen Wert
var rxdel = getRequestObject();
function db_delete(tabelle,spalte,idspalte,id) // ID Spalte => z.B. "ProdID" => id = Spalte mit diesem Wert soll aktualisiert werden
{
// URL relativ zum Adminordner => Ajaxskripts funktionieren nur in Kombination mit dem Include in die admin.php
rxdel.open("post",admin_pfad_ajax + beta +"Ajax/delete.php?tabelle=" + tabelle + "&spalte=" + spalte + "&idspalte=" + idspalte + "&id=" +id);
rxdel.onreadystatechange = db_delete_result; // falls Preis oder Menge geändert => Totalen Preis neu berechnen
rxdel.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
rxdel.send(null); //alternativ zu sendende daten	
}

function db_delete_result ()
{
	if(rxdel.readyState  == 4)
	{
	}
}

// Update der WarenkorbTemp Tabelle (um ein Produkt bzw. die angegebene Menge zum Warenkorb hinzuzufügen)
var wk_ajax = getRequestObject(); // Ajax-Objekt initialisieren
var wk_ajax2 = getRequestObject(); // Ajax-Objekt initialisieren
var sort_ajax = getRequestObject(); // Ajax-Objekt initialisieren
var wk_reason = 0; // Grund, weshalb die WK-Ajaxfunktion aufgerufen wird => 1 = neues Produkt hinzugefügt, 0 = anderes (wichtig, um Meldung auszublenenden)

function wk_details(SessionID) // Detailansicht des Warenkorbs aktualisieren und Gesamtbetrag neu berechnen
{
wk_ajax2.open("post",beta +"Warenkorb/getWarenkorbvorschau.php?sessionID=" + SessionID + "&wkajax=" + 1);
wk_ajax2.onreadystatechange = wk_betrag;
wk_ajax2.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
wk_ajax2.send(null);
}

function wk_betrag() // Aktualisierung des WK-Gesamtbetrags und Bestätigungsansicht anzeigen
{
	if (wk_ajax2.readyState == 4)
	{
		// Warenkorbvorschau aktualisieren
		document.getElementById('WKDivBox').innerHTML = wk_ajax2.responseText;
		// Gesamtbetrag der Warenkorbvorschau auf Kundenpanel übertragen
		document.getElementById('wkbetrag').innerHTML = document.getElementById('GesamtbetragWK').innerHTML;
		// Bestätigungsansicht anzeigen
		if(wk_reason==1)
		{
		showbox2('WarenkorbInfoBox');		
		}
		wk_reason = 0; 
	}
}


function wkok() // wird nach dem Hinzufügen eines Artikels zum Warenkorb aufgerufen
{
	if(wk_ajax.readyState == 4)
	{
	wk_details(wk_ajax.responseText);	
	//location.reload();
	}
}

function wk(prodID,SessionID) // fügt ein Produkt bzw. die angegebene Menge zum Warenkorb hinzu
{
wk_reason = 1; 	
var menge = document.getElementById('menge' + prodID).value;
wk_ajax.open("post",beta + "Warenkorb/produkt_hinzufuegen.php?prodID=" + prodID + "&menge=" + menge + "&id=" + SessionID);
wk_ajax.onreadystatechange = wkok;
wk_ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
wk_ajax.send(null);
}


// Produktauflistung bei Sortierung aktualisieren
function prodlist_aktualisieren ()
{
	if(sort_ajax.readyState == 4)
	{
	document.getElementById('AuflistungBox').innerHTML = sort_ajax.responseText;
	}
}

// Sortierung => Produktauflistung neu anfordern
function prodlist_sort(kat,sparte,SessionID)
{
var filter = document.getElementById('Filterstring').value; // Filterstring zwischenspeichern
var sortvalue = document.getElementById('sortauswahl').value; // den Wert der ausgewählten Sortierung laden => entspricht der benötigten SORT-WHERE-Klausel
// Sortvalue in einem versteckten Feld speichern (damit Sortierungstyp z.B. bei Anwendung eines Filters erhalten bleibt
sort_ajax.open("post",beta + "produktauflistung.php?ajaxrequest=1&Filterstring=" + filter + "&kat=" + kat + "&sp=" + sparte + "&sessionID=" + SessionID + "&sort=" + sortvalue); 
sort_ajax.onreadystatechange = prodlist_aktualisieren;
sort_ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
sort_ajax.send(null);
//document.getElementById('waitprodlist').innerHTML = '<img id="submitImage" name="submitImage" src="../Ajax/ajax_is_loading.gif" alt="Bitte warten">';

}




var rx_replace = getRequestObject();
function db_replace(tabelle,spalten,werte)
{
rx_replace.open("post",admin_pfad_ajax + beta + "Ajax/replace.php?tabelle=" + tabelle + "&spalten=" + spalten + "&werte=" + werte);
rx_replace.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
rx_replace.send(null); //alternativ zu sendende daten	
}





// erstellt einen Quickkundenaccount 
var newquickaccount = getRequestObject(); // Ajax-Objekt initialisieren

function quickaccount_id()
{
	if(newquickaccount.readyState == 4) 
	{
		//alert(newquickaccount.responseText);
		send_prodberatungsbox(newquickaccount.responseText);
	}
}
function quickaccount_id_preis()
{
	if(newquickaccount.readyState == 4) 
	{
		send_preisbox(newquickaccount.responseText);
	}
}
function create_quickaccount(email,quelle)
{
	newquickaccount.open("post",beta + "Produktfunktionen/kundenkonto_quickaccount.php?email=" + email + "&quelle=" + quelle);
	if(quelle=='Preisbenachrichtigung')
	{
	newquickaccount.onreadystatechange = quickaccount_id_preis;
	}
	else if (quelle=='Beratungsanfragen')
	{
	newquickaccount.onreadystatechange = quickaccount_id;
	}
	newquickaccount.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	newquickaccount.send(null);
}

