//Options for Everyone:

MonetarySymbol        = ' руб';
file_name_order       = 'http://santechmall.ru/str/ordercart';
//Options for Programmers: константы для отправки письма
ItemId          = 'ID_';
ItemQuantity    = 'QUANTITY_';
ItemPrice       = 'PRICE_';
ItemName        = 'NAME_';
ItemOrdernum    = 'ORDERNUM_';
HiddenFields    = true;

strSorry        = "В корзину нельзя положить более 5 наименований товаров";
strAdded        = "отправлен в корзину";
strExist        = "уже в корзине";
strRemove       = "Удалить товар из корзины ?";
strDel          = "Очистить корзину ?";
strSUB          = "Итоговая сумма, ";
strCartNo       = "Нет товаров в корзине";
strErrorFields  = "Проверьте правильность заполнения полей:\n\n";

//---------------------------------------------------------------------||
// FUNCTION:    cleanCart                                              ||
//---------------------------------------------------------------------||

function cleanCart()
{
 var iNumberOrdered = GetCookie("NumberOrdered");
 if ( iNumberOrdered == null ) iNumberOrdered = 0;
 if (confirm( strDel))
 {
  for ( i = 1; i <= iNumberOrdered; i++ ) {
   NewOrder = "Order." + i;
   DeleteCookie(NewOrder, "/");
  }
  DeleteCookie("NumberOrdered", "/");
  location.href=location.href;
 }
}

//---------------------------------------------------------------------||
// FUNCTION:    cleanCartAuto                                          ||
//---------------------------------------------------------------------||

function cleanCartAuto()
{
 SetCookie("NumberOrdered", 0, null, "/",".santechmall.ru");
 var iNumberOrdered = GetCookie("NumberOrdered");
 if ( iNumberOrdered == null ) iNumberOrdered = 0;
 for ( i = 1; i <= iNumberOrdered; i++ ) {
 NewOrder = "Order." + i;
 DeleteCookie(NewOrder, "/");
 }
 DeleteCookie("NumberOrdered", "/");
}

//---------------------------------------------------------------------||
// FUNCTION:    AddToCart                                              ||
//---------------------------------------------------------------------||
function AddToCart(thisForm) {
   var iNumberOrdered = 0;
   var AlreadyInCart = false;
   iNumberOrdered = GetCookie("NumberOrdered");
//   parse_cookie();
   if ( iNumberOrdered == null )
      iNumberOrdered = 0;
   if ( thisForm.ID == null )
      strID      = "";
   else
      strID      = thisForm.ID.value;
   if ( thisForm.QUANTITY == null || thisForm.QUANTITY.value == 0)
      strQUANTITY    = "1";
   else
      strQUANTITY    = thisForm.QUANTITY.value;
   if ( thisForm.NAME == null )
      strNAME        = "";
   else
      strNAME        = thisForm.NAME.value;
   if ( thisForm.PRICE == null )
      strPRICE       = "0.00";
   else
      strPRICE       = thisForm.PRICE.value;
   if ( thisForm.ORDERNUM == null )
      strORDERNUM     = "0";
   else
      strORDERNUM     = thisForm.ORDERNUM.value;

   for ( i = 1; i <= iNumberOrdered; i++ ) {
      NewOrder = "Order." + i;
      database = "";
      database = GetCookie(NewOrder);
      Token0 = database.indexOf("|", 0);		//ID
      Token1 = database.indexOf("|", Token0+1);		//Quanyity
      Token2 = database.indexOf("|", Token1+1);		//NAME
      Token3 = database.indexOf("|", Token2+1);		//PRICE
      Token4 = database.indexOf("|", Token3+1);		//ORDERNUM
      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, database.length);

      if ( fields[0] == strID )
      {
        return tip('<b>' + strNAME + '</b> ' + strExist,'<a class=g_more href="'+file_name_order+'" target="_top">Корзина</a>');
      }
   }
   if ( !AlreadyInCart ) {   //если нет такого тавара в корзине
      iNumberOrdered++;
      if ( iNumberOrdered > 5 ) // Если корзина уже полная
        return tip('<font color=#FF0000>' + strSorry + '</font>','<a class=g_more href="'+file_name_order+'" target="_top">Оформить заказ</a>');
      else
      {
        dbUpdatedOrder = strID+"|"+strQUANTITY+"|"+strNAME+"|"+strPRICE+"|"+strORDERNUM;
        strNewOrder = "Order." + iNumberOrdered;
        SetCookie(strNewOrder, dbUpdatedOrder, null, "/",".santechmall.ru");
        SetCookie("NumberOrdered", iNumberOrdered, null, "/",".santechmall.ru");
        return tip('<b>' + strNAME + '</b> ' + strAdded,'<a class=g_more href="'+file_name_order+'" target="_top">Корзина</a>');
      }
   }
}

//---------------------------------------------------------------------||
// FUNCTION:    getCookieVal                                           ||
//---------------------------------------------------------------------||
function getCookieVal (offset) {
   var endstr = document.cookie.indexOf (";", offset);
   if ( endstr == -1 )
      endstr = document.cookie.length;
   return(unescape(document.cookie.substring(offset, endstr)));
}

//---------------------------------------------------------------------||
// FUNCTION:    GetCookie                                              ||
//---------------------------------------------------------------------||
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                                              ||
//---------------------------------------------------------------------||
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                                           ||
//---------------------------------------------------------------------||
function DeleteCookie (name,path,domain) {
   if ( GetCookie(name) ) {
      document.cookie = name + "=" +
                        ((path) ? "; path=" + path : "") +
                        ((domain) ? "; domain=" + domain : "") 
   }
}
//---------------------------------------------------------------------||
// FUNCTION:    MoneyFormat                                            ||
//---------------------------------------------------------------------||
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                                         ||
//---------------------------------------------------------------------||
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, "/",".santechmall.ru");
      }
      NewOrder = "Order." + NumberOrdered;
      SetCookie ("NumberOrdered", NumberOrdered-1, null, "/",".santechmall.ru");
      DeleteCookie(NewOrder, "/");
      location.href=location.href;
   }
}

//---------------------------------------------------------------------||
// FUNCTION:    ManageCart                                             ||
//---------------------------------------------------------------------||


function ManageCart() {
   var iNumberOrdered = 0;    //Number of products ordered
   var fTotal         = 0;    //Total cost of order
   var summa          = 0;    //Сумма	                    
   var strTotal       = "";   //Total cost formatted as money
   var strOutput      = "";   //String to be written to page

   iNumberOrdered = GetCookie("NumberOrdered");
   if ( iNumberOrdered == null )
      iNumberOrdered = 0;
   strOutput = "<TABLE CLASS=full_feat width=98% cellspacing=1 cellpadding=2 bgcolor=#D4BD8B><TR bgcolor=#D4BD8B align=center height=27>" +
               "<TD><B>№</B></TD>" +
               "<TD><B>Наименование</B></TD>" +
               "<TD><B>Цена руб.</B></TD>" +
               "<TD width=102 align=center><B>Действие</B></TD></TR>";
   if ( iNumberOrdered == 0 )
   {
     strOutput += "<TR height=60><TD bgColor=#f9f9f9 align=center COLSPAN=7><font size=3>" + strCartNo + "</font></TD></TR>";
   }
   strOutput +="<input type=hidden name=cart value="+iNumberOrdered+">";
   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 );          		// Product ID
      fields[1] = database.substring( Token0+1, Token1 );		// Quantity
      fields[2] = database.substring( Token1+1, Token2 );		// Product Name 
      fields[3] = database.substring( Token2+1, Token3 );		// Price
      fields[4] = database.substring( Token3+1, database.length );	// Ordernum
      summa     = (fields[1]*parseInt(fields[3]));
      fTotal   += summa;
      strTotal  = moneyFormat(fTotal);
      strOutput += "<TR bgColor=#ffffff><TD align=right>"  + fields[0] + "</TD>";
      strOutput += "<TD>" + fields[2] + "</TD>";
      strOutput += "<TD>" + moneyFormat(summa) + "</TD>";
      strOutput += "<TD ALIGN=CENTER><input class=butt type=button value='удалить' onClick='RemoveFromCart("+i+")'></TD></TR>";
      if ( HiddenFields )
      {
         strOutput += "<input type=hidden name=" + ItemId        +i+ " value="  + fields[0] + ">";
         strOutput += "<input type=hidden name=" + ItemQuantity  +i+ " value="  + fields[1] + ">";
         strOutput += "<input type=hidden name=" + ItemName      +i+ " value='" + fields[2] + "'>";
         strOutput += "<input type=hidden name=" + ItemPrice     +i+ " value="  + fields[3] + ">";
         strOutput += "<input type=hidden name=" + ItemOrdernum  +i+ " value="  + fields[4] + ">";
         strOutput += "<input type=hidden name=max value="+iNumberOrdered+">";
         strOutput += "<input type=hidden name=total value='"+strTotal+"'>";
      }
   }
   strOutput += "<TR height=27><TD bgcolor=#C0B0A1 COLSPAN=2><B>"+strSUB+" руб.</B></TD>";
   strOutput += "<TD bgcolor=#C0B0A1 COLSPAN=2 align=center><B>" + strTotal + "</B></TD></TR></table>";
   if ( iNumberOrdered > 0 )
   {
    strOutput += "<p class=full_feat>Текущий заказ № <b>" + fields[4] + "</b>. Заполните форму ниже, чтобы завершить оформление.</p>";
   }
   document.write(strOutput);
   document.close();
}

//---------------------------------------------------------------------||
// FUNCTION:    tip                                                    ||
//---------------------------------------------------------------------||

function tip(text,link)
{  
 setTimeout('return hide_tip()', 7000); 
 var t; 
 t=document.getElementById("tipcart"); 
 if (!window.opera) { 
 x=window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft + 8; 
 y=window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop + 20; 
 } else { 
 x=window.event.clientX+8; 
 y=window.event.clientY+20; 
 } 

 t.innerHTML="<table class=pre_feat cellspacing=0 width=170><tr height=35 valign=top><td>"+link+"</td>"+
 "<td align=right><a href='#' onclick='return hide_tip()'><img src='http://santechmall.ru/images/x.gif' height=13"+
 " width=13 border=0 alt='закрыть'></a></td></tr>"+
 "<tr><td colspan=2>"+text+"</td></tr></table>"; 

 if (screen.width-x<150) x-=150; 
 t.style.left=x + "px"; 
 t.style.top=y + "px"; 
} 

function hide_tip()
{ 
 var t; 
 t=document.getElementById("tipcart"); 
 t.innerHTML=""; 
 t.style.left="-100px"; 
 t.style.top="-100px"; 
}

