//=====================================================================||
//               NOP Design JavaScript Shopping Cart                   ||
//                                                                     ||
// For more information on SmartSystems, or how NOPDesign can help you ||
// Please visit us on the WWW at http://www.nopdesign.com              ||
//                                                                     ||
// Javascript portions of this shopping cart software are available as ||
// freeware from NOP Design.  You must keep this comment unchanged in  ||
// your code.  For more information contact FreeCart@NopDesign.com.    ||
//                                                                     ||
// JavaScript Shop Module, V.4.4.0                                     ||
//=====================================================================||

//---------------------------------------------------------------------||
//                       Global Options                                ||
//                      ----------------                               ||
// Shopping Cart Options, you can modify these options to change the   ||
// the way the cart functions.                                         ||
//                                                                     ||
// Language Packs                                                      ||
// ==============                                                      ||
// You may include any language pack before nopcart.js in your HTML    ||
// pages to change the language.  Simply include a language pack with  ||
// a script src BEFORE the <SCRIPT SRC="nopcart.js">... line.          ||
//  For example: <SCRIPT SRC="language-en.js"></SCRIPT>                ||
//                                                                     ||
// Options For Everyone:                                               ||
// =====================                                               ||
// * MonetarySymbol: string, the symbol which represents dollars/euro, ||
//   in your locale.                                                   ||
// * DisplayNotice: true/false, controls whether the user is provided  ||
//   with a popup letting them know their product is added to the cart ||
// * DisplayShippingColumn: true/false, controls whether the managecart||
//   and checkout pages display shipping cost column.                  ||
// * DisplayShippingRow: true/false, controls whether the managecart   ||
//   and checkout pages display shipping cost total row.               ||
// * DisplayTaxRow: true/false, controls whether the managecart        ||
//   and checkout pages display tax cost total row.                    ||
// * TaxRate: number, your area's current tax rate, ie: if your tax    ||
//   rate was 7.5%, you would set TaxRate = 0.075                      ||
// * TaxByRegion: true/false, when set to true, the user is prompted   ||
//   with TaxablePrompt to determine if they should be charged tax.    ||
//   In the USA, this is useful to charge tax to those people who live ||
//   in a particular state, but no one else.                           ||
// * TaxPrompt: string, popup message if user has not selected either  ||
//   taxable or nontaxable when TaxByRegion is set to true.            ||
// * TaxablePrompt: string, the message the user is prompted with to   ||
//   select if they are taxable.  If TaxByRegion is set to false, this ||
//   has no effect. Example: 'Arizona Residents'                       ||
// * NonTaxablePrompt: string, same as above, but the choice for non-  ||
//   taxable people.  Example: 'Other States'                          ||
// * MinimumOrder: number, the minium dollar amount that must be       ||
//   purchased before a user is allowed to checkout.  Set to 0.00      ||
//   to disable.                                                       ||
// * MinimumOrderPrompt: string, Message to prompt users with when     ||
//   they have not met the minimum order amount.                       ||
//                                                                     ||
// Payment Processor Options:                                          ||
// ==========================                                          ||
// * PaymentProcessor: string, the two digit payment processor code    ||
//   for support payment processor gateways.  Setting this field to    ||
//   anything other than an empty string will override your OutputItem ||
//   settings -- so please be careful when receiving any form data.    ||
//   Support payment processor gateways are:                           ||
//    * Authorize.net (an)                                             ||
//    * Worldpay      (wp)                                             ||
//    * LinkPoint     (lp)
//                                                                     ||
// Options For Programmers:                                            ||
// ========================                                            ||
// * OutputItem<..>: string, the name of the pair value passed at      ||
//   checkouttime.  Change these only if you are connecting to a CGI   ||
//   script and need other field names, or are using a secure service  ||
//   that requires specific field names.                               ||
// * AppendItemNumToOutput: true/false, if set to true, the number of  ||
//   each ordered item will be appended to the output string.  For     ||
//   example if OutputItemId is 'ID_' and this is set to true, the     ||
//   output field name will be 'ID_1', 'ID_2' ... for each item.       ||
// * HiddenFieldsToCheckout: true/false, if set to true, hidden fields ||
//   for the cart items will be passed TO the checkout page, from the  ||
//   ManageCart page.  This is set to true for CGI/PHP/Script based    ||
//   checkout pages, but should be left false if you are using an      ||
//   HTML/Javascript Checkout Page. Hidden fields will ALWAYS be       ||
//   passed FROM the checkout page to the Checkout CGI/PHP/ASP/Script  ||
//---------------------------------------------------------------------||

//Options for Everyone:
_Rabat                = 0;        // % Discount
_Gavekort             = 0.00
MonetarySymbol        = ' DKK';
DisplayNotice         = true;
DisplayShippingColumn = true;
DisplayShippingRow    = true;
DisplayTaxRow         = true;
TaxRate               = 0.25;
TaxByRegion           = false;
TaxPrompt             = '';
TaxablePrompt         = '';
NonTaxablePrompt      = '';
MinimumOrder          = 0.01;
MinimumOrderPrompt    = 'Din indkøbskurv er tom.';
FreeShipping          = '600.00'
//Payment Processor Options:
PaymentProcessor      = '';

//Options for Programmers:
OutputItemId          = 'ID_';
OutputItemQuantity    = 'QUANTITY_';
OutputItemPrice       = 'PRICE_';
OutputItemName        = 'NAME_';
OutputItemShipping    = 'SHIPPING_';
OutputItemAddtlInfo   = 'ADDTLINFO_';
OutputOrderSubtotal   = 'SUBTOTAL';
OutputOrderShipping   = 'FORSENDELSE';
OutputOrderTax        = 'MOMS';
OutputOrderTotal      = 'TOTAL';
OutputOrderVeight     = 'VÆGT'
OutputOrderGave       = 'Gavekort'
AppendItemNumToOutput = true;
HiddenFieldsToCheckout = false;


//=====================================================================||
//---------------------------------------------------------------------||
//    YOU DO NOT NEED TO MAKE ANY MODIFICATIONS BELOW THIS LINE        ||
//---------------------------------------------------------------------||
//=====================================================================||


//---------------------------------------------------------------------||
//                      Language Strings                               ||
//                     ------------------                              ||
// These strings will not be used unless you have not included a       ||
// language pack already.  You should NOT modify these, but instead    ||
// modify the strings in language-**.js where ** is the language pack  ||
// you are using.                                                      ||
//---------------------------------------------------------------------||

strSorry  = "Din indkøbsvogn er fuld. Vælg Indkøbskurv og færdiggør handelen. Du kan handle igen bagefter. Jeg sender det samlet";
strAdded  = "";
strRemove = "Klik 'Ok' for at slette varen fra indkøbskurven.";
strILabel = "Produkt";
strDLabel = "Beskrivelse";
strQLabel = "Antal";
strPLabel = "Pris";
strSLabel = "Rabat";
strRLabel = "Slet fra Indkøbskurv";
strRButton= "Slet";
strSUBX   = "Subtotal (Inkl. Moms)";
strSUB    = "Subtotal (Ekskl. Moms)";
strSHIP   = "Forsendelsesomkostning";
strTAX    = "Moms";
strTOT    = "Total DKK (Inkl. Moms)";
strErrQty = "Ugyldigt Antal.";
strNewQty = 'Angiv venligst antal:';




//---------------------------------------------------------------------||
// FUNCTION:    CKquantity                                             ||
// PARAMETERS:  Quantity to                                            ||
// RETURNS:     Quantity as a number, and possible alert               ||
// PURPOSE:     Make sure quantity is represented as a number          ||
//---------------------------------------------------------------------||
function CKquantity(checkString) {
   var strNewQuantity = "";
   for ( i = 0; i < checkString.length; i++ ) {
      ch = checkString.substring(i, i+1);
      if ( (ch >= "0" && ch <= "9") || (ch == '.') )
         strNewQuantity += ch;
   }

   if ( strNewQuantity.length < 1 )
      strNewQuantity = "1";

   return(strNewQuantity);
}

//---------------------------------------------------------------------||
// FUNCTION:    Cquantity                                              ||
// PARAMETERS:  Quantity to                                            ||
// RETURNS:     Quantity as a number, and possible alert               ||
// PURPOSE:     Make sure quantity is represented as a number          ||
//---------------------------------------------------------------------||
function Cquantity(aForm) {

   aForm.QUANTITY.style.background= 'white';
   checkString = aForm.QUANTITY.value
   InStock     = aForm.InStock.value
   InStock     = InStock*1     
   var strNewQuantity = "";

   for ( i = 0; i < checkString.length; i++ ) {
      ch = checkString.substring(i, i+1);
      if ( (ch >= "0" && ch <= "9") || (ch == '.') )
         strNewQuantity += ch;
   }

   if ( strNewQuantity.length < 1 )
      strNewQuantity = "1";
   strNewQuantity = strNewQuantity*1 
//   if (strNewQuantity > InStock && InStock > 0) {
//      strNewQuantity = InStock
//      aForm.QUANTITY.style.background= 'pink';
//   }
   return(strNewQuantity);
}



//---------------------------------------------------------------------||
// FUNCTION:    AddToCart                                              ||
// PARAMETERS:  Form Object                                            ||
// RETURNS:     Cookie to user's browser, with prompt                  ||
// PURPOSE:     Adds a product to the user's shopping cart             ||
//---------------------------------------------------------------------||
function AddToCart(thisForm) {

   if( self == top) {
   alert("Det er ikke muligt at foretage køb fra denne side. Gå ind i butikken.") 
   }
   var bAlreadyInCart = false;
   var notice = "";
   iNumberOrdered = top.NumCart();

   if ( iNumberOrdered == null )
      iNumberOrdered = 0;

   if ( thisForm.ID_NUM == null )
      strID_NUM    = "";
   else
      strID_NUM    = thisForm.ID_NUM.value;

   if ( thisForm.QUANTITY == null )
      strQUANTITY  = "1";
   else
      strQUANTITY  = thisForm.QUANTITY.value;

   if ( thisForm.PRICE == null )
      strPRICE     = "0.00";
   else
      strPRICE     = thisForm.PRICE.value;

   if ( thisForm.NAME == null )
      strNAME      = "";
   else
      strNAME      = thisForm.NAME.value;

   if ( thisForm.SHIPPING == null )
      strSHIPPING  = "0.00";
   else
      strSHIPPING  = thisForm.SHIPPING.value;

   if ( thisForm.ADDITIONALINFO == null ) {
      strADDTLINFO = "";
   } else {
      strADDTLINFO = thisForm.ADDITIONALINFO[thisForm.ADDITIONALINFO.selectedIndex].value;
   }
   if ( thisForm.ADDITIONALINFO1 != null ) {
      strADDTLINFO += "; " + thisForm.ADDITIONALINFO1[thisForm.ADDITIONALINFO1.selectedIndex].value;
   }
   if ( thisForm.ADDITIONALINFO2 != null ) {
      strADDTLINFO += "; " + thisForm.ADDITIONALINFO2[thisForm.ADDITIONALINFO2.selectedIndex].value;
   }
   if ( thisForm.ADDITIONALINFO3 != null ) {
      strADDTLINFO += "; " + thisForm.ADDITIONALINFO3[thisForm.ADDITIONALINFO3.selectedIndex].value;
   }
   if ( thisForm.ADDITIONALINFO4 != null ) {
      strADDTLINFO += "; Længde: " + thisForm.ADDITIONALINFO4.value+" cm.";
   }

   strINSTOCK = thisForm.InStock.value  // OL

   //Is this product already in the cart?  If so, increment quantity instead of adding another.
   for ( i = 0; i < iNumberOrdered; i++ ) {

      database = top.GetCart(i);

      Token0 = database.indexOf("|", 0);
      Token1 = database.indexOf("|", Token0+1);
      Token2 = database.indexOf("|", Token1+1);
      Token3 = database.indexOf("|", Token2+1);
      Token4 = database.indexOf("|", Token3+1);
      Token5 = database.indexOf("|", Token4+1); // OL

      fields = new Array;
      fields[0] = database.substring( 0, Token0 );
      fields[1] = database.substring( Token0+1, Token1 );
      fields[2] = database.substring( Token1+1, Token2 );
      fields[3] = database.substring( Token2+1, Token3 );
      fields[4] = database.substring( Token3+1, Token4 );
      fields[5] = database.substring( Token4+1, Token5 ); // OL
      fields[6] = database.substring( Token5+1, database.length ); // OL


      NewQuantity = (parseInt(strQUANTITY)+parseInt(fields[1]))

      Added = parseInt(strQUANTITY)
   //   if (NewQuantity > strINSTOCK && strINSTOCK > 0) {
   //       NewQuantity = strINSTOCK
   //       Added = NewQuantity - parseInt(fields[1])
   //   }
      if ( fields[0] == strID_NUM &&
           fields[2] == strPRICE  &&
           fields[3] == strNAME   &&
           fields[6] == strADDTLINFO
         ) {
         bAlreadyInCart = true;
         dbUpdatedOrder = strID_NUM    + "|" +
                          NewQuantity  + "|" +
                          strPRICE     + "|" +
                          strNAME      + "|" +
                          strSHIPPING  + "|" +
                          strINSTOCK   + "|" +
                          strADDTLINFO;

         top.SetCart(i,dbUpdatedOrder);
         notice = Added + " " + strNAME + strAdded;
         break;
      }
   }


   if ( !bAlreadyInCart ) {

         dbUpdatedOrder = strID_NUM    + "|" + 
                          strQUANTITY  + "|" +
                          strPRICE     + "|" +
                          strNAME      + "|" +
                          strSHIPPING  + "|" +
                          strINSTOCK   + "|" +
                          strADDTLINFO;

         top.SetCart(iNumberOrdered,dbUpdatedOrder);
         notice = strQUANTITY + " " + strNAME + strAdded;

   }

   if ( DisplayNotice )

document.Message.TheMessage.value =  notice;
document.Message.TheMore.value    =  strADDTLINFO;
ShowHelp('AddedCart');

setTimeout("HideHelp('AddedCart')",3000);
parent.footer.location.href="./footer.html"; 
NumberThisItem(thisForm)
return false

}


//---------------------------------------------------------------------||
// FUNCTION:    MoneyFormat                                            ||
// PARAMETERS:  Number to be formatted                                 ||
// RETURNS:     Formatted Number                                       ||
// PURPOSE:     Reformats Dollar Amount to #,## format                 ||
//---------------------------------------------------------------------||
function moneyFormat(input) {
   var dollars = Math.floor(input);
   var tmp = new String(input);

   var dollars = Math.round(input*100)/100; 
   var dollars = dollars.toFixed(2); 

   N_dollars = "________" + dollars
   NPrice = N_dollars.substring(N_dollars.length - 8,N_dollars.length)
   for (y=1;y<8;y++) {
     NPrice = NPrice.replace("_","&nbsp;&nbsp;")
   }
   NPrice = NPrice.replace(".",",")
   return NPrice ;
}

function moneyFormatSimple(input) {
   var dollars = Math.floor(input);
   var tmp = new String(input);

  var dollars = Math.round(input*100)/100; 
  var dollars = dollars.toFixed(2); 
  NPrice = dollars.replace(".",",")
  return NPrice;
}


//---------------------------------------------------------------------||
// FUNCTION:    RemoveFromCart                                         ||
// PARAMETERS:  Order Number to Remove                                 ||
// RETURNS:     Null                                                   ||
// PURPOSE:     Removes an item from a users shopping cart             ||
//---------------------------------------------------------------------||
function RemoveFromCart(RemOrder) {

      top.DelCart(RemOrder)

      location.href=location.href;
      parent.footer.location.href="./footer.html"; 

}


//---------------------------------------------------------------------||
// FUNCTION:    ChangeQuantity                                         ||
// PARAMETERS:  Order Number to Change Quantity                        ||
// RETURNS:     Null                                                   ||
// PURPOSE:     Changes quantity of an item in the shopping cart       ||
//---------------------------------------------------------------------||
function ChangeQuantity(OrderItem,elem) {
   NewQuantity = elem.value
   if ( isNaN(NewQuantity) || NewQuantity=='' || NewQuantity==' ' ) {  //20060422
      elem.value = 1;
      NewQuantity = 1;
      alert( "Ugyldigt antal - Sat til 1");
   }

      database = top.GetCart(OrderItem)

      Token0 = database.indexOf("|", 0);
      Token1 = database.indexOf("|", Token0+1);
      Token2 = database.indexOf("|", Token1+1);
      Token3 = database.indexOf("|", Token2+1);
      Token4 = database.indexOf("|", Token3+1);
      Token5 = database.indexOf("|", Token4+1); // OL

      fields = new Array;
      fields[0] = database.substring( 0, Token0 );
      fields[1] = database.substring( Token0+1, Token1 );
      fields[2] = database.substring( Token1+1, Token2 );
      fields[3] = database.substring( Token2+1, Token3 );
      fields[4] = database.substring( Token3+1, Token4 );
      fields[5] = database.substring( Token4+1, Token5 );          // OL
      fields[6] = database.substring( Token5+1, database.length ); // OL

      dbUpdatedOrder = fields[0] + "|" +
                       NewQuantity + "|" +
                       fields[2] + "|" +
                       fields[3] + "|" +
                       fields[4] + "|" +
                       fields[5] + "|" +
                       fields[6];

      top.SetCart(OrderItem,dbUpdatedOrder);
      location.href=location.href;      
      parent.footer.location.href="./footer.html"; 
   
}


//---------------------------------------------------------------------||
// FUNCTION:    GetFromCart                                            ||
// PARAMETERS:  Null                                                   ||
// RETURNS:     Product Table Written to Document                      ||
// PURPOSE:     Draws current cart product table on HTML page          ||
//              **DEPRECATED FUNCTION, USE ManageCart or Checkout**    ||
//---------------------------------------------------------------------||
function GetFromCart( fShipping ) {
   ManageCart( );
}


//---------------------------------------------------------------------||
// FUNCTION:    RadioChecked                                           ||
// PARAMETERS:  Radio button to check                                  ||
// RETURNS:     True if a radio has been checked                       ||
// PURPOSE:     Form fillin validation                                 ||
//---------------------------------------------------------------------||
function RadioChecked( radiobutton ) {
   var bChecked = false;
   var rlen = radiobutton.length;
   for ( i=0; i < rlen; i++ ) {
      if ( radiobutton[i].checked )
         bChecked = true;
   }    
   return bChecked;
} 


//---------------------------------------------------------------------||
// FUNCTION:    QueryString                                            ||
// PARAMETERS:  Key to read                                            ||
// RETURNS:     value of key                                           ||
// PURPOSE:     Read data passed in via GET mode                       ||
//---------------------------------------------------------------------||
QueryString.keys = new Array();
QueryString.values = new Array();
function QueryString(key) {
   var value = null;
   for (var i=0;i<QueryString.keys.length;i++) {
      if (QueryString.keys[i]==key) {
         value = QueryString.values[i];
         break;
      }
   }
   return value;
} 

//---------------------------------------------------------------------||
// FUNCTION:    QueryString_Parse                                      ||
// PARAMETERS:  (URL string)                                           ||
// RETURNS:     null                                                   ||
// PURPOSE:     Parses query string data, must be called before Q.S.   ||
//---------------------------------------------------------------------||
function QueryString_Parse() {
   var query = window.location.search.substring(1);
   var pairs = query.split("&"); for (var i=0;i<pairs.length;i++) {
      var pos = pairs[i].indexOf('=');
      if (pos >= 0) {
         var argname = pairs[i].substring(0,pos);
         var value = pairs[i].substring(pos+1);
         QueryString.keys[QueryString.keys.length] = argname;
         QueryString.values[QueryString.values.length] = value;
      }
   }
}


//---------------------------------------------------------------------||
// FUNCTION:    ManageCart                                             ||
// PARAMETERS:  Null                                                   ||
// RETURNS:     Product Table Written to Document                      ||
// PURPOSE:     Draws current cart product table on HTML page          ||
//---------------------------------------------------------------------||
function ManageCart( ) {
   var iNumberOrdered = 0;        //Number of products ordered
   var fTotal         = 0;        //Total cost of order
   var fTax           = 0;        //Tax amount
   var fShipping      = 25.00;    //Shipping amount

   var strTotal       = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,00";   //Total cost formatted as money
   var strTax         = "&nbsp;0,00";                                                   //Total tax formatted as money
   var strShipping    = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,00";   //Total shipping formatted as money
   var strOutput      = "";   //String to be written to page
   var fVeight        = 0.0
   var fVeightTotal   = 0.0

   iNumberOrdered = top.NumCart();
   if ( iNumberOrdered == null )
      iNumberOrdered = 0;

   top.SortCart()

   strOutput = "<TABLE CLASS=\"nopcart\" border=0 WIDTH=\"98%\"><TR>" +
                  "<TD CLASS=\"nopheader\"><B>&nbsp;</B></TD>" +
                  "<TD CLASS=\"nopheader\"><B>"+strILabel+"</B></TD>" +
                  "<TD CLASS=\"nopheader\"><B>"+strDLabel+"</B></TD>" +

                  "<TD CLASS=\"nopheader\" align=center><B>"+strQLabel+"</B></TD>" +
                  "<TD CLASS=\"nopheader\" align=right><B>Enhedspris</B></TD>" +
                  "<TD CLASS=\"nopheader\" align=right><B>&nbsp;&nbsp;&nbsp;Pris</B></TD>" +
                  "<TD CLASS=\"nopheader\"><B>&nbsp;</B></TD></TR>";

   if ( iNumberOrdered == 0 ) {
      strOutput = "<TABLE border=0 WIDTH=\"98%\">" +
                  "<TR><TD COLSPAN=8 CLASS=\"nopentry\" width=\"600\"><CENTER><BR>" + 
                  "<font color=\"darkblue\" size=\"5\"><B>Der er ingen varer i din indkøbskurv</font></B> " +
                  "<IMG src=\"images/indkobsvogn.gif\"><br></CENTER></TD></TR>" +
                  "</TABLE>";
      fShipping = 0.00
   document.write(strOutput);
   document.close();
   return true;
   }

   for ( i = 0; i < iNumberOrdered; i++ ) {
      database = top.GetCart(i);

      Token0 = database.indexOf("|", 0);
      Token1 = database.indexOf("|", Token0+1);
      Token2 = database.indexOf("|", Token1+1);
      Token3 = database.indexOf("|", Token2+1);
      Token4 = database.indexOf("|", Token3+1);
      Token5 = database.indexOf("|", Token4+1); // OL

      fields = new Array;
      fields[0] = database.substring( 0, Token0 );                 // Product ID
      fields[1] = database.substring( Token0+1, Token1 );          // Quantity
      fields[2] = database.substring( Token1+1, Token2 );          // Price
      fields[3] = database.substring( Token2+1, Token3 );          // Product Name/Description
      fields[4] = database.substring( Token3+1, Token4 );          // Veight
      fields[5] = database.substring( Token4+1, Token5 );          // InStock
      fields[6] = database.substring( Token5+1, database.length ); // Additional Information

      //if (parseInt(fields[1]) > parseInt(fields[5]) && parseInt(fields[5]) > 0) fields[1] = fields[5]

      fprodpris   = (parseInt(fields[1]) * parseFloat(fields[2]) );

      fTotal     += (parseInt(fields[1]) * parseFloat(fields[2]) );

      fVeight     = (parseInt(fields[1]) * parseFloat(fields[4]) );

      fVeightTotal+= fVeight

      strOutput += "<TR><TD CLASS=\"nopentry\" ALIGN=CENTER onMouseOver=\"ShowHelp('ImageDiv','./varer/"+fields[0]+".jpg')\" onMouseOut=\"HideHelp('ImageDiv')\"><IMG SRC=./varer/"+fields[0]+".jpg width=80></TD>"
      strOutput += "<TD CLASS=\"nopentry\" ALIGN=CENTER>"  + fields[0] + "</TD>";

      if ( fields[6] == "" )
         strOutput += "<TD CLASS=\"nopentry\">"  + fields[3] + "</TD>";
      else
         strOutput += "<TD CLASS=\"nopentry\">"  + fields[3] + "<BR><font color=blue>"+ fields[6] + "</font></TD>";


      if (parseFloat(fields[5]) == 1)
        strOutput += "<TD CLASS=\"nopentry\" ALIGN=CENTER><INPUT TYPE=TEXT NAME=Q SIZE=2 VALUE=\"1\" READONLY style=\"text-align:right; border:solid 0 #fff\"></TD>";
      else
        strOutput += "<TD CLASS=\"nopentry\" ALIGN=CENTER><INPUT TYPE=TEXT NAME=Q SIZE=2 VALUE=\"" + fields[1] + "\" onChange=\"ChangeQuantity("+i+", this);\" style=\"text-align:right\"></TD>";

      strOutput += "<TD CLASS=\"nopentry\" ALIGN=RIGHT>"+ MonetarySymbol+ moneyFormat(fields[2]) + "</TD>";
      strOutput += "<TD CLASS=\"nopentry\" ALIGN=RIGHT >"+ MonetarySymbol+ moneyFormat(fprodpris) + "</TD>"; //OL

      strOutput += "<TD CLASS=\"nopentry\" ALIGN=CENTER><input type=button value=\" "+strRButton+" \" onClick=\"RemoveFromCart("+i+")\" class=\"nopbutton\"></TD></TR>";

      dbUpdatedOrder = fields[0] + "|" +
                       fields[1] + "|" +
                       fields[2] + "|" +
                       fields[3] + "|" +
                       fields[4] + "|" +
                       fields[5] + "|" +
                       fields[6];

      top.SetCart(i,dbUpdatedOrder);

   }

      strSubTotal    = moneyFormat(fTotal);
      fTax        = (fTotal * TaxRate);
      strTax      = "&nbsp;"+moneyFormatSimple(fTax);

  // if (fTotal >= FreeShipping) var fShipping      = 0.00; 
      fTotal     += fShipping  // OL
      g_TotalCost = fTotal


      strOutput += "<TR><TD CLASS=\"noptotal\" COLSPAN=5><B>"+strSUBX+"</B></TD>";
      strOutput += "<TD CLASS=\"noptotal\" COLSPAN=1 align=right><B>"+ MonetarySymbol + strSubTotal + "</B></TD>";

      strOutput += "<TD CLASS=\"noptotal\" rowspan=4>&nbsp;</TD>";   
      strOutput += "</TR>";

  //    strOutput += "<TR><TD CLASS=\"noptotal\" COLSPAN=5>"+strTAX+":&nbsp;&nbsp;"+ MonetarySymbol+strTax+"</TD>";
  //    strOutput += "<TD CLASS=\"noptotal\" COLSPAN=1 align=right>&nbsp;</TD>";
  //    strOutput += "</TR>";

  //    strOutput += "<TR><TD CLASS=\"noptotal\" COLSPAN=5><B>"+strSHIP+"</B> (Kan eventuelt ændres på Ordrebekræftelse)</TD>";
        
  //    strOutput += "<TD CLASS=\"noptotal\" COLSPAN=1 align=right><B>"+ MonetarySymbol  + moneyFormat(fShipping) + "</B></TD>";
  //    strOutput += "</TR>";

  //    strOutput += "<TR><TD CLASS=\"noptotal\" COLSPAN=5><B>"+strTOT+"</B></TD>";
  //    strOutput += "<TD CLASS=\"noptotal\" COLSPAN=1 align=right><B>"+ MonetarySymbol + moneyFormat(fTotal) + "</B></TD>";
  //    strOutput += "</TR>";

      strOutput += "</TABLE>";

      if (iNumberOrdered > 0)  strOutput += '<BR><BR><INPUT NAME=\"Send" TYPE=IMAGE SRC="./images/checkout.gif" BORDER=0 align="center">'

      strOutput += "<br><font color='lightgrey' size='2'>"+moneyFormat(fVeightTotal)

   document.write(strOutput);
   document.close();
}

//---------------------------------------------------------------------||
// FUNCTION:    ValidateCart                                           ||
// PARAMETERS:  Form to validate                                       ||
// RETURNS:     true/false                                             ||
// PURPOSE:     Validates the managecart form                          ||
//---------------------------------------------------------------------||
var g_TotalCost = 0;
function ValidateCart( theForm ) {
   if ( TaxByRegion ) {
      if ( !RadioChecked(eval("theForm."+OutputOrderTax)) ) {
         alert( TaxPrompt );
         return false;
      }
   }

   if ( MinimumOrder >= 0.01 ) {
      if ( g_TotalCost < MinimumOrder ) {
         //alert( MinimumOrderPrompt );
         //return false;
      }
   }

   return true;
}

//---------------------------------------------------------------------||
// FUNCTION:    CheckoutCart                                           ||
// PARAMETERS:  Null                                                   ||
// RETURNS:     Product Table Written to Document                      ||
// PURPOSE:     Draws current cart product table on HTML page for      ||
//              checkout.                                              ||
//---------------------------------------------------------------------||
function CheckoutCart( ) {
   var iNumberOrdered = 0;        //Number of products ordered
       fTotal         = 0;        //Total cost of order
   var fTax           = 0;        //Tax amount
   var fShipping      = 20.00;    //Shipping amount
   var strTotal       = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,00";   //Total cost formatted as money
   var strTax         = "&nbsp;0,00";                                             //Total tax formatted as money
   var strShipping    = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,00";   //Total shipping formatted as money
   var strOutput      = "";   //String to be written to page
   var fVeight        = 0.0
   var fVeightTotal   = 0.0

   iNumberOrdered = top.NumCart();
   if ( iNumberOrdered == null )
      iNumberOrdered = 0;


      strOutput = "<TABLE CLASS=\"nopcart\" width=\"98%\"><TR>" +
                  "<TD CLASS=\"nopheader\" width=\"80\">&nbsp;</TD>" +
                  "<TD CLASS=\"nopheader\"><B>"+strILabel+"</B></TD>" +
                  "<TD CLASS=\"nopheader\" width=\"50%\"><B>"+strDLabel+"</B></TD>" +
                  "<TD CLASS=\"nopheader\" align=right><B>"+strQLabel+"</B></TD>" +
                  "<TD CLASS=\"nopheader\" align=right><B>Enhedspris</B></TD>" +
                  "<TD CLASS=\"nopheader\" align=center><B>Pris "+MonetarySymbol+" Eks. Moms</B></TD>" +

                  "</TR>";

   if ( iNumberOrdered == 0 ) {
      strOutput += "<TR><TD COLSPAN=6 CLASS=\"nopentry\" width=600><CENTER><BR><font color=red><B>Din indkøbskurv er tom</font></B><BR><BR></CENTER></TD></TR>";
      fShipping = 0.00
   }

   for ( i = 0; i < iNumberOrdered; i++ ) {

      database = top.GetCart(i);

      Token0 = database.indexOf("|", 0);
      Token1 = database.indexOf("|", Token0+1);
      Token2 = database.indexOf("|", Token1+1);
      Token3 = database.indexOf("|", Token2+1);
      Token4 = database.indexOf("|", Token3+1);
      Token5 = database.indexOf("|", Token4+1); // OL

      fields = new Array;
      fields[0] = database.substring( 0, Token0 );                 // Product ID
      fields[1] = database.substring( Token0+1, Token1 );          // Quantity
      fields[2] = database.substring( Token1+1, Token2 );          // Price
      fields[3] = database.substring( Token2+1, Token3 );          // Product Name/Description
      fields[4] = database.substring( Token3+1, Token4 );          // Veight
      fields[5] = database.substring( Token4+1, Token5 );          // In Stock
      fields[6] = database.substring( Token5+1, database.length ); // Additional Information

      if (parseInt(fields[1]) > parseInt(fields[5]) && parseInt(fields[5]) > 0) fields[1] = fields[5]

      // 20200627
      dbUpdatedOrder = fields[0] + "|" +
                       fields[1] + "|" +
                       fields[2] + "|" +
                       fields[3] + "|" +
                       fields[4] + "|" +
                       fields[5] + "|" +
                       fields[6];

      top.SetCart(i,dbUpdatedOrder);

      fEnhpris    = (parseFloat(fields[2])  * 0.8);
      fProdpris   = (parseInt(fields[1]) * fEnhpris); 
      fTotal     += fProdpris;

      fVeight     = (parseInt(fields[1]) * parseFloat(fields[4]) );

      fVeightTotal+= fVeight


      strOutput += "<TR><TD CLASS=\"nopentry\" ALIGN=CENTER><IMG SRC=./varer/"+fields[0]+".jpg width=80></TD>"
      strOutput += "<TD CLASS=\"nopentry\" align=center>"  + fields[0] + "</TD>";

      if ( fields[6] == "" )
         strOutput += "<TD CLASS=\"nopentry\">"  + fields[3] + "</TD>";
      else
         strOutput += "<TD CLASS=\"nopentry\">"  + fields[3] + "<br><font color=blue>"+ fields[6] + "</font></TD>";

      strOutput += "<TD CLASS=\"nopentry\" align=right>" + fields[1] + "</TD>";
      strOutput += "<TD CLASS=\"nopentry\"align=right>"+ moneyFormat(fEnhpris) +"</TD>";


      strOutput += "<TD CLASS=\"nopentry\"align=right><B>"+"&nbsp;&nbsp;" + moneyFormat(fProdpris) +"&nbsp;</B></TD>";

      strOutput += "</TR>";

      iii = i + 1;
      if (iii < 10)  strOutput += "<input type=hidden name=\"Order" + iii + "\" value=\"__" + fields[0] + " (" + moneyFormat(fVeight) + " g.) " + "  #:" + fields[1] + "   DKK:" + moneyFormat(fEnhpris) + "  - " + fields[3] + "  " + fields[6]+ "\">"; 
      else           strOutput += "<input type=hidden name=\"Order" + iii + "\" value=\"_"  + fields[0] + " (" + moneyFormat(fVeight) + " g.) " + "  #:" + fields[1] + "   DKK:" + moneyFormat(fEnhpris) + "  - " + fields[3] + "  " + fields[6]+ "\">"; 

   }

// Rabat
   if (_Rabat != 0) {
      fEnhpris  = fTotal * _Rabat / 100 * -1

      strOutput += "<TR><TD CLASS=\"nopentry\" ALIGN=CENTER><IMG SRC=./varer/Rabat.jpg width=80></TD>"
      strOutput += "<TD CLASS=\"nopentry\" align=center>99990</TD>";
      strOutput += "<TD CLASS=\"nopentry\">Rabat</TD>";
      strOutput += "<TD CLASS=\"nopentry\" align=right>"+_Rabat+"%</TD>";
      strOutput += "<TD CLASS=\"nopentry\" align=right>"+moneyFormat(fTotal)+"</TD>";
      fTotal    += fEnhpris;
      strOutput += "<TD CLASS=\"nopentry\" align=right><B>"+"&nbsp;&nbsp;" + moneyFormat(fEnhpris) +"&nbsp;</B></TD>";
      strOutput += "</TR>";
      nVeight = 0.00 
      iii = i + 1;
      if (iii < 10)  strOutput += "<input type=hidden name=\"Order" + iii + "\" value=\"__" + "99990" + " (" + moneyFormat(nVeight) + " g.) " + "  #:" + "1" + "   DKK:" + moneyFormat(fEnhpris) + "  - " + "Rabat" + _Rabat+"%" + "\">"; 
      else           strOutput += "<input type=hidden name=\"Order" + iii + "\" value=\"_"  + "99990" + " (" + moneyFormat(nVeight) + " g.) " + "  #:" + "1" + "   DKK:" + moneyFormat(fEnhpris) + "  - " + "Rabat" + _Rabat+"%" + "\">"; 
   }
// Rabat slut

      strOutput += "<TR><TD CLASS=\"noptotal\" COLSPAN=5><B>"+strSUB+"</B></TD>";
      strOutput += "<TD CLASS=\"noptotal\" COLSPAN=1 ALIGN=RIGHT><B>"+"&nbsp;&nbsp;"+ moneyFormat(fTotal) + "&nbsp;</B></TD>";
      strOutput += "</TR>";


      fTax        = (fTotal) * TaxRate;

      strOutput += "<TR><TD CLASS=\"noptotal\" COLSPAN=5><B>"+strTAX+"</B></TD>";
      strOutput += "<TD CLASS=\"noptotal\" COLSPAN=1 ALIGN=RIGHT><B>"+"</B><input type=text align=right value=\"" + moneyFormat(fTax)+"\" name=\"nTax\" size=8 READONLY style='font-weight:bold;border:solid 0 #fff;text-align:right'>&nbsp;</TD>";
      strOutput += "</TR>";



      fVeightTotal = fVeightTotal*1
      if (fVeightTotal <= 100.00) {fVeightTotal = fVeightTotal + 30.0}
      else                        {fVeightTotal = fVeightTotal + 50.0}

      fShipping = PrivatPorto(fVeightTotal)


      strOutput += "<TR><TD CLASS=\"noptotal\" COLSPAN=5><B>"+strSHIP+"</B><BR>";

      strOutput += "<input class=\"RadioStyle\" type=\"radio\" name=\"Forsendelse\" id=\"PD\"  value=\"Efter vægt/værdi\"  onClick=\"ForsTyp_P(this.form)\" checked> <input type=text  value=\"" +_PortoText+ "\" name=\"Posttype\" size=46 READONLY style='font-weight:bold;border:solid 0 #fff;'><br>(Se evt. Betingelser/Priser og fragt)<br>"
      strOutput += "<input class=\"RadioStyle\" type=\"radio\" name=\"Forsendelse\" id=\"AHS\" value=\"Afhenter selv\"     onClick=\"ForsTyp_S(this.form)\"> Afhenter selv efter aftale<br>"

      strOutput += "</TD>" 


      strOutput += "<TD CLASS=\"noptotal\" COLSPAN=1 ALIGN=RIGHT><B>"+"</B><input type=text align=right value=\"" +moneyFormat(fShipping)+ "\" name=\"nShip\" size=8 READONLY style='font-weight:bold;border:solid 0 #fff;text-align:right'>&nbsp;</TD>"
      strOutput += "</TR>";



      strOutput += "<TR><TD CLASS=\"noptotal\" COLSPAN=5><B>Gavekort ID: </B><input type=\"text\" id=\"GavekortId\" size=\"8\" onChange=\"GavekortOn(this.form)\"></TD>";
      strOutput += "<TD CLASS=\"noptotal\" COLSPAN=1 ALIGN=RIGHT><input type=text align=right value=\""+moneyFormat(_Gavekort)+"\" name=\"nGavekort\" size=12 READONLY style='font-weight:bold;border:solid 0 #fff;text-align:right'>&nbsp;</TD>";
      strOutput += "</TR>";



      strOutput += "<TR><TD CLASS=\"nopheader\" COLSPAN=5><B>"+strTOT+"</B></TD>";
      strOutput += "<TD CLASS=\"nopheader\" COLSPAN=1 ALIGN=RIGHT><input type=text align=right value=\""+moneyFormat((fTotal + fShipping + fTax))+"\" name=\"nTotal\" size=12 READONLY style='font-weight:bold;border:solid 0 #fff;text-align:right'>&nbsp;</TD>";
      strOutput += "</TR>";



      strOutput += "</TABLE>";

      strOutput += "<input type=hidden name=\"ShipBin\" value=\""+ fShipping + "\">";
      strOutput += "<input type=hidden name=\""+OutputOrderSubtotal+"\" value=\""+ MonetarySymbol + moneyFormat(fTotal) + "\">";
      strOutput += "<input type=hidden name=\""+OutputOrderShipping+"\" value=\""+ MonetarySymbol + moneyFormat(fShipping) + "\">";
      strOutput += "<input type=hidden name=\""+OutputOrderTax+"\"      value=\""+ MonetarySymbol + moneyFormat(fTax) + "\">";
      strOutput += "<input type=hidden name=\""+OutputOrderGave+"\"     value=\"Ingen\">";
      strOutput += "<input type=hidden name=\""+OutputOrderTotal+"\"    value=\""+ MonetarySymbol + moneyFormat((fTotal + fShipping + fTax + _Gavekort)) + "\">";
      strOutput += "<input type=hidden name=\""+OutputOrderVeight+"\"   value=\""+ moneyFormatSimple(fVeightTotal) + "\">";
      strOutput += '<input type=hidden name="Veight"                    value="'+fVeightTotal+'">';

     _TotalAmount = moneyFormatSimple(fTotal + fShipping + fTax + _Gavekort)

   document.write(strOutput);
   document.close();
   parent.footer.location.href="./footer.html";  //20100627
}


//---------------------------------------------------------------------||
// FUNCTION:    CheckoutCart2                                          ||
//---------------------------------------------------------------------||
function CheckoutCart2( ) {

   var iNumberOrdered = 0;        //Number of products ordered
       fTotal         = 0;        //Total cost of order
   var fTax           = 0;        //Tax amount
   var fShipping      = 20.00;    //Shipping amount
   var strTotal       = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,00";   //Total cost formatted as money
   var strTax         = "&nbsp;0,00";                                             //Total tax formatted as money
   var strShipping    = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,00";   //Total shipping formatted as money
   var strOutput      = "";   //String to be written to page
   var fVeight        = 0.0
   var fVeightTotal   = 0.0

   iNumberOrdered = top.NumCart();
   if ( iNumberOrdered == null )
      iNumberOrdered = 0;



   if ( iNumberOrdered == 0 ) {
      strOutput += "<CENTER><BR><font color=red><B>Din indkøbskurv er tom</font></B><BR><BR></CENTER>";
      fShipping = 0.00
   }

   for ( i = 0; i < iNumberOrdered; i++ ) {

      database = top.GetCart(i);

      Token0 = database.indexOf("|", 0);
      Token1 = database.indexOf("|", Token0+1);
      Token2 = database.indexOf("|", Token1+1);
      Token3 = database.indexOf("|", Token2+1);
      Token4 = database.indexOf("|", Token3+1);
      Token5 = database.indexOf("|", Token4+1); // OL

      fields = new Array;
      fields[0] = database.substring( 0, Token0 );                 // Product ID
      fields[1] = database.substring( Token0+1, Token1 );          // Quantity
      fields[2] = database.substring( Token1+1, Token2 );          // Price
      fields[3] = database.substring( Token2+1, Token3 );          // Product Name/Description
      fields[4] = database.substring( Token3+1, Token4 );          // Veight
      fields[5] = database.substring( Token4+1, Token5 );          // In Stock
      fields[6] = database.substring( Token5+1, database.length ); // Additional Information

      if (parseInt(fields[1]) > parseInt(fields[5]) && parseInt(fields[5]) > 0) fields[1] = fields[5]

      fEnhpris    = (parseFloat(fields[2])  * 0.8);
      fProdpris   = (parseInt(fields[1]) * fEnhpris); 
      fTotal     += fProdpris;

      fVeight     = (parseInt(fields[1]) * parseFloat(fields[4]) );

      fVeightTotal+= fVeight


      iii = i + 1;
      if (iii < 10)  strOutput += "<input type=hidden size=100 name=\"Order" + iii + "\" value=\"__" + fields[0] + " (" + moneyFormat(fVeight) + " g.) " + "  #:" + fields[1] + "   DKK:" + moneyFormat(fEnhpris) + "  - " + fields[3] + "  " + fields[6]+ "\"><br>"; 
      else           strOutput += "<input type=hidden size=100 name=\"Order" + iii + "\" value=\"_"  + fields[0] + " (" + moneyFormat(fVeight) + " g.) " + "  #:" + fields[1] + "   DKK:" + moneyFormat(fEnhpris) + "  - " + fields[3] + "  " + fields[6]+ "\"><br>"; 

   }



      fTax        = (fTotal) * TaxRate;




      fVeightTotal = fVeightTotal*1
      if (fVeightTotal <= 100.00) {fVeightTotal = fVeightTotal + 30.0}
      else                        {fVeightTotal = fVeightTotal + 50.0}


      fShipping = parent.M_Ship * 1


      strOutput += "<input type=hidden name=\""+OutputOrderSubtotal+"\" value=\""+ MonetarySymbol + moneyFormat(fTotal) + "\"><br>";
      strOutput += "<input type=hidden name=\""+OutputOrderShipping+"\" value=\""+ MonetarySymbol + moneyFormat(fShipping) + "\"><br>";
      strOutput += "<input type=hidden name=\""+OutputOrderTax+"\"      value=\""+ MonetarySymbol + moneyFormat(fTax) + "\"><br>";
      strOutput += "<input type=hidden name=\""+OutputOrderGave+"\"     value=\""+ MonetarySymbol + moneyFormat(_Gavekort) + "\">";
      strOutput += "<input type=hidden name=\""+OutputOrderTotal+"\"    value=\""+ MonetarySymbol + moneyFormat((fTotal + fShipping + fTax + _Gavekort)) + "\"><br>";
      strOutput += "<input type=hidden name=\""+OutputOrderVeight+"\"   value=\""+ moneyFormatSimple(fVeightTotal) + "\"><br>";
      strOutput += '<input type=hidden name="Veight"                    value="'+fVeightTotal+'"><br>';

     _TotalAmount = moneyFormatSimple(fTotal + fShipping + fTax + _Gavekort)


   document.write(strOutput);
   document.close();
}

//---------------------------------------------------------------------||
// FUNCTION:    CheckoutCart3                                          ||
//---------------------------------------------------------------------||
function CheckoutCart3( ) {

   var iNumberOrdered = 0;        //Number of products ordered
       fTotal         = 0;        //Total cost of order
   var fTax           = 0;        //Tax amount
   var fShipping      = 20.00;    //Shipping amount
   var strTotal       = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,00";   //Total cost formatted as money
   var strTax         = "&nbsp;0,00";                                             //Total tax formatted as money
   var strShipping    = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,00";   //Total shipping formatted as money
   var strOutput      = "";   //String to be written to page
   var fVeight        = 0.0
   var fVeightTotal   = 0.0

   iNumberOrdered = top.NumCart();
   if ( iNumberOrdered == null )
      iNumberOrdered = 0;
      strOutput = "<TABLE CLASS=\"nopcart\" width=\"98%\"><TR>" +
                  "<TD CLASS=\"nopheader\" width=\"80\">&nbsp;</TD>" +
                  "<TD CLASS=\"nopheader\"><B>"+strILabel+"</B></TD>" +
                  "<TD CLASS=\"nopheader\" width=\"50%\"><B>"+strDLabel+"</B></TD>" +
                  "<TD CLASS=\"nopheader\" align=right><B>"+strQLabel+"</B></TD>" +
                  "<TD CLASS=\"nopheader\" align=right><B>Enhedspris</B></TD>" +
                  "<TD CLASS=\"nopheader\" align=center><B>Pris "+MonetarySymbol+" Eks. Moms</B></TD>" +

                  "</TR>";


   if ( iNumberOrdered == 0 ) {
      strOutput += "<CENTER><BR><font color=red><B>Din indkøbskurv er tom</font></B><BR><BR></CENTER>";
      fShipping = 0.00
   }

   for ( i = 0; i < iNumberOrdered; i++ ) {

      database = top.GetCart(i);

      Token0 = database.indexOf("|", 0);
      Token1 = database.indexOf("|", Token0+1);
      Token2 = database.indexOf("|", Token1+1);
      Token3 = database.indexOf("|", Token2+1);
      Token4 = database.indexOf("|", Token3+1);
      Token5 = database.indexOf("|", Token4+1); // OL

      fields = new Array;
      fields[0] = database.substring( 0, Token0 );                 // Product ID
      fields[1] = database.substring( Token0+1, Token1 );          // Quantity
      fields[2] = database.substring( Token1+1, Token2 );          // Price
      fields[3] = database.substring( Token2+1, Token3 );          // Product Name/Description
      fields[4] = database.substring( Token3+1, Token4 );          // Veight
      fields[5] = database.substring( Token4+1, Token5 );          // In Stock
      fields[6] = database.substring( Token5+1, database.length ); // Additional Information

      if (parseInt(fields[1]) > parseInt(fields[5]) && parseInt(fields[5]) > 0) fields[1] = fields[5]

      fEnhpris    = (parseFloat(fields[2])  * 0.8);
      fProdpris   = (parseInt(fields[1]) * fEnhpris); 
      fTotal     += fProdpris;

      strOutput += "<TR><TD CLASS=\"nopentry\" ALIGN=CENTER><IMG SRC=Butik/varer/"+fields[0]+".jpg width=80></TD>"
      strOutput += "<TD CLASS=\"nopentry\" align=center>"  + fields[0] + "</TD>";

      if ( fields[6] == "" )
         strOutput += "<TD CLASS=\"nopentry\">"  + fields[3] + "</TD>";
      else
         strOutput += "<TD CLASS=\"nopentry\">"  + fields[3] + "<br><font color=blue>"+ fields[6] + "</font></TD>";

      strOutput += "<TD CLASS=\"nopentry\" align=right>" + fields[1] + "</TD>";
      strOutput += "<TD CLASS=\"nopentry\"align=right>"+ moneyFormat(fEnhpris) +"</TD>";


      strOutput += "<TD CLASS=\"nopentry\"align=right><B>"+"&nbsp;&nbsp;" + moneyFormat(fProdpris) +"&nbsp;</B></TD>";

      strOutput += "</TR>";


   }

      strOutput += "<TR><TD CLASS=\"noptotal\" COLSPAN=5><B>"+strSUB+"</B></TD>";
      strOutput += "<TD CLASS=\"noptotal\" COLSPAN=1 ALIGN=RIGHT><B>"+"</B><input type=text align=right value=\"" + moneyFormat(fTotal)+"\" name=\"nSubt\" size=8 READONLY style='border:solid 0 #fff;text-align:right'>&nbsp;</TD>";
      strOutput += "</TR>";

      fTax        = (fTotal) * TaxRate;

      strOutput += "<TR><TD CLASS=\"noptotal\" COLSPAN=5><B>"+strTAX+"</B></TD>";
      strOutput += "<TD CLASS=\"noptotal\" COLSPAN=1 ALIGN=RIGHT><B>"+"</B><input type=text align=right value=\"" + moneyFormat(fTax)+"\" name=\"nTax\" size=8 READONLY style='border:solid 0 #fff;text-align:right'>&nbsp;</TD>";
      strOutput += "</TR>";



      strOutput += "<TR><TD CLASS=\"noptotal\" COLSPAN=5><B>"+strSHIP+"</B></TD>";
      strOutput += "<TD CLASS=\"noptotal\" COLSPAN=1 ALIGN=RIGHT><B>"+"</B><input type=text align=right value=\"\" name=\"nShip\" size=8 READONLY style='border:solid 0 #fff;text-align:right'>&nbsp;</TD>"
      strOutput += "</TR>";


      strOutput += "<TR><TD CLASS=\"noptotal\" COLSPAN=5><B>Gavekort ID: </B><input type=\"text\" name=\"GavekortId\" size=\"8\" READONLY style='font-weight:bold;border:solid 0 #fff;'></TD>";
      strOutput += "<TD CLASS=\"noptotal\" COLSPAN=1 ALIGN=RIGHT><input type=text align=right value=\"0,00\" name=\"nGavekort\" size=12 READONLY style='font-weight:bold;border:solid 0 #fff;text-align:right'>&nbsp;</TD>";
      strOutput += "</TR>";
   
      strOutput += "<TR><TD CLASS=\"nopheader\" COLSPAN=5><B>"+strTOT+"</B></TD>";
      strOutput += "<TD CLASS=\"nopheader\" COLSPAN=1 ALIGN=RIGHT><input type=text align=right value=\"\" name=\"nTotal\" size=12 READONLY style='font-weight:bold;border:solid 0 #fff;text-align:right'>&nbsp;</TD>";
      strOutput += "</TR>";

      strOutput += "</TABLE>";


   document.write(strOutput);
   document.close();
}

function CleanCart(){ 
   top.ZeroCart();
   parent.footer.location.href="./footer.html"; 
}

//---------------------------------------------------------------------|| 
// FUNCTION: Print_total || 
// PARAMETERS: none || 
// RETURNS: Total cost currently racked up by shopper || 
// PURPOSE: Aesthetics || 
//---------------------------------------------------------------------|| 
function Print_total( ) { 
var strOutput = "&nbsp;"; //String to be written to page 
var strTotal  = ""; //Total cost formatted as money 
var fTotal    = 0; 
var iNumberOrdered = 0; //Number of products ordered 
var antal = 0;

iNumberOrdered = top.NumCart(); 
if ( iNumberOrdered == null ) 
iNumberOrdered = 0; 


for ( i = 0; i < iNumberOrdered; i++ ) { 

NewOrder = "Order." + i; 
database = ""; 
database = top.GetCart(i); 

Token0 = database.indexOf("|", 0); 
Token1 = database.indexOf("|", Token0+1); 
Token2 = database.indexOf("|", Token1+1); 
Token3 = database.indexOf("|", Token2+1); 
Token4 = database.indexOf("|", Token3+1); 
Token5 = database.indexOf("|", Token4+1); 

fields = new Array; 
fields[0] = database.substring( 0, Token0 ); // Product ID 
fields[1] = database.substring( Token0+1, Token1 ); // Quantity 
fields[2] = database.substring( Token1+1, Token2 ); // Price 
fields[3] = database.substring( Token2+1, Token3 ); // Product Name/Description 
fields[4] = database.substring( Token3+1, Token4 ); // Weight 
fields[5] = database.substring( Token4+1, Token5 ); // In Stock 
fields[6] = database.substring( Token5+1, database.length ); //Additional Information 


//if (parseInt(fields[1]) > parseInt(fields[5]) && parseInt(fields[5]) > 0) fields[1] = fields[5]

fTotal += (parseInt(fields[1]) * parseFloat(fields[2]) ); 
antal = antal + parseFloat(fields[1])
} 

strTotal = moneyFormatSimple(fTotal); 

if (antal == 0)  strOutput+="Ingen varer"; 
if (antal == 1)  strOutput+=antal+" vare. DKK: "+strTotal; 
if (antal > 1)   strOutput+=antal+" varer. DKK: "+strTotal; 
document.write(strOutput); 

} 

//---------------------------------------------------------------------|| 

function NumberThisItem(form ) { 
  var iNumberOrdered = 0; //Number of products ordered 
  var Antal = 0;

  iNumberOrdered = top.NumCart(); 
  if ( iNumberOrdered == null ) 
    iNumberOrdered = 0; 

  
  for ( i = 0; i < iNumberOrdered; i++ ) { 

    database = top.GetCart(i); 

    Token0 = database.indexOf("|", 0); 
    Token1 = database.indexOf("|", Token0+1); 
    Token2 = database.indexOf("|", Token1+1); 
    Token3 = database.indexOf("|", Token2+1); 
    Token4 = database.indexOf("|", Token3+1); 
    Token5 = database.indexOf("|", Token4+1); 

    fields = new Array; 
    fields[0] = database.substring( 0, Token0 ); // Product ID 
    fields[1] = database.substring( Token0+1, Token1 ); // Quantity 
    fields[2] = database.substring( Token1+1, Token2 ); // Price 
    fields[3] = database.substring( Token2+1, Token3 ); // Product Name/Description 
    fields[4] = database.substring( Token3+1, Token4 ); // Weight 
    fields[5] = database.substring( Token4+1, Token5 ); // In Stock
    fields[6] = database.substring( Token5+1, database.length ); //Additional Information 

    if ( Left(fields[0],8) == Left(form.ID_NUM.value,8)) {
      Antal += parseInt(fields[1])
    } 

  }
  if (Antal > 0) {form.ThisAmt.value = "Bestilt antal: "+ Antal }
  else if (top.ShowStock) { form.ThisAmt.value = "På lager: "+ form.InStock.value}
}

function Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}

function SetSortFields() {

  OrderAmt = top.NumCart() 
  if (_Rabat != 0) OrderAmt = OrderAmt + 1
  strOutput  = '<input type="hidden" name="DSortFields" value="__,Dato,Kundenummer,OrdreID,TransID,Navn,Adresse,Postnummer,By,Land,Telefon,Email,CVR,Besked,Hvor,'

  for ( i = 1; i <= OrderAmt; i++ ) {
    strOutput += 'Order' + i + ","
  }

  strOutput += 'SUBTOTAL,MOMS,Forsendelse,Posttype,Gavekort,TOTAL,___________________,Nyhedsbrev,Betaling,Kundetype,Status,VÆGT">'

  document.write(strOutput);
  document.close();

}
//=====================================================================||
//               END NOP Design SmartPost Shopping Cart                ||
//=====================================================================||
