// Var
var Items                    = new Array();      
var ShipCost                 = 0;
var OrderItems               = new String("");   
var OrderPayMethod           = new String("");
var OrderWindow              = new Array();      
var Ship_VAT                 = new Array();
var PayMethod_VAT            = new Array();
var PayMethod_Supp           = new Array();      
var PayMethod_Type           = new Array();
var PaySystem_Type           = new Array();      
var Discounts                = new Array();
var ShipweightPrices         = new Array();
var OldOrderID               = new String("");   
var	OldOrderTotal            = new String("");
// Const
var CurrName                 = 'euro';
var SecCurrRate              = StringToFloat('1');
var SecCurrName              = 'Unknown currency';
var bgColorDark              = '#000000';
var bgColorLight             = '#FFFFFF';
var EncOrderSeparator        = '<~>';            // Encoded Order Separator
var CGIScriptAddress         = 'sendorder4.php';
var OrderID                  =  new Date();
var Decimals                 =  2;
// Buttons text
var txtBack                  = 'Volver';                      
var txtOrder                 = 'Continuar pedido  &gt;&gt;';
var txtCancelOrder           = 'Cancelar pedido';               
var txtSendOrder             = 'Enviar pedido';
var txtCalculate             = 'Calcular';
// Text text
var txtSubTotal              = 'Importe';                      
var txtDelivery              = 'Entrega';
var txtWayOfDelivery         = 'Modo de entrega';                 
var txtWayOfPayment          = 'Medio de pago';
var txtVAT                   = 'IVA';
var txtVATTotal              = 'Total IVA';
var txtTotal                 = 'Total';                         
var txtTotalIncVAT           = 'Total (IVA incl.)';
var txtData                  = 'Datos';                          
var txtMessage               = 'Mensaje';
var txtOrderFor              = 'Encargo para';                      
var txtWebShopName           = 'MiniaturasJUN10';
var txtOrderedOn             = 'Encargado el';                     
var txtAOrder                = 'Pedido';
var txtConfirmation          = 'Confirmación';                  
var txtNone                  = 'Ninguno';
var txtSendOrderToEMail      = 'pedidos@miniaturas.com';         
var txtPayMethodCost         = 'Coste del pago';
var txtPayMethodInfo         = 'Información sobre el pago';                 
var txtDeliveryAddress       = 'Dirección de entrega';
var txtCommon                = 'General';                        
var txtRegisteredCustomer    = 'Cliente registrado';
var txtDeliveryAddressEqual  = 'La dirección de entrega y la dirección de facturación son idénticas.';          
var txtDate                  = 'Fecha';
var txtInvoiceAddress        = 'Dirección de facturación';                
var txtConditions            = 'Condiciones generales de entrega';
var txtIsArtMinimumQuantity  = 'Debe encargar como mínimo';          
var txtOutOfStock            = 'Este artículo ha dejado de estar disponible.';	
var txtMoreThanStock         = 'Existencias insuficientes para responder al número de artículos requerido.';                 
var txtDiscountOnTotal       = 'Descuento sobre cantidad total';
var txtCouponDiscount        = 'Cupón descuento';                
var txtOrderNumber           = 'Número de pedido';
var txtAmount                = 'Número';                        
var txtArticlecode           = 'Código artículo';
var txtDescription           = 'Descripción';                   
var txtProductPriceIn        = 'Precio del producto en';
var txtTotalPriceIn          = 'Precio total en';
// Field text
var txtMr                    = 'Sr.';                          
var txtMrs                   = 'Sra.';
var txtFirstName             = 'Nombre';                   
var txtLastName              = 'Apellidos';
var txtCompany               = 'Empresa';                     
var txtCompanyNr             = 'Código cliente';
var txtCompanyPassword       = 'Contraseña';
var txtStreetAndNr           = 'Calle/nº';
var txtZipcodeTown           = 'Código postal/Ciudad';
var txtZipcode               = 'Código postal';
var txtTown                  = 'Ciudad';
var txtCountry               = 'País';
var txtPhone                 = 'Teléfono';
var txtEMail                 = 'E-mail';
var txtRemarks               = 'Comentarios';
var txtName                  = 'Apellidos';
var txtWantToReceiveNewsletter = 'Me gustaría recibir el boletín electrónico';
var txtVATnr                 = 'Nº de IVA';
var txtAcceptConditions      = 'Acepto las condiciones generales de venta';
// Object
var oCustomer                = new Customer('','','','','','','','','','','','','','','','','','',0,'',0,0,'',0,'','','','',0,0);
var oOrder                   = new Order(0,'',0,'','','','','','','','','','',0,0,0,'',0,0);

// Discount

// ShipweightRange

    ShipweightPrices[0] = new shipweightPrice(0);


// Array
var aVATItems = new Array();

    aVATItems[aVATItems.length] = new VAT(1,'IVA','18',0);


function discount(discountType, ranges) {
  this.discountType = discountType;
  this.ranges       = new Array(ranges);
  return this;
}

function discountRange(min, max, perc) {
  this.min   = parseFloat(min);
  this.max   = parseFloat(max);
  this.perc  = parseFloat(perc);
  return this;
}

function discountPrice(price, discType, quantity,
        SecAmount1, SecPrice1, SecAmount2, SecPrice2, SecAmount3, SecPrice3,
					   SecAmount4, SecPrice4, SecAmount5, SecPrice5, SecAmount6, SecPrice6,
					   SecAmount7, SecPrice7, SecAmount8, SecPrice8, SecAmount9, SecPrice9,
					   SecAmount10, SecPrice10) {
  var returnPrice = price;
  if ((SecAmount1 == 0) || (quantity < SecAmount1)) {
    for (var i = 1; i < Discounts.length; i++){
      if (Discounts[i].discountType == discType) {
        for (var y = 1; y < Discounts[i].ranges.length; y++) {
          if (quantity > Discounts[i].ranges[y].min-1) {
            returnPrice = (price/100) * (100-Discounts[i].ranges[y].perc);
          }
        }
      }
    }
  } else { 
    if ((SecAmount10 == 0) || (quantity < SecAmount10) ) {
		if ((SecAmount9 == 0) || (quantity < SecAmount9) ) {
			if ((SecAmount8 == 0) || (quantity < SecAmount8) ) {
				if ((SecAmount7 == 0) || (quantity < SecAmount7) ) {
					if ((SecAmount6 == 0) || (quantity < SecAmount6) ) {
						if ((SecAmount5 == 0) || (quantity < SecAmount5) ) {
							if ((SecAmount4 == 0) || (quantity < SecAmount4) ) {
								if ((SecAmount3 == 0) || (quantity < SecAmount3) ) {
									if ((SecAmount2 == 0) || (quantity < SecAmount2) ) {
										if ((SecAmount1 == 0) || (quantity < SecAmount1) ) {
										} else { returnPrice = SecPrice1; }
									} else { returnPrice = SecPrice2; }
								} else { returnPrice = SecPrice3; }
							} else { returnPrice = SecPrice4; }
						} else { returnPrice = SecPrice5; }
					} else { returnPrice = SecPrice6; }
				} else { returnPrice = SecPrice7; }
			} else { returnPrice = SecPrice8; }
		} else { returnPrice = SecPrice9; }
	} else { returnPrice = SecPrice10; }
  }
  return returnPrice;
}

function discountOnTotalPrice(totalPrice) {
  var returnDiscount = 0;
		
		
		
		return returnDiscount;
}

function shipweightPrice(ranges) {
  this.ranges       = new Array(ranges);
  return this;
}

function shipweightPriceRange(min, max, price) {
  this.min   = parseFloat(min);
  this.max   = parseFloat(max);
  this.price = parseFloat(price);
  return this;
}

function showCart(location) {
  window.frame_body.location = "ES_cart.html";
}

function position(ArticleCode, OptionsText) {
  var j = -1;
  for (var i = 0; i < Items.length; i++) {
    if ((Items[i].ArticleCode == ArticleCode) && (Items[i].OptionsText == OptionsText)) {
      j = i;
    }
  }
  return j;
}

function VAT(VID, VName, VValue, VTotal) {
  this.VID    = VID;
  this.VName  = VName;
  this.VValue = StringToFloat(VValue);
  this.VTotal = VTotal;
}

function Item(ArticleCode, Name, Price, Quantity, VAT, DiscountType, OriginalPrice,
              Weight, ShipPrice, OptionsText,
              SecAmount1, SecPrice1, SecAmount2, SecPrice2, SecAmount3, SecPrice3,
              SecAmount4, SecPrice4, SecAmount5, SecPrice5, SecAmount6, SecPrice6,
              SecAmount7, SecPrice7, SecAmount8, SecPrice8, SecAmount9, SecPrice9,
              SecAmount10, SecPrice10,
              ArticleSalesCode, MinimumQuantity, StockQuantity, ExtraInfo) {
  this.ArticleCode      = ArticleCode;       this.Name            = Name;
  this.Price            = Price;             this.Quantity        = Quantity;
  this.VAT              = VAT;               this.DiscountType    = DiscountType;
  this.OriginalPrice    = OriginalPrice;     this.Weight          = Weight;
  this.ShipPrice        = ShipPrice;         this.OptionsText     = OptionsText;
  this.SecAmount1       = SecAmount1;        this.SecPrice1       = SecPrice1;
  this.SecAmount2       = SecAmount2;        this.SecPrice2       = SecPrice2;
  this.SecAmount3       = SecAmount3;        this.SecPrice3       = SecPrice3;
  this.SecAmount4       = SecAmount4;        this.SecPrice4       = SecPrice4;
  this.SecAmount5       = SecAmount5;        this.SecPrice5       = SecPrice5;
  this.SecAmount6       = SecAmount6;        this.SecPrice6       = SecPrice6;
  this.SecAmount7       = SecAmount7;        this.SecPrice7       = SecPrice7;
  this.SecAmount8       = SecAmount8;        this.SecPrice8       = SecPrice8;
  this.SecAmount9       = SecAmount9;        this.SecPrice9       = SecPrice9;
  this.SecAmount10      = SecAmount10;       this.SecPrice10      = SecPrice10;
  this.ArticleSalesCode = ArticleSalesCode;  this.MinimumQuantity	= MinimumQuantity;
  this.StockQuantity	  = StockQuantity;     this.ExtraInfo    		= ExtraInfo;
}

function Customer(Salutation, FirstName, LastName, Company, CompanyCode, CompanyPassword,
                  Street, ZipCode, Town, Country, Phone, DelName, DelStreet, DelZipCode,
                  DelTown, DelCountry, DelPhone, EMail, ShipCost, ShipText, ShipVAT,
                  PayMethodCost, PayMethodText, PayMethodVAT, Memo, Newsletter,
                  PayMethodMemo, VATnr, DiscountOnTotalVAT,	CouponDiscountVAT,
																		PayMethodSupp) {
  this.Salutation         = Salutation;         this.FirstName         = FirstName;
  this.LastName           = LastName;           this.Company           = Company;
  this.CompanyCode        = CompanyCode;        this.CompanyPassword   = CompanyPassword;
  this.Street             = Street;             this.ZipCode           = ZipCode;
  this.Town               = Town;               this.Country           = Country;
  this.Phone              = Phone;              this.DelName           = DelName;
  this.DelStreet          = DelStreet;          this.DelZipCode        = DelZipCode;
  this.DelTown            = DelTown;            this.DelCountry        = DelCountry;
  this.DelPhone           = DelPhone;           this.EMail             = EMail;
  this.ShipCost           = ShipCost;           this.ShipText          = ShipText;
  this.ShipVAT            = ShipVAT;            this.PayMethodCost     = PayMethodCost;
  this.PayMethodText      = PayMethodText;      this.PayMethodVAT      = PayMethodVAT;
  this.Memo               = Memo;               this.NewsLetter        = Newsletter;
  this.PayMethodMemo      = PayMethodMemo;      this.VATnr             = VATnr;
  this.DiscountOnTotalVAT = DiscountOnTotalVAT; this.CouponDiscountVAT = CouponDiscountVAT;
		this.PayMethodSupp      = PayMethodSupp;
}

function Order(PayMethodCost, PayMethodText, PayMethodVAT, ItemsReadable,
               ItemsReadableHTML, Items, SubTotal, Delivery, Total, SecCurr, VAT, VATtotal,
               PayMethodshort, ShipType, PayMethodType, PaySystemType, DiscountOnTotal,
               Coupon, CouponDiscount, CouponDiscountAmount) {
  this.PayMethodCost = PayMethodCost; this.PayMethodText     = PayMethodText;
  this.PayMethodVAT  = PayMethodVAT;
  this.ItemsReadable = ItemsReadable; this.ItemsReadableHTML = ItemsReadableHTML;
  this.Items         = Items;         this.SubTotal          = SubTotal;
  this.Delivery      = Delivery;      this.Total             = Total;
  this.SecCurr       = SecCurr;       this.VAT               = VAT;
  this.VATtotal      = VATtotal;      this.PayMethodshort    = PayMethodshort;
  this.ShipType      = ShipType;      this.PayMethodType     = PayMethodType;
  this.PaySystemType = PaySystemType; this.DiscountOnTotal   = DiscountOnTotal;
  this.Coupon        = Coupon;        this.CouponDiscount    = CouponDiscount;
		this.CouponDiscountAmount    = CouponDiscountAmount;
}

function addToCart(form) {
  var ArtArticleCode       = form.Articlecode.value;
  var ArtArticleSalesCode  = form.Articlesalescode.value;
  var ArtName              = form.Name.value;
  var ArtPrice             = StringToFloat(form.Price.value);
  var ArtVAT               = form.VAT.value;
  var ArtQuantity          = parseInt(form.Quantity.value,10);
  var ArtDiscountType      = form.DiscountType.value;
  var ArtWeight            = StringToFloat(form.Weight.value);
  var ArtShipPrice         = StringToFloat(form.TransportPrice.value);
  var ArtInOrder           = 0;
  var ArtOptionsText       = new String("");
  var ArtTextsText         = new String("");
  var StopAddToCart	       = new String("N");
  var ArtMinimumQuantity   = StringToFloat(form.MinimumQuantity.value);
 	var ArtStockQuantity     = 0;



  SiteURL;

  if (typeof(form.SecAmount1)!= 'undefined' && form.SecAmount1 != null) {
           ArtSecAmount1  = StringToFloat(form.SecAmount1.value);
  } else { ArtSecAmount1  = 0; }
  if (typeof(form.SecAmount2)!= 'undefined' && form.SecAmount2 != null) {
           ArtSecAmount2  = StringToFloat(form.SecAmount2.value);
  } else { ArtSecAmount2  = 0; }
	if (typeof(form.SecAmount3)!= 'undefined' && form.SecAmount3 != null) {
           ArtSecAmount3  = StringToFloat(form.SecAmount3.value);
  } else { ArtSecAmount3  = 0; }
	if (typeof(form.SecAmount4)!= 'undefined' && form.SecAmount4 != null) {
           ArtSecAmount4  = StringToFloat(form.SecAmount4.value);
  } else { ArtSecAmount4  = 0; }
	if (typeof(form.SecAmount5)!= 'undefined' && form.SecAmount5 != null) {
           ArtSecAmount5  = StringToFloat(form.SecAmount5.value);
  } else { ArtSecAmount5  = 0; }
	if (typeof(form.SecAmount6)!= 'undefined' && form.SecAmount6 != null) {
           ArtSecAmount6  = StringToFloat(form.SecAmount6.value);
  } else { ArtSecAmount6  = 0; }
	if (typeof(form.SecAmount7)!= 'undefined' && form.SecAmount7 != null) {
           ArtSecAmount7  = StringToFloat(form.SecAmount7.value);
  } else { ArtSecAmount7  = 0; }
	if (typeof(form.SecAmount8)!= 'undefined' && form.SecAmount8 != null) {
           ArtSecAmount8  = StringToFloat(form.SecAmount8.value);
  } else { ArtSecAmount8  = 0; }
	if (typeof(form.SecAmount9)!= 'undefined' && form.SecAmount9 != null) {
           ArtSecAmount9  = StringToFloat(form.SecAmount9.value);
  } else { ArtSecAmount9  = 0; }
	if (typeof(form.SecAmount10)!= 'undefined' && form.SecAmount10 != null) {
           ArtSecAmount10 = StringToFloat(form.SecAmount10.value);
  } else { ArtSecAmount10 = 0; }

 if (typeof(form.SecPrice1)!= 'undefined' && form.SecPrice1 != null) {
           ArtSecPrice1  = StringToFloat(form.SecPrice1.value);
  } else { ArtSecPrice1  = 0; }
	if (typeof(form.SecPrice2)!= 'undefined' && form.SecPrice2 != null) {
           ArtSecPrice2  = StringToFloat(form.SecPrice2.value);
  } else { ArtSecPrice2  = 0; }
	if (typeof(form.SecPrice3)!= 'undefined' && form.SecPrice3 != null) {
           ArtSecPrice3  = StringToFloat(form.SecPrice3.value);
  } else { ArtSecPrice3  = 0; }
	if (typeof(form.SecPrice4)!= 'undefined' && form.SecPrice4 != null) {
           ArtSecPrice4  = StringToFloat(form.SecPrice4.value);
  } else { ArtSecPrice4  = 0; }
	if (typeof(form.SecPrice5)!= 'undefined' && form.SecPrice5 != null) {
           ArtSecPrice5  = StringToFloat(form.SecPrice5.value);
  } else { ArtSecPrice5  = 0; }
	if (typeof(form.SecPrice6)!= 'undefined' && form.SecPrice6 != null) {
           ArtSecPrice6  = StringToFloat(form.SecPrice6.value);
  } else { ArtSecPrice6  = 0; }
	if (typeof(form.SecPrice7)!= 'undefined' && form.SecPrice7 != null) {
           ArtSecPrice7  = StringToFloat(form.SecPrice7.value);
  } else { ArtSecPrice7  = 0; }
	if (typeof(form.SecPrice8)!= 'undefined' && form.SecPrice8 != null) {
           ArtSecPrice8  = StringToFloat(form.SecPrice8.value);
  } else { ArtSecPrice8  = 0; }
	if (typeof(form.SecPrice9)!= 'undefined' && form.SecPrice9 != null) {
           ArtSecPrice9  = StringToFloat(form.SecPrice9.value);
  } else { ArtSecPrice9  = 0; }
	if (typeof(form.SecPrice10)!= 'undefined' && form.SecPrice10 != null) {
           ArtSecPrice10 = StringToFloat(form.SecPrice10.value);
  } else { ArtSecPrice10 = 0; }

	<!-- Check if required options are not empty -->
	

	if ((StopAddToCart == "N") && (typeof(form.Opt1c)!= 'undefined' && form.Opt1c != null)) {
	  if ((form.Opt1c.value == 'required') && (form.Opt1b.selectedIndex == 0)) {
      alert("El campo '" + form.Opt1a.value + "' no puede dejarse sin rellenar");
      StopAddToCart = "Y";
      return false;
	  }
	}
	

	if ((StopAddToCart == "N") && (typeof(form.Opt2c)!= 'undefined' && form.Opt2c != null)) {
	  if ((form.Opt2c.value == 'required') && (form.Opt2b.selectedIndex == 0)) {
      alert("El campo '" + form.Opt2a.value + "' no puede dejarse sin rellenar");
      StopAddToCart = "Y";
      return false;
	  }
	}
	

	if ((StopAddToCart == "N") && (typeof(form.Opt3c)!= 'undefined' && form.Opt3c != null)) {
	  if ((form.Opt3c.value == 'required') && (form.Opt3b.selectedIndex == 0)) {
      alert("El campo '" + form.Opt3a.value + "' no puede dejarse sin rellenar");
      StopAddToCart = "Y";
      return false;
	  }
	}
	

	if ((StopAddToCart == "N") && (typeof(form.Opt4c)!= 'undefined' && form.Opt4c != null)) {
	  if ((form.Opt4c.value == 'required') && (form.Opt4b.selectedIndex == 0)) {
      alert("El campo '" + form.Opt4a.value + "' no puede dejarse sin rellenar");
      StopAddToCart = "Y";
      return false;
	  }
	}
	

	if ((StopAddToCart == "N") && (typeof(form.Opt5c)!= 'undefined' && form.Opt5c != null)) {
	  if ((form.Opt5c.value == 'required') && (form.Opt5b.selectedIndex == 0)) {
      alert("El campo '" + form.Opt5a.value + "' no puede dejarse sin rellenar");
      StopAddToCart = "Y";
      return false;
	  }
	}
	

	<!-- Check if required texts are not empty -->
	

	if ((StopAddToCart == "N") && (typeof(form.Text1c)!= 'undefined' && form.Text1c != null)) {
	  if ((form.Text1c.value == 'required') && (form.Text1b.value == '')) {
      alert("El campo '" + form.Text1a.value + "' no puede dejarse sin rellenar");
      StopAddToCart = "Y";
      return false;
	  }
	}
	


	if (StopAddToCart == "N") {
	  

    if (form.Opt1a.value != '') {
		  if (form.Opt1b.selectedIndex != 0) {
 		    ArtOptionsText  += ' (' + form.Opt1a.value;
		    ArtOptionsText  += ': ' + form.Opt1b.options[form.Opt1b.selectedIndex].text+')';
		    ArtPrice        += StringToFloat(form.Opt1b.options[form.Opt1b.selectedIndex].value);
		  }
		}
	  

    if (form.Opt2a.value != '') {
		  if (form.Opt2b.selectedIndex != 0) {
 		    ArtOptionsText  += ' (' + form.Opt2a.value;
		    ArtOptionsText  += ': ' + form.Opt2b.options[form.Opt2b.selectedIndex].text+')';
		    ArtPrice        += StringToFloat(form.Opt2b.options[form.Opt2b.selectedIndex].value);
		  }
		}
	  

    if (form.Opt3a.value != '') {
		  if (form.Opt3b.selectedIndex != 0) {
 		    ArtOptionsText  += ' (' + form.Opt3a.value;
		    ArtOptionsText  += ': ' + form.Opt3b.options[form.Opt3b.selectedIndex].text+')';
		    ArtPrice        += StringToFloat(form.Opt3b.options[form.Opt3b.selectedIndex].value);
		  }
		}
	  

    if (form.Opt4a.value != '') {
		  if (form.Opt4b.selectedIndex != 0) {
 		    ArtOptionsText  += ' (' + form.Opt4a.value;
		    ArtOptionsText  += ': ' + form.Opt4b.options[form.Opt4b.selectedIndex].text+')';
		    ArtPrice        += StringToFloat(form.Opt4b.options[form.Opt4b.selectedIndex].value);
		  }
		}
	  

    if (form.Opt5a.value != '') {
		  if (form.Opt5b.selectedIndex != 0) {
 		    ArtOptionsText  += ' (' + form.Opt5a.value;
		    ArtOptionsText  += ': ' + form.Opt5b.options[form.Opt5b.selectedIndex].text+')';
		    ArtPrice        += StringToFloat(form.Opt5b.options[form.Opt5b.selectedIndex].value);
		  }
		}
	  

    

    if (form.Text1a.value != '') {
		  if (form.Text1b.value != '') {
        if (ArtTextsText != '') {ArtTextsText += '  -  '}
        ArtTextsText  += form.Text1a.value + ':  ' + form.Text1b.value;
      }
    }
	  

		ArtName += ArtOptionsText;

    for (var i=0; i<Items.length; i++) {
      if ((Items[i].ArticleCode == ArtArticleCode) && (Items[i].Name == ArtName) &&
			   (((Items[i].ExtraInfo.length == 0 ) && (ArtTextsText.length == 0)) || (Items[i].ExtraInfo == ArtTextsText))) {
		    if (ArtMinimumQuantity > (Items[i].Quantity + ArtQuantity)) {
          alert(txtIsArtMinimumQuantity+": '" + ArtMinimumQuantity + "'");
		      return false;
        
   			} else {
				  Items[i].Quantity += ArtQuantity;
				  Items[i].Price     = discountPrice(Items[i].OriginalPrice, Items[i].DiscountType, Items[i].Quantity,
												   Items[i].SecAmount1, Items[i].SecPrice1, Items[i].SecAmount2, Items[i].SecPrice2,
												   Items[i].SecAmount3, Items[i].SecPrice3, Items[i].SecAmount4, Items[i].SecPrice4,
												   Items[i].SecAmount5, Items[i].SecPrice5, Items[i].SecAmount6, Items[i].SecPrice6,
												   Items[i].SecAmount7, Items[i].SecPrice7, Items[i].SecAmount8, Items[i].SecPrice8,
												   Items[i].SecAmount9, Items[i].SecPrice9, Items[i].SecAmount10, Items[i].SecPrice10);
				  ArtInOrder         = 1;
        }
		  }
		}

		if (ArtInOrder == 0) {
      if (ArtMinimumQuantity > ArtQuantity) {
        alert(txtIsArtMinimumQuantity+": '" + ArtMinimumQuantity + "'");
        return false;
      
      } else {
        Items[Items.length] = new Item(ArtArticleCode,ArtName,
             discountPrice(ArtPrice, ArtDiscountType, ArtQuantity,
										   ArtSecAmount1, ArtSecPrice1, ArtSecAmount2, ArtSecPrice2, ArtSecAmount3, ArtSecPrice3,
										   ArtSecAmount4, ArtSecPrice4, ArtSecAmount5, ArtSecPrice5, ArtSecAmount6, ArtSecPrice6,
										   ArtSecAmount7, ArtSecPrice7, ArtSecAmount8, ArtSecPrice8, ArtSecAmount9, ArtSecPrice9,
										   ArtSecAmount10, ArtSecPrice10),
  										 ArtQuantity,ArtVAT,
		  								 ArtDiscountType,ArtPrice,ArtWeight,ArtShipPrice, ArtOptionsText,
				  						 ArtSecAmount1, ArtSecPrice1, ArtSecAmount2, ArtSecPrice2, ArtSecAmount3, ArtSecPrice3,
						  				 ArtSecAmount4, ArtSecPrice4, ArtSecAmount5, ArtSecPrice5, ArtSecAmount6, ArtSecPrice6,
								  		 ArtSecAmount7, ArtSecPrice7, ArtSecAmount8, ArtSecPrice8, ArtSecAmount9, ArtSecPrice9,
										   ArtSecAmount10, ArtSecPrice10,
										   ArtArticleSalesCode, ArtMinimumQuantity, ArtStockQuantity, ArtTextsText);
		  }
		}
	  return true;
	}
}

function printSalutation() {
  var Text                   = new String("");
  Text = oCustomer.Salutation +'&nbsp;' + oCustomer.FirstName +'&nbsp;' + oCustomer.LastName + ',';
  return Text;
}

function deleteFromCart(ArticleCode, OptionsText) {
  var pos                    = position(ArticleCode, OptionsText);
  Items[pos].Quantity = 0;
  window.frame_body.location = "ES_cart.html";
}

function emptyCart() {
  for (var i = 0; i < Items.length; i++) {
    Items[i].Quantity = 0;
  }
  window.frame_body.location = 'ES_cart_step4.html';
  return true;
}

function updateCart(form) {
  for (var posArtArticleCode = 0; posArtArticleCode < form.elements.length-1;  posArtArticleCode += 3) {
    var posArtOptionsText    = posArtArticleCode + 1;
    var posArtQuantity       = posArtArticleCode + 2;
    var ArtArticleCode       = form.elements[posArtArticleCode].value;
    var ArtOptionsText       = form.elements[posArtOptionsText].value;
    var ArtQuantity          = parseInt(form.elements[posArtQuantity].value,10);
    var pos                  = position(ArtArticleCode, ArtOptionsText);
    // Article allready in order
    if (pos >= 0 ) {
      if (Items[pos].MinimumQuantity > ArtQuantity) {
        alert(txtIsArtMinimumQuantity+": '" + Items[pos].MinimumQuantity + "'");
        return false;
      
      } else {
        Items[pos].Quantity = ArtQuantity;
        Items[pos].Price     = discountPrice(Items[pos].OriginalPrice, Items[pos].DiscountType, Items[pos].Quantity,
	                                       Items[pos].SecAmount1, Items[pos].SecPrice1, Items[pos].SecAmount2, Items[pos].SecPrice2,
										   Items[pos].SecAmount3, Items[pos].SecPrice3, Items[pos].SecAmount4, Items[pos].SecPrice4,
										   Items[pos].SecAmount5, Items[pos].SecPrice5, Items[pos].SecAmount6, Items[pos].SecPrice6,
										   Items[pos].SecAmount7, Items[pos].SecPrice7, Items[pos].SecAmount8, Items[pos].SecPrice8,
										   Items[pos].SecAmount9, Items[pos].SecPrice9, Items[pos].SecAmount10, Items[pos].SecPrice10);
	    }
    }
  }
  window.frame_body.location = "ES_cart.html";
}

function cancelOrder() {
  if (document.location.protocol == 'https:') {
    self.location = '';
  } else {
    for (var i = 0; i < Items.length; i++) {
      Items[i].Quantity = 0;
    }
    window.frame_body.location = 'ES_home.html';
  }
  alert("Su cesta de la compra se ha vaciado.");
}

function showCartItems() {
  var Text                   = new String("");
  var SubTotal               = 0;
  var Total                  = 0;
  var DiscountOnTotal        = 0;

  for (var i=0; i<Items.length; i++) {
    if (Items[i].Quantity > 0) {
      SubTotal = Items[i].Quantity * showPrice(Items[i].Price, Items[i].VAT);
      Total += SubTotal;
      Text  += '<TR>'+
               '  <td width="15">'+
               '    <a href="javascript:parent.deleteFromCart(\'' + Items[i].ArticleCode + '\',\''+Items[i].OptionsText+'\')"><img src="delete.gif" bOrder="0" alt="Borrar" align="middle"></a>'+
               '  </td>'+
               '  <td valign="middle" align="right">'+
               '    <input type="hidden" name="ArticleCode" value="' + Items[i].ArticleCode + '" >'+
               '    <input type="hidden" name="OptionsText" value="' + Items[i].OptionsText + '" >'+
               '    <input type="text" name="quantity" VALUE="' + Items[i].Quantity + '" style="width:50px;" maxlength="10" onChange="if (!parent.checkNum(this.value)) {this.focus(); this.select()}">&nbsp;'+
               '  </td>'+
               '  <td valign="middle" align="left" colspan="3">'+
               '    ' + Items[i].Name +
               '  </td>'+
               '  <td align="right" valign="middle">'+
               '    ' + convDec(showPrice(Items[i].Price, Items[i].VAT)) +
               '  </td>'+
               '  <td align="right" valign="middle">'+
               '    ' + convDec(SubTotal) +
               '  </TD>'+
               '</TR>';
      if (Items[i].ExtraInfo != '')	{
        Text+= '<tr><td colspan="2"></td><td valign="middle" align="left" colspan="3">'+
               Items[i].ExtraInfo+'</td><td colspan="2"></td></tr>';
      }
    }
  }

  DiscountOnTotal = discountOnTotalPrice(Total);
  if (DiscountOnTotal != 0) {
    Total -= DiscountOnTotal;
  }

  var SecCurrTotal           = Total / SecCurrRate;
  Text += '<tr valign="baseline">'+
          '  <td height="40"></td>'+
          '  <td valign="middle" align="center" height="40" style="padding-left:10px;">'+
          '    <form><INPUT TYPE="button" VALUE="'+ txtCalculate +'" class="button" onClick="parent.updateCart(this.form)"></form>'+
          '  </td>'+
          '  <td colspan="5" height="40"></td>'+
          '</tr>';
  if (DiscountOnTotal != 0) {
    Text += '<tr valign="baseline">'+
            '  <td colspan="6" align="right">'+txtDiscountOnTotal+'</td>'+
            '  <td align="right">- ' + convDec(DiscountOnTotal) + '</td>'+
            '</tr>';
	}
  Text += '<tr valign="baseline">'+
          '  <td colspan="6" align="right"><b>'+txtSubTotal+'</b></td>'+
          '  <td align="right"><b>' + convDec(Total) + '</b></td>'+
          
          '</tr>';
  return Text;
}

function showCartItemsShort() {
  var Text                   = new String("");
  var SubTotal               = 0;
  var Total                  = 0;
  var DiscountOnTotal        = 0;

  for (var i=0; i<Items.length; i++) {
    if (Items[i].Quantity > 0) {
      SubTotal = Items[i].Quantity * showPrice(Items[i].Price, Items[i].VAT);
      Total += SubTotal;
      Text  += '<tr>'+
               '  <td valign="middle" align="right">'+
               '    <input type="hidden" name="ArticleCode" value="' + Items[i].ArticleCode + '" >'+
               '    <input type="hidden" name="OptionsText" value="' + Items[i].OptionsText + '" >'+
               '    ' + Items[i].Quantity +
               '  </td>'+
               '  <td valign="middle" align="right">'+
               '    ' + Items[i].Name +
               '  </td>'+
               '</tr>';
    }
  }

  DiscountOnTotal = discountOnTotalPrice(Total);
  if (DiscountOnTotal != 0) {
    Total -= DiscountOnTotal;
  }
  var SecCurrTotal           = Total / SecCurrRate;
  Text += '<tr valign="baseline">'+
          '  <td>&nbsp;</td>'+
          '  <td align="right"><b>' + CurrName +' '+  convDec(Total) + '</b></td>'+
          
          '</tr>';
  return Text;
}


function cart_Step1(form) {
  var DiscountCoupon      = form.DiscountCoupon.value;

  oCustomer.PayMethodCost = form.PayMethod.options[form.PayMethod.selectedIndex].value;
  oCustomer.PayMethodText = form.PayMethod.options[form.PayMethod.selectedIndex].text;
  oCustomer.PayMethodVAT  = PayMethod_VAT[form.PayMethod.selectedIndex];
		oCustomer.PayMethodSupp = PayMethod_Supp[form.PayMethod.selectedIndex];

  oOrder.PayMethodType    = PayMethod_Type[form.PayMethod.selectedIndex];
  oOrder.PaySystemType    = PaySystem_Type[form.PayMethod.selectedIndex];

  oCustomer.ShipCost = form.Ship.options[form.Ship.selectedIndex].value;
  oCustomer.ShipText = form.Ship.options[form.Ship.selectedIndex].text;
  oCustomer.ShipVAT  = Ship_VAT[form.Ship.selectedIndex];

  oOrder.ShipType    = form.Ship.selectedIndex;
  oOrder.Coupon      = form.DiscountCoupon.value;

  window.frame_body.location = 'ES_cart_step2.html';
}

function cart_Step2(form) {
  for (var i=0; i<form.Salutation.length; i++) {
    if (form.Salutation[i].checked) {oCustomer.Salutation = form.Salutation[i].value;}
  }
  oCustomer.FirstName = ci(form.FirstName.value);
  oCustomer.LastName = ci(form.LastName.value);
  oCustomer.Company = ci(form.Company.value);
  oCustomer.CompanyCode = ci(form.CompanyCode.value);
  oCustomer.CompanyPassword = ci(form.CompanyPassword.value);
  oCustomer.Street = ci(form.Street.value);
  oCustomer.ZipCode = ci(form.ZipCode.value);
  oCustomer.Town = ci(form.Town.value);
  oCustomer.Country = ci(form.Country.value);
  oCustomer.Phone = ci(form.Phone.value);
  oCustomer.DelName = ci(form.DelName.value);
  oCustomer.DelStreet = ci(form.DelStreet.value);
  oCustomer.DelZipCode = ci(form.DelZipCode.value);
  oCustomer.DelTown = ci(form.DelTown.value);
  oCustomer.DelCountry = ci(form.DelCountry.value);
  oCustomer.DelPhone = ci(form.DelPhone.value);
  oCustomer.EMail = ci(form.EMail.value);
  oCustomer.Memo = ci(form.Memo.value);
  
  
  oCustomer.Newsletter = false;
  
  
  
  oCustomer.VATnr = '';
  
  if (oOrder.PayMethodType == 7) {
    oCustomer.PayMethodMemo = '' 
  }

  window.frame_body.location = 'ES_cart_step3.html';
}

function showItemsInCart() {
  var Text                   = new String("");
  var ShipCost               = StringToFloat(oCustomer.ShipCost);
  var PayMethodCost          = StringToFloat(oCustomer.PayMethodCost);
  var SubTotal               = 0;
  var showSubTotal           = 0;
  var Total                  = 0;
  var showTotal              = 0;
  var TotalWeight            = 0;
  var TotalShipPrice         = 0;
  var DiscountOnTotal        = 0;
  var CouponDiscount         = 0;

  oOrder.Items = '';
  oOrder.ItemsReadable = '';
  oOrder.ItemsReadableHTML = '';

  for (var i=0; i<aVATItems.length; i++) {aVATItems[i].VTotal = 0}
  for (var i=0; i<Items.length; i++) {
    if (Items[i].Quantity > 0) {
      SubTotal = Items[i].Quantity * Items[i].Price;
      showSubTotal = showPrice(SubTotal, Items[i].VAT);
      if (Items[i].VAT > 0) {
        for (var j=0; j<aVATItems.length; j++) {
          if (aVATItems[j].VID == Items[i].VAT) {
            aVATItems[j].VTotal += SubTotal - (SubTotal / (1+(aVATItems[j].VValue / 100)));
          }
        }
      }
      Total += SubTotal;
      showTotal += showSubTotal;
      TotalWeight += Items[i].Quantity * Items[i].Weight;
      TotalShipPrice += Items[i].Quantity * Items[i].ShipPrice;
      Text += '<tr>'+
              '  <td valign="middle" align="center">'+ Items[i].Quantity +'</td>'+
              '  <td valign="middle" colspan="3">'+Items[i].Name +'</td>'+
              '  <td valign="middle" align="right">'+convDec(showPrice(Items[i].Price, Items[i].VAT))+'</td>'+
              '  <td valign="middle" align="right">'+convDec(showPrice(SubTotal, Items[i].VAT))+'</td>'+
              '</tr>';
			if (Items[i].ExtraInfo != '') {
			  Text+='<tr><td></td><td valign="middle" colspan="3">'+Items[i].ExtraInfo +'</td><td colspan="2"></td></tr>';
			}
      if (oOrder.ItemsReadable != '') {oOrder.ItemsReadable += '\n';}
      if (oOrder.Items != '') {oOrder.Items += '~';}
      oOrder.ItemsReadable += Items[i].Quantity + ' x ' + Items[i].ArticleSalesCode + ' - ' + Items[i].Name + ': ' + convDec(showPrice(Items[i].Price, Items[i].VAT)) + ' :: ' + convDec(showPrice(SubTotal, Items[i].VAT));
			oOrder.ItemsReadableHTML += '<tr><td>'+Items[i].Quantity+'</td><td>'+Items[i].ArticleSalesCode+'</td><td>'+Items[i].Name+'</td><td align<LV_061/><LV_034/>right<LV_034/>>'+convDec(showPrice(Items[i].Price, Items[i].VAT))+'</td><td align<LV_061/><LV_034/>right<LV_034/>>'+convDec(showPrice(SubTotal, Items[i].VAT))+'</td></tr>\n';
      oOrder.Items += Items[i].Quantity + '|' + Items[i].ArticleCode + '|' + convDecExt(Items[i].Price) + '|' + Items[i].OptionsText + '|' + encodeString(Items[i].ExtraInfo) + '|' + Items[i].ArticleSalesCode;
			if (Items[i].ExtraInfo != '') {
			  oOrder.ItemsReadable += '\n'+Items[i].ExtraInfo;
				oOrder.ItemsReadableHTML += '<tr><td></td><td></td><td>'+Items[i].ExtraInfo+'</td><td></td><td></td></tr>\n';
			}
    }
  }
  oOrder.SubTotal = convDec(Total);

  DiscountOnTotal = discountOnTotalPrice(Total);
  oOrder.DiscountOnTotal = convDec(DiscountOnTotal);
  oCustomer.DiscountOnTotalVAT = 0;
  if (oCustomer.DiscountOnTotalVAT > 0) {
    if (DiscountOnTotal != 0) {
      for (var j=0; j<aVATItems.length; j++) {
        if (aVATItems[j].VID == oCustomer.DiscountOnTotalVAT) {
          aVATItems[j].VTotal -= DiscountOnTotal - (DiscountOnTotal / (1+(aVATItems[j].VValue / 100)));
          break;
        }
      }
    }
  }

  CouponDiscount = 0;
  
  CouponDiscount = StringToFloat(oOrder.CouponDiscount);
		
		
		CouponDiscount = ((Total / 100) * StringToFloat(oOrder.CouponDiscount));
		
		oOrder.CouponDiscountAmount = convDec(CouponDiscount);
  oCustomer.CouponDiscountVAT = 0;
  if (oCustomer.CouponDiscountVAT > 0) {
    if (CouponDiscount != 0) {
      for (var j=0; j<aVATItems.length; j++) {
        if (aVATItems[j].VID == oCustomer.CouponDiscountVAT) {
          aVATItems[j].VTotal -= CouponDiscount - (CouponDiscount / (1+(aVATItems[j].VValue / 100)));
          break;
        }
      }
    }
  }
  // Sending
  ShipCost += TotalShipPrice;
  for (var i = 1; i < ShipweightPrices[oOrder.ShipType].ranges.length; i++) {
    
    
    if ((Total > ShipweightPrices[oOrder.ShipType].ranges[i].min-1) && (Total < ShipweightPrices[oOrder.ShipType].ranges[i].max+1)) {
    
      ShipCost += ShipweightPrices[oOrder.ShipType].ranges[i].price;
      break;
    }
  }
  if (oCustomer.ShipVAT > 0) {
    if (ShipCost != 0) {
      for (var j=0; j<aVATItems.length; j++) {
        if (aVATItems[j].VID == oCustomer.ShipVAT) {
          aVATItems[j].VTotal += ShipCost - (ShipCost / (1+(aVATItems[j].VValue / 100)));
          break;
        }
      }
    }
  }
  oOrder.Delivery = convDec(ShipCost);

  // PayMethod
		if (oCustomer.PayMethodSupp > 0) {
		  PayMethodCost += (Total * (oCustomer.PayMethodSupp / 100));
		}
  oOrder.PayMethodCost = convDec(PayMethodCost);
		
  if (oCustomer.PayMethodVAT > 0) {
    if (PayMethodCost != 0) {
      for (var j=0; j<aVATItems.length; j++) {
        if (aVATItems[j].VID == oCustomer.PayMethodVAT) {
          aVATItems[j].VTotal += PayMethodCost - (PayMethodCost / (1+(aVATItems[j].VValue / 100)));
        }
      }
    }
  }

  oOrder.Total = convDec(Total+ShipCost+PayMethodCost-DiscountOnTotal-CouponDiscount);
  // Total amount in SecCurr
  var SecCurrTotal          = (Total+ShipCost+PayMethodCost-DiscountOnTotal-CouponDiscount) / SecCurrRate;
  Text += '<tr>'+
          '  <td colspan="6"></td>'+
          '</tr>'+
          '<tr>'+
          '  <td colspan="2"></td>'+
          '  <td valign="top" align="right" colspan="3">'+txtSubTotal+'</td>'+
          '  <td valign="top" align="right">'+convDec(showTotal)+'</td>'+
          '</tr>'+
          '<tr>'+
          '  <td colspan="6">&nbsp;</td>'+
          '</tr>'										;
  if (DiscountOnTotal != 0) {
    Text += '<tr>'+
            '  <td colspan="2"></td>'+
            '  <td valign="top" align="right" colspan="3">'+txtDiscountOnTotal+'</td>'+
            '  <td valign="top" align="right"> - '+convDec(showPrice(DiscountOnTotal, oCustomer.DiscountOnTotalVAT))+'</td>'+
            '</tr>';
	}
  if (CouponDiscount != 0) {
    Text += '<tr>'+
            '  <td colspan="2"></td>'+
            '  <td valign="top" align="right" colspan="3">'+txtCouponDiscount+' (' + oOrder.Coupon + ')</td>'+
            '  <td valign="top" align="right"> - '+convDec(showPrice(CouponDiscount, oCustomer.CouponDiscountVAT))+'</td>'+
            '</tr>';
  }
  Text += '<tr>'+
          '  <td colspan="2"></td>'+
          '  <td valign="top" align="right" colspan="3">'+txtDelivery+'</td>'+
          '  <td valign="top" align="right">'+convDec(showPrice(ShipCost, oCustomer.ShipVAT))+'</td>'+
          '</tr>'+
          '<tr>'+
          '  <td colspan="2"></td>'+
          '  <td valign="top" align="right" colspan="3">'+txtPayMethodCost+'</td>'+
          '  <td valign="top" align="right">'+convDec(showPrice(PayMethodCost, oCustomer.PayMethodVAT))+'</td>'+
          '</tr>'+
          '<tr>'+
          '  <td colspan="6"></td>'+
          '</tr>'+
          '<tr>'+
          '  <td colspan="2"></td>'+
          '  <td valign="top" align="right" colspan="3"><b>'+txtTotal+'</b></td>'+
          '  <td valign="top" align="right">'+
          '    <b>' + convDec(showTotal+showPrice(ShipCost, oCustomer.ShipVAT)+showPrice(PayMethodCost, oCustomer.PayMethodVAT)-showPrice(DiscountOnTotal, oCustomer.DiscountOnTotalVAT)-showPrice(CouponDiscount, oCustomer.CouponDiscountVAT)) + '</b>'+
          '  </td>'+
          '</tr>'+
          
          '<tr>'+
          '  <td colspan="6"></td>'+
          '</tr>';
  oOrder.SecCurr = convDec(SecCurrTotal);
  // VAT
  oOrder.VAT = '';
  oOrder.VATtotal = '';

  var VATTotal               = 0;
  for (var j=0; j<aVATItems.length; j++) {
    if (aVATItems[j].VID > 0) {
      if (aVATItems[j].VTotal != 0) {
        Text += '<tr>'+
                '  <td colspan="2"></td>'+
                '  <td valign="top" align="right" colspan="3">'+txtVAT+' (' + aVATItems[j].VValue + '%)</td>'+
                '  <td valign="top" align="right">'+convDec(aVATItems[j].VTotal) +'</td>'+
                '</tr>';
        VATTotal += aVATItems[j].VTotal;
        if (oOrder.VAT != '') {oOrder.VAT += '\n';}
        oOrder.VAT += aVATItems[j].VName + ' ' + convDec(aVATItems[j].VTotal);
      }
    }
  }
  // Total VAT
  Text += '<tr>'+
          '  <td colspan="2"></td>'+
          '  <td valign="top" align="right" colspan="3"><b>' + txtVATTotal + '</b></td>'+
          '  <td valign="top" align="right"><b>' + convDec(VATTotal) + '</b></td>'+
          '</tr>';
  if (oOrder.VAT != '') {oOrder.VAT += '\n'+txtVATTotal+': ';}
  oOrder.VAT += convDec(VATTotal);
  oOrder.VATtotal = convDec(VATTotal);
  

  return Text;
}

function showCartStep1Form() {
  var Text                   = new String("");

  // Way of delivery
  Text += '<tr>'+
          '  <td align="left"><b>'+txtWayOfDelivery+'</b></td>'+
          '</tr>'+
          '<tr>'+
          '  <td align="center">'+
          '    <select name="Ship">';
  
  Ship_VAT[0] = 1;
  Text += '      <option value="0">Gastos de env&iacute;o seg&uacute;n peso, volumen y destino</option>';
  
  Text += '    </select>'+
          '  </td>'+
          '</tr>'+
          '<tr>'+
          '  <td>&nbsp;</td>'+
          '</tr>'+
  // Way of payment
          '<tr>'+
          '  <td align="left"><b>'+txtWayOfPayment+'</b></td>'+
          '</tr>'+
          '<tr>'+
          '  <td align="center">'+
          '    <select name="PayMethod">';
  
  PayMethod_VAT[0] = 1;
		PayMethod_Supp[0] = 0;
  PayMethod_Type[0] = 7;
  PaySystem_Type[0] = 0;
  Text += '      <option value="0">Forma de pago a determinar</option>';
  
  Text += '    </select>'+
          '  </td>'+
          '</tr>'+
          '<tr>'+
          '  <td>&nbsp;</td>'+
          '</tr>';
  // Discount coupon
  
  
  Text += '<tr> <td align="center"><input name="DiscountCoupon" type="hidden" value=""></td></tr>';
  

  return Text;
}

function showCartStep2Form() {
  var Text                   = new String("");

  
  
  // Empty Row
  Text += '<tr valign="baseline">'+
          '  <td>&nbsp;</td>'+
          '  <td><input type="hidden" name="CompanyCode" value=""><input type="hidden" name="CompanyPassword" value=""></td>'+
          '</tr>';
  

  Text += '  <tr valign="top">'+
          '    <td>'+
          '      <table border="0">'+
  // Common
          '       <tr valign="baseline">'+
          '         <td colspan="3"><b>'+txtInvoiceAddress+'</b></td>'+
          '       </tr>'+
  // Salutation
          '       <tr valign="baseline">'+
          '         <td></td>'+
          '         <td></td>'+
          '         <td><input type="radio" name="Salutation" value="'+ txtMr +'" checked="true"> '+ txtMr +
          '             <input type="radio" name="Salutation" value="'+ txtMrs +'"> '+ txtMrs +
          '         </td>'+
          '       </tr>'+
  // FirstName
          '       <tr valign="baseline">'+
          
          '         <td>*</td>'+
          
          
          '         <td>'+ txtFirstName +'</td>'+
          '         <td><input type="text" name="FirstName" style="width:180px;" value="'+oCustomer.FirstName+'"></td>'+
          '       </tr>'+
  // LastName
          '       <tr>'+
          
          '         <td>*</td>'+
          
          
          '         <td>'+ txtLastName +'</td>'+
          '         <td><input type="text" name="LastName" style="width:180px;" value="'+oCustomer.LastName+'"></td>'+
          '       </tr>'+
  // Company
          '       <tr>'+
          
          
          '         <td></td>'+
          
          '         <td>'+ txtCompany +'</td>'+
          '         <td><input type="text" name="Company" style="width:180px;" value="'+oCustomer.Company+'"></td>'+
          '       </tr>';
  // VATnr
  
  // Street
  Text += '       <tr>'+
          
          '         <td>*</td>'+
          
          
          '         <td>'+ txtStreetAndNr +'</td>'+
          '         <td><input type="text" name="Street" style="width:180px;" value="'+oCustomer.Street+'"></td>'+
          '       </tr>'+
  // ZipCode
          '       <tr>'+
          
          '         <td>*</td>'+
          
          
          '         <td>'+ txtZipcode +'</td>'+
          '         <td><input type="text" name="ZipCode" style="width:180px;" maxlength="10" value="'+oCustomer.ZipCode+'"></td>'+
          '       </tr>'+
  // Town
          '       <tr>'+
          
          '         <td>*</td>'+
          
          
          '         <td>'+ txtTown +'</td>'+
          '         <td><input type="text" name="Town" style="width:180px;" value="'+oCustomer.Town+'"></td>'+
          '       </tr>'+
  // Country
          '       <tr>'+
          
          '         <td>*</td>'+
          
          
          '         <td>'+ txtCountry +'</td>'+
          '         <td><input type="text" name="Country" style="width:180px;" value="'+oCustomer.Country+'"></td>'+
          '       </tr>'+
  // Phone
          '       <tr>'+
          
          '         <td>*</td>'+
          
          
          '         <td>'+ txtPhone +'</td>'+
          '         <td><input type="text" name="Phone" style="width:180px;" value="'+oCustomer.Phone+'"></td>'+
          '       </tr>'+
  // E-Mail
          '       <tr>'+
          
          '         <td>*</td>'+
          
          
          '         <td>'+ txtEMail +'</td>'+
          '         <td><input type="text" name="EMail" style="width:180px;" value="'+oCustomer.EMail+'"></td>'+
          '       </tr>'+
      		  '      </table>'+
      		  '    </td>'+
      		  '    <td>'+
      		  '      <table border="0">'+
  // Delivery
          '       <tr>'+
          '         <td colspan="3"><b>'+ txtDeliveryAddress +'</b></td>'+
          '       </tr>'+
  // Delivery equals invoice
          '       <tr>'+
          '         <td></td>'+
          '         <td colspan="2"><input type="checkbox" name="copy" OnClick="javascript:DelToInvAdd();" value="checkbox">'+txtDeliveryAddressEqual+'</td>'+
          '       </tr>'+
  // Delivery Name
          '       <tr>'+
          '         <td></td>'+
          '         <td>'+txtName+'</td>'+
          '         <td><input type="text" name="DelName" style="width:180px;" value="'+oCustomer.DelName+'"></td>'+
          '       </tr>'+
  // Delivery Street
          '       <tr>'+
          '         <td></td>'+
          '         <td>'+txtStreetAndNr+'</td>'+
          '         <td><input type="text" name="DelStreet" style="width:180px;" value="'+oCustomer.DelStreet+'"></td>'+
          '       </tr>'+
  // Delivery ZipCode
          '       <tr>'+
          '         <td></td>'+
          '         <td>'+txtZipcode+'</td>'+
          '         <td><input type="text" name="DelZipCode" style="width:180px;" maxlength="10" value="'+oCustomer.DelZipCode+'"></td>'+
          '       </tr>'+
  // Delivery Town
          '       <tr>'+
          '         <td></td>'+
          '         <td>'+txtTown+'</td>'+
          '         <td><input type="text" name="DelTown" style="width:180px;" value="'+oCustomer.DelTown+'"></td>'+
          '       </tr>'+
  // Delivery Country
          '       <tr>'+
          '         <td></td>'+
          '         <td>'+txtCountry+'</td>'+
          '         <td><input type="text" name="DelCountry" style="width:180px;" value="'+oCustomer.DelCountry+'"></td>'+
          '       </tr>'+
  // Delivery Phone
          '       <tr>'+
          '         <td></td>'+
          '         <td>'+txtPhone+'</td>'+
          '         <td><input type="text" name="DelPhone" style="width:180px;" value="'+oCustomer.DelPhone+'"></td>'+
          '       </tr>'+
          '      </table>'+
          '    </td>'+
          '  </tr>'+
          '  <tr>'+
          '    <td colspan="2">'+
          '      <table border="0">';
  
  Text += '      </table>'+
          '    </td>'+
          '  </tr>';

  // Empty Row
  Text += '<tr valign="baseline">'+
          '  <td colspan="2">&nbsp;</td>'+
          '</tr>'+
  // Remarks
          '<tr>'+
          '  <td colspan="2"><b>'+ txtRemarks +'</b></td>'+
          '</tr>'+
  // Memo
          '<tr>'+
          '  <td colspan="2"><textarea name="Memo" style="width:100%;height:100px;" wrap="VIRTUAL">' + oCustomer.Memo + '</textarea></td>'+
          '</tr>';
  // Newsletter
  
  Text += '<tr>'+
          '  <td colspan="2"></td>'+
          '</tr>'+
  
          '<tr>'+
          '  <td colspan="2">'+
          '    <IFRAME SRC="ES_supcond.html" WIDTH="100%" HEIGHT=100>'+
          '      <a href="ESCondiciones_de_Venta__xp_1.html">'+txtConditions+'</a>'+
          '    </IFRAME>'+
          '  </td>'+
          '</tr>'+
  
          '<tr>'+
          '  <td colspan="2"><input type="checkbox" name="Conditions"> * '+txtAcceptConditions+'</td>'+
          '</tr>';
  return Text;
}

function showCustomerData() {
  var Text                      = new String("");
  Text += '<table border="0" cellspacing="1" cellpadding="1">'+
  // Customer data
          '  <tr valign="top" align="left">'+
          '    <td valign="top"><b>'+ txtData +'<b></td>'+
          '    <td><p>'+
          oCustomer.Salutation + '&nbsp;'+oCustomer.FirstName + '&nbsp;' + oCustomer.LastName + '<br>';
  if (oCustomer.Company != '') {Text += oCustomer.Company + '<br>';}
  if (oCustomer.CompanyCode != '') {Text += '('+ txtCompanyNr +' ' + oCustomer.CompanyCode + ')<br>';}
  Text += oCustomer.Street + '<br>'+
          oCustomer.ZipCode + '&nbsp;' + oCustomer.Town+'<br><br>'+
          oCustomer.Country +'</p>'+
          '    </td>'+
          '  </tr>';
  // Phone
  if (oCustomer.Phone != '') {
    Text += '<tr><td align="left"><b>'+ txtPhone +'<b></td><td>' + oCustomer.Phone + '</td></tr>';
  }
  // E-Mail
  if (oCustomer.EMail != '') {
    Text += '<tr><td align="left"><b>'+ txtEMail +'<b></td><td>' + oCustomer.EMail + '</td></tr>';
  }
  Text += '<tr><td align="left">&nbsp;</td><td>&nbsp;</td></tr>'+
  // Sending
          '  <tr>'+
          '    <td align="left"><b>'+ txtWayOfDelivery +'<b></td>'+
          '    <td>' + oCustomer.ShipText + '</td>'+
          '  </tr>'+
          '  <tr>'+
          '    <td align="left">&nbsp;</td>'+
          '    <td>&nbsp;</td>'+
          '  </tr>';
  // Paymethod
  Text += '  <tr>'+
          '    <td align="left"><b>'+ txtWayOfPayment +'<b></td>'+
          '    <td>'+ oCustomer.PayMethodText +'</td>'+
          '</tr>';
  oOrder.PayMethodText = oCustomer.PayMethodText;
  oOrder.PayMethodVAT = oCustomer.PayMethodVAT;
  oOrder.PayMethodshort = oCustomer.PayMethodText;

  // Memo
  if (oCustomer.Memo != '') {
    Text += '<tr><td align="left" valign="top"><b>'+ txtRemarks +'<b></td><td>'+oCustomer.Memo+'</td></tr>';
  }
  Text += '</table>';
  return Text;
}

function printOrderButton() {
  var Text                   = new String("");
  Text += '<form name="form2" method="post">'+
          '  <input type="button" class="button" value="'+txtBack+'" onClick="history.back()">&nbsp;'+
          '  <input type="button" class="button" value="'+txtOrder+'" onClick="self.location=\'ES_cart_step1.html\';">'+
          '</form>';
  return Text;
}

function printButtonCartStep1Form() {
  var Text                   = new String("");
  Text += '<input name="button" type="button" class="button" value="Volver" onClick="history.back()">'+
          '&nbsp; <input name="button" type="button" class="button" value="Cancelar pedido" onClick="parent.cancelOrder()">'+
		        '&nbsp; <input name="submit" type="submit" class="button" value="Continuar pedido  &gt;&gt;">';
  return Text;
}

function printButtonCartStep2Form() {
  var Text                   = new String("");
  Text += '<input name="button" type="button" class="button" value="Volver" onClick="history.back()">'+
          '&nbsp;<input name="button" type="button" class="button" value="Cancelar pedido" onClick="parent.cancelOrder()">'+
          '&nbsp;<input name="submit" type="submit" class="button" value="Continuar pedido  &gt;&gt;">';
  return Text;
}

function updateStock() {
  var StockData            = new String("");

  processPSPPayment = 2;

  

  if (StockData != "") {
//    self.frame_body.location.replace("stock4.php?stockdata="+StockData+"&redirect="+SiteURL()+"/ES_cart_step4.html");
    self.frame_body.location.replace("stock4.php?stockdata="+StockData+"&redirect=ES_cart_step4.html");
  }
  else {
    self.frame_body.location.replace("ES_cart_step4.html");
  }
}

function updateCoupon() {
  processPSPPayment = 3;

  if (StringToFloat(oOrder.CouponDiscount) != 0) {
//    self.frame_body.location.replace("couponupdate4.php?coupon="+oOrder.Coupon+"&redirect="+SiteURL()+"/ES_cart_step4.html");
    self.frame_body.location.replace("couponupdate4.php?coupon="+oOrder.Coupon+"&redirect=ES_cart_step4.html");
  }
  else {
    self.frame_body.location.replace("ES_cart_step4.html");
  }
}

function PSPPayment() {
  var Text = new String("");

  if (typeof(processPSPPayment)!= 'undefined' && processPSPPayment != null) {
    if (processPSPPayment == 1) {
      updateStock();
    } else
    if (processPSPPayment == 2) {
      updateCoupon();
    } else
    if (processPSPPayment == 3) {
      if (oOrder.PaySystemType != 0) {
        OrderID = OldOrderID;

        

        document.close();
       	document.open();
     	  document.write("<HTML><TITLE>PSP</TITLE>");
       	document.write("<BODY onload=\"document.form1.submit()\">");
     	  document.write(Text);
     	  document.write("</BODY></HTML>");
       	document.close();
      }

      processPSPPayment = 0;
      OrderID = new Date();
      Items   = new Array();
    }
  }

  OrderID = new Date();
  Items   = new Array();

  return true;
}

function printOrder() {
  var    Text                   = new String("");
  var    Now                    = new Date();
  var    DateStr                = Now.getDate() + '.';
  var    year                   = Now.getYear();
  if ((Now.getMonth()+1) < 10) {
    DateStr += '0' + (Now.getMonth()+1) + '.' + year
  } else {
    DateStr += (Now.getMonth()+1) + '.' + year;
  }
  Text  = printEmailBody(DateStr);
  winId = window.open('','newwin');
  with (winId.document) {
    write('<body onLoad="window.focus();window.print()"><pre>'+Text+'</pre><\/body>');
    close();
  }
}

function printEMail() {
  var    Text                   = new String("");
  var    EmailBody              = new String("");
  var    att                    = new String("");
  var    mailfrom               = new String("");
  var    Now                    = new Date();
  var    DateStr                = Now.getDate() + '.';
  var    year                   = Now.getYear();

  processPSPPayment = 1;
  if ((Now.getMonth()+1) < 10) {
    DateStr += '0' + (Now.getMonth()+1) + '.' + year
  } else {
    DateStr += (Now.getMonth()+1) + '.' + year;
  }
  EmailBody  = printEmailBody(DateStr);
  EmailHTMLBody  = printEmailHTMLBody(DateStr);
  Attachment = printEmailAttachment(DateStr);
  if (oCustomer.EMail != "") {
    mailfrom = oCustomer.EMail;
  } else {
    mailfrom = "Unknown";
  }

  Text += '<form method="post" action="'+CGIScriptAddress+'" ';
  Text += '>'+
          '<input type="hidden" name="From" value="' + mailfrom + '">'+
          '<input type="hidden" name="To" value="'+txtSendOrderToEMail+'">'+
          '<input type="hidden" name="Subject" value="'+txtWebShopName+'">'+
          '<input type="hidden" name="SubjectMailClient" value="'+txtConfirmation+' - '+txtWebShopName+'">'+
          '<input type="hidden" name="Message" value="' + EmailBody + '">'+
          '<input type="hidden" name="Messagehtml" value="' + EmailHTMLBody + '">'+
          '<input type="hidden" name="Attachment" value="' +  Attachment + '">'+
          '<input type="hidden" name="OrderID" value="' + OrderID.valueOf() + '">'+
          '<input type="hidden" name="redirect" value="'+SiteURL()+'/ES_cart_step4.html">'+
          '<p align="center">'+
          '  <input type="button" value="'+ txtBack +'" class="button" onClick="history.back()">&nbsp;'+
          '  <input type="button" value="'+ txtCancelOrder +'" class="button" onClick="parent.cancelOrder()">&nbsp;'+
          '  <input type="submit" value="'+ txtSendOrder +'" class="button">'+
          '</p>'+
          '</form>';

  OldOrderID = OrderID.valueOf();
  OldOrderTotal = StringToFloat(oOrder.Total);

  return Text;
}
