function open_order() {
  x_show_cart(callback_show_cart);
  form_text='<form>'+
  '<fieldset>'+
  '<legend>Bestellformular</legend>'+
  '<label for="fore_name">Vorname:</label>'+
  '<input type="text" name="fore_name" id="input_fore_name"/><br/>'+
  '<label for="sur_name">Nachname:</label>'+
  '<input type="text" name="sur_name" id="input_sur_name"/><br/>'+
  '<label for="street">Stra&szlig;e &amp; Hausnr:</label>'+
  '<input type="text" name="street" id="input_street"/><br/>'+
  '<label for="residence">Wohnort:</label>'+
  '<input type="text" name="residence" id="input_residence"/><br/>'+
  '<label for="phone">Telefonnummer:</label>'+
  '<input type="text" name="phone" id="input_phone"><br/>'+
  '<label for="notice">Bemerkung:</label>'+
  '<textarea name="notice" id="input_notice"></textarea><br/>'+
  '<input type="button" name="send_order" onclick="call_send_order();" value="Bring\'s mir">'+
  '</fieldset>'+
  '</form>';
  document.getElementById("order_form").innerHTML = form_text;
}

function call_send_order() {
 var alertmessage = "";
 if(document.getElementById("input_fore_name").value == "") {
   alertmessage = alertmessage.concat("Bitte gebe deinen Vornamen ein!\n");
 }
 if(document.getElementById("input_sur_name").value == "") {
   alertmessage = alertmessage.concat("Bitte gebe deinen Nachnamen ein!\n");
 }
 if(document.getElementById("input_street").value == "") {
   alertmessage = alertmessage.concat("Bitte trage die Straße ein, in die wir liefern sollen!\n");
 }
 if(document.getElementById("input_residence").value == "") {
   alertmessage = alertmessage.concat("Bitte gebe deinen Wohnort an!\n");
 }
 if(document.getElementById("input_phone").value == "") {
   alertmessage = alertmessage.concat("Bitte gebe deine Telefonnummer an, damit wir dich zurückrufen können!\n");
 }
  // check
  if (alertmessage=="") {
    var fore_name = document.getElementById("input_fore_name").value;
    var sur_name  = document.getElementById("input_sur_name").value;
    var street    = document.getElementById("input_street").value;
    var residence = document.getElementById("input_residence").value;
    var phone     = document.getElementById("input_phone").value;
    var notice    = document.getElementById("input_notice").value;
    x_send_order(fore_name, sur_name, street, residence, phone, notice, callback_send_order);
  } else {
  alert(alertmessage);
  }
}

function callback_send_order(text) {
  document.getElementById("message_span").innerHTML = text;
  document.getElementById("order_form").innerHTML = '<input type="button" onclick="open_order(); return false;" value="Bestellen"/>';
}

function call_show_page(site) {
  //site = "yyy";
  x_show_page(site,callback_show_page);
}
function callback_show_page(text) {
  document.getElementById("content_div").innerHTML = text;
}


function call_clear_cart() {
  x_clear_cart(callback_clear_cart);
  x_show_cart(callback_show_cart);
}

function callback_clear_cart(text) {
  document.getElementById("message_span").innerHTML = text;
}

function call_show_assortment() {
  // frage sortierung ab
  if (document.assortment_functions_form.order_keyword[0].checked==true) {
    var order = document.assortment_functions_form.order_keyword[0].value;
  }
  if (document.assortment_functions_form.order_keyword[1].checked==true) {
    var order = document.assortment_functions_form.order_keyword[1].value;
  }
  // sortierungsrichtung
  var order_direction = document.getElementById("input_order_direction").value;
  // kategorien zeigen
  var show_categories = document.getElementById("input_show_categories").checked;
  // Produktsuche zeigen
  var product_search = document.getElementById("input_product_search").value;
  //rufe php funktion auf ajax
  x_show_assortment(order, order_direction, show_categories, product_search, callback_show_assortment);
}
function callback_show_assortment(text) {
  //geb das div aus
  document.getElementById("assortment_list").innerHTML = text;
}

function call_change_cart(id, anzahl_artikel) {
  x_add_to_cart(id, anzahl_artikel, callback_add_to_cart);
  x_show_cart(callback_show_cart);
}

function call_add_to_cart(id) {
  var input_feld_name = "anzahl_artikel"+id;
  var anzahl_artikel = document.getElementById(input_feld_name).value;
  x_add_to_cart(id, anzahl_artikel, callback_add_to_cart);
  x_show_cart(callback_show_cart);
}
function callback_add_to_cart(text) {
  document.getElementById("message_span").innerHTML = text;
}

function call_show_product(id) {
  x_show_product(id, callback_show_product);
}
function callback_show_product(text) {
  document.getElementById("content_div").innerHTML = text;
}

function hide_something(element_id) {
  if(document.getElementById(element_id).style.display != 'none') {
    document.getElementById(element_id).style.display = 'none';
  } else {
    document.getElementById(element_id).style.display = 'block';
  }
  return true;
}

function change_visible_categorie(element_id) {
  if (document.getElementById(element_id).style.display == 'block') {
  document.getElementById(element_id).style.display = 'none';
  } else {
    var myEls = getElementsByClass('produkte_in_kategorie');
    for ( i=0;i<myEls.length;i++ ) {
      myEls[i].style.display = 'none';// do stuff here with myEls[i]
    }
    
    document.getElementById(element_id).style.display = 'block';
    return true;
  }
}

function call_show_cart() {
  x_show_cart(callback_show_cart);
}
function callback_show_cart(text) {
  document.getElementById("shopping_cart").innerHTML = text;
}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function escapeHTMLEncode(str) {
  var div = document.createElement('div');
  var text = document.createTextNode(str);
  div.appendChild(text);
  return div.innerHTML;
}

function htmlEncode(s) {
  return s.replace(/&(?!\w+([;\s]|$))/g, "&amp;")
  .replace(/</g, "&lt;").replace(/>/g, "&gt;");
}
