

function printVistaMiniBasket(printTable,showHeader){
	var $elem = null;
	showHeader = showHeader?showHeader:false;
	SMPrice = new cSMPrice();
	SMPrice.decode(SMShop.basket.getAttribute(_SMASubTotal));
	
	var sLink = SMOMAbsoluteRootURL + "/" + "warenkorb.html";
	
	var subTotal = totalProducts = 0;
	if(SMShop.getAttribute(_SMAOComplete)!="true"){
		totalProducts = SMShop.basket.getAttribute(_SMATotalItems);
		subTotal = cprimary.format((SMShop.getAttribute(_SMAOutGross)!="1") ? SMPrice.net : SMPrice.gross, SM_CGROUP+SM_CSYMBOL);
		};
	var sProduct = parseInt(totalProducts)!=1?'Produkte':'Produkt';
	var sBasket = '';
		if(printTable){
			sBasket += '<table border="0" cellpadding="0" cellspacing="0" class="minibasket" style="width:180px;">';
			if(showHeader){
				sBasket +=  '<tr><td colspan="2" class="minibasket-header">Ihr Warenkorb</td></tr>';
			};
			sBasket += '<tr><td class="minibasket-caption"  style="padding-top:7px">Produkte:&nbsp;</td><td class="minibasket-value" style="padding-right:50px;padding-top:7px">' + (totalProducts>0?totalProducts:'0') + '</td></tr>'
			+ '<tr valign="top"><td class="minibasket-caption">Summe:&nbsp;</td><td class="minibasket-value" style="padding-right:50px">' + subTotal + '</td></tr>'
			+ '<tr><td colspan="2" class="minibasket-footer"><a href="' + sLink + '">Zum Warenkorb &#0187;</a>';
			sBasket += '</td></tr></table>';
		};
	$elem = document.getElementById("mini-basket-parent");
	if($elem!=null&&sBasket!=""){
		if($elem.innerHTML==""||$elem.innerHTML=="&nbsp;"||($elem.innerHTML.length!=0&&$elem.innerHTML.charCodeAt(0)==160)){
			SMShop.basket.base.addMember("SMSMiniBasket");
			};
		$elem.innerHTML = sBasket;
		}
	else document.write(sBasket);
};

/************************
**** Konfiguration ******
************************/
if(location.href.substring(0, 30)=="http://www.muenzhandel-2002.de") var sServiceUrl = "http://www.muenzhandel-2002.de/services/ProductService.asmx";
else if (location.href.substring(0, 26)=="http://muenzhandel-2002.de") var sServiceUrl = "http://muenzhandel-2002.de/services/ProductService.asmx";
else if (location.href.substring(0, 29)=="http://www.muenzhandel2002.de") var sServiceUrl = "http://www.muenzhandel2002.de/services/ProductService.asmx";
else if (location.href.substring(0, 25)=="http://muenzhandel2002.de") var sServiceUrl = "http://muenzhandel2002.de/services/ProductService.asmx";
else if (location.href.substring(0, 26)=="http://muenzhandel2002.com") var sServiceUrl = "http://muenzhandel2002.com/services/ProductService.asmx";
else if (location.href.substring(0, 30)=="http://www.muenzhandel2002.com") var sServiceUrl = "http://www.muenzhandel2002.com/services/ProductService.asmx";
else if (location.href.substring(0, 26)=="http://muenzhandel2002.net") var sServiceUrl = "http://muenzhandel2002.net/services/ProductService.asmx";
else if (location.href.substring(0, 30)=="http://www.muenzhandel2002.net") var sServiceUrl = "http://www.muenzhandel2002.net/services/ProductService.asmx";
else if (location.href.substring(0, 17)=="http://mh2002.com") var sServiceUrl = "http://mh2002.com/services/ProductService.asmx";
else if (location.href.substring(0, 21)=="http://www.mh2002.com") var sServiceUrl = "http://www.mh2002.com/services/ProductService.asmx";
else if (location.href.substring(0, 16)=="http://mh2002.de") var sServiceUrl = "http://mh2002.de/services/ProductService.asmx";
else if (location.href.substring(0, 20)=="http://www.mh2002.de") var sServiceUrl = "http://www.mh2002.de/services/ProductService.asmx";
else if (location.href.substring(0, 21)=="http://www.mh-2002.de") var sServiceUrl = "http://www.mh-2002.de/services/ProductService.asmx";
else var sServiceUrl = "http://mh-2002.de/services/ProductService.asmx";

var sPDNotAvailableHtml = "Dieses Produkt ist momentan nicht verfügbar";
var sPLNotAvailableHtml = "X";

var bPLShowDetails = true;
var bPLShowAlternativeHtml = false;

var bShowCurrentStock = true;
var sCurrentStockHtml = "Aktueller Bestand: ";

/************************
** Ende Konfiguration ***
************************/

var StockServiceNS = {};

StockServiceNS.SMProduct_onBeforeUpdate = SMProduct_onBeforeUpdate;

(function()
{
	SMProduct_onBeforeUpdate = function(args)
	{
		StockServiceNS.SMProduct_onBeforeUpdate(args);

		var filename = "warenkorb.html";
		var loco = location.pathname;
		if(loco.substring(loco.lastIndexOf("/") + 1) == filename)
		{
		        jq.ajax({
		            type: "POST", 
		            url: sServiceUrl + "/IsProductAvailable", 
		            contentType: "application/json; charset=utf-8", 
		            data: "{'pkid': '" + args[0].getAttribute(_SMAUniqueID) + "'}", 
		            dataType: "json", 
		            success: function(msg){UpdateBasketProduct(msg, args[0].getAttribute(_SMAAmount));}, 
		            error: AjaxFailed 
		        });
		}
	}
})();

function UpdateBasketProduct(result, desiredAmount){
	if(parseInt(result.d.CurrentStock) < (desiredAmount)){
		alert("Die gewünschte Menge ist nicht auf Lager.\nVorhandene Menge: " + result.d.CurrentStock);
		SMShop.basket.getProductById(result.d.PKID).setAttribute(_SMAAmount, result.d.CurrentStock);
		SMShop.basket.getProductById(result.d.PKID).update();
		SMShop.basket.update();
	}
}

function IsProductAvailable(pkid, view) {
  if (view == 0) {
    jq(document).ready(function() {
      jq.ajax({
          type: "POST", 
          url: sServiceUrl + "/IsProductAvailable", 
          contentType: "application/json; charset=utf-8", 
          data: "{'pkid': '" + pkid + "'}", 
          dataType: "json", 
          success: function(msg){IsDetailProductAvailableResult(msg);}, 
          error: AjaxFailed 
      });    
    }); 
  } else {
    jq(document).ready(function() {   
      jq.ajax({   
          type: "POST",   
          url: sServiceUrl + "/IsProductAvailable",   
          contentType: "application/json; charset=utf-8",   
          data: "{'pkid': '" + pkid + "'}",
          dataType: "json",
          success: function(msg){IsListProductAvailableResult(msg);}, 
          error: AjaxFailed   
      }); 
    }); 
  }
}

function IsDetailProductAvailableResult(result) { 
	jq(document).ready(function() {
		if (result.d.IsAvailable == true) {
			if (bShowCurrentStock == true) jq('#pdAddToBag_' + result.d.PKID).before('<div id="current-stock" style="text-align:right">' + sCurrentStockHtml + result.d.CurrentStock + '</div>');
			jq(".pnl-addtobasket").parents("div:first").parents("div:first").css("visibility", "visible");
		} else {
			jq(".pnl-addtobasket").parents("div:first").html('<div style="visibility:visible">' + sPDNotAvailableHtml + '</div>');				
		}
	});
}

function IsListProductAvailableResult(result) {  
	jq(document).ready(function() {
		if (result.d.IsAvailable == true) 
		{
			if (bShowCurrentStock == true) jq('.pnl-addtobasket:has(#PD' + result.d.PKID + 'Amount)').parents("td:first").prepend('<div class="current-stock">' + sCurrentStockHtml + result.d.CurrentStock + '</div>');
			jq('.pnl-addtobasket:has(#PD' + result.d.PKID + 'Amount)').parents("td:first").css("visibility", "visible");
		}
		/*
		else 
		{
			if (bPLShowDetails) {
				jq('.#PD' + result.d.PKID + 'Amount').parents("td:first").css("visibility", "hidden");
				jq('.pnl-addtobasket:has(#PD' + result.d.PKID + 'Amount)').parents("td:first").css("visibility", "visible");
			}
			if (bPLShowAlternativeHtml) {
				jq('.#PD' + result.d.PKID + 'Amount').parents("td:first").html('<div style="visibility:visible">' + sPLNotAvailableHtml + '</div>');;
			}
		}
		*/
	});
}

function DecrementStock(pkid, amount) {
  jq(document).ready(function() {
    jq.ajax({   
        type: "POST",   
        url: sServiceUrl + "/DecrementStock",   
        contentType: "application/json; charset=utf-8",   
        data: "{'pkid': '" + pkid + "', 'amount' : " + amount + "}",
        dataType: "json", 
        error: AjaxFailed
    });
  });
}

function IsAmountAvailable(pkid) {
    jq.ajax({   
        type: "POST",   
        url: sServiceUrl + "/IsProductAvailable",   
        contentType: "application/json; charset=utf-8",   
        data: "{'pkid': '" + pkid + "'}",
        dataType: "json",
        success: function(msg){
		var productQuantity = jq("#PD" + msg.d.PKID + "Amount").val();

		if(parseInt(msg.d.CurrentStock) < parseInt(productQuantity))
			alert("Die gewünschte Menge ist nicht mehr auf Lager. \nBitte wählen Sie eine andere Bestellmenge. \nVorhandener Bestand: " + msg.d.CurrentStock);
		else 
			SMShop.basket.add(SMProductList[msg.d.PKID]);
        }
    });
}

function SendSMDataString(smdatastring) {
	var message = smdatastring;
	jq(document).ready(function() {
		jq.ajax({
			type: "POST", 
			url: sServiceUrl + "/SaveSMDataString", 
			contentType: "application/json; charset=utf-8", 
			data: "{'smdatastring': '" + message + "'}", 
			dataType: "json", 
			error: AjaxFailed 
		});
	}); 
}

function AjaxFailed(result) {
	alert("Fehler: " + result.status + ' ' + result.statusText);
}