﻿DisplayNotice         = false;
DisplayShippingColumn = false;
DisplayShippingRow    = true;
DisplayTaxRow         = true;
TaxRate               = 0.1;
MonetarySymbol        = '$';  //change this for each country
Language              = 'en';


OutputItemId          = 'ID_';
OutputItemQuantity    = 'QUANTITY_';
OutputItemPrice       = 'PRICE_';
OutputItemName        = 'NAME_';
OutputItemShipping    = 'SHIPPING_';
OutputItemAddtlInfo   = 'ADDTLINFO_';
OutputOrderSubtotal   = 'SUBTOTAL';
OutputOrderDiscount   = 'DISCOUNT';  //needed for discounts
OutputOrderDiscountText = 'DISCOUNT_TEXT'; //needed for discounts
OutputOrderShipping   = 'SHIPPING';
OutputOrderTax        = 'TAX';
OutputOrderTotal      = 'TOTAL';
AppendItemNumToOutput = true;




bLanguageDefined = false;
if ( Language == 'en' || !bLanguageDefined ) {
   strSorry  = "I'm Sorry, your cart is full, please proceed to checkout.";
   strAdded  = " added to your shopping cart.";
   strRemove = "Click 'OK' to remove this product from your shopping cart.";
   strILabel = "Part no.";
   strDLabel = "Product Description";
   strQLabel = "Quantity";
   strPLabel = "Price<br/>(ex GST)";
   strSLabel = "Shipping";
   strRLabel = "&nbsp;";
   strRButton= "Remove";
   strSUB    = "Subtotal";
   strSHIP   = "";
   strTAX    = "GST <a style='text-decoration:underline; color:blue;' href='/content/shipping.asp#gst' target='osgst'>$0 for O/S orders</a>";
 //needed for discounts:
   strDIS    = "Bulk Discount <a style='text-decoration:underline; color:blue;' href='/content/discounts.asp' target='discount'>more info.</a>";
   strTOT    = "TOTAL";
   strErrQty = "Invalid Quantity.";
   strNewQty = 'Please enter new quantity:';
   bLanguageDefined = true;
}

function getShipping() {
    var iNumberOrdered = 0;
    var bNonKingstonParts = false;
    var partNumber;
    
    iNumberOrdered = GetCookie("NumberOrdered");

    if( iNumberOrdered == null )
        iNumberOrdered = 0;

    for (i = 1; i <= iNumberOrdered; i++) {
        NewOrder = "Order." + i;
        database = "";
        database = GetCookie(NewOrder);

        Token0 = database.indexOf("|", 0);
        partNumber = database.substring(0, Token0);

        if (partNumber.length == 3 || partNumber.length == 5) {
            bNonKingstonParts = true;
        }
    }

    if (iNumberOrdered == 0) {
        strSHIP = "Shipping (Regular Post with tracking - <a style='text-decoration:underline; color:blue;' href='/content/shipping.asp'>More options available at Checkout</a>)";  // change for each country 
        return 6.09;
    }
    else if (bNonKingstonParts) {
        strSHIP = "Shipping (Regular Post with tracking - <a style='text-decoration:underline; color:blue;' href='/content/shipping.asp'>More options available at Checkout</a>)";  // change for each country 
        return 6.09;
    }
    else {
        strSHIP = "Shipping (Regular Post with tracking - <a style='text-decoration:underline; color:blue;' href='/content/shipping.asp'>More options available at Checkout</a>)";  // change for each country 
        return 6.09;
    }
}

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 AddToCart(thisForm) {
   var iNumberOrdered = 0;
   var bAlreadyInCart = false;
   var notice = "";
   
   //Perform Cookie test
   SetCookie("cktest","yes",null, "/", ".ramcity.com.au");
   if(GetCookie("cktest")=="yes"){
		DeleteCookie("cktest","/", ".ramcity.com.au");
   }else{
		alert('To be able to add items to your cart you must enable cookies. Please change your browser settings to allow cookies.');
   }
   
   iNumberOrdered = GetCookie("NumberOrdered");
	
   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.value;

   for ( i = 1; i <= iNumberOrdered; i++ ) {
      NewOrder = "Order." + i;
      database = "";
      database = GetCookie(NewOrder);
 
      Token0 = database.indexOf("|", 0);
      Token1 = database.indexOf("|", Token0+1);
      Token2 = database.indexOf("|", Token1+1);
      Token3 = database.indexOf("|", Token2+1);
      Token4 = database.indexOf("|", Token3+1);
 
      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, database.length );
 
      if ( fields[0] == strID_NUM &&
           fields[2] == strPRICE  &&
           fields[3] == strNAME   &&
           fields[5] == strADDTLINFO
         ) {
         bAlreadyInCart = true;
         dbUpdatedOrder = strID_NUM    + "|" +
                          (parseInt(strQUANTITY)+parseInt(fields[1]))  + "|" +
                          strPRICE     + "|" +
                          strNAME      + "|" +
                          strSHIPPING  + "|" +
                          strADDTLINFO;
         strNewOrder = "Order." + i;
         DeleteCookie(strNewOrder, "/", ".ramcity.com.au");
         SetCookie(strNewOrder, dbUpdatedOrder, null, "/", ".ramcity.com.au");
         notice = strQUANTITY + " " + strNAME + strAdded;
         break;
      }
   }


   if( !bAlreadyInCart ) {
      iNumberOrdered++;

      if ( iNumberOrdered > 15 )
         alert( strSorry );
      else {
         dbUpdatedOrder = strID_NUM    + "|" + 
                          strQUANTITY  + "|" +
                          strPRICE     + "|" +
                          strNAME      + "|" +
                          strSHIPPING  + "|" +
                          strADDTLINFO;

         strNewOrder = "Order." + iNumberOrdered;
         SetCookie(strNewOrder, dbUpdatedOrder, null, "/", ".ramcity.com.au");
         SetCookie("NumberOrdered", iNumberOrdered, null, "/", ".ramcity.com.au");
         notice = strQUANTITY + " " + strNAME + strAdded;
      }
   }

   if( DisplayNotice )
      alert(notice);
}


function getCookieVal (offset) {
   var endstr = document.cookie.indexOf (";", offset);

   if ( endstr == -1 )
      endstr = document.cookie.length;
   return(unescape(document.cookie.substring(offset, endstr)));
}


function FixCookieDate (date) {
   var base = new Date(0);
   var skew = base.getTime();

   date.setTime (date.getTime() - skew);
}


function GetCookie (name) {
   var arg = name + "=";
   var alen = arg.length;
   var clen = document.cookie.length;
   var i = 0;

   while ( i < clen ) {
      var j = i + alen;
      if ( document.cookie.substring(i, j) == arg ) return(getCookieVal (j));
      i = document.cookie.indexOf(" ", i) + 1;
      if ( i == 0 ) break;
   }

   return(null);
}


function SetCookie (name,value,expires,path,domain,secure) {
   document.cookie = name + "=" + escape (value) +
                     ((expires) ? "; expires=" + expires.toGMTString() : "") +
                     ((path) ? "; path=" + path : "") +
                     ((domain) ? "; domain=" + domain : "") +
                     ((secure) ? "; secure" : "");
}


function DeleteCookie (name,path,domain) {
   if ( GetCookie(name) ) {
      document.cookie = name + "=" +
                        ((path) ? "; path=/" : "") +
                     ((domain) ? "; domain=" + domain : "") +
                        "; expires=Thu, 01-Jan-70 00:00:01 GMT";
   }
}


function moneyFormat(input) {
   var dollars = Math.floor(input);
   var tmp = new String(input);

   for ( var decimalAt = 0; decimalAt < tmp.length; decimalAt++ ) {
      if ( tmp.charAt(decimalAt)=="." )
         break;
   }

   var cents  = "" + Math.round(input * 100);
   cents = cents.substring(cents.length-2, cents.length)
           dollars += ((tmp.charAt(decimalAt+2)=="9")&&(cents=="00"))? 1 : 0;

   if ( cents == "0" )
      cents = "00";

   return(dollars + "." + cents);
}


function RemoveFromCart(RemOrder) {
   //if ( confirm( strRemove ) ) {
      NumberOrdered = GetCookie("NumberOrdered");
      for ( i=RemOrder; i < NumberOrdered; i++ ) {
         NewOrder1 = "Order." + (i+1);
         NewOrder2 = "Order." + (i);
         database = GetCookie(NewOrder1);
         SetCookie (NewOrder2, database, null, "/", ".ramcity.com.au");
      }
      NewOrder = "Order." + NumberOrdered;
      SetCookie ("NumberOrdered", NumberOrdered-1, null, "/", ".ramcity.com.au");
      DeleteCookie(NewOrder, "/", ".ramcity.com.au");
      location.href=location.href;
   //}
}

function DeleteCart() {
    NumberOrdered = GetCookie("NumberOrdered");
    for ( i=0; i < NumberOrdered; i++ ) {
        DeleteCookie("Order." + (i+1), "/", ".ramcity.com.au");
    }
    SetCookie("NumberOrdered",0, null, "/", ".ramcity.com.au");
}

function ChangeQuantity(QtyOrder,CurrQty) {
   var newQty;
	
   //Changed to support cart updating
   //newQty=prompt(strNewQty,CurrQty);
   newQty = CurrQty
   
   if(newQty==null)return;
    
   if(isNaN(newQty) ) {
      alert( strErrQty );
   } else {
      NewOrder = "Order." + QtyOrder;
      database = "";
      database = GetCookie(NewOrder);
 
      Token0 = database.indexOf("|", 0);
      Token1 = database.indexOf("|", Token0+1);
      Token2 = database.indexOf("|", Token1+1);
      Token3 = database.indexOf("|", Token2+1);
      Token4 = database.indexOf("|", Token3+1);
 
      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, database.length );
 
      dbUpdatedOrder = fields[0] + "|" +
                       newQty    + "|" +
                       fields[2] + "|" +
                       fields[3] + "|" +
                       fields[4] + "|" +
                       fields[5];
      strNewOrder = "Order." + QtyOrder;
      DeleteCookie(strNewOrder, "/", ".ramcity.com.au");
      SetCookie(strNewOrder, dbUpdatedOrder, null, "/", ".ramcity.com.au");
	  
      return true;
   }

   return false;
}

//This function builds the shopping cart in cart2.asp
function GetFromCart() {
    var fShipping;
    fShipping = getShipping();
    WriteToForm( true, fShipping );
}

function WriteToForm( bDisplay, fShipping ) {
   var iNumberOrdered = 0;
   var fTotal         = 0;
   var fTax           = 0;
   var strTotal       = "";
   var strTax         = "";
   var strShipping    = "";
   var strOutput      = "";
   var numberItems    = 0;   // needed for quantity discounts
   iNumberOrdered = GetCookie("NumberOrdered");

   if( iNumberOrdered == null )
    iNumberOrdered = 0;

   if ( bDisplay )
      strOutput = "<TABLE width='100%' border='0' cellspacing='0' class='nopcart'>" +
                  "<TR><TD CLASS='nopheader'>"+strILabel+"</TD>" +
                  "<TD CLASS='nopheader'>"+strDLabel+"</TD>" +
                  "<TD CLASS='nopheader'>"+strQLabel+"</TD>" +
                  "<TD CLASS='nopheader'>"+strPLabel+"</TD>" +
                  (DisplayShippingColumn?"<TD CLASS='nopheader'>"+strSLabel+"</TD>":"") +
                  "<TD CLASS='nopheader'>"+strRLabel+"</TD></TR>";

   for ( i = 1; i <= iNumberOrdered; i++ ) {
      NewOrder = "Order." + i;
      database = "";
      database = GetCookie(NewOrder);

      Token0 = database.indexOf("|", 0);
      Token1 = database.indexOf("|", Token0+1);
      Token2 = database.indexOf("|", Token1+1);
      Token3 = database.indexOf("|", Token2+1);
      Token4 = database.indexOf("|", Token3+1);

      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, database.length );

      fTotal     += (parseInt(fields[1]) * parseFloat(fields[2]) );
      fShipping  += (parseInt(fields[1]) * parseFloat(fields[4]) );
      numberItems += (parseInt(fields[1])); // needed for quantity discounts
      strShipping = moneyFormat(fShipping);

      if ( bDisplay ) {
         strOutput += "<TR><TD class='nopentry' nowrap>"  + fields[0] + "</TD>";

         if ( fields[5] == "" )
            strOutput += "<TD class='nopentry'>"  + fields[3] + "</TD>";
         else
            strOutput += "<TD class='nopentry'>"  + fields[5] + "</TD>";

         strOutput += "<TD align='center'><input type='input' size='2' maxlength='3' class='nopqty' value='"+fields[1]+"' onblur='ChangeQuantity(" + i + ",this.value)'></TD>" +
                      "<TD class='nopentry'>"+ MonetarySymbol + moneyFormat(fields[2]) + "/ea</TD>";

         if ( DisplayShippingColumn ) {
            if ( parseFloat(fields[4]) > 0 )
               strOutput += "<TD>"+ MonetarySymbol + moneyFormat(fields[4]) + "/ea</TD>";
            else
               strOutput += "<TD>N/A</TD>";
         }

         strOutput += "<TD ALIGN=CENTER><input type='button' value='"+strRButton+"' onClick='RemoveFromCart("+i+")' class='btn'></TD></TR>";
      }

      if( AppendItemNumToOutput ) {
         strFooter = i;
      } else {
         strFooter = "";
      }
      
      
      strOutput += "<div id='CTrender'></div>"
      
      strOutput += "<input type='hidden' name='" + OutputItemId        + strFooter + "' value='" + fields[0] + "'>";
      strOutput += "<input type='hidden' name='" + OutputItemQuantity  + strFooter + "' value='" + fields[1] + "'>";
      strOutput += "<input type='hidden' name='" + OutputItemPrice     + strFooter + "' value='" + fields[2] + "'>";
      strOutput += "<input type='hidden' name='" + OutputItemName      + strFooter + "' value='" + fields[3] + "'>";
      strOutput += "<input type='hidden' name='" + OutputItemShipping  + strFooter + "' value='" + fields[4] + "'>";
      strOutput += "<input type='hidden' name='" + OutputItemAddtlInfo + strFooter + "' value='" + fields[5] + "'>";

   }
   
	  //R6D Discount Code
	  strTotal    = moneyFormat(fTotal);
	  var fDiscount      = 0;
      var discountAmount = 0;
	  var strDiscount    = ""; 
	  var discountText   = "";
   
	  if (numberItems >= 50)
	  {
		  discountAmount = .11;
		  discountText   = "(11%)";
	  } 
	  else if (numberItems >= 20)
	  {
		  discountAmount = .1;
		  discountText   = "(10%)";
	  } 
	  else if (numberItems >= 10)
	  {
		  discountAmount = .09;
		  discountText   = "(9%)";
	  } 
	  else if (numberItems >= 5)
	  {
		  discountAmount = .08;
		  discountText   = "(8%)";
	  } 
	  else if (numberItems >= 2)
	  {
		  discountAmount = .07;
		  discountText   = "(7%)";
	  }
	  else
	  {  
	  	 discountAmount = 0;
	  }
	  strTotal    = moneyFormat(fTotal);
	  strDiscount = strTotal * discountAmount;
	  
	  
	  fTax        = ((fTotal-strDiscount+fShipping) * TaxRate);
	  fTotal      = (fTotal);
	  strTotal    = moneyFormat(fTotal);
	  strDiscount = moneyFormat(strDiscount);      
      strTax      = moneyFormat(fTax);
	  //End


   if ( bDisplay ) {
      strOutput += "<TR><TD CLASS='noptotaltitle' COLSPAN=3><br /><B>"+strSUB+"</B></TD>";
      strOutput += "<TD class='noptotal' COLSPAN=2><br /><B>&nbsp;" + MonetarySymbol + strTotal + " </B></TD>";
      strOutput += "</TR>";
      //New Bulk Discount text
      strOutput += "<TR><TD CLASS='noptotaltitle' COLSPAN=3><B>"+strDIS+"</B></TD>";
      strOutput += "<TD class='noptotal' style='color:red' COLSPAN=2><B>-" + MonetarySymbol + strDiscount + " </B></TD>";
      strOutput += "</TR>";
  
      if ( DisplayShippingRow ) {
         strOutput += "<TR><TD CLASS='noptotaltitle' COLSPAN=3> <B>"+strSHIP+"</B></TD>";
         strOutput += "<TD class='noptotal' COLSPAN=2><B>&nbsp;" + MonetarySymbol + strShipping + " </B></TD>";
         strOutput += "</TR>";
      }

      if ( DisplayTaxRow ) {
         strOutput += "<TR><TD CLASS='noptotaltitle' COLSPAN=3> <B>"+strTAX+"</B></TD>";
         strOutput += "<TD class='noptotal' COLSPAN=2><B>&nbsp;" + MonetarySymbol + strTax + " </B></TD>";
         strOutput += "</TR>";
      }

      strOutput += "<TR><TD CLASS='noptotaltitle' COLSPAN=3><B>"+strTOT+"</B></TD>";
      strOutput += "<TD class='noptotal' COLSPAN=2><B>&nbsp;" + MonetarySymbol + moneyFormat((fTotal + fShipping + fTax - strDiscount)) + " </B></TD>";  //needed for bulk discounts
      strOutput += "</TR>";
      strOutput += "</TABLE>";
   
      strOutput += "<input type='hidden' name='"+OutputOrderSubtotal+"' value='"+ MonetarySymbol + strTotal + "'>";
      strOutput += "<input type='hidden' name='"+OutputOrderShipping+"' value='"+ MonetarySymbol + strShipping + "'>";
      strOutput += "<input type='hidden' name='"+OutputOrderTax+"'      value='"+ MonetarySymbol + strTax + "'>";
      strOutput += "<input type='hidden' name='"+OutputOrderDiscount+"'      value='"+ MonetarySymbol + strDiscount + "'>"; //needed for bulk discounts
	  strOutput += "<input type='hidden' name='"+OutputOrderDiscountText+"'      value='"+ discountText + "'>";  //needed for bulk discounts
      strOutput += "<input type='hidden' name='"+OutputOrderTotal+"'    value='"+ MonetarySymbol + moneyFormat((fTotal + fShipping + fTax - strDiscount)) + "'>"; //needed for bulk discounts
   }
   
    window.onload = function(){
        try{
            clicktaleWrapper("InjectCTmarkup(\""+strOutput+"\")");
        }
        catch(e){
        }
    }
    if(!IsInPlayback()){
        document.write(strOutput);
        document.close();
    }
}

/* start of ClickTale implementation */

function InjectCTmarkup(htmlMarkup) {
  var newNode= document.createDocumentFragment();
  var tmp = document.createElement("div");
  tmp.innerHTML = htmlMarkup;
  // copy all children to the document fragment
  while(tmp.firstChild) {
      newNode.appendChild(tmp.firstChild);
  }
  var referenceNode = document.getElementById("frmCart");
  referenceNode = referenceNode.firstChild; //script tag
  
  if(!referenceNode) {
    return
  }
  
  if (referenceNode.nextSibling) { 
    referenceNode.nextSibling.innerHTML = "";
    return referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling); 
  } else {
    return referenceNode.parentNode.appendChild(newNode);
  }
}

 function IsInPlayback() {
        try { return parent && parent.WebPlayer; }
        catch(e) { return false; }
    }
    
function ctexec(code) {
    if(typeof ClickTaleExec == "function") {
        ClickTaleExec(code);
    }
}

var batchGroupId = 0; 
function clicktaleWrapper(fnName) {
    if(fnName.length < 300) {
        ctexec(fnName);
    } else {
        var codeToExec = fnName;
        var batchesCount = Math.ceil(codeToExec.length / 300);
        var batch;
        for(var i = 0; i < batchesCount; i++) {
            batch = codeToExec.substr(i*300, 300);
            ctexec("ClickTaleConcatAndExec("+batchGroupId+",\""+batch.replace('"', '\\"')+"\")");
        }
        ctexec("ClickTaleConcatAndExec("+batchGroupId+")");
        batchGroupId++;
    }
    return appBackup[fnName].apply(app, args);
}

var bigResponseStacks = [];
window.ClickTaleConcatAndExec = function(key, data) {
    if(!IsInPlayback()) {
        return;
    }
    
    if (typeof data == "string"){
        if(typeof bigResponseStacks[key] == "undefined") {
            bigResponseStacks[key]= [];
        }
        bigResponseStacks[key].push(data);
    }
    else {
        if(typeof bigResponseStacks[key] != "undefined") {
            var codeToExec = bigResponseStacks[key].join("");
            delete bigResponseStacks[key];
            eval(codeToExec);
        }
    }
};
/* end of ClickTale implementation */        
    


//This function builds the mini cart that shows on the sidebar in firefox when something is added to the cart and then go back to cat.
function GetFromMiniCart() {
    var fShipping;
    fShipping = getShipping();
    WriteToMiniForm( true, fShipping );
}

function WriteToMiniForm( bDisplay, fShipping ) {
   var iNumberOrdered = 0;
   var fTotal         = 0;
   var fTax           = 0;
   var strTotal       = "";
   var strDiscount    = "";  //needed for bulk discounts   
   var strTax         = "";
   var strShipping    = "";
   var strOutput      = "";
   var numberItems    = 0; //needed for bulk discounts   
   iNumberOrdered = GetCookie("NumberOrdered");

   if( iNumberOrdered == null )
    iNumberOrdered = 0;

   if ( bDisplay )
      strOutput = "<div id='nopcartmini'>" +
			"<table cellspacing='0' border='0' width='100%'>" +
                  "<tr><td class='head'>Name</td>" +
                  "<td class='head'>Qty</td>" +
                  "<td nowrap class='head'>"+strPLabel+"</td>" +
                  "</tr>";

   for ( i = 1; i <= iNumberOrdered; i++ ) {
      NewOrder = "Order." + i;
      database = "";
      database = GetCookie(NewOrder);

      Token0 = database.indexOf("|", 0);
      Token1 = database.indexOf("|", Token0+1);
      Token2 = database.indexOf("|", Token1+1);
      Token3 = database.indexOf("|", Token2+1);
      Token4 = database.indexOf("|", Token3+1);

      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, database.length );

      fTotal     += (parseInt(fields[1]) * parseFloat(fields[2]) );
	  numberItems += (parseInt(fields[1]));
      fShipping  += (parseInt(fields[1]) * parseFloat(fields[4]) );	    
      strDiscount    = moneyFormat(fTotal); //needed for bulk discounts
      strTax      = moneyFormat(fTax);
      strShipping = moneyFormat(fShipping);

      if ( bDisplay ) {
         strOutput += "<TR>";
		
            strOutput += "<TD CLASS='prod'>"  + fields[3] + "</TD>";

         strOutput += "<TD CLASS='prod'>" + fields[1] + "</TD>" +
                      "<TD CLASS='prod'>"+ MonetarySymbol + moneyFormat(fields[2]) + "</TD>";

         strOutput += "</TR>";
      }

      if( AppendItemNumToOutput ) {
         strFooter = i;
      } else {
         strFooter = "";
      }

   }

//R6D Discount Code
	  strTotal    = moneyFormat(fTotal);
	  var fDiscount      = 0;
      var discountAmount = 0;
	  var strDiscount    = ""; 
	  var discountText   = "";
   
	  if (numberItems >= 100)
	  {
		  discountAmount = .18;
		  discountText   = "(18%)";
	  } 
	  else if (numberItems >= 75)
	  {
		  discountAmount = .17;
		  discountText   = "(17%)";
      } 
	  else if (numberItems >= 50)
	  {
		  discountAmount = .16;
		  discountText   = "(16%)";
	  } 
	  else if (numberItems >= 20)
	  {
		  discountAmount = .15;
		  discountText   = "(15%)";
	  } 
	  else if (numberItems >= 10)
	  {
		  discountAmount = .14;
		  discountText   = "(14%)";
	  } 
	  else if (numberItems >= 5)
	  {
		  discountAmount = .12;
		  discountText   = "(12%)";
	  } 
	  else if (numberItems >= 2)
	  {
		  discountAmount = .10;
		  discountText   = "(10%)";
	  }
	  else
	  {  
	  	 discountAmount = 0;
	  }
	  strTotal    = moneyFormat(fTotal);
	  strDiscount = strTotal * discountAmount;
	  
	  
	  fTax        = ((fTotal-strDiscount+fShipping) * TaxRate);
	  fTotal      = (fTotal);
	  strTotal    = moneyFormat(fTotal);
	  strDiscount = moneyFormat(strDiscount);      
      strTax      = moneyFormat(fTax);
	  //End

   if ( bDisplay ) {
	strOutput += "<TR><TD class='prod'>&nbsp;</TD></TR> ";
      strOutput += "<TR><TD COLSPAN=2><B>"+strSUB+"</B></TD>";
      strOutput += "<TD>" + MonetarySymbol + strTotal + "</TD>";
      strOutput += "</TR>";
      
	  //R6D New Bulk Discount text
      strOutput += "<TR><TD CLASS='noptotaltitle' COLSPAN=2><B>"+strDIS+"</B></TD>";
      strOutput += "<TD class='noptotal' style='color:red' COLSPAN=2><B>-" + MonetarySymbol + strDiscount + " </B></TD>";
      strOutput += "</TR>";      

      if ( DisplayShippingRow ) {
         strOutput += "<TR><TD COLSPAN=2>"+strSHIP+"</TD>";
         strOutput += "<TD >" + MonetarySymbol + strShipping + "</TD>";
         strOutput += "</TR>";
      }

      if ( DisplayTaxRow ) {
         strOutput += "<TR><TD COLSPAN=2>"+strTAX+"</TD>";
         strOutput += "<TD>" + MonetarySymbol + strTax + "</TD>";
         strOutput += "</TR>";
      }

      strOutput += "<TR><TD COLSPAN=2>"+strTOT+"</TD>";
      strOutput += "<TD>" + MonetarySymbol + moneyFormat((fTotal + fShipping + fTax - strDiscount)) + "</TD>";  //needed for discount
      strOutput += "</TR>";
      strOutput += "</TABLE>";
	strOutput += "</div>";

      strOutput += "<input type=hidden name=\""+OutputOrderSubtotal+"\" value=\""+ MonetarySymbol + strTotal + "\">";
      strOutput += "<input type=hidden name=\""+OutputOrderShipping+"\" value=\""+ MonetarySymbol + strShipping + "\">";
      strOutput += "<input type=hidden name=\""+OutputOrderTax+"\"      value=\""+ MonetarySymbol + strTax + "\">";
		//RD6 discount code
      strOutput += "<input type=hidden name=\""+OutputOrderDiscount+"\"      value=\""+ MonetarySymbol + strDiscount + "\">";
	  strOutput += "<input type=hidden name=\""+OutputOrderDiscountText+"\"      value=\""+ discountText + "\">";
      strOutput += "<input type=hidden name=\""+OutputOrderTotal+"\"    value=\""+ MonetarySymbol + moneyFormat((fTotal + fShipping + fTax - strDiscount)) + "\">";
   }

	N   = (document.layers) ? true:false;                 // netscape 4
	I   = (document.all) ? true:false;                    // ie4+
	DOM = ((document.getElementById)&&(!I))?true:false;   // ns6 etc.
	
	if(DOM){
		var elm = document.getElementById('divMiniCart');
		elm.innerHTML=strOutput;
	}
	if(I){document.all.divMiniCart.innerHTML=strOutput}
	if(N){document.layers.divMiniCart.innerHTML=strOutput}
	//document.write(strOutput);
	//divMiniCart.innerHTML=strOutput
	//alert(document.getElementById("divMiniCart");
	   
	//return strOutput;
	//document.close();
}

