
function changeMenu (id, index, cnt)
{
	var i;
	for (i = 0; i < cnt; i ++)
	if ( document.getElementById("menu" + i).className != "selected_menu" )
	{
		if (i == index)
			document.getElementById(id).className = "highlight_menu";
		else
			document.getElementById("menu" + i).className = "normal_menu";
	}
}

function resetMenus (cnt)
{
	var i;
	for (i = 0; i < cnt; i ++)
		if ( document.getElementById("menu" + i).className != "selected_menu" )
		document.getElementById("menu" + i).className = "normal_menu";
}

function initMenus (cnt)
{
	var i;
	for (i = 0; i < cnt; i ++)
		document.getElementById("menu" + i).className = "normal_menu";
}

function changePage (id, index, cnt, real_id)
{
	var i;
	document.getElementById(id).className = "selected_menu";	
	for (i = 0; i < cnt; i ++)
		if (i != index)
			document.getElementById("menu" + i).className = "normal_menu";
	new Ajax.Request('changePage.php',
	{
			method: 'post',
			parameters: {id : real_id},
			onSuccess: function (transport)
			{
				var response = transport.responseText;
				$('body_content').update(response);
			},
			onFailure: function ()
			{
				alert("Es gab einen Fehler...");
			}
	});
}

function ShowFooterPage (id)
{
	new Ajax.Request('changeFooterPage.php',
	{
			method: 'post',
			parameters: {id : id},
			onSuccess: function (transport)
			{
				var response = transport.responseText;
				$('body_content').update(response);
			},
			onFailure: function ()
			{
				alert("Es gab einen Fehler...");
			}
	});
}

function ShowOrderForm (cnt)
{
	initMenus (cnt);
	new Ajax.Request('showOrderForm.php',
	{
			onSuccess: function (transport)
			{
				var response = transport.responseText;
				$('body_content').update(response);
			},
			onFailure: function ()
			{
				alert("Es gab einen Fehler...");
			}
	});
}

function ShowOrderForm1 ()
{
	new Ajax.Request('showOrderForm.php',
	{
			onSuccess: function (transport)
			{
				var response = transport.responseText;
				$('body_content').update(response);
			},
			onFailure: function ()
			{
				alert("Es gab einen Fehler...");
			}
	});
}

function ShowUserForm ()
{
	new Ajax.Request('showUserForm.php',
	{
			onSuccess: function (transport)
			{
				var response = transport.responseText;
				$('user_detail').update(response);
			},
			onFailure: function ()
			{
				alert("Es gab einen Fehler...");
			}
	});
}

function showReducedForm (email)
{
	new Ajax.Request('showReducedForm.php',
	{
			method: 'post',
			parameters: { email : email },
			onSuccess: function (transport)
			{
				var response = transport.responseText;
				$('login').update(response);
				document.getElementById("login").className = "";
				$('user_detail').update('');
			},
			onFailure: function ()
			{
				alert("Es gab einen Fehler...");
			}
	});	
}

function CheckLogin ()
{
	var email = document.getElementById("email").value;
	var pass = document.getElementById("pass").value;
	if (email == "" || pass == "")
		alert("Bitte Email und Passwort eingeben.");
	else
	{
	new Ajax.Request('checkLogin.php',
	{
			method: 'post',
			parameters: { email : email, pass : pass },
			onSuccess: function (transport)
			{
				var response = transport.responseText;
				if (response == "0")
				{
					alert("Email ist nicht bekannt.");
					ShowOrderForm1();
				}
				else if (response == "1")
				{
					alert("Passwort nicht korrekt.");
					ShowOrderForm1();
				}
				else
					showReducedForm(email);
			},
			onFailure: function ()
			{
				alert("Es gab einen Fehler...");
			}
	});
	}
}

function beforeSaveOrderDirectly (id, user_type)
{
	var mcount = document.getElementById("mcount").value;
	var pcount = document.getElementById("pcount").value;
	if (mcount == "" && pcount == "")
		alert("please input the product count.");
	else if (isNaN(mcount) || isNaN(pcount))
		alert("Bitte eine Zahl eingeben.");
	else
	{
		new Ajax.Request('beforeSaveOrder.php',
		{
				method: 'post',
				parameters: { id : id , mcount : mcount, pcount : pcount, user_type : user_type},
				onSuccess: function (transport)
				{
					var response = transport.responseText;
					$('login').update(response);
					$('login').className = "before_save_form";
				},
				onFailure: function ()
				{
					alert("Es gab einen Fehler...");
				}
		});
	}
}

function saveOrderDirectly (id, mcount, pcount, user_type)
{
	var comment = document.getElementById("comment").value;
	var payment_method = document.getElementById("payment_method").value;
	if (!document.getElementById("term").checked)
		alert("Bitte akzeptieren Sie die AGBs.");
	else
	{
		$('login').className = "login_form";
		init = '<table width="600" height="100%" ><tr><td align="center" valign="middle"><img src="images/indicator.gif" style="border:0px;"></img></td></tr></table>';
		$('login').update(init);
		new Ajax.Request('saveOrderDirectly.php',
		{
				method: 'post',
				parameters: { id : id , mcount : mcount, pcount : pcount, comment : comment, payment_method : payment_method, user_type : user_type },
				onSuccess: function (transport)
				{
					var response = transport.responseText;
					$('login').update(response);
					$('login').className = "login_form";
				},
				onFailure: function ()
				{
					alert("Es gab einen Fehler...");
				}
		});
	}
}

function beforeSaveOrder ()
{
	var gender = document.getElementById("gender").value;
	var fname = document.getElementById("fname").value;
	var lname = document.getElementById("lname").value;
	var birth = document.getElementById("birth").value;
	var email = document.getElementById("user_email").value;
	var street = document.getElementById("street").value;
	var zipcode = document.getElementById("zipcode").value;
	var city = document.getElementById("city").value;
	var country = document.getElementById("country").value;
	var phone = document.getElementById("phone").value;
	var pass = document.getElementById("pass1").value;
	var retype = document.getElementById("retype").value;
	var order_type = "not_direct";
	if (gender == "" || fname == "" || lname == "" || birth == "" || email == "" || street == ""
	|| zipcode == "" || city == "" || country == "" || phone == "" || pass == "" || retype == "")
		alert ("Alle mit Stern markierten Felder sind Pflichtangaben.");
	else if (isNaN(zipcode))
		alert("Bitte Postleitzahl korrigieren");
	else if (pass != retype)
		alert ("Passwort ist nicht identisch.");
	else
	{
		new Ajax.Request('checkUserInfo.php',
		{
				method: 'post',
				parameters: { email : email },
				onSuccess: function (transport)
				{
					var response = transport.responseText;
					if (response == "0")
							new Ajax.Request('saveOrder.php',
							{
									method: 'post',
									parameters: { order_type : order_type, gender : gender, fname : fname, lname : lname, birth : birth, email : email, street : street, zipcode : zipcode, city : city, country : country, phone : phone, pass : pass},
									onSuccess: function (transport)
									{
										new Ajax.Request('showReducedForm.php',
										{
												method: 'post',
												parameters: { order_type : order_type, email : email },
												onSuccess: function (transport)
												{
													var response = transport.responseText;
													$('login').update(response);
													$('login').className = "";
													$('user_detail').update('');
												},
												onFailure: function ()
												{
													alert("Es gab einen Fehler...");
												}
										});
										$('login').className = "login_form";
										$('user_detail').update('');
									},
									onFailure: function ()
									{
										alert("Es gab einen Fehler...");
									}
							});
					else
						alert(response);
				},
				onFailure: function ()
				{
					alert("Es gab einen Fehler...");
				}
		});
	}
}

function add_Comma(val)
{
	var len, i, j, k = 0, p, val1='';
	len = val.length - 1;
	if (val.search('.') != -1)
	{
		val = val.replace('.',',');
		for (i = 0; i < len; i ++)
		{
			if (val.substr(i,1) == ',')
			{
				p = i - 1;
				for (j = i + 1; j < len; j ++)
					if (val.substr(j,1) != '0')
					{
						k = 1;
						break;
					}
			}
		}
		if (k == 0)
		{
			val1 = val.substring(0, p);
			val1 = val1 + ",-";
		}
		else
		{
			for (j = val.length - 1; j > p + 1; j --)
				if (val.substr(j-1, 1) == '0')
					len = len - 1;
				else
					break;
			val1 = val.substr(0, len);
			if (len - (p + 1) == 2)
				val1 = val1 + '0';
		}
	}
	else
		val1 = val + ",-";
	return val1;
}


function changeTotalPrice (type, shipping, fcost, scost, pcost, prod_type)
{
	var mcount, pcount, price, i;
	price = 0;
	if (type == "normal")
	{
		mcount = document.getElementById("mncount").value;
		pcount = document.getElementById("pncount").value;
		if (mcount == "") mcount = 0;
		if (pcount == "") pcount = 0;
	}
	else
	{
		mcount = document.getElementById("mcount").value;
		pcount = document.getElementById("pcount").value;
		if (mcount == "") mcount = 0;
		if (pcount == "") pcount = 0;
	}
	if (prod_type == "mellow" && mcount < 0)
		$(type + "_total").update("Bitte korrekte Zahl eingeben.");
	else if (prod_type == "pillow" && pcount < 0)
		$(type + "_total").update("Bitte korrekte Zahl eingeben.");
	else if (prod_type == "mellow" && isNaN(mcount))
		$(type + "_total").update("Bitte Zahl eingeben.");
	else if (prod_type == "pillow" && isNaN(pcount))
		$(type + "_total").update("Bitte Zahl eingeben.");
	else if (mcount == 0 && pcount == 0)
		$(type + "_total").update("Bitte Zahl eingeben.");
	else
		if (type == "normal")
		{
			if (mcount != 0)
				price = fcost + scost * (mcount - 1);
			price = price + pcost * pcount;
			price = price + shipping;
			price = price.toFixed(4);
			price = add_Comma(price.toString());
			$("normal_total").update("Gesamtpreis inkl. Versand: <b>EUR " + price + "</b>");
		}
		else
		{
			if (type == "fdirect")
				price = scost * mcount;
			else
				if (mcount != 0)
					price = fcost + scost * (mcount - 1);
			price = price + pcost * pcount;
			price = price + shipping;
			price = price.toFixed(4);
			price = add_Comma(price.toString());
			$("direct_total").update("Gesamtpreis inkl. Versand: <b>EUR " + price + "</b>");
		}
}

