﻿
// Developed 2010/12/16 by M. Brandt / Pepperl+Fuchs GmbH
var amx_prefix = '/cmx/webservice/modules/amx100/pakxml?call=';
function S4() {
   return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
}
function getPseudoGuid() {
   return (S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4());
}
// Die Funktion addToCart fügt das Produkt mit der ID prodid, der Session rdsessionid und der Menge quantity in den Warenkorb ein
function amxAddToCart(prodid, quantity, rdsessionid)
{
    var amx_request = amx_prefix + "view/addtocart/prodid/" + prodid + "/sessionid/" + rdsessionid + "/quantity/" + quantity + "/guid/" + getPseudoGuid();
    // alert (amx_request);
    var xmlhttp = getXMLHTTPObject();
    xmlhttp.open('GET', amx_request, false);
    xmlhttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8");  
    xmlhttp.send();
    xmlhttp.onreadystatechange=function() {
           if (xmlhttp.readyState==4) {
            var itemcount = xmlhttp.responseXML.getElementsByTagName('total_quantity')[0].firstChild.nodeValue;
            if (itemcount/1 != itemcount) {
                alert ('Error on View: Add2Cart!');
            }
           }
      }
}
// Die Funktion deleteFromCart löscht das Produkt mit der ID prodid, der Session rdsessionid aus dem Warenkorb
function amxDeleteFromCart(prodid, rdsessionid)
{
    var amx_request = amx_prefix + "view/updatecart/sessionid/" + rdsessionid + "/a_" + prodid + "/0/guid/" + getPseudoGuid();
    // alert (amx_request);
    var xmlhttp = getXMLHTTPObject();
    xmlhttp.open('GET', amx_request, false);
    xmlhttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8");  
    xmlhttp.send();
    xmlhttp.onreadystatechange=function() {
           if (xmlhttp.readyState==4) {
            var itemcount = xmlhttp.responseXML.getElementsByTagName('total_quantity')[0].firstChild.nodeValue;
            if (itemcount/1 != itemcount) {
                alert ('Error on View: DeleteFromCartCart!');
            }
           }
      }
}
// Die Funktion deleteFromCart löscht das Produkt mit der ID prodid, der Session rdsessionid aus dem Warenkorb
function amxUpdateCart(rdsessionid)
{
        var debug = '';
        var amx_request = amx_prefix + "view/updatecart/sessionid/" + rdsessionid;
        
        // Produkteinträge und Quantitäten ermitteln
    for (var i=0; i < document.forms['shoppingcartcontent'].elements.length; i++) {
           var element = document.forms['shoppingcartcontent'].elements[i];
           if (element.getAttribute('prodid') != null)
           {
               debug += 'Y ';
               amx_request += '/a_' + element.getAttribute('prodid') + '/' + element.value;
           }
           debug += element.getAttribute('prodid') + ' - ' + element.name + ': ' + element.value + '\n';
        }
        // alert (debug);
        amx_request += '/guid/' + getPseudoGuid();
    // alert (amx_request);
    
    var xmlhttp = getXMLHTTPObject();
    xmlhttp.open('GET', amx_request, false);
    xmlhttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8");  
    xmlhttp.send();
    xmlhttp.onreadystatechange=function() {
        if (xmlhttp.readyState==4) {
          var itemcount = xmlhttp.responseXML.getElementsByTagName('total_quantity')[0].firstChild.nodeValue;
        if (itemcount/1 != itemcount) {
            alert ('Error on View: UpdateCart!');
        }
      }
    }
}
// Die Funktion printQuantity liest die aktuelle Produktanzahl aus dem Shopping Cart aus
function printQuantity(rdsessionid)
{
    var amx_request = amx_prefix + "view/getquantityincart/sessionid/" + rdsessionid + "/guid/" + getPseudoGuid();
    // alert (amx_request);
  var xmlhttp = getXMLHTTPObject();
  xmlhttp.open('GET', amx_request, true);
  xmlhttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8");  
  xmlhttp.send();
  xmlhttp.onreadystatechange = function() {
      if (xmlhttp.readyState==4) {
        var itemcount = xmlhttp.responseXML.getElementsByTagName('total_quantity')[0].firstChild.nodeValue;
        // alert ("Itemcount: " + itemcount);
        if (itemcount/1 != itemcount) {
            alert ('Error on View: getQuantity!');
        }
        
        if ((typeof(itemcount) == "undefined") || (itemcount == null))
        {
            itemcount = 0;
        }
        document.getElementById ('cart_itemcount').innerHTML = itemcount;
        document.getElementById ('cart_itemcount').innerText = itemcount;
         }
    }
}
